郝晴 安康 徐穎



摘 ?要: 仿生蛇形機器人對復雜環境具有良好的適應性,應用前景廣泛.針對蜿蜒運動初始時刻的突變問題和運動過程中存在的偏移問題,提出優化方程,并對蜿蜒運動步態進行規劃,研究了模型參數對機器人運動速度、偏移的影響,分析運動控制參數,并對運動步態偏移進行補償.通過Webots仿真實驗表明:運動控制參數決定了蛇形機器人的運動形狀、偏移量及轉彎特性,可以有效避免側向偏移,對蛇形機器人高效的運動控制具有較為重要的借鑒意義.
關鍵詞: 蛇形機器人; 蜿蜒運動; 步態規劃; 偏移補償; Webots仿真
Abstract: The bionic snake-like robot with good adaptability to complex environment had a wide application prospect. Aiming at the abrupt change at the beginning of serpentine movement and the deviation in the process of movement, the optimal equation was put forward and the gait of serpentine movement was planned in this paper. Then research was focused on the analysis of parameters in motion equation which had an important influence on velocity and migration of snake-like robot and the compensation of motion gait offset was implemented. Finally, Webots simulation experiment result showed that the shape, offset and turning characteristics of the snake-like robot were determined by the motion control parameters, and the lateral offset could be eliminated by specific parameter, which had important enlightenment and reference significance in motion control of snake-like robot.
Key words: snake-like robot; serpentine locomotion; gait planning; offset compensation; Webots simulation
0 ?引 言
蛇形機器人是一種高冗余的多關節機器人,從1972年Hirose教授搭建出第一臺蛇形機器人樣機至今,國內外對蛇形機器人的運動控制和結構設計進行了許多的研究[1-2].相對于足式機器人,蛇形機器人對于粗糙、陡峭等復雜多變的地面環境適應性更好,可以完成蜿蜒、蠕動、翻滾、攀爬等多種運動模式,在探測、偵察、廢墟救援[3]等方面擁有良好的應用前景.
KOMURA等[4]研發的蛇形機器人除了可以進行側向翻滾運動、側向蜿蜒運動以及水下蜿蜒運動之外,最新的ACM-R8機器人采用單向轉動主動輪,還可以自主上下樓梯;WRIGHT等[5]研究了正交模塊的蛇形機器人,完成了三維空間內的蜿蜒、翻滾和攀爬運動;LILJEBACK等[3]研制了第一個使用液壓驅動的火災救援蛇形機器人,之后又借助障礙物輔助蛇形機器人運動;1999年,崔顯世等[6]研制了國內第一臺蛇形機器人樣機;葉長龍等[7]和盧振利等[8]設計出了探察者3號機器人,提出側移調整法,并且對其水下的蜿蜒游動進行了仿真研究;魏武等[9]提出了基于旋量理論的蛇形機器人運動學建模方法,為機器人速度分析提供了一種非常便捷的方法.
在蛇形機器人的軌跡研究中,蜿蜒運動是最基本的運動形式,該項研究包括:蛇形曲線參數對蜿蜒運動形狀的影響[10]、基于神經振蕩的中心模式產生器(CPG)算法的蛇形運動[11-12]和學習蛇形機器人步態方程的參數,并實現最優控制[13],等等.但對于蜿蜒運動過程的研究仍存在著不足,如控制參數與運動軌跡的關系還沒有被充分研究,實際運動軌跡與理想的之間仍存在較大的偏移等.本文作者基于上述蜿蜒運動軌跡的偏移問題,對蜿蜒運動步態規劃及參數優化展開研究,從生物蛇的蜿蜒受力分析著手,設計了蛇形機器人的本體結構,并通過對蛇形曲線參數與運動軌跡擬合關系的分析,研究了蜿蜒曲線的形狀對運動的影響;針對蜿蜒運動軌跡的初始時刻突變與運動中的偏移問題,提出優化方程,并進一步規劃了蜿蜒運動;通過實驗仿真模擬運動控制參數對機器人運動形態、速度和偏移的影響,并驗證了運動控制參數對偏移補償的有效性.
1 ?蛇形機器人的運動模型
1.1 蛇形機器人的蜿蜒運動研究
為了得出實現蛇形機器人蜿蜒運動所需要的條件,需要對生物蛇進行受力分析(圖1).已知生物蛇在進行蜿蜒運動時的運動形式近似于正弦波的傳播形式,而蛇的運動方向與正弦波傳遞的方向是相反的.
1.2 基于Webots的蛇形機器人模型
根據生物蛇的運動機理,設計了蛇形機器人的結構,如圖1所示.其中,蛇體底部裝有從動輪來模擬蛇的腹鱗,使得運動時的軸向摩擦力遠小于徑向摩擦力,同時提高軸向運動效率;蛇形機器人的連接關節為正交結構,能夠實現三維運動;蛇體模塊的整體輪廓設計呈圓形,提升了其在復雜環境中的適應性,且蛇體模塊的兩端可安裝正交放置的舵機.
為了方便研究蜿蜒運動,使用Webots軟件創建一個六模塊的平面蛇形機器人[14-15],每個模塊的底部都設計了從動輪來模擬不同的橫縱系數比,在模型中加入伺服電機節點來控制蛇形機器人的轉動機構.通過編寫控制器程序改變不同時刻下各個舵機的轉動角度,來實現蛇形機器人的移動,實時模擬蜿蜒、轉彎等步態運動.
2 ?蛇形機器人蜿蜒曲線與參數分析
2.1 蛇形曲線及運動控制方程的推導
蛇形機器人實際上由若干個連桿模塊連接而成,其曲線曲率并不連續,需要將蛇形曲線離散化.假設蛇形機器人由n個長度相同的模塊組成,蛇體總長為l,則每個模塊的長度為.
2.2 蛇形機器人運動軌跡分析
圖3中,坐標原點處為蛇尾位置,其中,虛線代表蜿蜒曲線,折線代表蛇形機器人運動軌跡.圖3(a)中,分別選用 ,b=2π,c=0; ,b=3π,c=0; ,b=3π,c=0這3組數據來擬合六模塊蛇形機器人的蜿蜒軌跡,假設機器人每個模塊的長度是相同的,總長度為1.對比發現:當,b=3π,c=0時,蛇形機器人的姿態更接近生物蛇的運動狀態.
圖3(b)所示為蛇形機器人的擬合轉彎軌跡,調整參數得到最佳的左右轉彎軌跡,此時,b=4π,當參數c=1時,蛇形機器人向左偏轉;當c=-1時,蛇形機器人向右偏轉。
綜上所述,蛇形曲線的形狀影響著蛇形機器人的運動狀態,參數a影響蜿蜒曲線的幅值和初始角大小;參數b影響蜿蜒曲線單位長度內波數和幅值的大小;參數c的正負值影響蜿蜒曲線的偏轉方向.通過調整參數,得到理想的蜿蜒曲線,從而使蛇形機器人的運動軌跡貼合蜿蜒曲線.
3 ?蛇形機器人的蜿蜒步態優化
3.1 Serpentine運動控制方程的優化
蛇形機器人的原始形態為一條直線,但在Serpentine控制算法中,關節的初始時刻各個關節角并不為0,故在運動仿真之初,蛇形機器人會突然偏轉,產生較大的轉矩,如圖4所示,因此需要對運動控制方程進行優化.
3.2 運動步態控制參數的分析
由式(8)可知:α,β,γ是蜿蜒運動步態的關鍵參數,下面分別研究它們在蛇形機器人蜿蜒運動過程中的作用.
圖6為β,γ,ω值固定的情況下,α分別取0.35,0.70,1.20時,關節1的運動控制曲線.圖7為Webots中蛇形機器人模型某一時刻不同α值下的運動步態.可以看出,α值越大,曲線的幅值越大,蛇形機器人身體彎曲幅度越大,單位波長越短.由于ω不變,完成單位波長內的運動所需時間相同,蛇形機器人的速度隨α增大而減小.
圖8為α,γ,ω值固定,β分別為,,時,關節1的運動控制曲線.圖9為不同β值下,蛇形機器人的運動步態.可以看出β值越大,曲線的單位波長就越短,相同時間內呈現的波數越多,蛇形機器人關節的擺動幅度越小,向前的運動速度越慢.
圖10為α,β,ω值固定,γ分別為0,0.5,-0.5時,關節1的控制曲線,可以看到γ的值控制運動的軸線.在Webots中進行轉彎運動仿真,圖11(a)和圖11(b)中,γ分別取0.1和-0.1,機器人的偏轉方向互為相反;圖11(c)中,γ取0.2.對比圖11(a)和11(c)可以發現,當γ取0.2時,蛇形機器人偏轉的程度較嚴重.由此可知,γ值的正負可以決定蛇形機器人的偏轉方向,且γ的絕對值越大,偏轉弧度越大.
通過對蜿蜒運動的仿真,并分析控制參數可知:α和β會影響蛇形機器人的運動形狀.其中,α可以控制蛇形機器人的身體彎曲程度,α越大,彎曲程度越大,同時運動速度也會減小;β可以控制蛇體所呈現的波數和波形,β越大,所呈現的波數越多,波形越小,移動速度越慢;γ值的正負可以控制蛇形機器人的偏轉方向,且γ的絕對值越大,方向偏轉程度越嚴重.
3.3 運動步態偏移分析與補償
對初始時刻的蜿蜒運動進行優化,可有效地使蛇形機器人從直線狀態平緩地過渡到蜿蜒曲線狀態,避免了運動開始時突變造成運動軸線改變的現象.然而,蛇形機器人在蜿蜒直行時,如果模塊數比較少,模塊之間產生的側向摩擦力不足以相互抵消,會產生側向偏移.由于側向摩擦力的存在,蛇形機器人不會一直沿著直線運動,會發生一定程度的偏移,降低了機器人的運動效率,如圖12所示,細實線為理想的蜿蜒運動前進方向,粗實線為實際的前進方向.
通過在Webots平臺的多次蜿蜒運動仿真實驗,發現蛇形機器人的側向偏移量會隨著控制參數α和β的變化而變化.α值越大,蛇形機器人的彎曲程度越大,導致蛇形機器人身體彎曲程度較大的那一側摩擦力增大,從而朝著彎曲較大的那一側方向嚴重偏移,如圖13所示.圖13中,α分別取0.35(圖13(a))和0.60(圖13(b)),比較相同時間內的偏移量,發現α取0.6時,偏移更大.因此,適當減小α的值,能降低蛇形機器人的身體彎曲幅度,可以在一定程度上減小運動的偏移量.
在進行研究參數β對側移量影響的實驗時,發現當β為時,六模塊的蛇形機器人形狀接近于整數個波形,此時偏移量明顯減少.這是由于當蛇形機器人身體正好呈現整數個蜿蜒波形時,蛇形機器人的形狀沿運動軸線對稱,在運動時軸線兩側產生的側向摩擦力相互抵消,避免了側移情況的發生.
下面對該推論進行證明.首先對蜿蜒運動控制方程進行分析,由式(7)可知,相鄰兩個模塊之間的相位差為β,而當首尾關節之間的相位差也為β,即首尾分別處于一個正弦波的起始點和末端時,首關節的下一個狀態剛好是此刻尾關節的狀態,可以得到:
又因為 ,設L單位長度為1,可得,故當首尾關節之間的相位差為β時,蛇形機器人形狀為現整數個波形.
對于六模塊蛇形機器人,將n=5,k=1代入式(9),可得 ,此時蛇形機器人呈現整數個波形.α值取0.7,γ值取0,ω值取,對β值分別取和,如圖14(a),(b)所示.當時,能有效避免蜿蜒運動出現偏移的情況.由此可得,當首尾關節之間的相位差也為β時,蛇形機器人身體正好呈現整數個蜿蜒波形,此時偏移現象得到了有效的抑制.
由于參數γ是控制蛇形機器人的偏轉方向,可以通過適當調整γ的取值來補償偏轉誤差,如圖15(a)所示.蛇形機器人向左偏轉時,γ取正值,使蛇形機器人發生與側移相反方向的偏移.通過多次調試,發現當γ取0.04時,偏移距離明顯小,如圖12(b)所示.但在蛇形機器人的行進過程中,需要不停對γ進行調整,糾正偏移,若γ固定不變,蛇形機器人最后會進行轉彎運動.
4 ?結 論
通過對蜿蜒運動的受力分析,設計了蛇形機器人的本體結構,針對蜿蜒運動初始時刻的突變問題和運動過程中的偏移問題,提出優化方程,并對蜿蜒運動步態進行規劃,基于Webots軟件仿真研究了蛇形機器人運動模型參數對機器人形狀、移動速度、運動偏移的影響.由實驗結果可知:參數α越大,蛇體彎曲幅度和偏移量越大,移動速度越慢;參數β越大,蛇體所呈現的波數越多,波形和移動速度越小,且當β取時,能有效避免偏移;參數γ的正負可以控制蛇形機器人的轉向,并可作為蜿蜒直行的補償參數.根據上述參數規律對蜿蜒運動進行調整,有效解決了蜿蜒運動過程中產生的偏移問題,提高了蛇形機器人的運動效率,對實現蛇形機器人多種運動模式及高效控制研究具有較為重要的借鑒意義.
參 考 文 獻:
[1] SHAO L, GUO B, WANG Y, et al. An overview on theory and implementation of snake-like robots [C]//2015 IEEE International Conference on Mechatronics and Automation. Beijing: IEEE,2015:70-75 .
[2] 柯顯信, 信繼忠, 楊陽. 蛇形機器人移動和連接方式的研究狀況 [J]. 機械傳動,2015,39(4):192-196.
KE X X, XIN J Z, YANG Y. Research status of movement and connection modes of snake-like robot [J]. Journal of Mechanical Transmission,2015,39(4):192-196.
[3] LILJEBACK P, PETTERSEN K Y, STAVDAHL ?, et al. Snake robot locomotion in environments with obstacles [J]. IEEE/ASME Transactions on Mechatronics,2012,17(6):1158-1169.
[4] KOMURA H, YAMADA H, HIROSE S. Development of snake-like robot ACM-R8 with large and mono-tread wheel [J]. Advanced Robotics,2015,29(17):1081-1094.
[5] WRIGHT C, BUCHAN A, BROWN B, et al. Design and architecture of the unified modular snake robot [C]// Robotics and Automation. Saint Paul: IEEE,2012:4347-4354 .
[6] 崔顯世, 顏國正, 陳寅, 等. 一種微小型仿蛇機器人樣機的研究 [J]. 機器人,1999,21(2):156-160.
CUI X S, YAN G Z, CHEN Y, et al. Research on a miniature snake-like robot [J]. Robot,1999,21(2):156-160.
[7] 葉長龍, 馬書根, 李斌, 等. 蛇形機器人的轉彎和側移運動研究 [J]. 機械工程學報,2004,40(10):119-123,128.
YE C L, MA S G, LI B, et al. Research on turning and lateral motion of snake-like robot [J]. Journal of Mechanical Engineering,2004,40(10):119-123,128.
[8] 盧振利, 李斌. 蛇形機器人蜿蜒游動性能動力學仿真分析 [J]. 機器人,2015,37(6):748-753.
LU Z L, LI B. Dynamics simulation analysis on serpentine swimming performance of a snake-like robot [J]. Robot, 2015,37(6):748-758.
[9] 魏武, 李艷杰, 廖志鵬, 等. 基于旋量理論的蛇形機器人運動學建模 [J]. 華南理工大學學報(自然科學版), 2019,47(2):1-8.
WEI W, LI Y J, LIAO Z P, et al. Kinematics modeling of snakelike robot based on screw theory [J]. Journal of South China University and Technology (Natural Science Edition),2019,47(2):1-8.
[10] SHI P, SHAO Q, LIANG D. Design and improved serpentine curve locomotion control of a planar modular snake robot [C]// Information and Automation. Ningbo: IEEE,2016:1398-1402.
[11] MANZOOR S, CHO Y G, CHOI Y J. Neural oscillator based CPG for various rhythmic motions of modular snake robot with active joints [J]. Journal of Intelligent and Robotic Systems,2018,94(3/4):1-14.
[12] MANZOOR S, KHAN U, ULLAH I. Serpentine and rectilinear motion generation in snake robot using central pattern generator with gait transition [J]. Iranian Journal of Science and Technology,2019,44:1093-1103.
[13] 方勇純, 朱威, 郭憲. 基于路徑積分強化學習方法的蛇形機器人目標導向運動 [J]. 模式識別與人工智能,2019, 32(1):1-9.
FANG Y C, ZHU W, GUO X. Target-directed locomotion of a snake-like robot based on path integral reinforcement learning [J]. Pattern Recognition and Artificial Intelligence,2019,32(1):1-9.
[14] LANCHEROS P N, SANABRIA L B, CASTILLO R A. Simulation of modular robotic system MECABOT in caterpillar and snake configurations using Webots software [C]// IEEE Colombian Conference on Robotics and Automation. Bogota: IEEE,2016:1-6.
[15] MICHEL O. Webots 2019a User Guide [DB/OL]. [2020-03-20]. http:// www. cyberbotics. com.
[16] 王生棟, 查富生, 王鵬飛, 等. 蛇形機器人模塊化結構設計與蜿蜒運動研究 [J]. 機械與電子,2016,34(1):76-80.
WANG S D, CHA F S, WANG P F, et al. Research on the snake-like robot's modular structural design and winding movement [J]. Machinery & Electronics,2016,34(1):76-80.
[17] LI D F, WANG C, DENG H B, et al. Motion planning algorithm of a multi-joint snake-like robot based on improved serpenoid curve [J]. IEEE Access,2020,8:8346?8360.
[18] 張丹鳳, 李斌, 常健. 基于角度對稱性調節的蛇形機器人路徑跟隨方法 [J]. 機器人,2019,41(6):788?794,833.
ZHANG D F, LI B, CHANG J. Path following method for snake robot based on the angle symmetry adjustment [J].Robot,2019,41(6):788?794,833.
(責任編輯:包震宇)