盧亞平, 宋天麟, 王日禾
(蘇州大學(xué)應(yīng)用技術(shù)學(xué)院,江蘇 蘇州 215325)
多關(guān)節(jié)仿生機器人研究是目前仿生機器人領(lǐng)域中比較活躍的一個方向,多關(guān)節(jié)機器人研制,已成為仿生領(lǐng)域的研究熱點。像機械昆蟲、機器魚、機械狗、機械蛇、毛毛蟲等多關(guān)節(jié)仿生機器人,都有著獨特的運動方式,每種運動方式都有著它一定的應(yīng)用價值,研究多關(guān)節(jié)機器人運動方式有著重要意義。蛇是一種極為特殊的生物,它的運動形式非常的特別,吸引著眾多科學(xué)家的研究興趣。本設(shè)計結(jié)合蛇類的蜿蜒運動,實現(xiàn)多關(guān)節(jié)仿生機器人的仿生運動姿態(tài),達到機器人仿生運動控制的要求[1]。
考慮機器人運動的仿生性,設(shè)計選擇蜿蜒的運動方式,并假設(shè)是正弦波的傳遞,由此計算出波形傳遞過程中各個關(guān)節(jié)相對旋轉(zhuǎn)角度的變化,從而控制波形穩(wěn)定的向前推進。由于多關(guān)節(jié)機器人類似一個多連桿系統(tǒng),通過各相鄰連桿的協(xié)調(diào)動作向前推進。設(shè)計以Serpenoid曲線為例對多關(guān)節(jié)機器人的運動步態(tài)進行規(guī)劃,Serpenoid 是一個通過X-Y坐標(biāo)原點的蜿蜒曲線[2-3]:
式中:α為曲線的擺動幅度;β 為單元長度內(nèi)波形的周期數(shù);c為波形的偏移角。通過改變Serpenoid 曲線的3 個參數(shù),既可改變蜿蜒曲線波形的傳播幅度、曲線的頻率,還可改變曲線的偏移角度,即曲線的傳播方向。由Serpenoid曲線定義,可計算得出N關(guān)節(jié)組成的近似Serpenoid曲線蛇型機器人蜿蜒運動的角度[4]。
使用solidworks軟件模擬生物蛇骨架,設(shè)計仿生機器人三維模型,設(shè)計有1 個頭部關(guān)節(jié),7 個身部關(guān)節(jié),1 個尾部關(guān)節(jié)。舵機作為驅(qū)動元件連接各關(guān)節(jié)。通過舵機的控制帶動各關(guān)節(jié)的擺動,依靠與地面間的摩擦力驅(qū)動機器人移動。頭部關(guān)節(jié)分為上下板結(jié)構(gòu),上板放置傳感器模塊,下板放置主控板。身部關(guān)節(jié)固定舵機和連接其他關(guān)節(jié),舵機作為關(guān)節(jié)擺動的執(zhí)行器件,通過緊固件裝配在身部關(guān)節(jié)的舵機定位孔上。尾部關(guān)節(jié)安裝電池,為機器人控制系統(tǒng)提供動力[5]。設(shè)計方案如圖1 所示。
圖1 整體結(jié)構(gòu)設(shè)計模型
應(yīng)力測試主要分析身部關(guān)節(jié)上半部位折彎處的強度。在身部關(guān)節(jié)舵機頭連接處施加50 N 的向下壓力載荷。在向下壓力作用下,前端臂梁向下彎曲,發(fā)生靜態(tài)位移,前端位移量為9.5 mm。整體Von Mises應(yīng)力狀態(tài)如圖2 所示,由施壓后得到應(yīng)力云圖,可以看出最大的受力值以及最危險的紅色區(qū)域。由圖可見,臂梁右側(cè)直角折彎處的紅色部分內(nèi)應(yīng)力最大,形變也最大。由此在3D打印制作過程中需加固,在舵機頭連接處右側(cè)直角折彎處,增加圓弧過渡,使身部關(guān)節(jié)的臂梁不易折斷[6-7]。
圖2 馮米斯應(yīng)力(Von Mises)分布
系統(tǒng)設(shè)計框圖如圖3 所示,STM32 作為機器人核心控制器,連接各類傳感器,實現(xiàn)仿生設(shè)計理念和環(huán)境監(jiān)測多樣性。機器人采用超聲波模塊,模仿人的眼睛,實現(xiàn)環(huán)境偵察功能;采用人體紅外傳感器,模仿人的感官,實現(xiàn)生物監(jiān)測功能;采用聲音傳感器,模仿人的耳朵,實現(xiàn)聲音監(jiān)測功能[8]。
圖3 系統(tǒng)控制設(shè)計框圖
步態(tài)運動采用7 個關(guān)節(jié)(θ1~θ7)來實現(xiàn)。通過計算得出任一時刻舵機的運動角度,對照角度表編程控制每個關(guān)節(jié)舵機運動角度,實現(xiàn)對應(yīng)的運動步態(tài)。機器人不斷掃描檢測聲音信號和人體感應(yīng)信號,當(dāng)信號強度超過設(shè)定的閾值后,系統(tǒng)進入潛伏模式或蜷縮模式。聲音信號作為潛伏模式的依據(jù),人體感應(yīng)信號作為蜷縮模式的依據(jù)[9]??刂屏鞒虉D如圖4 所示。
圖4 多關(guān)節(jié)仿生機器人控制流程圖
潛伏模式:各關(guān)節(jié)舵機角度保持為0°,使機器人呈現(xiàn)出一條直線,且頭部在頭關(guān)節(jié)舵機驅(qū)動下伏于地面,不易被發(fā)現(xiàn)。
蜷縮模式:各關(guān)節(jié)舵機角度統(tǒng)一方向擺動34°,各關(guān)節(jié)蜷縮在一起,但頭部舵機驅(qū)動一定角度,模仿蛇類生物頭部昂起的動作,使得機器人施展空間最小化。
避障模式:以右側(cè)轉(zhuǎn)彎為最優(yōu)原則,進行機器人的運動避障。
蛇類運動步態(tài)中,圖5 中給出了完整的多關(guān)節(jié)蛇類運動步態(tài)。從頭部開始,身部關(guān)節(jié)借助腹部與地面之間的摩擦力完成蜿蜒運動;結(jié)合觀察蛇類的運動姿態(tài),利用Serpenoid曲線運動計算出重要姿態(tài)時的各舵機角度,并建立各時刻舵機的角度表。對照角度表編程控制每個關(guān)節(jié)舵機運動角度,實現(xiàn)對應(yīng)的運動步態(tài)。并通過舵機(θ2、θ1)的角度控制,實現(xiàn)在蛇類運動中轉(zhuǎn)向。運動中,關(guān)節(jié)(θ7~θ3)起主要推力作用,關(guān)節(jié)(θ2、θ1)起導(dǎo)向作用[10-11]。
圖5 蛇類運動步態(tài)
依據(jù)前期蛇類蜿蜒運動步態(tài)的研究,將Serpenoid曲線運動公式導(dǎo)入Matlab 軟件,進行軌跡運動仿真。如圖6 所示,各關(guān)節(jié)模擬仿真出t0~t10時刻的運動軌跡,以此設(shè)計程序。在實際調(diào)試過程中,為不僅讓機器人運動姿態(tài)接近于蛇類運動形態(tài),并產(chǎn)生有效的距離移動,會對各關(guān)節(jié)角度的大小進一步的微調(diào)[12]。
圖6 t時刻各舵機蜿蜒運動波形
依據(jù)t0~t10時刻的角度大小,編寫角度數(shù)據(jù)表,見表1。通過角度換算成脈寬信號,輸入控制器。表1數(shù)據(jù)呈Serpenoid曲線規(guī)律性變化,縱向:單個關(guān)節(jié)舵機角度數(shù)據(jù)以類似正弦波形變化;橫向:8 個關(guān)節(jié)舵機角度數(shù)據(jù)實現(xiàn)左偏移??v橫結(jié)合實現(xiàn)運動波形的傳遞,實現(xiàn)蜿蜒運動步態(tài)[13-14]。
表1 蜿蜒運動角度數(shù)據(jù)
在機器人蜿蜒運動姿態(tài)編程,機器人通過舵機的擺動帶動身部關(guān)節(jié)的腹部與地面摩擦前進。依據(jù)表1的角度數(shù)據(jù)編寫舵機擺動程序,程序?qū)? 個舵機角度做等值比較,以準(zhǔn)確判斷舵機角度是否轉(zhuǎn)動到設(shè)定值。程序中設(shè)置有11 個條件,循環(huán)順序為:t0→t1→t2→t3→t4→t5→t6→t7→t8→t9→t10。
流程如圖7 所示,設(shè)置11 個階段,以分解蜿蜒運動中各階段機器人舵機的角度,通過switch(temp)語句來進行順序選擇,當(dāng)temp =0 時,執(zhí)行t0時刻的各舵機PWM數(shù)據(jù);當(dāng)temp =1 時,執(zhí)行t1時刻的各舵機PWM數(shù)據(jù),依次類推,通過分階段的組合實現(xiàn)蜿蜒運動。其中蜿蜒運動的前進與后退的角度為相反關(guān)系,即t0~t10時刻順序為前進,而t10~t0時刻順序為后退[15-16]。
圖7 t時刻角度編程流程圖
通過CoppeliaSim機器人仿真平臺,構(gòu)建仿生機器蛇模型,如圖8 所示,并使用c語言編程描述控制機器人運動。
圖8 Sim運動仿真中的模型
根據(jù)蛇類蜿蜒運動時關(guān)節(jié)隨時間變化關(guān)系
建立仿真程序腳本。仿真環(huán)境不考慮地面摩擦力影響。當(dāng)取β =4π,c=0 保持不變的情況下,分別令α =30 和60,得到如圖9、10 所示的參數(shù)α 影響下的蛇形曲線[17-18]。
圖9 α =30時關(guān)節(jié)變化曲線
圖10 α =60時關(guān)節(jié)變化曲線
通過以上波形分析,單位波形的長度隨著α 值的減小而增大;單位波形的幅值隨著α 的減小而減小,由此可以看出α值越小,運動幅度越趨于平緩。
當(dāng)取α =30,c=0 保持不變的情況下,分別令β =4π、8π。得到如圖11、12 所示的參數(shù)β影響下的蛇形曲線。
圖11 β =4π時關(guān)節(jié)變化曲線
圖12 β =8π時關(guān)節(jié)變化曲線
通過以上運動軌跡和關(guān)節(jié)變化曲線可以看出,當(dāng)α值保持不變的情況下,β 值越大,單位曲線長度中正弦周期的個數(shù)隨著β 值的增大而增大,而振幅隨著周期個數(shù)的增多而減小。由此可見,β取值越大,整體擺動幅度越小,關(guān)節(jié)變化速度越快。α、β 參數(shù)影響著機器人整體的擺動幅度和關(guān)節(jié)變化速度,具體見表2。
表2 α、β 參數(shù)對運動的影響
通過CoppeliaSim運動仿真,選用α、β參數(shù)進行編程。測試機器人底部摩擦方式對運動位移的影響,設(shè)計加工2 種運動模型(模型A 和模型B),如圖13 所示。不同的摩擦方式對機器人的位移有著較大的影響,決定了是否能產(chǎn)生有效的前進推力。模型A 采用的是萬向輪,實現(xiàn)機器人與地面的點摩擦;模型B 采用的是小滾輪,實現(xiàn)機器人與地面的線摩擦[19-20]。
圖13 模型A和模型B摩擦方式
測試過程中,不同模型配置不同的α、β 參數(shù),以便比較結(jié)構(gòu)設(shè)計不同、摩擦方式不同和運動參數(shù)不同對機器人運動帶來的影響。測試中通過相機拍攝,得到大量機器人的蜿蜒運動圖,機器人的蜿蜒動作實拍如圖14、15 所示,機器人通過各關(guān)節(jié)進行蜿蜒運動,實現(xiàn)一定量的位移,由此分析不同的α、β 參數(shù)和不同的摩擦方式對機器人運動效能的影響。
圖14 模型A蜿蜒測試
由仿真得知,α影響關(guān)節(jié)運動時擺動的平穩(wěn)性(α越大,擺動幅度越大),β 影響整體擺動幅度和擺動速度(β取值越小,整體擺動幅度越大,關(guān)節(jié)變化速度越慢)。本次測試采用α =60,以提升擺動的幅度;β =8π,以降低整體擺動幅度,提高關(guān)節(jié)變化速度。
通過高清相機拍攝的大量圖片發(fā)現(xiàn),當(dāng)α =60、β =8π時,單位時間內(nèi)擺動頻率較高,擺動幅度較大,導(dǎo)致機器人實際有效移動距離較小,大部分運動是無效運動,即為原地擺動。依圖14 的測試情況測算得出:平均在0.5 s內(nèi)擺動1.5 個周期。在8 s內(nèi)移動了一個蛇身(約16 cm),平均移動速度2 cm/s,移動效率偏低。
模型B測試采用α =30,增大運動波形的長度,降低擺動的幅度,提高穩(wěn)定性。采用β =4π,以提升整體擺動幅度,減小關(guān)節(jié)變化速度。
當(dāng)α =30、β =4π 時,單位時間內(nèi)擺動頻率降低,擺動幅度稍微增大,實現(xiàn)機器人有效移動距離顯著增加。依圖15 測算得出:平均在2 s內(nèi)擺動0.7 個周期,使得動作緩慢,但移動效果明顯,柔性較好。在20 s內(nèi)移動了90 cm,平均移動速度4.5 cm/s,且動作更具有蛇類運動的柔性效果。
圖15 模型B蜿蜒測試
通過實測,A、B 模型配置不同的α、β 參數(shù),其運動路徑長度有顯著差距,如圖16 所示。模型B得到了最優(yōu)平均路徑長度,前進阻力有了大幅度的削減,證明了模型B的摩擦方式對路徑導(dǎo)向性(剛性問題)和參數(shù)α、β對改進推進效率帶來顯著的成效。在時間相對較短的情況下,確保機器人各關(guān)節(jié)沖擊不會產(chǎn)生較小的抖動現(xiàn)象,保證運動軌跡的平滑性。
圖16 時間與行走路徑長度對應(yīng)關(guān)系
蜿蜒運動實驗測試分析:較好的運動效果不僅需要選擇合適的α、β 兩參數(shù)的共同作用,還需要選擇機器人與底部合適的運動摩擦方式。才能達到最佳效果,機器人推進成效更完美。
(1)蜿蜒運動。各關(guān)節(jié)的擺動頻率,擺動幅度決定了機器人的運動效果。各關(guān)節(jié)角度的擺動頻率和擺動幅度又因α、β 兩參數(shù)的不同而改變。選擇合適的α、β兩參數(shù),才能使機器人更加有效地進行蜿蜒前進。通過測試發(fā)現(xiàn),當(dāng)α =30、β =4π 時,能實現(xiàn)較好的位移,平均移動速度能到達4.5 cm/s,具有蛇類的仿生運動效果。
(2)模型設(shè)計。采用模型B 與模型A,設(shè)計不同的底部運動摩擦方式。測試發(fā)現(xiàn)在蜿蜒運動中,小滾輪具有較好的導(dǎo)向性,致使機器人在運動時各關(guān)節(jié)產(chǎn)生的推力較好的集中到一個方向上。而萬向輪360°方向皆可,使力的作用較分散,機器人在運動時各關(guān)節(jié)產(chǎn)生的推力被萬向輪分散,不易集中。
(3)關(guān)節(jié)組裝。不僅要考慮關(guān)節(jié)連接處往復(fù)摩擦問題,還需考慮仿生設(shè)計效果,找到適合的外形結(jié)構(gòu)設(shè)計也很重要。測試結(jié)果顯示,使用軸承設(shè)計能夠減少關(guān)節(jié)連接處的摩擦,使機器人各關(guān)節(jié)間的擺動具有較好的運動性。使用緊固件設(shè)計可較好的固定舵機,在運動過程中能較好地提供穩(wěn)定動力。
通過分析生物蛇骨架模型和運動步態(tài),提出一種多關(guān)節(jié)仿生蛇形機器人結(jié)構(gòu)方案。并在Serpenoid 數(shù)學(xué)模型基礎(chǔ)上,通過對數(shù)學(xué)模型的仿真,總結(jié)了α、β兩參數(shù)影響仿生機器人曲線運動的規(guī)律,并在仿生機器人樣機上進行了試驗。實驗證明,機器人關(guān)節(jié)(θ2、θ1)對路徑導(dǎo)向性(剛性)、參數(shù)α、β 對運動推進效率和底部摩擦方式對有效運動位移都有顯著關(guān)聯(lián),對基于Serpenoid 曲線的仿生機器人的運動控制有重要意義。