多关节蛇形机器人的结构设计和运动实现
Structure design and motion realization of multi-joint snakelike robot
收稿日期: 2022-12-29 修回日期: 2023-02-01
基金资助: |
|
Received: 2022-12-29 Revised: 2023-02-01
作者简介 About authors
杜雪林(1984—),男,河北石家庄人,讲师,博士,从事柔性多体动力学、空间网状天线形态分析等研究,E-mail:
关键词:
Keywords:
本文引用格式
杜雪林, 易文慧, 邹家华, 周灿, 毛立, 邓利诗, 刘颖.
DU Xuelin, YI Wenhui, ZOU Jiahua, ZHOU Can, MAO Li, DENG Lishi, LIU Ying.
从结构设计上来说,蛇形机器人的结构往往呈模块化,其本体结构可被划分为5类:被动轮式结构、主动轮式结构、履带式结构、螺旋桨结构和其他结构[4]。张东[5]根据机器人的辅助运动结构,将蛇形机器人分为无轮式、被动轮式和主动轮式三种。实际上,采用被动轮式结构的蛇形机器人须利用与地面形成的各向异性摩擦力实现前进[6],存在运动速度低和越障能力弱的问题;而采用主动轮式结构的蛇形机器人直接由电机驱动实现向前运动,存在灵活度低和复杂地形适应性差的问题。周云虎[7]指出,轮式蛇形机器人的灵活性不足,而非轮式蛇形机器人的灵活性更好,集成度更高,环境适应性也更强。Liljebäck等[8]基于移动消防概念开发了Anna Konda蛇形机器人,将液压驱动器安装在消防软管上,通过加压水为机器人提供移动所需的能量,使其能够像蛇一样运动。Ohno等[9]提出的Slim Slime Robot系列蛇形机器人的蛇身结构由串联模块构成,通过气动执行器驱动来完成三维动作。Enner等[10]研制的Modsnake系列蛇形机器人可模仿多种生物步态,如仿尺蠖式运动、侧向波动、翻滚运动和转弯等。
蛇形机器人一般由3个以上相似或相同的模块构成,相邻模块由电机连接构成串联机构[3,11-12]。由于蛇形机器人自身结构具有高冗余度,其可以利用不规则地形作为支架来推动本体移动,因此蛇形机器人的特点是适应性强、多功能和扩展性良好等[13]。为使蛇形机器人能够像生物蛇一样运动,须对其蛇身模块进行运动规划和控制,即对蛇形机器人的步态进行研究。Hirose[14]通过对生物蛇运动的实验和观察,提出了用于逼近蜿蜒运动的Serpenoid曲线,这是目前机器人步态控制领域最重要的理论之一。Ma[15]提出了Serpentine运动曲线,并从运动效率角度证明了该曲线比Serpenoid曲线具有更好的模拟效果。张丹凤等[11]利用基于正弦曲线的关节角度控制方法来生成蛇形机器人的蜿蜒步态,使其实现基本的蜿蜒运动。Marvi等[16-18]研究了生物蛇的手风琴式运动步态和直线运动步态,以及其在沙质斜坡上运动时的身体变化规律和控制机制。Ye等[19]基于对螺旋曲线幅度调制方法和相位调制方法的分析,实现了蛇形机器人的转向运动和侧向运动,并补偿了蛇形机器人的偏移和方向误差。Hatton等[20]基于关键帧提取算法定义了对应的Serpenoid函数,并利用模拟退火法对各关节的位置进行拟合,以得到步态所需的转动角度,从而实现蛇形机器人多个运动步态的设计和控制。Cao等[21]提出了一个考虑垂直方向运动的三维数学模型,通过将蛇形机器人身体不同部位的不同步态相结合,设计了新的三维混合步态。
目前,对于蛇形机器人的研究还处于发展阶段,很多问题仍未得到完善解决,如材料选取、结构设计和运动实现等。为保证蛇形机器人的灵活性并实现其三维高仿生运动,笔者研制了由11个二自由度正交关节构成的新型蛇形机器人。基于对简化蛇形曲线的分析,提出改进的蛇形机器人运动学模型,以实现其蜿蜒、蠕动和翻滚等基本步态,并进一步提出改进的越障步态。最后,基于蛇形机器人样机开展步态仿真和步态实验,以验证其本体结构、材料的可靠性,以及步态模型和控制参数的正确性。
1 蛇形机器人设计与样机研制
1.1 蛇形机器人结构设计
针对传统蛇形机器人在设计上的不足,本文通过修改和创新设计了一款由11个二自由度正交关节构成的蛇形机器人,其结构如图1所示。以现有蛇形机器人本体结构为基础,对蛇形机器人的结构和制作方法进行改进。如:在结构方面,选用小型舵机驱动,有效地缩小了蛇形机器人的体积,提高了其灵活性;在感知功能开发方面,增加了视觉传感器,并预留了头部传感器的安装空间,用于后续红外、声控等功能的开发;在样机制作方面,选用ABS(acrylonitrile butadiene styrene,丙烯腈-丁二烯-苯乙烯共聚物)作为材料,基于激光快速成形技术进行3D打印,在缩短制作时间的同时节约了制作耗材。
图1
1)蛇形机器人关节设计。
蛇形机器人的关节驱动由可提供最大扭矩为1.07 N·m的MG996R舵机实现。为了在2个正交平面上产生运动,将2个相邻旋转关节的旋转轴偏移90°,构成二自由度正交关节,如图2所示。该正交关节包含2个运动范围为-90°~90°的旋转关节,每个旋转关节内部均安装MG996R舵机,每个舵机控制正交关节的1个转动自由度,分别为水平方向的偏航运动和竖直方向的俯仰运动。
图2
2)蛇形机器人头部和尾部结构设计。
图3
3)蛇形机器人关节外壳设计。
为了保护蛇形机器人的内部结构,以及保证其能与地面接触摩擦产生相对位移以实现前进,将其关节的外壳结构设计为空腔结构,如图4所示。这样设计是为了在便于连接各舵机的同时,使布线方式更加清晰且机器人身体结构的受力更加合理。
图4
4)蛇形机器人头部和尾部外壳设计。
为了方便操控蛇形机器人的运动,同时考虑其在复杂环境中的通过性,头部外壳采用圆台形状进行设计;同时,为实现对蛇形机器人的远程操控,在头部外壳内侧增加摄像头以及前沿的玻璃板,打开摄像头开关即可进行环境侦察。同理,尾部外壳也采用圆台结构。蛇形机器人头部和尾部外壳结构如图5所示。
图5
为提高蛇形机器人的整体强度,须对其各部分结构的制作材料进行优选。基于上文所示的由计算机辅助设计软件SolidWorks绘制的蛇形机器人各部分结构的三维模型,利用激光快速成形技术打印对应的实物,并通过强度对比选择最优的制作材料。
以蛇形机器人的关节为例,分别采用PLA(polylactic acid,聚乳酸)材料、树脂材料和ABS材料进行3D打印,打印结果如图6所示。结果表明,3种材料所打印产品的结构强度稍有不同,PLA材料与ABS材料相比较,ABS材料具有不易折断、强度高和更具韧性的特点;树脂材料与ABS材料相比较,ABS材料具有质量小、产品精度更高和更具韧性的特点。对3种材料所打印产品的结构和强度进行综合对比分析,最终选择ABS材料作为蛇形机器人关节的材料。利用ABS材料,通过激光快速成形技术加工蛇形机器人样机,并对其进行步态实验以实现不同运动的动作,同时对步态模型进行调试,不断改进和优化蛇形机器人的身体结构,以达到功能最优化。
图6
1.2 蛇形机器人控制系统设计
蛇形机器人采用以CAN(controller area network,控制器局域网)总线为基础的控制系统,其运动控制流程如图7所示。CAN总线控制方式的实时性高,可靠性好,通过CAN总线控制蛇形机器人的11个舵机,可实现多个舵机的协同控制。
图7
所设计的蛇形机器人具有2种控制方式:在线控制和离线控制。当采用在线控制方式时,计算机通过串口通信的方式向控制器发送指令,控制器接收到指令后再通过CAN总线将相应的控制信号发送至机器人,机器人接收到控制指令后,分析相应的运动指令,并控制舵机转动到指定位置以执行对应的步态,从而实现机器人的各个运动步态。当采用离线控制方式时,先对STM32控制板进行程序设计,即先在Lobot Servo Control软件中调节舵机的转动角度,再将控制程序下载到STM32控制板中。当蛇形机器人处于离线状态时,由PS2手柄发出控制信号,无线通信模块接收到控制信号后将其传输给控制器,控制器根据接收到的指令来决定蛇形机器人的运动方式,如前进、左转弯、右转弯及翻滚等,并将控制指令通过CAN总线传输给各个舵机以生成PWM(pulse width modulation,脉冲宽度调制)信号,从而控制舵机完成相应的转动。蛇形机器人头部的摄像头通过图像传输方式将采集到的图像传输至手机APP端。
Lobot Servo Control软件是一款采用C++语言编写的舵机控制软件,其界面如图8所示,主要分为程序调试区域和舵机转动角度调整区域。采用Lobot Servo Control软件,对蛇形机器人的11个舵机进行控制。
图8
在所设计的蛇形机器人控制系统中,遥控器端的控制流程如图9所示。
图9
1.3 蛇形机器人样机制作
图10
表1 蛇形机器人样机的相关技术参数
Table 1
参数 | 量值 |
---|---|
关节数量 | 11个 |
关节外壳直径 | 95 mm |
总长度 | 1 122 mm |
总质量 | 2 055 g |
2 蛇形机器人运动步态设计
蛇形机器人运动步态的实现主要是基于对生物蛇运动的模仿。Hirose等[14]通过观察生物蛇运动所提出的Serpenoid曲线(蛇形曲线)的曲率方程可表示为:
式中:κ为曲线的曲率;s0为曲线起点距离坐标系原点的曲线长度;s为曲线上某点距离坐标系原点的曲线长度;Kn为曲线中包含的S波的个数;a0为曲线切线与x轴夹角的最大值,即波形初始角;L为曲线的总长度;e为曲率偏置量[22]。
图11所示为Serpenoid曲线的拟合示意图,该曲线可以看作由n条长度为l的线段拟合而成。假定蛇形机器人各个关节的连接点均位于Serpenoid曲线上,则相邻线段的转角
图11
由于s是随时间变化的,用时间t替换s作为自变量,即可得到蛇形机器人关节的相对转角关于时间的函数表达式。
2.1 蜿蜒步态
基于Serpenoid 曲线,得到蛇形机器人的蜿蜒步态模型:
式中:ψi 和θi 分别为作水平面运动的偏航关节的转角和作竖直面运动的俯仰关节的转角,ψi 中i=0,2,4,6,8,10,θi 中i=1,3,5,7,9,分别表示第i个偏航关节或俯仰关节;α为振幅,即关节转角幅值,α=30
根据蜿蜒步态模型,得到蛇形机器人蜿蜒运动中各偏航关节转角的变化曲线,如图12所示。由于各偏航关节转角控制方程中α的取值相同,因此蛇形机器人蜿蜒运动曲线的幅度相同。
图12
图12
蜿蜒运动中蛇形机器人偏航关节转角的变化曲线
Fig.12
Variation curves of yaw joint angle of snakelike robot during meandering locomotion
当蛇形机器人在蜿蜒运动过程中需要转弯时,模型(3)可被修正为:
式中:γ为水平转角,当γ>0
固定蜿蜒步态模型中的α和βi 不变,即取
图13
图13
水平转角不同时蛇形机器人偏航关节转角的变化曲线
Fig.13
Variation curves of yaw joint angle of snakelike robot with different horizontal angles
2.2 蠕动步态
蠕动步态是通过蛇形机器人外壳与地面周期性接触来实现向前运动的一种步态。蠕动步态下蛇形机器人俯仰关节和偏航关节转角的控制方程(即蠕动步态模型)可表示为:
式中:
基于控制方程(5),得到蛇形机器人蠕动运动中各俯仰关节转角的变化曲线,如图14所示。由图可以看出,蛇形机器人作蠕动运动时,各俯仰关节转角的变化趋势与其作蜿蜒运动时各偏航关节转角的变化趋势大致相同,均是根据蛇形曲线来实现步态循环的。
图14
图14
蠕动运动中蛇形机器人俯仰关节转角的变化曲线
Fig.14
Variation curves of pitch joint angle of snakelike robot during wriggling locomotion
2.3 翻滚步态
翻滚步态实现的前提是蛇形机器人具有一定的弯曲度,并固定其中2个关节,通过调试其余舵机,借助蛇形机器人底部与地面的摩擦力来实现360°的翻滚。翻滚步态下蛇形机器人各关节转角的控制如下。
设t时刻各关节转角的初始值为:
再经过Δt后,各关节转角又线性变化为:
通过
图15
图15
翻滚运动中蛇形机器人关节转角的变化曲线
Fig.15
Variation curves of joint angle of snakelike robot during tumbling locomotion
2.4 越障步态
蛇形机器人在翻越障碍期间,其头部、身体和尾部依次翻越障碍物,故将越障过程分为3个阶段。通过控制关节转角来实现蛇形机器人越障,越障步态模型按照头部越障、身体越障和尾部越障分为3个部分,对应的关节转角控制方程记作:
当头部越障时,
基于越障步态模型,得到越障运动中蛇形机器人各俯仰关节转角的变化曲线,如图16所示。
图16
图16
越障运动中蛇形机器人俯仰关节转角的变化曲线
Fig.16
Variation curves of pitch joint angle of snakelike robot during obstacle surmounting locomotion
在越障过程中,为了将头部平稳抬升到空中,蛇形机器人必须始终保持平衡,且不能向任何方向倾斜。为此,利用蛇形机器人与地面接触的关节形成稳定的结构。当足够的关节位于障碍物顶部时,位于障碍物底部的关节与位于障碍物顶部的关节一起工作,推动更多的关节到障碍物顶部。位于障碍物顶部的关节必须小心定位,以避免从障碍物上倾斜。由图16(a)可知,俯仰关节5,7,9的振幅较大,是蛇形机器人头部越障时的主要动力来源。蛇形机器人尾部与地面接触较多,可提供足够的摩擦力,保证了蛇形机器人的平稳性。由图16(b)可知,俯仰关节3,5,7的振幅较大,是蛇形机器人身体越障时的主要动力来源。由图16(c)可知,俯仰关节1,3,5的振幅较大,主要为蛇形机器人尾部越障时提供动力,而俯仰关节7,9主要提供摩擦力,用于保持蛇形机器人的平稳性。图16(a)和图16(c)中俯仰关节1,9的转角变化曲线均呈直线,这是为了使蛇形机器人在头部越障和尾部越障时保持平衡,以防侧翻现象发生。综上,蛇形机器人在整个越障运动过程中的动力主要来源于俯仰关节3,5,7。
3 蛇形机器人的运动仿真
基于步态模型建立蛇形机器人的运动控制模型,并对该模型进行仿真验证。若没有经过验证,直接开展样机实验,则可能会消耗大量资源,且无法达到预期效果,甚至会损坏蛇形机器人样机。因此,在V-REP软件中采用虚拟蛇形机器人来模拟蛇形机器人的蜿蜒、蠕动、翻滚和越障步态,测量并记录其模拟步态的运动轨迹。根据上文所建立的4个步态模型,得到4种步态下蛇形机器人质心沿x方向(前进方向,为便于描述,以初始时沿机器人身体方向为x方向、垂直于机器人身体方向为y方向建立坐标系)的运动轨迹,结果如图17所示。
图17
图17
不同步态下蛇形机器人质心的运动轨迹
Fig.17
Motion trajectories of centroid of snakelike robot under different gaits
图18
图18
不同振幅下蛇形机器人的蜿蜒运动轨迹
Fig.18
Meandering locomotion trajectories of snakelike robot under different amplitudes
图19
图19
不同周期下蛇形机器人的蜿蜒运动轨迹
Fig.19
Meandering locomotion trajectories of snakelike robot under different periods
通过对蛇形机器人蜿蜒、蠕动、翻滚和越障步态进行运动仿真,明确了各步态的运动效率以及复杂步态的运动姿态和运动过程。如:越障步态下蛇形机器人的构型变化较多,运动过程较为抽象,通过观察中间时刻的运动姿态可更好地了解越障过程。考虑篇幅原因,此处仅对越障步态的运动过程进行重点讨论。依据所提出的越障步态模型,在V-REP软件中模拟蛇形机器人的越障过程,仿真结果如图20所示。仿真结果验证了所提出越障步态的准确性。
图20
图20
蛇形机器人越障过程仿真结果
Fig.20
Simulation result of obstacle surmounting process of snakelike robot
4 蛇形机器人的运动实现
4.1 蜿蜒运动实验
利用蛇形机器人样机开展蜿蜒运动实验,以验证所建立蜿蜒步态模型的正确性。在本次实验中,基于蛇形机器人关节转角控制方程(3),偏航关节0,2,4,6,8,10的转角在对应时刻的设置如表2所示。
表2 蜿蜒运动中蛇形机器人偏航关节转角设置 (°)
Table 2
时间 t/s | 关节0 | 关节2 | 关节4 | 关节6 | 关节8 | 关节10 |
---|---|---|---|---|---|---|
1 | -30 | -15 | 15 | 30 | 15 | -15 |
2 | 30 | 15 | -15 | -30 | -15 | 15 |
图21
图21
蛇形机器人蜿蜒运动实验现场
Fig.21
Experimental site of snakelike robot in meandering locomotion
4.2 蠕动运动实验
蛇形机器人的蠕动运动与蜿蜒运动相似,区别在于蜿蜒运动控制偏航关节,而蠕动运动控制俯仰关节。基于蠕动步态模型,蛇形机器人俯仰关节1,3,5,7,9的转角在对应时刻的设置如表3所示。
表3 蠕动运动中蛇形机器人俯仰关节角度设置 ( (°))
Table 3
时间t/s | 关节1 | 关节3 | 关节5 | 关节7 | 关节9 |
---|---|---|---|---|---|
1 | 0 | -15 | -30 | 15 | 0 |
2 | 0 | 15 | 30 | -15 | 0 |
在蠕动运动中,蛇形机器人的主要动力来自其自身与地面接触点之间的摩擦力,因此蠕动步态下蛇形机器人前进时不会占用过大空间,非常适合在狭窄空间内通行。蛇形机器人蠕动运动实验现场如图22所示。
图22
图22
蛇形机器人蠕动运动实验现场
Fig.22
Experimental site of snakelike robot in wriggling locomotion
4.3 翻滚运动实验
蛇形机器人翻滚运动的实现需要连续控制偏航关节和俯仰关节。基于翻滚步态模型,蛇形机器人各关节的转角在对应时刻的设置如表4所示。
表4 翻滚运动中蛇形机器人关节转角设置 ( (°))
Table 4
时间t/s | 关节0 | 关节1 | 关节2 | 关节3 | 关节4 | 关节5 |
---|---|---|---|---|---|---|
1 | 30 | 0 | -30 | 0 | 30 | 0 |
2 | 0 | 30 | 0 | -30 | 0 | 30 |
3 | -30 | 0 | 30 | 0 | -30 | 0 |
4 | 0 | -30 | 0 | 30 | 0 | -30 |
5 | 30 | 0 | -30 | 0 | 30 | 0 |
时间t/s | 关节6 | 关节7 | 关节8 | 关节9 | 关节10 | |
1 | -30 | 0 | 30 | 0 | -30 | |
2 | 0 | -30 | 0 | 30 | 0 | |
3 | 30 | 0 | -30 | 0 | 30 | |
4 | 0 | 30 | 0 | -30 | 0 | |
5 | -30 | 0 | 30 | 0 | 30 |
图23
图23
蛇形机器人翻滚运动实验现场
Fig.23
Experimental site of snakelike robot in tumbling locomotion
4.4 越障运动实验
蛇形机器人作越障运动时,须对其俯仰关节的转角进行控制。本文设计的越障过程分为头部越障、身体越障和尾部越障三个阶段,因此需要分3个部分讨论关节转角的控制。基于越障步态模型,蛇形机器人各俯仰关节的转角在对应时刻的设置如表5所示。
表5 越障运动中蛇形机器人俯仰关节转角设置 ( (°))
Table 5
越障种类 | 时间t/s | 关节1 | 关节3 | 关节5 | 关节7 | 关节9 |
---|---|---|---|---|---|---|
头部越障 | 1 | -36 | -27 | 36 | -36 | -36 |
2 | -36 | 0 | 27 | -22.5 | -36 | |
3 | -36 | 0 | 0 | 0 | 0 | |
身体越障 | 1 | 22.5 | -27 | 36 | -36 | -36 |
2 | -9 | -27 | 27 | 27 | 0 | |
3 | 22.5 | 0 | 0 | 0 | 0 | |
尾部越障 | 1 | 0 | 36 | 8 | -27 | 27 |
2 | -31.5 | 7 | 31.5 | 22.5 | 27 | |
3 | 0 | 0 | 0 | 0 | 27 |
图24
图24
蛇形机器人越障运动实验现场
Fig.24
Experiment site of snakelike robot in obstacle surmounting locomotion
5 结 论
本文依次设计了多关节蛇形机器人的关节、头部、尾部和外壳等结构以及控制系统,并基于优选的材料制作了蛇形机器人样机。同时,对蛇形机器人的运动步态进行了仿真分析,并通过样机步态实验验证了所构建步态模型的正确性。得到如下结论。
1)所提出的改进越障步态模型能够实现蛇形机器人在复杂地形下的越障。经过实验验证,蛇形机器人的步态稳定性和可靠性均达到要求。
2)通过蛇形机器人的运动仿真和步态实验,明确了其运动表现与对应运动控制参数之间的关系:在蜿蜒步态下,影响运动效率的关键参数是运动周期而非振幅,缩短运动周期可有效提高运动效率;蠕动步态非常适合应用于蛇形机器人通过狭窄空间的场景。结果表明,所设计的蛇形机器人具有较高灵活性和三维高仿生运动能力,这对蛇形机器人的运动实现具有指导意义。
实际上,蛇形机器人要实现高度仿生,还需要持续开发更多的步态,以及建立更为精确的步态模型,这样才能保证蛇形机器人能够适应高强度和高精度的应用场景。基于该思路,后续将对蛇形机器人的步态模型进行进一步的完善。
参考文献
蛇形机器人的研究与发展综述
[J].
Present situation and development tendency of snake-like robots
[J].DOI:10.3969/j.issn.1004-132X.2015.03.022 [本文引用: 1]
A review on modelling, implementation, and control of snake robots
[J].
Review of snake robots in constrained environments
[J].
蛇形机器人:仿生机理,结构驱动和建模控制
[J].
Snake robotics: bionic mechanism, structure, actuation, modeling and control
[J].DOI:10.3901/jme.2022.07.075 [本文引用: 2]
复杂环境下仿蛇机器人三维运动建模与优化控制
[D].
Modeling and optimize control of 3-D gaits for snakelike robots in complexity environments
[D].
蛇形机器人蜿蜒运动的摩擦机理及推进条件
[J].
Tribological mechanism and propulsion conditions for creeping locomotion of the snake-like robot
[J].DOI:10.3901/jme.2021.21.189 [本文引用: 1]
轻型蛇形机器人系统设计及分段运动规划策略研究
[D].
Lightweight snake robot system design and segmentd motion planning strategy research
[D].
SnakeFighter: development of a water hydraulic fire fighting snake robot
[C]//
Pneumatically-driven active cord mechanism “Slim Slime Robot”
[J].
Simplified motion modeling for snake robots
[C]//
基于连续体模型的蛇形机器人质心速度跟踪控制方法
[J].
Tracking control method of the centre-of-mass velocity for a snake-like robot based on the continuum model
[J].DOI:10.13973/j.cnki.robot.2017.0829 [本文引用: 2]
蛇形机器人步态产生及步态分析
[J].
Gait generation and analysis for snake-like robots
[J].DOI:10.3724/sp.j.1218.2011.00371 [本文引用: 1]
HiBot: a generic ROS-based robot-remote-control framework
[C]//
Analysis of snake movement forms for realization of snake-like robots
[C]//
Friction enhancement in concertina locomotion of snakes
[J].
Snakes mimic earthworms: propulsion using rectilinear travelling waves
[J].
Sidewinding with minimal slip: snake and robot ascent of sandy slopes
[J].
Turning and side motion of snake-like robot
[C]//
Generating gaits for snake robots: annealed chain fitting and key frame wave extraction
[J].
Modeling and control of hybrid 3-D gaits of snake-like robots
[J].
Analysis of creeping locomotion of a snake robot on a slope
[C]//
/
〈 |
|
〉 |
