郝晴 安康 徐穎
摘 ?要: 仿生蛇形機(jī)器人對復(fù)雜環(huán)境具有良好的適應(yīng)性,應(yīng)用前景廣泛.針對蜿蜒運動初始時刻的突變問題和運動過程中存在的偏移問題,提出優(yōu)化方程,并對蜿蜒運動步態(tài)進(jìn)行規(guī)劃,研究了模型參數(shù)對機(jī)器人運動速度、偏移的影響,分析運動控制參數(shù),并對運動步態(tài)偏移進(jìn)行補(bǔ)償.通過Webots仿真實驗表明:運動控制參數(shù)決定了蛇形機(jī)器人的運動形狀、偏移量及轉(zhuǎn)彎特性,可以有效避免側(cè)向偏移,對蛇形機(jī)器人高效的運動控制具有較為重要的借鑒意義.
關(guān)鍵詞: 蛇形機(jī)器人; 蜿蜒運動; 步態(tài)規(guī)劃; 偏移補(bǔ)償; 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 ?引 言
蛇形機(jī)器人是一種高冗余的多關(guān)節(jié)機(jī)器人,從1972年Hirose教授搭建出第一臺蛇形機(jī)器人樣機(jī)至今,國內(nèi)外對蛇形機(jī)器人的運動控制和結(jié)構(gòu)設(shè)計進(jìn)行了許多的研究[1-2].相對于足式機(jī)器人,蛇形機(jī)器人對于粗糙、陡峭等復(fù)雜多變的地面環(huán)境適應(yīng)性更好,可以完成蜿蜒、蠕動、翻滾、攀爬等多種運動模式,在探測、偵察、廢墟救援[3]等方面擁有良好的應(yīng)用前景.
KOMURA等[4]研發(fā)的蛇形機(jī)器人除了可以進(jìn)行側(cè)向翻滾運動、側(cè)向蜿蜒運動以及水下蜿蜒運動之外,最新的ACM-R8機(jī)器人采用單向轉(zhuǎn)動主動輪,還可以自主上下樓梯;WRIGHT等[5]研究了正交模塊的蛇形機(jī)器人,完成了三維空間內(nèi)的蜿蜒、翻滾和攀爬運動;LILJEBACK等[3]研制了第一個使用液壓驅(qū)動的火災(zāi)救援蛇形機(jī)器人,之后又借助障礙物輔助蛇形機(jī)器人運動;1999年,崔顯世等[6]研制了國內(nèi)第一臺蛇形機(jī)器人樣機(jī);葉長龍等[7]和盧振利等[8]設(shè)計出了探察者3號機(jī)器人,提出側(cè)移調(diào)整法,并且對其水下的蜿蜒游動進(jìn)行了仿真研究;魏武等[9]提出了基于旋量理論的蛇形機(jī)器人運動學(xué)建模方法,為機(jī)器人速度分析提供了一種非常便捷的方法.
在蛇形機(jī)器人的軌跡研究中,蜿蜒運動是最基本的運動形式,該項研究包括:蛇形曲線參數(shù)對蜿蜒運動形狀的影響[10]、基于神經(jīng)振蕩的中心模式產(chǎn)生器(CPG)算法的蛇形運動[11-12]和學(xué)習(xí)蛇形機(jī)器人步態(tài)方程的參數(shù),并實現(xiàn)最優(yōu)控制[13],等等.但對于蜿蜒運動過程的研究仍存在著不足,如控制參數(shù)與運動軌跡的關(guān)系還沒有被充分研究,實際運動軌跡與理想的之間仍存在較大的偏移等.本文作者基于上述蜿蜒運動軌跡的偏移問題,對蜿蜒運動步態(tài)規(guī)劃及參數(shù)優(yōu)化展開研究,從生物蛇的蜿蜒受力分析著手,設(shè)計了蛇形機(jī)器人的本體結(jié)構(gòu),并通過對蛇形曲線參數(shù)與運動軌跡擬合關(guān)系的分析,研究了蜿蜒曲線的形狀對運動的影響;針對蜿蜒運動軌跡的初始時刻突變與運動中的偏移問題,提出優(yōu)化方程,并進(jìn)一步規(guī)劃了蜿蜒運動;通過實驗仿真模擬運動控制參數(shù)對機(jī)器人運動形態(tài)、速度和偏移的影響,并驗證了運動控制參數(shù)對偏移補(bǔ)償?shù)挠行?
1 ?蛇形機(jī)器人的運動模型
1.1 蛇形機(jī)器人的蜿蜒運動研究
為了得出實現(xiàn)蛇形機(jī)器人蜿蜒運動所需要的條件,需要對生物蛇進(jìn)行受力分析(圖1).已知生物蛇在進(jìn)行蜿蜒運動時的運動形式近似于正弦波的傳播形式,而蛇的運動方向與正弦波傳遞的方向是相反的.
1.2 基于Webots的蛇形機(jī)器人模型
根據(jù)生物蛇的運動機(jī)理,設(shè)計了蛇形機(jī)器人的結(jié)構(gòu),如圖1所示.其中,蛇體底部裝有從動輪來模擬蛇的腹鱗,使得運動時的軸向摩擦力遠(yuǎn)小于徑向摩擦力,同時提高軸向運動效率;蛇形機(jī)器人的連接關(guān)節(jié)為正交結(jié)構(gòu),能夠?qū)崿F(xiàn)三維運動;蛇體模塊的整體輪廓設(shè)計呈圓形,提升了其在復(fù)雜環(huán)境中的適應(yīng)性,且蛇體模塊的兩端可安裝正交放置的舵機(jī).
為了方便研究蜿蜒運動,使用Webots軟件創(chuàng)建一個六模塊的平面蛇形機(jī)器人[14-15],每個模塊的底部都設(shè)計了從動輪來模擬不同的橫縱系數(shù)比,在模型中加入伺服電機(jī)節(jié)點來控制蛇形機(jī)器人的轉(zhuǎn)動機(jī)構(gòu).通過編寫控制器程序改變不同時刻下各個舵機(jī)的轉(zhuǎn)動角度,來實現(xiàn)蛇形機(jī)器人的移動,實時模擬蜿蜒、轉(zhuǎn)彎等步態(tài)運動.
2 ?蛇形機(jī)器人蜿蜒曲線與參數(shù)分析
2.1 蛇形曲線及運動控制方程的推導(dǎo)
蛇形機(jī)器人實際上由若干個連桿模塊連接而成,其曲線曲率并不連續(xù),需要將蛇形曲線離散化.假設(shè)蛇形機(jī)器人由n個長度相同的模塊組成,蛇體總長為l,則每個模塊的長度為.
2.2 蛇形機(jī)器人運動軌跡分析
圖3中,坐標(biāo)原點處為蛇尾位置,其中,虛線代表蜿蜒曲線,折線代表蛇形機(jī)器人運動軌跡.圖3(a)中,分別選用 ,b=2π,c=0; ,b=3π,c=0; ,b=3π,c=0這3組數(shù)據(jù)來擬合六模塊蛇形機(jī)器人的蜿蜒軌跡,假設(shè)機(jī)器人每個模塊的長度是相同的,總長度為1.對比發(fā)現(xiàn):當(dāng),b=3π,c=0時,蛇形機(jī)器人的姿態(tài)更接近生物蛇的運動狀態(tài).
圖3(b)所示為蛇形機(jī)器人的擬合轉(zhuǎn)彎軌跡,調(diào)整參數(shù)得到最佳的左右轉(zhuǎn)彎軌跡,此時,b=4π,當(dāng)參數(shù)c=1時,蛇形機(jī)器人向左偏轉(zhuǎn);當(dāng)c=-1時,蛇形機(jī)器人向右偏轉(zhuǎn)。
綜上所述,蛇形曲線的形狀影響著蛇形機(jī)器人的運動狀態(tài),參數(shù)a影響蜿蜒曲線的幅值和初始角大小;參數(shù)b影響蜿蜒曲線單位長度內(nèi)波數(shù)和幅值的大小;參數(shù)c的正負(fù)值影響蜿蜒曲線的偏轉(zhuǎn)方向.通過調(diào)整參數(shù),得到理想的蜿蜒曲線,從而使蛇形機(jī)器人的運動軌跡貼合蜿蜒曲線.
3 ?蛇形機(jī)器人的蜿蜒步態(tài)優(yōu)化
3.1 Serpentine運動控制方程的優(yōu)化
蛇形機(jī)器人的原始形態(tài)為一條直線,但在Serpentine控制算法中,關(guān)節(jié)的初始時刻各個關(guān)節(jié)角并不為0,故在運動仿真之初,蛇形機(jī)器人會突然偏轉(zhuǎn),產(chǎn)生較大的轉(zhuǎn)矩,如圖4所示,因此需要對運動控制方程進(jìn)行優(yōu)化.
3.2 運動步態(tài)控制參數(shù)的分析
由式(8)可知:α,β,γ是蜿蜒運動步態(tài)的關(guān)鍵參數(shù),下面分別研究它們在蛇形機(jī)器人蜿蜒運動過程中的作用.
圖6為β,γ,ω值固定的情況下,α分別取0.35,0.70,1.20時,關(guān)節(jié)1的運動控制曲線.圖7為Webots中蛇形機(jī)器人模型某一時刻不同α值下的運動步態(tài).可以看出,α值越大,曲線的幅值越大,蛇形機(jī)器人身體彎曲幅度越大,單位波長越短.由于ω不變,完成單位波長內(nèi)的運動所需時間相同,蛇形機(jī)器人的速度隨α增大而減小.
圖8為α,γ,ω值固定,β分別為,,時,關(guān)節(jié)1的運動控制曲線.圖9為不同β值下,蛇形機(jī)器人的運動步態(tài).可以看出β值越大,曲線的單位波長就越短,相同時間內(nèi)呈現(xiàn)的波數(shù)越多,蛇形機(jī)器人關(guān)節(jié)的擺動幅度越小,向前的運動速度越慢.
圖10為α,β,ω值固定,γ分別為0,0.5,-0.5時,關(guān)節(jié)1的控制曲線,可以看到γ的值控制運動的軸線.在Webots中進(jìn)行轉(zhuǎn)彎運動仿真,圖11(a)和圖11(b)中,γ分別取0.1和-0.1,機(jī)器人的偏轉(zhuǎn)方向互為相反;圖11(c)中,γ取0.2.對比圖11(a)和11(c)可以發(fā)現(xiàn),當(dāng)γ取0.2時,蛇形機(jī)器人偏轉(zhuǎn)的程度較嚴(yán)重.由此可知,γ值的正負(fù)可以決定蛇形機(jī)器人的偏轉(zhuǎn)方向,且γ的絕對值越大,偏轉(zhuǎn)弧度越大.
通過對蜿蜒運動的仿真,并分析控制參數(shù)可知:α和β會影響蛇形機(jī)器人的運動形狀.其中,α可以控制蛇形機(jī)器人的身體彎曲程度,α越大,彎曲程度越大,同時運動速度也會減小;β可以控制蛇體所呈現(xiàn)的波數(shù)和波形,β越大,所呈現(xiàn)的波數(shù)越多,波形越小,移動速度越慢;γ值的正負(fù)可以控制蛇形機(jī)器人的偏轉(zhuǎn)方向,且γ的絕對值越大,方向偏轉(zhuǎn)程度越嚴(yán)重.
3.3 運動步態(tài)偏移分析與補(bǔ)償
對初始時刻的蜿蜒運動進(jìn)行優(yōu)化,可有效地使蛇形機(jī)器人從直線狀態(tài)平緩地過渡到蜿蜒曲線狀態(tài),避免了運動開始時突變造成運動軸線改變的現(xiàn)象.然而,蛇形機(jī)器人在蜿蜒直行時,如果模塊數(shù)比較少,模塊之間產(chǎn)生的側(cè)向摩擦力不足以相互抵消,會產(chǎn)生側(cè)向偏移.由于側(cè)向摩擦力的存在,蛇形機(jī)器人不會一直沿著直線運動,會發(fā)生一定程度的偏移,降低了機(jī)器人的運動效率,如圖12所示,細(xì)實線為理想的蜿蜒運動前進(jìn)方向,粗實線為實際的前進(jìn)方向.
通過在Webots平臺的多次蜿蜒運動仿真實驗,發(fā)現(xiàn)蛇形機(jī)器人的側(cè)向偏移量會隨著控制參數(shù)α和β的變化而變化.α值越大,蛇形機(jī)器人的彎曲程度越大,導(dǎo)致蛇形機(jī)器人身體彎曲程度較大的那一側(cè)摩擦力增大,從而朝著彎曲較大的那一側(cè)方向嚴(yán)重偏移,如圖13所示.圖13中,α分別取0.35(圖13(a))和0.60(圖13(b)),比較相同時間內(nèi)的偏移量,發(fā)現(xiàn)α取0.6時,偏移更大.因此,適當(dāng)減小α的值,能降低蛇形機(jī)器人的身體彎曲幅度,可以在一定程度上減小運動的偏移量.
在進(jìn)行研究參數(shù)β對側(cè)移量影響的實驗時,發(fā)現(xiàn)當(dāng)β為時,六模塊的蛇形機(jī)器人形狀接近于整數(shù)個波形,此時偏移量明顯減少.這是由于當(dāng)蛇形機(jī)器人身體正好呈現(xiàn)整數(shù)個蜿蜒波形時,蛇形機(jī)器人的形狀沿運動軸線對稱,在運動時軸線兩側(cè)產(chǎn)生的側(cè)向摩擦力相互抵消,避免了側(cè)移情況的發(fā)生.
下面對該推論進(jìn)行證明.首先對蜿蜒運動控制方程進(jìn)行分析,由式(7)可知,相鄰兩個模塊之間的相位差為β,而當(dāng)首尾關(guān)節(jié)之間的相位差也為β,即首尾分別處于一個正弦波的起始點和末端時,首關(guān)節(jié)的下一個狀態(tài)剛好是此刻尾關(guān)節(jié)的狀態(tài),可以得到:
又因為 ,設(shè)L單位長度為1,可得,故當(dāng)首尾關(guān)節(jié)之間的相位差為β時,蛇形機(jī)器人形狀為現(xiàn)整數(shù)個波形.
對于六模塊蛇形機(jī)器人,將n=5,k=1代入式(9),可得 ,此時蛇形機(jī)器人呈現(xiàn)整數(shù)個波形.α值取0.7,γ值取0,ω值取,對β值分別取和,如圖14(a),(b)所示.當(dāng)時,能有效避免蜿蜒運動出現(xiàn)偏移的情況.由此可得,當(dāng)首尾關(guān)節(jié)之間的相位差也為β時,蛇形機(jī)器人身體正好呈現(xiàn)整數(shù)個蜿蜒波形,此時偏移現(xiàn)象得到了有效的抑制.
由于參數(shù)γ是控制蛇形機(jī)器人的偏轉(zhuǎn)方向,可以通過適當(dāng)調(diào)整γ的取值來補(bǔ)償偏轉(zhuǎn)誤差,如圖15(a)所示.蛇形機(jī)器人向左偏轉(zhuǎn)時,γ取正值,使蛇形機(jī)器人發(fā)生與側(cè)移相反方向的偏移.通過多次調(diào)試,發(fā)現(xiàn)當(dāng)γ取0.04時,偏移距離明顯小,如圖12(b)所示.但在蛇形機(jī)器人的行進(jìn)過程中,需要不停對γ進(jìn)行調(diào)整,糾正偏移,若γ固定不變,蛇形機(jī)器人最后會進(jìn)行轉(zhuǎn)彎運動.
4 ?結(jié) 論
通過對蜿蜒運動的受力分析,設(shè)計了蛇形機(jī)器人的本體結(jié)構(gòu),針對蜿蜒運動初始時刻的突變問題和運動過程中的偏移問題,提出優(yōu)化方程,并對蜿蜒運動步態(tài)進(jìn)行規(guī)劃,基于Webots軟件仿真研究了蛇形機(jī)器人運動模型參數(shù)對機(jī)器人形狀、移動速度、運動偏移的影響.由實驗結(jié)果可知:參數(shù)α越大,蛇體彎曲幅度和偏移量越大,移動速度越慢;參數(shù)β越大,蛇體所呈現(xiàn)的波數(shù)越多,波形和移動速度越小,且當(dāng)β取時,能有效避免偏移;參數(shù)γ的正負(fù)可以控制蛇形機(jī)器人的轉(zhuǎn)向,并可作為蜿蜒直行的補(bǔ)償參數(shù).根據(jù)上述參數(shù)規(guī)律對蜿蜒運動進(jìn)行調(diào)整,有效解決了蜿蜒運動過程中產(chǎn)生的偏移問題,提高了蛇形機(jī)器人的運動效率,對實現(xiàn)蛇形機(jī)器人多種運動模式及高效控制研究具有較為重要的借鑒意義.
參 考 文 獻(xiàn):
[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ī)器人移動和連接方式的研究狀況 [J]. 機(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ī)器人樣機(jī)的研究 [J]. 機(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ī)器人的轉(zhuǎn)彎和側(cè)移運動研究 [J]. 機(jī)械工程學(xué)報,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ī)器人蜿蜒游動性能動力學(xué)仿真分析 [J]. 機(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ī)器人運動學(xué)建模 [J]. 華南理工大學(xué)學(xué)報(自然科學(xué)版), 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] 方勇純, 朱威, 郭憲. 基于路徑積分強(qiáng)化學(xué)習(xí)方法的蛇形機(jī)器人目標(biāo)導(dǎo)向運動 [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ī)器人模塊化結(jié)構(gòu)設(shè)計與蜿蜒運動研究 [J]. 機(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] 張丹鳳, 李斌, 常健. 基于角度對稱性調(diào)節(jié)的蛇形機(jī)器人路徑跟隨方法 [J]. 機(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.
(責(zé)任編輯:包震宇)