杜福鵬,陳 濤
(蘭州石化職業技術學院,甘肅 蘭州 730060)
隨著陸地資源的枯竭,具有豐富資源的海洋成為人類探索的新方向,仿生機器魚[1-3]具有高速度、高效率、靈活性好、低噪聲、驅動方式多樣等特點[4-6],為海洋探索提供一個可供選擇的途徑,已經成為學者們研究的熱點之一。
本文設計一種仿生機器魚,通過魚身、魚尾的潛水模塊、推進模塊以及擺動模塊的配合,實現仿生機器魚的水下運動,為機器魚驅動機構設計提供一種合理的方案。
仿生機器魚總體結構主要分為魚頭、魚身、魚尾3個部分。(1)魚頭部分,由控制電路板、Openmv4攝像頭、無線接/發送模塊、無線接收模塊、指示燈構成。(2)魚身部分,由魚前身和魚后身組成,魚前身外形設有開關塞和充電口塞,內部設有開關、充電口、前潛水模塊;魚后身設有Arduino控制板、電機驅動板、電源監測模塊、電池盒、后潛水模塊。(3)魚尾部分,設有推進模塊和擺動模塊。仿生機器魚總體結構如圖1所示。

圖1 仿生機器魚總體結構
本仿生機器魚可實現自主控制和遠程控制。(1)自主控制系統,通過Openmv4攝像頭采集信息,并轉化發送至Arduino控制器中,驅動相應的運動模塊進行運動,從而實現自主運動的能力。(2)遠程控制系統,通過PC端發送相應指令去完成對仿生機器魚運動的控制,同時,將Openmv4采集到的視頻信息實時上傳到PC端,從而實現遠程操作。控制系統的總體原理如圖2所示。

圖2 控制系統的總體原理
Arduino Mega2560是基于ATmega2560單片機的微控制板,ATmega2560單片機是一款16位單片機,采用USB接口的核心電路,具有54路數字輸入/輸出口IO口,16路模擬輸入端口,可以同時實現多路脈寬調制(Pulse Width Modulation,PWM)的輸出,同時,擁有4路UART串口、USB連接口、電源接口、ICSP頭和復位按鈕,具有操作簡單、價格低廉、方便開發等優點,能夠滿足所設計的仿生機器魚的功能需求,因此,選擇Arduino Mega2560作為仿生機器魚的主控板。
OpenMV攝像頭是一款小巧、低功耗、低成本、能輕松完成機器視覺應用的圖像處理采集傳感器,可以通過高級語言Python的數據結構在機器視覺算法中處理復雜的圖像輸出。
本文設計的仿生機器魚利用Arduino Mega2560主控板完全控制OpenMV攝像頭,通過拍攝采集圖像信息或者執行主控板中的算法來實現。也可以把OpenMV攝像頭中的算法處理結果輸出,通過Arduino Mega2560主控板驅動舵機及電機實現仿生機器魚的預期運動.因此,選擇OpenMV可以有效完成仿生機器魚圖像采集和圖像處理的任務。
舵機采用PWM控制的方式,舵盤的位置與脈沖寬度相對應,在0°~180°的范圍內呈線性變化。在脈寬一定時,無論外界轉矩怎樣改變,輸出軸只會保持在一個相對應的角度上,只有當脈沖信號的寬度發生變化時,輸入軸的輸出角度才會發生改變到新的對應的位置上。由此可見,舵機相對于其他電機更適合仿生機器魚尾部擺動模塊的驅動。
舵機內部有基準電路和比較器,基準電路產生周期20 ms、寬度1.5 ms的基準信號,比較器將外加信號與基準信號相比較,判斷出方向和大小,從而產生舵機的轉動信號,實現仿生機器魚的尾部擺動。
仿生機器魚在水下運動需要較好的密封性,選擇具有運行聲音小、無火花、使用壽命長、速度高等優點的高速無刷電密封電機作為機器魚推進模塊和潛水模塊的動力來源。
魚類的運動形式與其體形和鰭的形狀密切相關,提供動力主要依靠以下3種方式:(1)利用軀干部和尾部的肌肉收縮波浪式運動。(2)依靠鰭的擺動劃水運。(3)利用鰓孔向后噴水引起的反作用力使魚體前進。
本文將上述魚類的第二種和第三種游動方式相結合,設計了一種擺動模塊和推進模塊,將其安裝在機器魚的尾部,通過推進模塊兩個電機同時正傳或反轉以及擺動模塊舵機控制的組合,來實現仿生機器魚前進、轉彎等基本運動。仿生機器魚尾部模塊設計如圖3所示。

圖3 仿生機器魚尾部模塊設計
魚類不僅能夠在水面靈活自如地游動,還具有上潛下潛的能力。為了使仿生機器魚具有魚類同樣的運動能力,滿足仿生機器魚在水下作業的要求,特為仿生機器魚設計了一種潛水模塊。由安裝在仿生機器魚魚前身和魚后身的潛水電機正傳、反轉的配合,實現仿生機器魚上升和下潛的功能。潛水模塊設計如圖4所示。

圖4 仿生機器魚潛水模塊設計
當潛水模塊、推進模塊、擺動模塊同時進行時,各運動模塊互不干涉,可以單獨密封,使密封容易實現,確保仿生機器魚具有良好的密封性,能在水下平穩的運行。
本文所設計的仿生機器魚潛水模塊、推進模塊和擺動模塊相互配合,能實現仿生機器魚的沉浮、前進以及轉彎等基本運動,具有良好的機動性和穩定性。同時,各模塊相互分離,互不干涉,既能夠單獨控制也能耦合控制,又能實現任意方向的推進,并且密封容易實現,安全可靠。