郝晴 安康 徐颖
摘 要: 仿生蛇形机器人对复杂环境具有良好的适应性,应用前景广泛.针对蜿蜒运动初始时刻的突变问题和运动过程中存在的偏移问题,提出优化方程,并对蜿蜒运动步态进行规划,研究了模型参数对机器人运动速度、偏移的影响,分析运动控制参数,并对运动步态偏移进行补偿.通过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.
(责任编辑:包震宇)