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

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

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

圖3 系統控制設計框圖
步態運動采用7 個關節(θ1~θ7)來實現。通過計算得出任一時刻舵機的運動角度,對照角度表編程控制每個關節舵機運動角度,實現對應的運動步態。機器人不斷掃描檢測聲音信號和人體感應信號,當信號強度超過設定的閾值后,系統進入潛伏模式或蜷縮模式。聲音信號作為潛伏模式的依據,人體感應信號作為蜷縮模式的依據[9]。控制流程圖如圖4 所示。

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

圖5 蛇類運動步態
依據前期蛇類蜿蜒運動步態的研究,將Serpenoid曲線運動公式導入Matlab 軟件,進行軌跡運動仿真。如圖6 所示,各關節模擬仿真出t0~t10時刻的運動軌跡,以此設計程序。在實際調試過程中,為不僅讓機器人運動姿態接近于蛇類運動形態,并產生有效的距離移動,會對各關節角度的大小進一步的微調[12]。

圖6 t時刻各舵機蜿蜒運動波形
依據t0~t10時刻的角度大小,編寫角度數據表,見表1。通過角度換算成脈寬信號,輸入控制器。表1數據呈Serpenoid曲線規律性變化,縱向:單個關節舵機角度數據以類似正弦波形變化;橫向:8 個關節舵機角度數據實現左偏移??v橫結合實現運動波形的傳遞,實現蜿蜒運動步態[13-14]。

表1 蜿蜒運動角度數據
在機器人蜿蜒運動姿態編程,機器人通過舵機的擺動帶動身部關節的腹部與地面摩擦前進。依據表1的角度數據編寫舵機擺動程序,程序對8 個舵機角度做等值比較,以準確判斷舵機角度是否轉動到設定值。程序中設置有11 個條件,循環順序為:t0→t1→t2→t3→t4→t5→t6→t7→t8→t9→t10。
流程如圖7 所示,設置11 個階段,以分解蜿蜒運動中各階段機器人舵機的角度,通過switch(temp)語句來進行順序選擇,當temp =0 時,執行t0時刻的各舵機PWM數據;當temp =1 時,執行t1時刻的各舵機PWM數據,依次類推,通過分階段的組合實現蜿蜒運動。其中蜿蜒運動的前進與后退的角度為相反關系,即t0~t10時刻順序為前進,而t10~t0時刻順序為后退[15-16]。

圖7 t時刻角度編程流程圖
通過CoppeliaSim機器人仿真平臺,構建仿生機器蛇模型,如圖8 所示,并使用c語言編程描述控制機器人運動。

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

圖9 α =30時關節變化曲線

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

圖11 β =4π時關節變化曲線

圖12 β =8π時關節變化曲線
通過以上運動軌跡和關節變化曲線可以看出,當α值保持不變的情況下,β 值越大,單位曲線長度中正弦周期的個數隨著β 值的增大而增大,而振幅隨著周期個數的增多而減小。由此可見,β取值越大,整體擺動幅度越小,關節變化速度越快。α、β 參數影響著機器人整體的擺動幅度和關節變化速度,具體見表2。

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

圖13 模型A和模型B摩擦方式
測試過程中,不同模型配置不同的α、β 參數,以便比較結構設計不同、摩擦方式不同和運動參數不同對機器人運動帶來的影響。測試中通過相機拍攝,得到大量機器人的蜿蜒運動圖,機器人的蜿蜒動作實拍如圖14、15 所示,機器人通過各關節進行蜿蜒運動,實現一定量的位移,由此分析不同的α、β 參數和不同的摩擦方式對機器人運動效能的影響。

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

圖15 模型B蜿蜒測試
通過實測,A、B 模型配置不同的α、β 參數,其運動路徑長度有顯著差距,如圖16 所示。模型B得到了最優平均路徑長度,前進阻力有了大幅度的削減,證明了模型B的摩擦方式對路徑導向性(剛性問題)和參數α、β對改進推進效率帶來顯著的成效。在時間相對較短的情況下,確保機器人各關節沖擊不會產生較小的抖動現象,保證運動軌跡的平滑性。

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