连海山,禤景文,陈妙妹
(岭南师范学院 机电工程学院,广东 湛江 524048)
生物蛇可以在多样化的自然环境中生存,其独特的蜿蜒爬行运动方式可以使其运动自如,不仅能够在平整的地面或坎坷的山路上迅速爬行,还能够在沙漠、沼泽等流动性强的险地中蜿蜒爬行[1].蛇形机器人就是按照生物蛇的运动模式研究得出仿生机器人,它具备多自由度的运动能力,做出的运动方式和生物蛇的运动方式非常贴合.蛇形机器人可以应用于军事侦察、巡逻,也可以应用于民用抢险救灾.综合蛇形机器人的这些优点和应用方向,研究蛇形机器人具备十分重大的意义.
最早的蛇形机器人是由日本东京工业大学的Shigeo Hirose研发出来的ACM,提出了用“蛇形曲线”来表达生物蛇蜿蜒前行的运动轨迹[2],如图1所示.从1997年起,德国人Gavin.H进行蛇形仿生机器人的研究工作,到目前为止总共设计并制作了S1、S2、S3、S4、S5共五代的蛇形机器人,图2为蛇形机器人S5.S5机器人的特点是:各个关节形状尺寸不尽相同,身体形态高度模拟生物蛇;机器人是一个二维结构,无法完成复杂的三维运动;底部具有从动轮,利用从动轮运动的效率很高,其主要运动方式为蜿蜒运动[3].
美国卡内基梅隆大学针对废墟搜索和救援工作的需要研制出了专门的蛇形机器人,该机器人的关节机构为主动关节,关节受模块单元体内的电机控制,可以在草地、废墟等复杂环境中完成蠕动、攀爬、侧翻等复杂运动,运动比较灵活,易受控制[4].
1999年3月,上海交通大学崔显世、颜国正等研发出了中国第一台蛇形仿生机器人微小型样机[5].2001年11月,国防科学大学研制出了另外一款蛇形仿生机器人样机[6],如图3所示.
图1 ACM 样机(1972)
图2 蛇形机器人S5
图3国防科大蛇形机器人
近年来,除了以上蛇形机器人的研究外,还有越来越多的新型蛇形机器人出现.如刘洋,李世其等研究的单马达驱动蛇形机器人[7];宋能松研究的欠驱动蛇形机器人[8];李斌研究的一种具有三维运动能力的蛇形机器人[9];叶长龙,马书根等研究的基于耦合驱动蛇形机器人机构设计与抬起的方法等[10].
生物蛇是自然界里无足动物的典型代表,它最常见的运动模式是蜿蜒运动.爬行时,蛇类有规律地缩放全身肌肉,身体在地面上作波浪线弯曲,体侧不断施力于粗糙的地面,由地面的反作用力推动蛇体前行.利用波浪形弯曲作为蛇形机器人的运动轨迹,通过地面与蛇身的反作用力推动机器蛇前进.
1.2.1 CDS5516机器人舵机
CDS5516舵机是一种集电机、伺服驱动、总线式通信接口为一体的集成伺服单元.一般用做微型机器人的运动驱动,如图4所示.
舵机的参数设置和调试需要使用 UP-Debugger 多功能调试器和Robot Servo Terminal调试软件来完成.CDS5516机器人舵机电气接口如下图5所示,定义相同的接线口可将舵机逐一串联起来.本文六自由度蛇形机器人关节采用6个舵机串联工作.
图4 CDS5516机器人舵机
图5 CDS5516机器人舵机电气接口
1.2.2 GP2D12红外测距传感器
GP2D12红外测距传感器主要由红外发射器、位置敏感检测装置及相关电路构成.它的工作电压为4~5.5V,输出的模拟量为0~2.5V(电压值随距离变化),量程范围是10~80 cm.图6为“创意之星模块化机器人”所使用的GP2D12红外测距传感器,它拥有一个像头部的外壳,能够与创意之星的其他零件相配合.GP2D12红外测距传感器为模拟量传感器,接上控制卡后能够通过NorthStar进行数值读取和编程.
图6 “创意之星”红外测距传感器
1.2.3 MultiFLEXTM2-PXA270控制器
MultiFLEXTM2-PXA270控制器是“创意之星模块化机器人组件”的高级版控制器,能实现语音、视觉和红外等控制功能.
如图7所示为MultiFLEXTM2-PXA270控制器电气接口示意图,使用它编程时只需将网线一端接入电脑,另一端接入控制器网线接口,这样便可开机使用NorthStar进行编程和烧录.
图7 MultiFLEXTM2-PXA270控制器电气接口示意图
采用模块化设计是这次结构设计的一个特点,将它的机器蛇体分为几个结构相同的部件模块,每个部件模块都采用一样的结构和控制方法,用这些相同的模块组装成一条完整的蛇形机器蛇.采用模块化思想设计优势在于:1)经济.采用批量制造的标准化模块拼装成的蛇形机器人,既能满足设计的需求,也能减少制造成本;2)缩短设计周期.可以很快设计出满足要求的蛇形机器人,比传统设计方法快;3)互换性强.如果设计出来的蛇形机器人某个模块出现故障,可以利用一样的模块把它替换掉,维修快[11].
蛇形机器人的模块关节采用CDS5516机器人舵机作为摆动驱动器,一个舵机就拥有一个左右摆动的自由度,要制作六自由度蛇形机器人就需要6个带舵机的模块组装在一起.
六自由度蛇形机器人身体的结构设计采用创意之星机器人模块化组件拼装成4个机械结构相同的模块及2个机械结构相同的带被动轮子的模块来进行安装.其中蛇形机器人第一和第五节使用带被动轮子的模块,其余4节采用普通模块,以红外测距传感器作为蛇头.6个模块共同构成机器蛇身关节,2个带被动轮子的模块不仅起到支撑蛇形机器人蛇体的作用,还起到了提供摩擦力的作用,在机器蛇身摆动弯曲时提供让它前进的反作用力.
在零部件三维建模方面,本次设计采用了Solidworks进行绘制.首先把部件模块所需的零件图绘制出来,大零件如图8所示,小零件如图9所示.
图8大零件一览图图9小零件一览图
由上图零件组装出普通部件的模块和带被动轮子的部件模块,分别如图10和图11所示.模块装配如图12所示,蛇形机器人整体如图13(a)(b)所示.
图10 普通部件模块正反面
图11 带被动轮子部件模块正反面
图12 两个模块装配爆炸图
图13 蛇形机器人整体图
这样的连接方式有一个特点,就是每一个模块的舵机摆动是控制前面一个模块的运动.
本次研究的蛇形机器人需要实现红外启动的前进蜿蜒运动.在这里把它拆分为红外传感启动和前进蜿蜒运动两部分,先实现蛇形机器人的前进蜿蜒运动,再来实现红外测距传感启动.
为了蛇形机器人能够实现前进蜿蜒运动,本文采取了控制6个舵机一起摆动的方法,让蛇形机器人做出6个动作并且利用这6个动作循环来使得被动轮与地面摩擦向前实现前进蜿蜒运动.这些动作除了要控制摆动角度外,还需要控制舵机的摆动速度,摆动速度可以有效地控制被动轮的位移,所以把当前节的摆动速度设置都比前一节慢,舵机的每个动作的摆动速度都是一样的.每当蛇形机器人进行一个弯曲运动时,轮子会向前移动一段距离,进行伸展运动时,轮子则会往后回一段距离,但是前进距离比后退距离大,所以使得蛇形机器人整体向前移动.
蛇形机器人的6个动作如图14所示.程序烧录进控制器后,直接把串联好的舵机接到控制器的舵机接口,通过控制器的电池供电,蛇形机器人就可以实现向前的前进蜿蜒运动的死循环.该功能的控制程序如下图15(1)(2)(3)(4)(5)(6)所示.
图14 蛇形机器人的六个动作
图15 前进蜿蜒运动控制程序
在前进蜿蜒运动成功的前提下,给蛇形机器人加上一个红外测距启动的功能.利用NorthStar设置一个模拟输入模块,给红外传感器一个启动条件,模拟量为ad.设计思路如流程图图16所示.控制器开机后,如果红外测距传感器检测到ad值大于等于150的时候,程序就会进入前进蜿蜒运动的死循环,没有检测到的话就延时0.5 s再次检测ad值是否大于等于150.
控制器开机ad≥150?↓Y进入直线蜿蜒运动↓N延时0.5s→←
图16红外启动流程图
图17 红外启动控制程序流程图
控制程序如图17所示.红外测距传感器开始检测ad模拟量值,当ad模拟量值满足条件ad≥150的话就进入前进蜿蜒运动的死循环,如不满足条件,红外测距传感器就会延时0.5 s再检查ad模拟量值是否满足条件,如此一直循环直到满足条件为止.
在设计方面,曾试过设计不带被动轮的蛇身结构,在组装都导致蛇形机器人只能在原地摆动,也曾试过设计带3对被动轮的蛇身结构,结果因为中间的一对被动轮往后退的距离太大,导致整条蛇形机器人不停往后退;后来通过观察每次调试的结果,才把结构做成带2对被动轮的结构.在控制方面,先研究前进运动的时候,曾试过对舵机进行逐个控制,结果蛇形机器人得出的奇形怪状的姿态;后来改成控制6个舵机一起摆动,但是在舵机摆动速度不变的情况下运动,蛇形机器人也只是在原地不停地弯曲摆动;直到最后通过观察生物蛇蜿蜒运动的视频,才发现蛇身摆动的速度应该是又快又慢的,所以才有了后面调试舵机摆动速度快慢这一说,也因为如此,最终才把前进蜿蜒运动设计出来.最后,本文设计的六自由度蛇形机器人能够实现红外测距启动前进蜿蜒运动.
[1] 庞博.模块化蛇形机器人的设计与研究[D].河北工程大学,2014.
[2] Kouno K,Yamada H,Hirose S. Development of Active-Joint Active-Wheel High Traversability Snake-like Robot ACM-R4.2[J]. Journal of Robotics and Mechatronics,2013,3:559-566.
[3] Miller G S.13 Snake Robots for Search and Rescue[J].Neurotechnology for Biomimetic Robots,2002:271-271.
[4] Kevin Lipkin,Isaac Brown,Howie Choset.Differentiable and Piecewise Differentiable Gaits for Snake Robot [C].In Proc.of IEEE/RSJ International Conference on Intelligent Robots and Systems[C].2007:1864-1869.
[5] 崔世显,颜国正,陈寅,等.一个微小型仿蛇机器人样机的研究[J].机器人,1999(2):156-160.
[6] 刘华,颜国正,丁国清.仿蛇变体机器人运动机理研究[J].机器人,2002(2):154-158.
[7] 刘洋,李世其,谢涛,等.单马达驱动蛇形机器人的设计研究[J].中国机械工程,2009(4):401-404.
[8] 宋能松.欠驱动蛇形机器人的设计与研究[D].武汉理工大学,2010.
[9] 李斌,马书根,王越超,等.一种具有三维运动能力的蛇形机器人的研究[J].机器人,2004(6):506-509.
[10] 叶长龙,马书根,李斌,等.基于耦合驱动蛇形机器人机构设计与抬起的方法[J].机器人,2003(5):419-423.
[11] 陈航,殷国富,赵伟,等.工业机器人模块化设计研究[J].机器人技术,2009(3):56-58.