0 引言
随着社会的发展,人类的需要,一些在特定环境中拥有独特技巧和能力的机器人应运而生,蛇形机器人就是其中一种。蛇形机器人是根据蛇的骨骼和运动原理所制造的仿生机器人,凭借其独特的运动形式和身体结构,应用前景可以说是无可限量。
1 系统总体构成
本文所研究的蛇形机器人采用Solid Snake(SS)机构设计。Solid Snakc利用垂直和水平方向正交的关节来模拟蛇类生物柔软的身体,每两个正交的关节组成一个单元体,每个单元体相当于一个万向节,具有两个方向的自由度,整体形成一个高冗余度的结构体。这样的机构设计使蛇体具有向任何方向弯曲的能力。其壳体机构、舵机与壳体安装方式和两个单元连接方式,即以垂直→水平→垂直的方式相连接,以模仿生物蛇的关节,如图1所示。
系统总体设计框图如图2所示。首先在计算机上测试每个插座对应的舵机,简而言之就是对号入座,首先找出每个舵机的零点位置,然后编程,将已编写好的程序下载到控制板里面,通过控制板实现对舵机的直接控制,电源控制板为所有的舵机提供动力,最后经过多次的调试仿生机器蛇即可以完成一套连贯的动作。
2 仿生机器蛇的运动规划
要想完成仿生机器蛇在现实环境中自由运动,就需要先对其进行运动力学分析和路径规划。
2.1 仿生机器蛇的运动力学分析
本文所研究的蛇形机器人由垂直方向与水平方向交替连接,依次可以做二维运动。而每个舵机的范围在-90°~+90°之间。当蛇形机器人在平面上运动时,它的运动示意图如图3所示。
(1)平面蜿蜒运动。平面蜿蜒运动是通过控制关节模块水平轴的关节保持直线,而垂直轴的关节呈正弦变化实现;采用的算法公式为:
(2)侧向运动。侧向运动是控制关节模块的垂直轴的关节和水平轴的关节都呈正弦变化,两个曲线之间有一个相位差;采用的算法公式为:
(3)伸缩运动。伸缩运动方式可以通过控制它的垂直轴的关节保持直线,而水平轴的关节呈正弦的变化实现。它的垂直面内运动,适合穿越狭小的管道。采用的算法公式为:
(4)翻滚运动。翻滚运动是控制关节模块的垂直轴的关节和水平轴的关节变化而实现,其采用的算法公式为:
2.2 仿生机器蛇的路径规划
所谓的路径规划就是指在障碍物的环境中,按照某一特定的评价标准,寻找一条从起始状态到目标状态的不会发生任何碰撞的路径。如果把运动物体看作是所研究的问题的某种状态,把障碍物看成是所要解决的约束条件,无碰撞路径规划就是满足次约束的解,因此空间路径规划可以描述成求解满足约束条件的过程。为了更好地理解路径规划,可以将其分解成两个问题。
(1)寻找空间问题。在某个指定区域R内,确定物体的安全A位置,使其不与在次空间内的已有物体B发生碰撞。
(2)寻找路径问题。在以上指定区域R内,确定物体A从初始位置到目标位置的安全途径,使其在移动过程中物体A与物体B不发生碰撞。
图4表示的就是在障碍物环境中物体A在不碰撞物体B的情况下到达指定区域。
3 仿生机器蛇连贯动作的设计
软件采用C语言编写,舵机控制程序进行相应模块化设计,形成基本动作“积木”单元,组合连贯动作套件包。这些“积木”单元都很容易互相拼接、组装。用这些“积木”可以很方便地搭建出各种发挥想象力的机器人,并可为自己搭建出的机器人编程。
3.1 蛇形机器人连贯动作
蛇形机器人的连贯动作主要是将前面几种运动策略连接而成。图5所示为蛇形机器人连贯动作结构图。
3.2 蛇形机器人一爬行运动
蛇形机器人的爬行动作,属于蛇类的蜿蜒运动,自然界中蛇类的运动都是“S”形的,类似于正弦曲线。由于实验条件的限制,本研究所做的爬行动作以“弓”形代替。如图6所示。
以下实验数据,表示着蛇形机器人由左“弓”形到右“弓”形时的各个舵机的角度,因为爬行动作并不需要太快,所以速度全都设置为150。这样每个动作的变化都不是很快,但是相应的蛇形机器人所做的每个动作都很平稳。每个动作完成后有2s的延时。爬行运动的程序结构如图6所示。
3.3 蛇形机器人一翻滚动作
蛇形机器人的翻滚动作属于蛇类的侧向运动。翻滚动作的实现首先要使蛇形机器人有一定的弯曲,然后在固定两个点,调试其余的舵机,使其可以360°的翻滚,如图7所示。
3.4 蛇形机器人一盘起、攻击动作
蛇形机器人盘起、攻击的动作是比较综合的一个动作,因为不同的需要,每个动作中每个舵机的速度要求也不一样。其程序结构如图8所示。
还有蛇形机器人的其他连贯动作:1)蠕动动作,可以视为蛇类的直线运动,利用这种移动方式可以使蛇形机器人沿着一条直线前进。而且即使改变了外界环境,也可以根据环境,对机器人进行适当的调节,适应性强;2)侧移动作,利用蛇身扭动与地面产生的摩擦力使整个身体发生位置的改变,动作简单,可以通过改变该动作的重复次数来改变运动方向,即使环境改变,对蛇形机器人的侧移也没有太大影响。
4 系统的实现
系统实现了三种平台的仿生机器蛇,如图9所示:1)基于robotbosic设计的力量型机器蛇,有十四个自由度舵机组成,每个自由度大约1.2cm。能完成诸如扭动、前进、蛇头上扬等动作。小体积是我们的一大特色,简化了供电装置,将电源与舵机经过特殊的处理装置在一起,让动作更加方便,同时也减少了大量的外迁线,使蛇能更加灵活;2)基于norstar可蠕动前进和盘起攻击的仿生机器蛇,最终完成了一条14个自由度、长约1.2m的大蛇,一条7个自由度、长约0.6m的小蛇,实现蛇的基本动作,将驱动装置安装到蛇身体上,缩小蛇身体体积。实
物如图8所示。优点在于有短信和来电两个功能,不足之处探测器过于敏感;3)基于arduino设计的迷你型机器蛇,共有八个小舵机组成,共15cm。蛇头与蛇尾增加泡沫设计使蛇的形象更加逼真。小蛇能够左右摆动,还能向前蠕动前进。
5 结束语
本文所研制的三种机器人基本是用舵机串联而成,结构简单,连贯动作能舒展完成,但不足是蛇形机器人由十几个舵机串联而成,因为串联的舵机数量太多,导致驱动电流越来越小。建议改进措施有:1)利用一个电流放大电路增大驱动电流;2)由于串联的舵机数越多,驱动电流就越小,所以如果在条件允许的情况下,可以选择减少几个舵机;3)将所有舵机并联,这样可以使各个部分舵机电压相同,驱动电流也趋于稳定。