盧亞平, 宋天麟, 王日禾
(蘇州大學(xué)應(yīng)用技術(shù)學(xué)院,江蘇 蘇州 215325)
多關(guān)節(jié)仿生機(jī)器人研究是目前仿生機(jī)器人領(lǐng)域中比較活躍的一個(gè)方向,多關(guān)節(jié)機(jī)器人研制,已成為仿生領(lǐng)域的研究熱點(diǎn)。像機(jī)械昆蟲(chóng)、機(jī)器魚(yú)、機(jī)械狗、機(jī)械蛇、毛毛蟲(chóng)等多關(guān)節(jié)仿生機(jī)器人,都有著獨(dú)特的運(yùn)動(dòng)方式,每種運(yùn)動(dòng)方式都有著它一定的應(yīng)用價(jià)值,研究多關(guān)節(jié)機(jī)器人運(yùn)動(dòng)方式有著重要意義。蛇是一種極為特殊的生物,它的運(yùn)動(dòng)形式非常的特別,吸引著眾多科學(xué)家的研究興趣。本設(shè)計(jì)結(jié)合蛇類的蜿蜒運(yùn)動(dòng),實(shí)現(xiàn)多關(guān)節(jié)仿生機(jī)器人的仿生運(yùn)動(dòng)姿態(tài),達(dá)到機(jī)器人仿生運(yùn)動(dòng)控制的要求[1]。
考慮機(jī)器人運(yùn)動(dòng)的仿生性,設(shè)計(jì)選擇蜿蜒的運(yùn)動(dòng)方式,并假設(shè)是正弦波的傳遞,由此計(jì)算出波形傳遞過(guò)程中各個(gè)關(guān)節(jié)相對(duì)旋轉(zhuǎn)角度的變化,從而控制波形穩(wěn)定的向前推進(jìn)。由于多關(guān)節(jié)機(jī)器人類似一個(gè)多連桿系統(tǒng),通過(guò)各相鄰連桿的協(xié)調(diào)動(dòng)作向前推進(jìn)。設(shè)計(jì)以Serpenoid曲線為例對(duì)多關(guān)節(jié)機(jī)器人的運(yùn)動(dòng)步態(tài)進(jìn)行規(guī)劃,Serpenoid 是一個(gè)通過(guò)X-Y坐標(biāo)原點(diǎn)的蜿蜒曲線[2-3]:
式中:α為曲線的擺動(dòng)幅度;β 為單元長(zhǎng)度內(nèi)波形的周期數(shù);c為波形的偏移角。通過(guò)改變Serpenoid 曲線的3 個(gè)參數(shù),既可改變蜿蜒曲線波形的傳播幅度、曲線的頻率,還可改變曲線的偏移角度,即曲線的傳播方向。由Serpenoid曲線定義,可計(jì)算得出N關(guān)節(jié)組成的近似Serpenoid曲線蛇型機(jī)器人蜿蜒運(yùn)動(dòng)的角度[4]。
使用solidworks軟件模擬生物蛇骨架,設(shè)計(jì)仿生機(jī)器人三維模型,設(shè)計(jì)有1 個(gè)頭部關(guān)節(jié),7 個(gè)身部關(guān)節(jié),1 個(gè)尾部關(guān)節(jié)。舵機(jī)作為驅(qū)動(dòng)元件連接各關(guān)節(jié)。通過(guò)舵機(jī)的控制帶動(dòng)各關(guān)節(jié)的擺動(dòng),依靠與地面間的摩擦力驅(qū)動(dòng)機(jī)器人移動(dòng)。頭部關(guān)節(jié)分為上下板結(jié)構(gòu),上板放置傳感器模塊,下板放置主控板。身部關(guān)節(jié)固定舵機(jī)和連接其他關(guān)節(jié),舵機(jī)作為關(guān)節(jié)擺動(dòng)的執(zhí)行器件,通過(guò)緊固件裝配在身部關(guān)節(jié)的舵機(jī)定位孔上。尾部關(guān)節(jié)安裝電池,為機(jī)器人控制系統(tǒng)提供動(dòng)力[5]。設(shè)計(jì)方案如圖1 所示。

圖1 整體結(jié)構(gòu)設(shè)計(jì)模型
應(yīng)力測(cè)試主要分析身部關(guān)節(jié)上半部位折彎處的強(qiáng)度。在身部關(guān)節(jié)舵機(jī)頭連接處施加50 N 的向下壓力載荷。在向下壓力作用下,前端臂梁向下彎曲,發(fā)生靜態(tài)位移,前端位移量為9.5 mm。整體Von Mises應(yīng)力狀態(tài)如圖2 所示,由施壓后得到應(yīng)力云圖,可以看出最大的受力值以及最危險(xiǎn)的紅色區(qū)域。由圖可見(jiàn),臂梁右側(cè)直角折彎處的紅色部分內(nèi)應(yīng)力最大,形變也最大。由此在3D打印制作過(guò)程中需加固,在舵機(jī)頭連接處右側(cè)直角折彎處,增加圓弧過(guò)渡,使身部關(guān)節(jié)的臂梁不易折斷[6-7]。

圖2 馮米斯應(yīng)力(Von Mises)分布
系統(tǒng)設(shè)計(jì)框圖如圖3 所示,STM32 作為機(jī)器人核心控制器,連接各類傳感器,實(shí)現(xiàn)仿生設(shè)計(jì)理念和環(huán)境監(jiān)測(cè)多樣性。機(jī)器人采用超聲波模塊,模仿人的眼睛,實(shí)現(xiàn)環(huán)境偵察功能;采用人體紅外傳感器,模仿人的感官,實(shí)現(xiàn)生物監(jiān)測(cè)功能;采用聲音傳感器,模仿人的耳朵,實(shí)現(xiàn)聲音監(jiān)測(cè)功能[8]。

圖3 系統(tǒng)控制設(shè)計(jì)框圖
步態(tài)運(yùn)動(dòng)采用7 個(gè)關(guān)節(jié)(θ1~θ7)來(lái)實(shí)現(xiàn)。通過(guò)計(jì)算得出任一時(shí)刻舵機(jī)的運(yùn)動(dòng)角度,對(duì)照角度表編程控制每個(gè)關(guān)節(jié)舵機(jī)運(yùn)動(dòng)角度,實(shí)現(xiàn)對(duì)應(yīng)的運(yùn)動(dòng)步態(tài)。機(jī)器人不斷掃描檢測(cè)聲音信號(hào)和人體感應(yīng)信號(hào),當(dāng)信號(hào)強(qiáng)度超過(guò)設(shè)定的閾值后,系統(tǒng)進(jìn)入潛伏模式或蜷縮模式。聲音信號(hào)作為潛伏模式的依據(jù),人體感應(yīng)信號(hào)作為蜷縮模式的依據(jù)[9]??刂屏鞒虉D如圖4 所示。

圖4 多關(guān)節(jié)仿生機(jī)器人控制流程圖
潛伏模式:各關(guān)節(jié)舵機(jī)角度保持為0°,使機(jī)器人呈現(xiàn)出一條直線,且頭部在頭關(guān)節(jié)舵機(jī)驅(qū)動(dòng)下伏于地面,不易被發(fā)現(xiàn)。
蜷縮模式:各關(guān)節(jié)舵機(jī)角度統(tǒng)一方向擺動(dòng)34°,各關(guān)節(jié)蜷縮在一起,但頭部舵機(jī)驅(qū)動(dòng)一定角度,模仿蛇類生物頭部昂起的動(dòng)作,使得機(jī)器人施展空間最小化。
避障模式:以右側(cè)轉(zhuǎn)彎為最優(yōu)原則,進(jìn)行機(jī)器人的運(yùn)動(dòng)避障。
蛇類運(yùn)動(dòng)步態(tài)中,圖5 中給出了完整的多關(guān)節(jié)蛇類運(yùn)動(dòng)步態(tài)。從頭部開(kāi)始,身部關(guān)節(jié)借助腹部與地面之間的摩擦力完成蜿蜒運(yùn)動(dòng);結(jié)合觀察蛇類的運(yùn)動(dòng)姿態(tài),利用Serpenoid曲線運(yùn)動(dòng)計(jì)算出重要姿態(tài)時(shí)的各舵機(jī)角度,并建立各時(shí)刻舵機(jī)的角度表。對(duì)照角度表編程控制每個(gè)關(guān)節(jié)舵機(jī)運(yùn)動(dòng)角度,實(shí)現(xiàn)對(duì)應(yīng)的運(yùn)動(dòng)步態(tài)。并通過(guò)舵機(jī)(θ2、θ1)的角度控制,實(shí)現(xiàn)在蛇類運(yùn)動(dòng)中轉(zhuǎn)向。運(yùn)動(dòng)中,關(guān)節(jié)(θ7~θ3)起主要推力作用,關(guān)節(jié)(θ2、θ1)起導(dǎo)向作用[10-11]。

圖5 蛇類運(yùn)動(dòng)步態(tài)
依據(jù)前期蛇類蜿蜒運(yùn)動(dòng)步態(tài)的研究,將Serpenoid曲線運(yùn)動(dòng)公式導(dǎo)入Matlab 軟件,進(jìn)行軌跡運(yùn)動(dòng)仿真。如圖6 所示,各關(guān)節(jié)模擬仿真出t0~t10時(shí)刻的運(yùn)動(dòng)軌跡,以此設(shè)計(jì)程序。在實(shí)際調(diào)試過(guò)程中,為不僅讓機(jī)器人運(yùn)動(dòng)姿態(tài)接近于蛇類運(yùn)動(dòng)形態(tài),并產(chǎn)生有效的距離移動(dòng),會(huì)對(duì)各關(guān)節(jié)角度的大小進(jìn)一步的微調(diào)[12]。

圖6 t時(shí)刻各舵機(jī)蜿蜒運(yùn)動(dòng)波形
依據(jù)t0~t10時(shí)刻的角度大小,編寫角度數(shù)據(jù)表,見(jiàn)表1。通過(guò)角度換算成脈寬信號(hào),輸入控制器。表1數(shù)據(jù)呈Serpenoid曲線規(guī)律性變化,縱向:?jiǎn)蝹€(gè)關(guān)節(jié)舵機(jī)角度數(shù)據(jù)以類似正弦波形變化;橫向:8 個(gè)關(guān)節(jié)舵機(jī)角度數(shù)據(jù)實(shí)現(xiàn)左偏移。縱橫結(jié)合實(shí)現(xiàn)運(yùn)動(dòng)波形的傳遞,實(shí)現(xiàn)蜿蜒運(yùn)動(dòng)步態(tài)[13-14]。

表1 蜿蜒運(yùn)動(dòng)角度數(shù)據(jù)
在機(jī)器人蜿蜒運(yùn)動(dòng)姿態(tài)編程,機(jī)器人通過(guò)舵機(jī)的擺動(dòng)帶動(dòng)身部關(guān)節(jié)的腹部與地面摩擦前進(jìn)。依據(jù)表1的角度數(shù)據(jù)編寫舵機(jī)擺動(dòng)程序,程序?qū)? 個(gè)舵機(jī)角度做等值比較,以準(zhǔn)確判斷舵機(jī)角度是否轉(zhuǎn)動(dòng)到設(shè)定值。程序中設(shè)置有11 個(gè)條件,循環(huán)順序?yàn)椋簍0→t1→t2→t3→t4→t5→t6→t7→t8→t9→t10。
流程如圖7 所示,設(shè)置11 個(gè)階段,以分解蜿蜒運(yùn)動(dòng)中各階段機(jī)器人舵機(jī)的角度,通過(guò)switch(temp)語(yǔ)句來(lái)進(jìn)行順序選擇,當(dāng)temp =0 時(shí),執(zhí)行t0時(shí)刻的各舵機(jī)PWM數(shù)據(jù);當(dāng)temp =1 時(shí),執(zhí)行t1時(shí)刻的各舵機(jī)PWM數(shù)據(jù),依次類推,通過(guò)分階段的組合實(shí)現(xiàn)蜿蜒運(yùn)動(dòng)。其中蜿蜒運(yùn)動(dòng)的前進(jìn)與后退的角度為相反關(guān)系,即t0~t10時(shí)刻順序?yàn)榍斑M(jìn),而t10~t0時(shí)刻順序?yàn)楹笸耍?5-16]。

圖7 t時(shí)刻角度編程流程圖
通過(guò)CoppeliaSim機(jī)器人仿真平臺(tái),構(gòu)建仿生機(jī)器蛇模型,如圖8 所示,并使用c語(yǔ)言編程描述控制機(jī)器人運(yùn)動(dòng)。

圖8 Sim運(yùn)動(dòng)仿真中的模型
根據(jù)蛇類蜿蜒運(yùn)動(dòng)時(shí)關(guān)節(jié)隨時(shí)間變化關(guān)系
建立仿真程序腳本。仿真環(huán)境不考慮地面摩擦力影響。當(dāng)取β =4π,c=0 保持不變的情況下,分別令α =30 和60,得到如圖9、10 所示的參數(shù)α 影響下的蛇形曲線[17-18]。

圖9 α =30時(shí)關(guān)節(jié)變化曲線

圖10 α =60時(shí)關(guān)節(jié)變化曲線
通過(guò)以上波形分析,單位波形的長(zhǎng)度隨著α 值的減小而增大;單位波形的幅值隨著α 的減小而減小,由此可以看出α值越小,運(yùn)動(dòng)幅度越趨于平緩。
當(dāng)取α =30,c=0 保持不變的情況下,分別令β =4π、8π。得到如圖11、12 所示的參數(shù)β影響下的蛇形曲線。

圖11 β =4π時(shí)關(guān)節(jié)變化曲線

圖12 β =8π時(shí)關(guān)節(jié)變化曲線
通過(guò)以上運(yùn)動(dòng)軌跡和關(guān)節(jié)變化曲線可以看出,當(dāng)α值保持不變的情況下,β 值越大,單位曲線長(zhǎng)度中正弦周期的個(gè)數(shù)隨著β 值的增大而增大,而振幅隨著周期個(gè)數(shù)的增多而減小。由此可見(jiàn),β取值越大,整體擺動(dòng)幅度越小,關(guān)節(jié)變化速度越快。α、β 參數(shù)影響著機(jī)器人整體的擺動(dòng)幅度和關(guān)節(jié)變化速度,具體見(jiàn)表2。

表2 α、β 參數(shù)對(duì)運(yùn)動(dòng)的影響
通過(guò)CoppeliaSim運(yùn)動(dòng)仿真,選用α、β參數(shù)進(jìn)行編程。測(cè)試機(jī)器人底部摩擦方式對(duì)運(yùn)動(dòng)位移的影響,設(shè)計(jì)加工2 種運(yùn)動(dòng)模型(模型A 和模型B),如圖13 所示。不同的摩擦方式對(duì)機(jī)器人的位移有著較大的影響,決定了是否能產(chǎn)生有效的前進(jìn)推力。模型A 采用的是萬(wàn)向輪,實(shí)現(xiàn)機(jī)器人與地面的點(diǎn)摩擦;模型B 采用的是小滾輪,實(shí)現(xiàn)機(jī)器人與地面的線摩擦[19-20]。

圖13 模型A和模型B摩擦方式
測(cè)試過(guò)程中,不同模型配置不同的α、β 參數(shù),以便比較結(jié)構(gòu)設(shè)計(jì)不同、摩擦方式不同和運(yùn)動(dòng)參數(shù)不同對(duì)機(jī)器人運(yùn)動(dòng)帶來(lái)的影響。測(cè)試中通過(guò)相機(jī)拍攝,得到大量機(jī)器人的蜿蜒運(yùn)動(dòng)圖,機(jī)器人的蜿蜒動(dòng)作實(shí)拍如圖14、15 所示,機(jī)器人通過(guò)各關(guān)節(jié)進(jìn)行蜿蜒運(yùn)動(dòng),實(shí)現(xiàn)一定量的位移,由此分析不同的α、β 參數(shù)和不同的摩擦方式對(duì)機(jī)器人運(yùn)動(dòng)效能的影響。

圖14 模型A蜿蜒測(cè)試
由仿真得知,α影響關(guān)節(jié)運(yùn)動(dòng)時(shí)擺動(dòng)的平穩(wěn)性(α越大,擺動(dòng)幅度越大),β 影響整體擺動(dòng)幅度和擺動(dòng)速度(β取值越小,整體擺動(dòng)幅度越大,關(guān)節(jié)變化速度越慢)。本次測(cè)試采用α =60,以提升擺動(dòng)的幅度;β =8π,以降低整體擺動(dòng)幅度,提高關(guān)節(jié)變化速度。
通過(guò)高清相機(jī)拍攝的大量圖片發(fā)現(xiàn),當(dāng)α =60、β =8π時(shí),單位時(shí)間內(nèi)擺動(dòng)頻率較高,擺動(dòng)幅度較大,導(dǎo)致機(jī)器人實(shí)際有效移動(dòng)距離較小,大部分運(yùn)動(dòng)是無(wú)效運(yùn)動(dòng),即為原地?cái)[動(dòng)。依圖14 的測(cè)試情況測(cè)算得出:平均在0.5 s內(nèi)擺動(dòng)1.5 個(gè)周期。在8 s內(nèi)移動(dòng)了一個(gè)蛇身(約16 cm),平均移動(dòng)速度2 cm/s,移動(dòng)效率偏低。
模型B測(cè)試采用α =30,增大運(yùn)動(dòng)波形的長(zhǎng)度,降低擺動(dòng)的幅度,提高穩(wěn)定性。采用β =4π,以提升整體擺動(dòng)幅度,減小關(guān)節(jié)變化速度。
當(dāng)α =30、β =4π 時(shí),單位時(shí)間內(nèi)擺動(dòng)頻率降低,擺動(dòng)幅度稍微增大,實(shí)現(xiàn)機(jī)器人有效移動(dòng)距離顯著增加。依圖15 測(cè)算得出:平均在2 s內(nèi)擺動(dòng)0.7 個(gè)周期,使得動(dòng)作緩慢,但移動(dòng)效果明顯,柔性較好。在20 s內(nèi)移動(dòng)了90 cm,平均移動(dòng)速度4.5 cm/s,且動(dòng)作更具有蛇類運(yùn)動(dòng)的柔性效果。

圖15 模型B蜿蜒測(cè)試
通過(guò)實(shí)測(cè),A、B 模型配置不同的α、β 參數(shù),其運(yùn)動(dòng)路徑長(zhǎng)度有顯著差距,如圖16 所示。模型B得到了最優(yōu)平均路徑長(zhǎng)度,前進(jìn)阻力有了大幅度的削減,證明了模型B的摩擦方式對(duì)路徑導(dǎo)向性(剛性問(wèn)題)和參數(shù)α、β對(duì)改進(jìn)推進(jìn)效率帶來(lái)顯著的成效。在時(shí)間相對(duì)較短的情況下,確保機(jī)器人各關(guān)節(jié)沖擊不會(huì)產(chǎn)生較小的抖動(dòng)現(xiàn)象,保證運(yùn)動(dòng)軌跡的平滑性。

圖16 時(shí)間與行走路徑長(zhǎng)度對(duì)應(yīng)關(guān)系
蜿蜒運(yùn)動(dòng)實(shí)驗(yàn)測(cè)試分析:較好的運(yùn)動(dòng)效果不僅需要選擇合適的α、β 兩參數(shù)的共同作用,還需要選擇機(jī)器人與底部合適的運(yùn)動(dòng)摩擦方式。才能達(dá)到最佳效果,機(jī)器人推進(jìn)成效更完美。
(1)蜿蜒運(yùn)動(dòng)。各關(guān)節(jié)的擺動(dòng)頻率,擺動(dòng)幅度決定了機(jī)器人的運(yùn)動(dòng)效果。各關(guān)節(jié)角度的擺動(dòng)頻率和擺動(dòng)幅度又因α、β 兩參數(shù)的不同而改變。選擇合適的α、β兩參數(shù),才能使機(jī)器人更加有效地進(jìn)行蜿蜒前進(jìn)。通過(guò)測(cè)試發(fā)現(xiàn),當(dāng)α =30、β =4π 時(shí),能實(shí)現(xiàn)較好的位移,平均移動(dòng)速度能到達(dá)4.5 cm/s,具有蛇類的仿生運(yùn)動(dòng)效果。
(2)模型設(shè)計(jì)。采用模型B 與模型A,設(shè)計(jì)不同的底部運(yùn)動(dòng)摩擦方式。測(cè)試發(fā)現(xiàn)在蜿蜒運(yùn)動(dòng)中,小滾輪具有較好的導(dǎo)向性,致使機(jī)器人在運(yùn)動(dòng)時(shí)各關(guān)節(jié)產(chǎn)生的推力較好的集中到一個(gè)方向上。而萬(wàn)向輪360°方向皆可,使力的作用較分散,機(jī)器人在運(yùn)動(dòng)時(shí)各關(guān)節(jié)產(chǎn)生的推力被萬(wàn)向輪分散,不易集中。
(3)關(guān)節(jié)組裝。不僅要考慮關(guān)節(jié)連接處往復(fù)摩擦問(wèn)題,還需考慮仿生設(shè)計(jì)效果,找到適合的外形結(jié)構(gòu)設(shè)計(jì)也很重要。測(cè)試結(jié)果顯示,使用軸承設(shè)計(jì)能夠減少關(guān)節(jié)連接處的摩擦,使機(jī)器人各關(guān)節(jié)間的擺動(dòng)具有較好的運(yùn)動(dòng)性。使用緊固件設(shè)計(jì)可較好的固定舵機(jī),在運(yùn)動(dòng)過(guò)程中能較好地提供穩(wěn)定動(dòng)力。
通過(guò)分析生物蛇骨架模型和運(yùn)動(dòng)步態(tài),提出一種多關(guān)節(jié)仿生蛇形機(jī)器人結(jié)構(gòu)方案。并在Serpenoid 數(shù)學(xué)模型基礎(chǔ)上,通過(guò)對(duì)數(shù)學(xué)模型的仿真,總結(jié)了α、β兩參數(shù)影響仿生機(jī)器人曲線運(yùn)動(dòng)的規(guī)律,并在仿生機(jī)器人樣機(jī)上進(jìn)行了試驗(yàn)。實(shí)驗(yàn)證明,機(jī)器人關(guān)節(jié)(θ2、θ1)對(duì)路徑導(dǎo)向性(剛性)、參數(shù)α、β 對(duì)運(yùn)動(dòng)推進(jìn)效率和底部摩擦方式對(duì)有效運(yùn)動(dòng)位移都有顯著關(guān)聯(lián),對(duì)基于Serpenoid 曲線的仿生機(jī)器人的運(yùn)動(dòng)控制有重要意義。