仿生機(jī)器蛇的設(shè)計
摘要:文章主要描述仿生機(jī)器蛇的設(shè)計,包括機(jī)器蛇的結(jié)構(gòu)設(shè)計和運動規(guī)劃連貫動作的實現(xiàn)。通過對蛇形機(jī)器人在有障礙物和無障礙物環(huán)境中,進(jìn)行不同連貫動作的運動規(guī)劃和運動形式變化,找出機(jī)器人設(shè)計的不同側(cè)重點;最后,將對本文的不足和實驗時所遇到的困難進(jìn)行總結(jié),并加以展望。
本文引用地址:http://2s4d.com/article/201610/308148.htm0 引言
隨著社會的發(fā)展,人類的需要,一些在特定環(huán)境中擁有獨特技巧和能力的機(jī)器人應(yīng)運而生,蛇形機(jī)器人就是其中一種。蛇形機(jī)器人是根據(jù)蛇的骨骼和運動原理所制造的仿生機(jī)器人,憑借其獨特的運動形式和身體結(jié)構(gòu),應(yīng)用前景可以說是無可限量。
1 系統(tǒng)總體構(gòu)成
本文所研究的蛇形機(jī)器人采用Solid Snake(SS)機(jī)構(gòu)設(shè)計。Solid Snakc利用垂直和水平方向正交的關(guān)節(jié)來模擬蛇類生物柔軟的身體,每兩個正交的關(guān)節(jié)組成一個單元體,每個單元體相當(dāng)于一個萬向節(jié),具有兩個方向的自由度,整體形成一個高冗余度的結(jié)構(gòu)體。這樣的機(jī)構(gòu)設(shè)計使蛇體具有向任何方向彎曲的能力。其殼體機(jī)構(gòu)、舵機(jī)與殼體安裝方式和兩個單元連接方式,即以垂直→水平→垂直的方式相連接,以模仿生物蛇的關(guān)節(jié),如圖1所示。
系統(tǒng)總體設(shè)計框圖如圖2所示。首先在計算機(jī)上測試每個插座對應(yīng)的舵機(jī),簡而言之就是對號入座,首先找出每個舵機(jī)的零點位置,然后編程,將已編寫好的程序下載到控制板里面,通過控制板實現(xiàn)對舵機(jī)的直接控制,電源控制板為所有的舵機(jī)提供動力,最后經(jīng)過多次的調(diào)試仿生機(jī)器蛇即可以完成一套連貫的動作。
2 仿生機(jī)器蛇的運動規(guī)劃
要想完成仿生機(jī)器蛇在現(xiàn)實環(huán)境中自由運動,就需要先對其進(jìn)行運動力學(xué)分析和路徑規(guī)劃。
2.1 仿生機(jī)器蛇的運動力學(xué)分析
本文所研究的蛇形機(jī)器人由垂直方向與水平方向交替連接,依次可以做二維運動。而每個舵機(jī)的范圍在-90°~+90°之間。當(dāng)蛇形機(jī)器人在平面上運動時,它的運動示意圖如圖3所示。
(1)平面蜿蜒運動。平面蜿蜒運動是通過控制關(guān)節(jié)模塊水平軸的關(guān)節(jié)保持直線,而垂直軸的關(guān)節(jié)呈正弦變化實現(xiàn);采用的算法公式為:
(2)側(cè)向運動。側(cè)向運動是控制關(guān)節(jié)模塊的垂直軸的關(guān)節(jié)和水平軸的關(guān)節(jié)都呈正弦變化,兩個曲線之間有一個相位差;采用的算法公式為:
(3)伸縮運動。伸縮運動方式可以通過控制它的垂直軸的關(guān)節(jié)保持直線,而水平軸的關(guān)節(jié)呈正弦的變化實現(xiàn)。它的垂直面內(nèi)運動,適合穿越狹小的管道。采用的算法公式為:
(4)翻滾運動。翻滾運動是控制關(guān)節(jié)模塊的垂直軸的關(guān)節(jié)和水平軸的關(guān)節(jié)變化而實現(xiàn),其采用的算法公式為:
2.2 仿生機(jī)器蛇的路徑規(guī)劃
所謂的路徑規(guī)劃就是指在障礙物的環(huán)境中,按照某一特定的評價標(biāo)準(zhǔn),尋找一條從起始狀態(tài)到目標(biāo)狀態(tài)的不會發(fā)生任何碰撞的路徑。如果把運動物體看作是所研究的問題的某種狀態(tài),把障礙物看成是所要解決的約束條件,無碰撞路徑規(guī)劃就是滿足次約束的解,因此空間路徑規(guī)劃可以描述成求解滿足約束條件的過程。為了更好地理解路徑規(guī)劃,可以將其分解成兩個問題。
(1)尋找空間問題。在某個指定區(qū)域R內(nèi),確定物體的安全A位置,使其不與在次空間內(nèi)的已有物體B發(fā)生碰撞。
(2)尋找路徑問題。在以上指定區(qū)域R內(nèi),確定物體A從初始位置到目標(biāo)位置的安全途徑,使其在移動過程中物體A與物體B不發(fā)生碰撞。
圖4表示的就是在障礙物環(huán)境中物體A在不碰撞物體B的情況下到達(dá)指定區(qū)域。
3 仿生機(jī)器蛇連貫動作的設(shè)計
軟件采用C語言編寫,舵機(jī)控制程序進(jìn)行相應(yīng)模塊化設(shè)計,形成基本動作“積木”單元,組合連貫動作套件包。這些“積木”單元都很容易互相拼接、組裝。用這些“積木”可以很方便地搭建出各種發(fā)揮想象力的機(jī)器人,并可為自己搭建出的機(jī)器人編程。
3.1 蛇形機(jī)器人連貫動作
蛇形機(jī)器人的連貫動作主要是將前面幾種運動策略連接而成。圖5所示為蛇形機(jī)器人連貫動作結(jié)構(gòu)圖。
3.2 蛇形機(jī)器人一爬行運動
蛇形機(jī)器人的爬行動作,屬于蛇類的蜿蜒運動,自然界中蛇類的運動都是“S”形的,類似于正弦曲線。由于實驗條件的限制,本研究所做的爬行動作以“弓”形代替。如圖6所示。
以下實驗數(shù)據(jù),表示著蛇形機(jī)器人由左“弓”形到右“弓”形時的各個舵機(jī)的角度,因為爬行動作并不需要太快,所以速度全都設(shè)置為150。這樣每個動作的變化都不是很快,但是相應(yīng)的蛇形機(jī)器人所做的每個動作都很平穩(wěn)。每個動作完成后有2s的延時。爬行運動的程序結(jié)構(gòu)如圖6所示。
3.3 蛇形機(jī)器人一翻滾動作
蛇形機(jī)器人的翻滾動作屬于蛇類的側(cè)向運動。翻滾動作的實現(xiàn)首先要使蛇形機(jī)器人有一定的彎曲,然后在固定兩個點,調(diào)試其余的舵機(jī),使其可以360°的翻滾,如圖7所示。
3.4 蛇形機(jī)器人一盤起、攻擊動作
蛇形機(jī)器人盤起、攻擊的動作是比較綜合的一個動作,因為不同的需要,每個動作中每個舵機(jī)的速度要求也不一樣。其程序結(jié)構(gòu)如圖8所示。
還有蛇形機(jī)器人的其他連貫動作:1)蠕動動作,可以視為蛇類的直線運動,利用這種移動方式可以使蛇形機(jī)器人沿著一條直線前進(jìn)。而且即使改變了外界環(huán)境,也可以根據(jù)環(huán)境,對機(jī)器人進(jìn)行適當(dāng)?shù)恼{(diào)節(jié),適應(yīng)性強(qiáng);2)側(cè)移動作,利用蛇身扭動與地面產(chǎn)生的摩擦力使整個身體發(fā)生位置的改變,動作簡單,可以通過改變該動作的重復(fù)次數(shù)來改變運動方向,即使環(huán)境改變,對蛇形機(jī)器人的側(cè)移也沒有太大影響。
4 系統(tǒng)的實現(xiàn)
系統(tǒng)實現(xiàn)了三種平臺的仿生機(jī)器蛇,如圖9所示:1)基于robotbosic設(shè)計的力量型機(jī)器蛇,有十四個自由度舵機(jī)組成,每個自由度大約1.2cm。能完成諸如扭動、前進(jìn)、蛇頭上揚等動作。小體積是我們的一大特色,簡化了供電裝置,將電源與舵機(jī)經(jīng)過特殊的處理裝置在一起,讓動作更加方便,同時也減少了大量的外遷線,使蛇能更加靈活;2)基于norstar可蠕動前進(jìn)和盤起攻擊的仿生機(jī)器蛇,最終完成了一條14個自由度、長約1.2m的大蛇,一條7個自由度、長約0.6m的小蛇,實現(xiàn)蛇的基本動作,將驅(qū)動裝置安裝到蛇身體上,縮小蛇身體體積。實
物如圖8所示。優(yōu)點在于有短信和來電兩個功能,不足之處探測器過于敏感;3)基于arduino設(shè)計的迷你型機(jī)器蛇,共有八個小舵機(jī)組成,共15cm。蛇頭與蛇尾增加泡沫設(shè)計使蛇的形象更加逼真。小蛇能夠左右擺動,還能向前蠕動前進(jìn)。
5 結(jié)束語
本文所研制的三種機(jī)器人基本是用舵機(jī)串聯(lián)而成,結(jié)構(gòu)簡單,連貫動作能舒展完成,但不足是蛇形機(jī)器人由十幾個舵機(jī)串聯(lián)而成,因為串聯(lián)的舵機(jī)數(shù)量太多,導(dǎo)致驅(qū)動電流越來越小。建議改進(jìn)措施有:1)利用一個電流放大電路增大驅(qū)動電流;2)由于串聯(lián)的舵機(jī)數(shù)越多,驅(qū)動電流就越小,所以如果在條件允許的情況下,可以選擇減少幾個舵機(jī);3)將所有舵機(jī)并聯(lián),這樣可以使各個部分舵機(jī)電壓相同,驅(qū)動電流也趨于穩(wěn)定。
評論