模块化蛇形机器人无线控制器开发

2015-02-27 08:21陆招兰王坤东三明学院现代教育技术中心福建365004上海交通大学仪器工程系上海0040
实验室研究与探索 2015年2期
关键词:蛇形舵机字节

陆招兰, 王坤东, 金 轩(. 三明学院 现代教育技术中心,福建 365004; .上海交通大学 仪器工程系,上海 0040)



模块化蛇形机器人无线控制器开发

陆招兰1, 王坤东2, 金 轩2
(1. 三明学院 现代教育技术中心,福建 365004; 2.上海交通大学 仪器工程系,上海 200240)

基于无线控制技术和模块化思想,开发出面向蛇形机器人的控制单元,以克服蛇形机器人庞大关节数量而带来的通信控制困难。该控制器下位机采用ARM单片机作为内核处理器,利用其PWM波实现两路舵机的独立速度控制,基于C1100无线收发芯片实现与上位机的通信,并由锂电池供电。上位机采用ARM单片机与C1100芯片接收信息,并通过RS232串口连接至计算机。分析了蛇形蜿蜒、直线蠕动步态,提出了实现这些步态的运动控制方法,进行了实验测试。结果表明,该控制器可靠性、实时性高,便于集成,亦可应用于其他冗余度机器人控制。

蛇形机器人; 控制器; 无线通信; 模块化

0 引 言

蛇形机器人能适应轮式牵引无法到达的地形,在救灾、反恐、侦查中多有应用[1-4]。Hirose开发出第一台蛇形机器人ACM(Active Cord Mechanism)后,连续推出系列机器人,最新一台ACM R5为水陆两栖[5-7]。Gavin从1997年进行蛇形机器人研究,设计并制作了S1~S5五代蛇形机器人[8]。德国GMD国家实验室也很早进行了蛇形机器人的研究,最近开发了GMD-Snake2[9]。美国NASA研究多关节蛇形机器人,在2000年推出第一代蛇形机器人[10]。国内,上海交通大学开发了我国首台微小型仿蛇机器人[11]。国防科大也研制了蛇形机器人,安装有视频监测器[12]。中科院沈阳自动化所利用可重构的思想研制出了一种模块化的蛇形机器人,能进行三维运动[13-14]。

在蛇形机器人的研究中,灵巧、有效、可靠的运动机构及相应的控制算法是核心研究内容。但除此之外,构建可靠性高、实时性好的驱动控制系统对于提高机器人的运动可靠性、灵活性和环境适应性也是非常关键的。为此,本文基于模块化思想,利用无线通信技术开发出分布式、单元化的、独立的无线控制模块。

1 控制系统设计

1.1 总体控制方案

本研究采用分布式控制方法,每个模块均具有独立的控制单元,该控制单元均可接收、发送、处理数据以及控制各自关节的转动,克服了集中控制的负荷大、走线冗余等问题,具有控制单元负荷小,不存在模块间通讯的走线问题,实时性高,并对于模块的自由增减具有灵活性。控制系统组成框图由图1所示,系统包括由PC、ARM MCU、CC1101无线模块构成的上位发送端,以及由ARM MCU、CC1101无线模块、舵机等构成的下位控制端。下位控制端的电路板放置在每个执行单元上,执行单元通过CC1101无线模块接收来自上位发送端的信号,在ARM MCU的控制下改变PWM波的占空比,从而控制舵机的转动方向和速度。

(a) 上位机

(b) 下位机

1.2 分布式下位机驱动控制单元

下位机采用单片机控制,选用意法半导体的STM32F103RBT6,内核为ARM Cortex-M3,用到单片机的SPI接口,2路PWM波输出,其他资源可以作为后续添加视频模块、传感器模块的储备。无线收发模块采用CC1100,具有体积小、灵敏度高,可编程控制控制数据传输率,电流消耗较低,且只需要极少的外部元件就可以组成一个完整的无线传输模块等特点,适合本蛇形机器人设计需要的无线芯片的要求。

驱动单元主要由旋转舵机和伸缩舵机组成,旋转舵机产生关节转动,而伸缩电机经齿轮齿条运动转换后具有直线伸缩功能,分别采用Futaba S3003 180°舵机和春天SM-S4309R 360°舵机。控制信号为50 Hz的PWM波,在ARM MCU的控制下改变PWM波的占空比,从而控制舵机的转动方向和速度。

整个蛇形机器人系统是由锂电池供电。参考锂电池的输出功率以及储电量和2个舵机的功率,可工作6 h左右,满足实验设计要求。锂离子电池输出电压为9 V,经稳压后输出4.8 V驱动舵机,另一路稳压后为3.3 V,给单片机提供工作电压。同时,为了判断机器人模块是否处于加电工作状态,在芯片的输出端放置了一个LED灯。

2 运动控制算法及程序

上位PC机界面采用C#编写,主要功能是发送自定义的控制信号给上位机发送电路板,包括蛇形机器人的步态选择,前进方向以及速度控制等。机器人在每次运动开始前需要初始化:当选择蜿蜒运动时,需要将机器人的机体曲线初始化为蛇形曲线形式;当选择直线运动时,需要将机器人的每个执行单元设置为自由伸长状态,以保证运动的可靠性和精确性。

控制信息的长度为15 Byte,字节0为状态选择位,分别对应下位机的定时器时间设置、蜿蜒运动、直线运动、蜿蜒运动初始化、直线运动初始化以及停止6种状态。若前导码为0xFF,则对应为定时器时间设置,用以设置机器蛇运动速度的快慢,具体分析见蜿蜒运动的运动控制部分,此时字节1、2为定时器3设置位,用以控制直线运动单步之间间隔的时间,字节3、4为定时器2设置位,用以控制蜿蜒运动两转角之间PWM占空比转换时间;若前导码为0x01,则为蜿蜒运动初始化控制指令,其中需要控制摇摆关节回到零位,并将直线关节收缩;若前导码为0x1C,则为蜿蜒运动开始标志,则字节1、2对应模块1摇摆关节初始化角度,字节3、4对应模块2摇摆关节初始化角度,……;同理,前导码为0x0A,0x3B,0x4F分别为机器蛇直线运动初始化、直线运动开始以及运动结束控制指令,控制字节格式如图2所示,其存储在RxBuf中。

图2 控制字节格式

2.1 蛇形蜿蜒运动

动态情况下,在任意时间t,机器人每个摇摆关节的关节角函数[8]:

φi(t)=Asin[ωt+(i-1)β]

(1)

式中:ω=bk,决定关节角的频率大小;A=-2αsinb1幅值控制参数;β=2b1为周期控制参数。蜿蜒运动的速度由舵机转速决定,改变PWM脉宽时间,用以改变转速。当机器人摇摆关节转角变化时,对应着PWM波占空比的变化;当PWM波从上一个状态的占空比到下一个状态的占空比持续的时间不同时,就会使得转角的平均转速不同,从而使整个蛇形机器人的前进速度不同。控制舵机的PWM信号时基为20 ms,意味着最少需要20 ms的时间才能使舵机的转角发生变化。实际工作状态下,蛇形机器人关节转角值在时间上不可能连续,只能是一些离散值,离散点越多,运动越逼近真实运动,造成的代价是控制的复杂性。但是,离散点过少会造成机器人运动的卡顿。综合考虑,将关节转角函数离散成7个值,每个离散点间相位差为60°。在单片机的控制上,固化一个离散表(此表为离散的关节转角函数值,分别对应不同占空比的PWM波,采用定时器4捕获/比较寄存器2作为蜿蜒运动PWM波寄存器),每过一段时间,读取表中的值用以产生占空比不同的PWM波,控制摇摆关节的转动。

运动控制程序的流程图如图3所示,单片机设置一个定时器用以控制PWM波占空比的变化间隔。程序中设置了一个函数TM4_Config(u16 pwm1,u16 pwm2),其中pwm1和pwm2分别为180°舵机和360°舵机的PWM控制值。在蜿蜒运动中,只关心180°舵机的值,而将360°舵机的值设置为0x00。由图2所示,每个pwm1变量由高低字节2 Byte组成,每个循环周期遍历一遍控制字节(除前导码)。在开始进行蜿蜒运动前,首先需要将直线平移关节收缩,然后每个模块将固化表中对应的值写入TM4_Config()函数,使机器人身体形成蜿蜒曲线。当启动蜿蜒运动时,定时器开始工作,定时时间到时,判断标志位是否是控制字节的末尾(此处将标志位设为status,判断status是否等于7,若是7,在遍历到了末尾),若不是,则将status+1,继续定时,并同时将得到的高低字节写入TM4_Config()函数,改变PWM波占空比。若遍历到了末尾,则将status设置为0,重新开始新一轮的遍历,同时也将得到的字节写入函数,控制PWM波的变化。

图3 蛇形蜿蜒运动控制流程图

2.2 直线运动

直线运动多为蚯蚓等仿生生物所采用,本研究中引入直线关节后,蛇形机器人的运动步态亦可包含该步态[15]。图4(a)为一种单驻波运动示意图,其中红色加深单元为正在运动的模块,具体运动过程描述如下:假设向右为机器人前进方向,在第0步为初态;t1时刻,向执行单元1的舵机(此处为360°舵机,以下叙述无特殊说明均为360°舵机)输入占空比为0.15,频率为50 Hz PWM波,其余执行单元舵机加电,但是处于停止状态。执行单元1舵机正转,带动齿条产生位移,从而使执行单元1前进一个步距,此时机器人处在第1步;在t2时刻,向执行单元1的舵机输入占空比为0.05的PWM波,同时向执行单元2的舵机输入占空比为0.15的PWM波,其余执行单元舵机加电,但是处于停止状态。执行单元1舵机反转,执行单元2舵机正转,此时执行单元1保持在原位不动,而执行单元2向前前进1个步距,机器人处在第2步;在t3、t4,…,t9时刻,每个执行单元中舵机的控制与前述相同。定义向舵机输入占空比为0.15,频率为50 Hz PWM波,使舵机正转,以正电平表示;向舵机输入占空比为0.05,频率为50 Hz PWM波,使舵机反转,以负电平表示,上述运动过程如图4(b)。从第0~第7步,机器人完成一个前进步态,步距等于每个单元前进距离。重复这个过程,机器人就能完成连续前进运动。通过调节输入PWM波的占空比,即可以控制机器人的前进方向以及前进速度。

(a) 运动过程

(b) 舵机时序

单驻波运动的控制流程图如图5所示。首先直线运动前开始初始化,主要是摇摆关节回到零位,直线平移关节伸长。现以模块1的软件控制为例,flag初始值为0,直线运动开始时,打开定时器3,flag加1,当定时时间到时,判断flag是否为1,若为1,则将PWM波占空比设置为1 ms,使360°舵机反转,相应的直线平移关节收缩。刚开始运动时,模块1的flag++后flag值为1,则直线平移关节收缩;然后等待第二次定时时间到,flag再次加1,判断flag是否等于2,若为2(此时为2),则将PWM波占空比设置为2 ms,使360°舵机正转,相应的直线平移关节伸长;然后第三次定时到时,flag为3,PWM波占空比设置为1.5 ms,舵机停转,直线平移关节静止。至此,模块1的直线平移关节在一个运动周期内运动结束,当定时器第8次定时时间到时,将flag设置为0,继续开始另一个周期的运动。后面的其他模块跟模块1的控制流程相同。

图5 单驻波直线运动控制流程图

3 运动控制测试与分析

3.1 蛇形蜿蜒运动

利用前面确定的数值A=0.7,ω=1,β=0.9,计算各关节的转角数据,分为7个离散值,求出各个模块控制电路板ARM芯片定时器4捕获比较寄存器1需要遍历的值,固化转角数据表如表1所示。

表1 实验条件下各关节初始转角

固化转角数据表内编号为1~7寄存器的值分别对应1~7模块初始化时,需要写入捕获比较寄存器1的值。蛇形机器人每个模块均会遍历表1内的寄存器值,蜿蜒运动PWM波占空比变化规律为每7个单位时间循环1次。即蛇形机器人每一个模块相比与前一个模块的转角滞后1位,同时也都随着时间的推移,每隔单位时间(200 ms)相应向后循环把寄存器数据写入定时器4捕获比较寄存器1中改变180°舵机的脉冲占空比(到达第7位后继续回到第1位取值),从而形成完整的蜿蜒运动过程。

只要舵机原始的转角速度与单位时间内通过脉冲占空比改变而得到的转角速度平均值大致相同或成一定比例,就可以保证蛇形机器人运动的整体平滑性。举例说明如下:我们设置单位时间为200 ms,表1内相邻2位寄存器的值造成的PWM波占空比变化对应的转角差为60°,则实际舵机转速为375~300°/s,蛇形机器人虽然每一步运行时间与舵机实际转速有些许出入,但整体上不会有明显的卡顿现象。在前述数据下,我们进行了蜿蜒运动的实验,如图6所示。在蜿蜒运动中,机器人的运动曲线准确,由于机体与地板表面的摩擦系数纵向与轴向几乎一致,机器人运动时会有些打滑。分析原因是研制的蛇形机器人外壳不具有真实蛇类皮肤表面摩擦系数各向异性的特点。通过在机器人底部增加被动轮的经典方式,可以有效防止打滑出现。

图6 蜿蜒运动实验

3.2 直线运动

在直线运动过程中,综合考虑舵机运行速度、齿轮齿条模数比、齿条长度以及模块各部分干涉问题,将一个加电周期设置为1.4 s。实验时在狭窄通道中机器人运行平稳,采用图4运动学分析的步态时,机器人运动速度约为4.3 mm/s。通过在一个运动周期内增加多个驻波的形式,可以有效提高机器人的前进速度,采用2个驻波时,速度可以达到约8.6 mm/s。在平坦地面上直线运动与在狭窄通道中运动状态参数类似。直线运动的实验结果如图7所示,运动方向为从左向右移动,驻波在图中用白色方框圈出。可以看出,右边第1个模块开始运动,驻波随后相继向左传递,当驻波到达左边第一个模块,1个周期并未结束时,右边第1个模块继续开始运动,从而构成了多驻波直线运动。

图7 直线运动实验

4 结 语

超冗余度蛇形机器人控制系统的难点之一就是其庞大的控制系统,模块化分布式控制方式是其发展的必然趋势。本研究基于模块化思想,开发上位机、下位机及其控制驱动模块的软硬件系统。研究开发了电源稳压、无线收发、舵机控制等电路,开发了上位机PC程序、无线收发程序以及舵机控制程序。对蛇形蜿蜒运动及直线蠕动的运动控制进行了算法分析,并实现了这两种运动形式。运动测试表明,本研究构建的无线控制与驱动系统切实可行、稳定性高。但是,目前各个关节模块之间仍然没有横向信息传递,没有完全发挥分布式控制系统的优势,另外,一旦其中某一模块单片机宕机,则会产生运动的不协调,且不利于机器人的自主运动,这些需要在后续的开发中予以改进。

[1] Maruyama H, Ito K. Semi-autonomous snake-like robot for search and rescue[C]//Safety Security and Rescue Robotics (SSRR). 2010 IEEE International Workshop on. Bremen: IEEE, 2010: 1-6.

[2] Meister E, Stepanenko S, Kernbach S. Dynamics and Control of Modular and Self-Reconfigurable Robotic Systems[J]. International Journal on Advances in Intelligent Systems. 2013, 6(1): 66-78.

[3] Fukushima H, Satomura S,Kawai T,etal. Modeling and Control of a Snake-Like Robot Using the Screw-Drive Mechanism[J]. IEEE Transactions on Robotics, 2012, 28(3): 541-554.

[4] 魏 武, 朱红山. 蛇形机器人在缆索检测中螺旋滚动步态的研究[J]. 计算机工程与设计, 2011, 32(2): 700-702.

[5] 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, 25(3): 559-566.

[6] Hirose S. Biologically Inspired Robots: Snake-Like Locomotors and Manipulators[M]. London: Oxford University Press, 1993.

[7] Mori M, Hirose S. Three-dimensional serpentine motion and lateral rolling by active cord mechanism ACM-R3[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems, Lausanne, Switzerland, 2002: 829-834.

[8] Miller G S. 13 Snake Robots for Search and Rescue[J]. Neurotechnology for Biomimetic Robots, 2002, 30(2): 271-275.

[9] Klaassen B, Paap K L. GMD-SNAKE2: a snake-like robot driven by wheels and a method for motion control[C]//IEEE International Conference on Robotics and Automation, Detroit, Michigan, 1999: 3014-3019.

[10] John B. Nasa Developing "SNAKEBOT" to Explore and Build in Space[EB/OL]. (2000-10-03) http://www.nasa.gov/centers/ames/news/releases/2000/00_66AR.html

[11] Liu H, Yan G, Ding G. Research on the locomotion mechanism of snake-like robot[C]//Proceedings of 2001 International Symposium on Micromechatronics and Human Science, Nagoya, Japan, 2001: 183-188.

[12] 周旭升, 潘献飞, 谭红力. 一种蛇形机器人的研制[J]. 机器人, 2002, 24(7): 684-687.

[13] 郁树梅, 马书根, 李 斌. 蛇形机器人步态产生及步态分析[J]. 机器人, 2011, 33(3): 371-378.

[14] Wang Z, Ma S, Li B,etal. Experimental study of passive creeping for a snake-like robot[C]//IEEE/ICME International Conference on Complex Medical Engineering, 2011: 382-387.

[15] 简小刚, 王叶锋, 杨鹏春, 基于蚯蚓蠕动机理的仿生机器人研究进展[J]. 中国工程机械学报, 2012, 10(3): 359-363.

法治是实现教育现代化的可靠保障。全面深化改革、全面依法治教如车之两轮,共同推动教育现代化不断向前发展。

社会主义核心价值观是兴国之魂。我们要实现的教育现代化是具有中国特色的现代化,社会主义核心价值观是中国特色的内核,是培养社会主义建设者和接班人的核心要义。

摘自《教育部袁贵仁部长在2015年全国教育工作会议上的讲话》

Development of Modularized Wireless Controller for Snake-like Robot

LUZhao-lan1,WANGKun-dong2,JINXuan2
(1. Modem Education Technology Center, Sanming University, Sanming 365004, China; 2. Department of Instrument Engineering, Shanghai Jiaotong University, Shanghai 200240, China)

This research developed a controller for snake-like robot based on wireless technology and modularization. This design overcame the communication difficulty come from its large number of articulations. ARM MCU was used as kernel processor with PWM module to control two steering engine. C1100 chip realized the wireless communication with the upper computer composed of ARM MCU, C1100. The upper computer was connected with the PC by RS232. Snake-like serpentine, linear peristalsis were analyzed. The control methods were proposed to realize these gaits, and the tests were performed to verify these methods. It was demonstrated that this controller had a high reliability, and it was easy to integrated into the robot. Wireless technology and modularization design have made a foundation for the multi-gaits of the snake-like robot, and these could be implemented into the other redundant robots.

snake-like robot; controller; wireless communication; modularizing

2014-04-21

上海科技启明星计划项目(13QA1402200)资助

陆招兰(1966-),女,上海人,实验师,主要研究方向为通信与网络技术。Tel.:13960568830;E-mail:csc5711@163.com

王坤东(1978-),男,陕西长安人,副教授,主要从事仿生机器人技术研究。Tel.:021-34207229;E-mail: kdwang@sjtu.edu.cn

TP 242

A

1006-7167(2015)02-0062-05

猜你喜欢
蛇形舵机字节
能钻过柔软沙地的蛇形机器人
No.8 字节跳动将推出独立出口电商APP
含齿隙弹载舵机的全局反步模糊自适应控制
No.10 “字节跳动手机”要来了?
TP347不锈钢蛇形管制造工艺
基于dsPIC单片机的飞艇舵机控制实现
简谈MC7字节码
古希腊的符号蛇形珠宝的诱惑
基于高速同步485总线通信的多通道舵机控制器设计
基于云模型的舵机同步控制