《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于舵機控制的仿生魚設(shè)計
基于舵機控制的仿生魚設(shè)計
來源:微型機與應(yīng)用2011年第14期
盧亞平,宋天麟
(蘇州大學(xué) 應(yīng)用技術(shù)學(xué)院,江蘇 蘇州215325)
摘要: 為實現(xiàn)仿生機器魚的設(shè)計,分析魚類游動的特點,基于舵機的工作原理,提出了自主避障的仿生魚設(shè)計方案。根據(jù)魚類推進理論,對仿生魚進行了機械結(jié)構(gòu)設(shè)計、軟件設(shè)計。
Abstract:
Key words :

摘  要: 為實現(xiàn)仿生機器魚的設(shè)計,分析魚類游動的特點,基于舵機的工作原理,提出了自主避障的仿生魚設(shè)計方案。根據(jù)魚類推進理論,對仿生魚進行了機械結(jié)構(gòu)設(shè)計、軟件設(shè)計。
關(guān)健詞: 仿生機器魚;舵機;自主避障

 仿生機器魚的提出有著深刻的意義,它具有效率高、機動性好、噪音低、對環(huán)境擾動小等優(yōu)點。仿生機器魚可以作為一個載體,根據(jù)需要裝配相應(yīng)的硬件,可在水面環(huán)境檢測、復(fù)雜環(huán)境中的水中作業(yè)、海底生物觀測、軍事偵察等方面發(fā)揮重大作用。當(dāng)然,作為一個載體,必須完成基本的運動,那就是能夠自動避障。
1 魚類推進理論
    魚類行為學(xué)者的研究表明,大多數(shù)魚類把身體當(dāng)作推進器,身體左右擺動擊水,利用其產(chǎn)生的反作用力使魚體向前推進,基于這種推進原理,學(xué)者們提出了所謂的“波動推進理論[1]”的魚類游動機理,該理論主要以魚的脊椎曲線為研究對象,魚體之所以能夠前進,是因為脊椎曲線帶動它所包絡(luò)的流體向后噴出,產(chǎn)生推力使魚向前,其游姿可以近似為正弦波,如圖1所示。

    設(shè)脊椎曲線包絡(luò)的工作質(zhì)質(zhì)量為M1,軀體對地速度為VB,λ是波長,f為擺動頻率,工作質(zhì)對地速度為VW,由于魚體在水中的阻力與速度呈遞增關(guān)系,故在啟動瞬間,魚體受到的阻力可以忽略不計,因此根據(jù)動量守恒定理有公式(1)、(2):
  
    Y是一個小于1的系數(shù),它表征了魚類的幾何特征、體重對速度的影響,稱之為動力特征系數(shù),波動推進假設(shè)是建立在對脊椎曲線包絡(luò)的水的質(zhì)量積分和動量定理之上。魚游動時使流體產(chǎn)生了分離,并且以漩渦的方式拋出尾部,漩渦的拋出速度和擺動頻率一致,在一個周期內(nèi),尾部產(chǎn)生一對旋向相反的漩渦,推動魚前進。由此根據(jù)波動推進理論,利用舵機設(shè)計一種三關(guān)節(jié)仿生魚,以實現(xiàn)仿生魚的前進和自由轉(zhuǎn)向。
2 仿生魚結(jié)構(gòu)設(shè)計
    目前一般用于機器魚外形設(shè)計的仿生對象有金槍魚、梭子魚、鯉魚、鰻魚。這幾種魚或者具有極高的游動速度,或者具有優(yōu)異的機動性能,或者具有絕佳的游動效率,它們都符合“波動推進理論”的運動模式,因而成為仿生魚模仿的典范。這些魚類的外形呈現(xiàn)為流線形,不僅從魚頭到魚尾的水流運動平穩(wěn),而且水動力學(xué)阻力也很小,顯示出這類外形具有良好的水動學(xué)性能。因而,這類流線形魚體成為機器魚外形設(shè)計的最佳選擇[2]。
    設(shè)計的仿生魚的外形也是設(shè)計成流線形的魚體。它由魚頭、魚體、魚尾鰭三部分組成,魚體部分共有3個關(guān)節(jié),每一個關(guān)節(jié)由一個伺服舵機控制,可以實現(xiàn)本段和前段的相對轉(zhuǎn)角位移。
    魚頭采用直徑為120 mm×250 mm的塑料圓柱,考慮浮力平衡,為了保證材料浮動在水里,在普通車床上鉆了直徑為55 mm、孔深為100 mm的內(nèi)孔,中心掏空以減輕重量。然后在加工中心平臺上加工弧線部分,在電腦上用UG軟件畫出魚頭的弧線圖形,并在兩邊掏孔,安裝傳感器,做為魚的眼睛。
    魚體由3個舵機組成,舵機之間的連接采用L型架和U型架鋁材,它的質(zhì)地較輕,強度較高。L型架與U型架之間使用軸承連接,有利于減小各個舵機轉(zhuǎn)軸所受的彎矩,使摩擦減小,轉(zhuǎn)動靈活[3]。
    尾鰭設(shè)計是用鉛筆在塑料板上畫出所需要的魚尾形狀,再經(jīng)過拋光等工藝完成尾鰭部分的加工。通過數(shù)控機床加工出舵機與尾鰭的連接部分。整體效果如圖2所示。

3 仿生魚軟件設(shè)計
    為了滿足設(shè)計要求,采用3個舵機設(shè)計了魚的三種姿態(tài):前進、右轉(zhuǎn)彎、左轉(zhuǎn)彎。用傳感器的檢測信號來控制魚的姿態(tài),當(dāng)傳感器沒有接收到障礙物的信號時,3個動力元件(舵機)分別以不同的角度來回擺動,以實現(xiàn)完美的前進方式。一般靠近尾部舵機的擺動角度最大,其他逐漸減小。當(dāng)檢測到信號時,尾部舵機來回擺動,其他兩個舵機在一個方向擺動一定角度后保持不變,以實現(xiàn)轉(zhuǎn)彎。無線發(fā)送接收模塊用來下達指令。整體電路圖如圖3所示。

 

 

    標(biāo)準(zhǔn)的舵機有3條導(dǎo)線:電源線、地線和控制線, 電源線和地線用于提供舵機內(nèi)部的直流電機和控制線路所需的能源,一般取5 V??刂凭€的輸入是一個寬度可調(diào)的周期性方波脈沖信號,方波脈沖信號的周期為20 ms(即頻率為50 Hz)。當(dāng)方波的脈沖寬度改變時,舵機轉(zhuǎn)軸的角度發(fā)生改變,角度變化與脈沖寬度的變化成正比[4]。舵機的輸出軸轉(zhuǎn)角與輸入信號的脈沖寬度之間的關(guān)系可用圖4來表示。

    從上述舵機轉(zhuǎn)角的控制方法可看出,舵機的控制信號實質(zhì)是一個可變寬度的方波信號(PWM)。一般采用MCU作為控制器。目前采用單片機作為舵機控制器的方案比較多,現(xiàn)利用單片機提出另一種編程方法,利用T0\T1定時器中斷來實現(xiàn)PWM。該方案將20 ms的周期信號分為兩次定時中斷來完成。
    上述已知1.5 ms為中心位置,0.5 ms為-90°位置,2.5 ms為+90°位置,并且在此定義一個脈沖周期為20 ms。定時器T1定時20 ms,時間一到波形取反,T0定時器起到了脈寬調(diào)節(jié)功能,如圖5所示。

    根據(jù)舵機的轉(zhuǎn)動角度可知PWM波形的波動范圍,最低是在0.5 ms,最高是在2.5 ms,同時存儲器最大為256 B,現(xiàn)定義最大的數(shù)字為250,則有公式(3):

    定時器T1定時20 ms,定時器T0定時0.01 ms,在存儲器R3單元中放入立即數(shù)50并與定時器T0中斷次數(shù)相比較,當(dāng)定時器T0定時發(fā)生50次后即與R3相等,產(chǎn)生脈寬為0.5 ms,即為最小脈寬;當(dāng)在R3單元中放入立即數(shù)250并與定時器T0中斷次數(shù)相比較,當(dāng)定時器T0定時發(fā)生250次后即與R3相等,產(chǎn)生脈寬為2.5 ms,即為最大脈寬。
    由此可知對存儲器R3不斷進行加1操作,方波的脈寬可以從0.5 ms變化到2.5 ms,然后對立即數(shù)進行減操作,方波的脈寬會減至0.5 ms,再進行不斷的循環(huán),產(chǎn)生脈寬在0.5 ms~2.5 ms不斷變化的PWM信號。這樣就能控制舵機在-90°~90°之間變化。由此,給出3個不同的存儲器R3、R4、R5來控制3個舵機的轉(zhuǎn)角,讓3個存儲器的數(shù)值模擬正弦變化,就能夠?qū)崿F(xiàn)本文的波動推進理論。
    同時采用E18-D80NK漫反射式光電傳感器作為魚的左右眼睛,分別來判斷障礙。當(dāng)距離80 cm時就能檢測到障礙物,此時讓R3、R4轉(zhuǎn)動一定的角度,并且尾部舵機R5往復(fù)擺動,就能實現(xiàn)仿生魚的轉(zhuǎn)向。因此舵機在PWM控制下,由脈沖寬度的調(diào)節(jié)可實現(xiàn)舵機的前進和轉(zhuǎn)向,并可根據(jù)仿生魚的不同的運動狀態(tài),來調(diào)用不同的子程序。主程序流程圖如圖6所示。

4 仿生魚總調(diào)試和總結(jié)
    在完成仿生魚裝配的基礎(chǔ)上對仿生魚運動進行調(diào)試。將魚體、控制電路板、供電電源整合在一起,并且在其表面裹上防水膠布,保證與水隔離。通過示波器觀察波形,調(diào)試過程中首先做到仿生魚運動軌跡基本符合要求,接下來進行微調(diào)。由于各個舵機絕對位置都有偏差,并且軟件定時不夠準(zhǔn)確,因此就要根據(jù)實際情況更改脈沖值,直至仿生魚運動軌跡準(zhǔn)確。
    下水實驗時,實驗的第一點是靜態(tài)平衡實驗。由于魚體各個部位選用的材料不同,并受裝配電路板、舵機、電池等元件的影響,魚體的重心不易確定,因此把魚體放入水中,觀察后在適當(dāng)部位進行配重,直至魚體靜止時在水中保持平衡。第二點就是動態(tài)平衡實驗,即魚體在運動時保持運動的穩(wěn)定性。動態(tài)平衡首先受靜態(tài)平衡的影響,因此在保證靜態(tài)平衡的條件下盡量滿足動態(tài)平衡。另一調(diào)節(jié)動態(tài)平衡就是通過程序控制,包括魚體運動的頻率、幅度。實物效果圖如圖7所示。

    通過反復(fù)進行調(diào)整裝配與調(diào)試,基本實現(xiàn)了仿生魚在水中的運動狀態(tài)。但目前還沒有解決仿生魚在游動過程中的加減速的問題,實際上根據(jù)魚類推進公式已經(jīng)制定出了加減速方案。本項目是大學(xué)生創(chuàng)新項目,也是教師科研項目,該項目根據(jù)魚類的游動姿態(tài),利用機電控制等對水下載體和作業(yè)裝備提供了新的設(shè)計思路。
參考文獻
[1] 梁建宏,王田苗,魏洪興.水下仿生機器魚的研究進展I—魚類推進機理[J].機器人ROBOT,2002,24(2):107-111.
[2] 梁建宏,王田苗,魏宏興.仿生機器魚技術(shù)研究進展及關(guān)鍵問題探討[J].機器人技術(shù)與應(yīng)用,2003(3):14-19.
[3] 宋天麟,黃烈?guī)r.仿生機器與系統(tǒng)設(shè)計研究[J].機械制造與自動化,2005,34(5):82-83,87.
[4] 駱涵秀,李世倫,朱捷.機電控制[M].杭州:浙江大學(xué)出 版社,1994:31-63.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。