李 東 霖,吳 兵,張 平 霞,朱 永 強
(青島理工大學機械與汽車工程學院,青島 266520)
隨著科學技術(shù)的不斷推進,機器人的種類越來越多,現(xiàn)代工業(yè)、農(nóng)業(yè)、醫(yī)療行業(yè)、航天事業(yè)等廣泛運用到各類機器人。在探測一些未知環(huán)境時,出于對人身安全等因素的考慮,需用探測機器人來代替人類完成一些工作。用來執(zhí)行探測任務的機器人多為仿生機器人,比較常見的是六足機器人。郭建等[1]在分析了昆蟲的結(jié)構(gòu)特點及運動后設計的仿生六足機器人可以實現(xiàn)穩(wěn)定行走。張雨航等[2]設計的六足全地形機器人實現(xiàn)了復雜環(huán)境下的運動。這些六足機器人雖然可以實現(xiàn)復雜道路上的運動行走,但是在面對危險時,由于結(jié)構(gòu)上缺少對機器人整體的防護,如遇突如其來的外物碰撞,機體易受損乃至癱瘓。而球形機器人則有效避免了此類問題。球形機器人以其結(jié)構(gòu)能均勻受力的優(yōu)點被廣泛應用。國內(nèi)對于球形機器人的研究主要在控制算法上,對結(jié)構(gòu)的研究比較少。符景名[3]研究的具有多運動模式的球腿復合機器人,在結(jié)構(gòu)上采用齒輪結(jié)構(gòu)來實現(xiàn)精準的球體展開與閉合,但結(jié)構(gòu)復雜,生產(chǎn)和維修成本較高。本文在六足機器人的基礎上,結(jié)合球形機器人的結(jié)構(gòu)特點,設計了可用于復雜崎嶇環(huán)境下探測的六足球形機器人。利用SolidWorks 軟件對六足球形機器人進行結(jié)構(gòu)設計,并利用MATLAB 中的Simulink 進行運動仿真分析,使機體姿態(tài)能達到球體展開、閉合以及直線行走的要求。
六足球形機器人在保留六足機器人復雜路段行走能力的基礎上,以球體結(jié)構(gòu)作為輔助達到預期效果。利用SolidWorks 軟件對機器人進行三維結(jié)構(gòu)設計,[4]如圖1 所示,六足球形機器人主要由軀干和腿部結(jié)構(gòu)組成,其中腿部結(jié)構(gòu)主要由6 條具有3 個自由度的機械腿和外殼組成。根據(jù)機器人球形機身的形狀設計機器人軀干。軀干以正六邊形為基礎,去除對六足機器人運動造成干涉的部分,最終呈現(xiàn)為中心對稱的結(jié)構(gòu),這樣的機身結(jié)構(gòu)使機器人運動的穩(wěn)定性大大增加。
圖1 六足球形機器人整體結(jié)構(gòu)
如圖2 所示,將腿部結(jié)構(gòu)的6 條機械腿相對于機身軀干呈圓周均勻分布(相鄰兩腿間距60°)。該分布方式可以保證兩個機械腿的運動空間在相鄰兩條機械腿不產(chǎn)生干涉的條件下達到最大值,能夠避免運動過程中出現(xiàn)兩腿間的碰撞,從而簡化運動控制的難度。
圖2 軀干與腿部結(jié)構(gòu)分布示意圖
六足球形機器人整體由18 個舵機驅(qū)動并連接,每條腿有3 個自由度,連接3 個舵機。機器人軀干對角距離為209 mm,機器人閉合狀態(tài)下直徑為328 mm,展開狀態(tài)下直徑為460 mm。相比于中心齒輪控制的結(jié)構(gòu),將各條腿通過互不干涉的舵機控制,能有效避免核心齒輪結(jié)構(gòu)被損壞導致的機器人半癱瘓。18 個舵機分開控制,即便其中某幾個舵機損壞,機器人仍然具有部分運動能力,能繼續(xù)完成探測任務。
六足球形機器人的腿部結(jié)構(gòu)是在仿生六足昆蟲的基礎上設計的。如圖3 所示,根據(jù)昆蟲腿部結(jié)構(gòu)的3 個自由度,設計3 個舵機來代替3 個關節(jié),從而做出相應的動作。軀干與基節(jié)通過基關節(jié)舵機直接相連,使得基節(jié)在水平方向上運動。股關節(jié)舵機連接起股節(jié)和基節(jié),實現(xiàn)機械腿在軀干的垂直面運動。如圖3 所示,脛關節(jié)舵機主體部分固定在脛節(jié)上,股節(jié)與脛節(jié)通過舵機連接,可以實現(xiàn)在股節(jié)、脛節(jié)所在平面內(nèi)的轉(zhuǎn)動。球殼固定在脛節(jié)上,作為一個整體。
圖3 機械腿結(jié)構(gòu)圖
為使六足球形機器人在進行球體的展開和閉合以及直線行走時機身姿態(tài)能達到設計要求,設定了各個部件的長度?;?jié)長34 mm,股節(jié)長85 mm,球殼半徑為164 mm,脛關節(jié)舵機轉(zhuǎn)動質(zhì)心到球殼下底端的距離為217 mm。
根據(jù)六足球形機器人的工作方式和結(jié)構(gòu)特點,為保持機器人運動過程中的平穩(wěn),采用足端軌跡法進行步態(tài)分析。[5]由于六足球形機器人的腿是中心對稱,所以只根據(jù)1 條腿的當前姿態(tài),利用機器人逆運動學,可得出各關節(jié)的轉(zhuǎn)角函數(shù),并為后面進行Simulink 仿真提供依據(jù)。單腿各關節(jié)長度如圖4 所示。建立單腿坐標系,將圖4 中的基節(jié)、股節(jié)和球殼簡化為等效長度的連桿,將基關節(jié)轉(zhuǎn)動質(zhì)心處作為坐標原點,如圖5 所示。設足端坐標為(x,y,z),基關節(jié)長度l1、股關節(jié)長度l2、脛關節(jié)長度l3,根據(jù)機器人逆運動學,可求解出基關節(jié)轉(zhuǎn)動角度α、股關節(jié)轉(zhuǎn)動角度β、脛關節(jié)轉(zhuǎn)動角度θ的具體表達式,分別見式(1)、式(2)、式(3)。
圖4 機器人單腿各關節(jié)長度
圖5 機器人單腿坐標系
為了提高機器人在作業(yè)中對復雜環(huán)境的適應能力,球形機器人既要實現(xiàn)在平坦路面的直線行走,也要能夠在崎嶇環(huán)境下以球體的形式保護自己。
當六足球形機器人處于平坦地面時,機器人可以由閉合轉(zhuǎn)為展開。如圖6 a 所示,機器人此時是閉合狀態(tài),機械腿按照逆時針命名。機器人在程序控制下,腿1、腿3、腿5 的股關節(jié)舵機和脛關節(jié)舵機啟動,使機械腿打開并落地,效果如圖6 b 所示;隨后腿2、腿4、腿6 的股關節(jié)舵機和脛關節(jié)舵機啟動,重復腿1、腿3、腿5的動作,實現(xiàn)6 條腿站立,效果如圖6 c 所示。
當機器人遇到危險時便會將機械腿收回,重新變成1 個球體。在圖6 c 狀態(tài)下,機器人收到控制指令,腿1、腿3、腿5 的股關節(jié)舵機和脛關節(jié)舵機逆向轉(zhuǎn)動,使機械腿抬起并回歸原位置,隨后腿2、腿4、腿6 重復腿1、腿3、腿5 的動作,最終機器人又變回圖6a 的閉合狀態(tài)。
圖6 機器人閉合、展開、站立示意圖
直線行走的關鍵是三角步態(tài)。[6]通過控制基關節(jié)、股關節(jié)、脛關節(jié)3 個舵機轉(zhuǎn)動,使腿1、腿3、腿5 和腿2、腿4、腿6 交替控制,實現(xiàn)前進后退。圖7 為機器人直線行走前初始位置的俯視圖和結(jié)構(gòu)簡圖。
圖7 直線行走初始位置
機器人直線行走機械腿的變化見圖8。第一步,從圖8 a 位置開始,程序控制腿1、腿3、腿5 的基關節(jié)舵機向前轉(zhuǎn)動的同時,股關節(jié)舵機也轉(zhuǎn)動,帶動機械腿向上翻折,此時,在無干涉情況下,3 條腿都向前方偏轉(zhuǎn),腿2、腿4、腿6 起支撐作用,如圖8 b 所示。第二步,腿1、腿3、腿5 的股關節(jié)的舵機反向轉(zhuǎn)動,使得脛關節(jié)連接的殼體著地,如圖8 c 所示。第三步,腿1、腿3、腿5 的基關節(jié)舵機反向轉(zhuǎn)動的同時,腿2、腿4、腿6 重復第一步中腿1、腿3、腿5 的動作。此時,腿1、腿3、腿5 起到支撐作用,如圖8 d所示。第四步,腿2、腿4、腿6 的股關節(jié)舵機反向轉(zhuǎn)動,使得殼體著地,如圖8e 所示。第五步,腿2、腿4、腿6 的基關節(jié)舵機反向轉(zhuǎn)動的同時,腿1、腿3、腿5 重復第一步中的動作,此時腿2、腿4、腿6 起到支撐作用,如圖8 f 所示。如此,1 個三角步態(tài)直線行走的循環(huán)結(jié)束。若循環(huán)多次,機器人便可實現(xiàn)直線行走。若要使機器人倒退行走,則在前進行走的基礎上只改變基關節(jié)舵機的控制,使每步的轉(zhuǎn)動方向都與前進行走的方向相反即可。
圖8 直線行走時機械腿的變化
為更好地分析六足球形機器人運動過程中舵機的角度變化,進行SolidWorks 與MATLAB聯(lián)合仿真。
SolidWorks 與MATLAB 聯(lián)合仿真過程包括建立機械系統(tǒng)、設置模型參數(shù)、建立MATLAB 控制模型以及結(jié)果后處理4 個步驟。[7]通過插件將SolidWorks 模型導出為可以用在MATLAB 啟動的xml 文件,并生成Simulink 中 的slx 文 件。
添加控制模塊來控制18 個舵機,通過時間輸入,利用Simulink 中的if 條件模塊,控制舵機轉(zhuǎn)動角度,使機器人的機械腿在不同的時間段內(nèi)變化或維持不同的角度位置,從而使六足球形機器人實現(xiàn)不同控制指令下球體的展開、閉合和直線行走。
通過Simulink 仿真來判斷機器人在球體的展開、閉合以及機器人直線行走過程中是否存在機體運動干涉。若出現(xiàn)干涉,則通過調(diào)整舵機控制角度、控制時間或者修改SolidWorks 模型來消除。
以球體的展開與閉合為例,通過仿真判斷球體在閉合過程中腿部的殼體頂端是否會相撞,如圖9 所示。在進行仿真過程中,也可以通過Simulink 中scope 模塊生成的圖像曲線觀察舵機角度位置隨時間的變化是否合適。以球體展開閉合過程中的1 個舵機為例。圖10 呈現(xiàn)的是機器人在進行球體的展開和閉合過程中,腿1、腿3、腿5 和腿2、腿4、腿6 兩組腿的脛關節(jié)舵機角度位置變化。從圖10 中可以看出,腿1、腿3、腿5 的脛關節(jié)舵機從0°初始位置開始,經(jīng)過3 s 轉(zhuǎn)動到了60°位置,停留18 s 后,又經(jīng)過3 s 回到了0°初始位置。而另一組腿的脛關節(jié)舵機晚于第一組動作,但初末角度位置、轉(zhuǎn)動時間、停留時間與第一組相同,這說明在球體展開和閉合的過程中,機械腿相同位置的關節(jié)變化角度是相同的,即動作是相同的,并且不同組腿之間存在時間間隔,能保證動作的順序開展。
圖9 球體閉合過程仿真效果圖
圖10 脛關節(jié)舵機所在角度位置隨時間變化曲線
六足球形機器人在結(jié)構(gòu)上將六足機器人與球形機器人結(jié)合在一起,既保留了仿生六足機器人的部分優(yōu)點,又很好地利用了球形機器人自我保護的特性。采用18 個舵機控制腿部關節(jié)運動,不僅減少了由于核心運動結(jié)構(gòu)過于復雜而導致的生產(chǎn)和維修成本,也避免了機器人受損時行動能力的完全喪失。對六足球形機器人的運動仿真以及分析表明,六足球形機器人在進行球體的展開、閉合以及直線行走方面具有很好的穩(wěn)定性。