摘 要:仿生机器人由于其高度的灵活性和适应性,在各种复杂的场景中得到越来越多的适用性。仿生机器人的研究也越来越多的得到科研人员的重视,如今仿生机器人逐步改变人们生活的方方面面。现阶段仿生机器人虽然外形各不相同,但其控制系统都大同小异。文章针对仿生机器人控制系统的相似性,提出了建立具有较强移植性的控制系统,并应用在具有多个IO接口的模块,实现通用仿生机器人的控制。文章通过系统结构设计、硬件选型、硬件连接、软件通讯协议编制、仿真软件设计、限位开关的设计等实现了基于高性能IO模块的仿生机器人控制系统,其中还运用了485串口、Modbus通讯协议等理论,并通过软件仿真试验和系统稳定性验证,证明该系统工作的稳定性和可靠性。研究结果表明,该仿生机器人控制系统可以实现对高性能IO模块的控制,并且该系统具有较高的通用性以及较高的可靠性。因此,本系统达到了对仿生机器人通用控制系统设计的目的。
关键词:仿生机器人;通用系统;高性能IO模块;Modbus通讯协议
1 概述
仿生学是20世纪60年代出现的一门综台性边缘学科,它由生命科学与工程技术科学相互渗透、相互结合而成。它在精密雷达、水中声纳、导弹制导等许多应用领域中都功不可没。
当代机器人研究的领域已经从结构环境下的定点作业中走出来,向航空航天、星际探索、军事侦察攻击、水下地下管道、疾病检查青疗、抢险救灾等非结构环境下的自主作业方面发展。人们也把目光对准了生物界,力求从丰富多彩的动植物身上获得灵感,将它们的运动机理和行为方式运用到对机器人运动机理和控制的研究中。这就是仿生学在机器人科学中的应用,这一应用已经成为机器人研究领域的热点之一,势必推动机器人研究的蓬勃发展。
仿生机器人的移动方式有轮、腿、履带和无肢运动等。多足机器人的运动方式是典型的足肢运动。美国、日本、德国、英国、法国等国家都开展了多足机器人工作, 并研制出许多样机。国内, 上海交通大学、中国科学院、沈阳自动化所、国防科技大学等单位也相继研制出了多足机器人样机。如中科院沈阳自动化所研制成功水下的六足步行机,清华大学开发出的DTWN框架式双三足不行机器人,上海交通大学研制出的JTUWM系列四足行足机器人等。
文章就是对爬行类仿生机器人的研究,通过对高性能IO模块的仿生机器人的研究设计,最终实现通过上位机控制IO模块来实现使仿生机器人的运动的目标。文章先从理论方面分别介绍了仿生机器人的概念、高性能的IO模块、485串口通信、Modbus通讯协议以及仿生机器人的运动控制逻辑。
2 系统的方法与理论
2.1 仿生机器人
根据上述仿生机器人的定义,我们将机器人设计成带有六足步行功能的蜘蛛型多足机器人,此类机器人用途广泛,灵活度高且更具代表性,具备系统移植的条件。
正是因为仿生机器人的高度灵活性,所以也就造成了仿生机器人结构的复杂性。为了完成复杂精准的控制动作,需要多部件的共同作用。为了达到这样的效果,我们需要使用能同时输出多路控制开关的串口通讯即485串口通信。
2.2 485串口通信
典型的串口通信标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括:
(1)RS-485的电气特性:RS-485接口信号电平低,不易损坏电器元件。
(2)RS-485的数据最高传输速率为10Mbps 。
(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
(4)RS-485接口拥有最远3000米的传输距离,而且RS-485接口在总线上是允许连接多达128个收发器。
为了实现点对多的传输方式以及保证传输过程具有较强的抗干扰能力,我们选用RS485串口通信。
2.3 ModBus通讯协议
ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。
在ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)。
3 系统的设计与实现
3.1 场景描述
本系统所采用的机器人就是多足型的仿生机器人,该机器人的足肢可以实现奇数足和偶数足的分开控制,当奇数足运动时,偶数组用于支撑躯体;同样,当奇数足运动时,偶数组用于支撑躯体。这样反复运动,机器人就可以实现前后移动。该机器人足肢的往复运动不同与轮子或履带的旋转运动,足肢的往复运动能更好地适应复杂的地形。而且,多足肢共同运动也可避免单个足肢故障造成机器人不能运动的情况。
3.2 硬件选型与实现
3.2.1 硬件选型
高性能IO模块:为了达到多路控制开关同时输入同时输出,选用腾控科技的STC系列高性能IO模块。该模块可同时输入输出多达16路。输入和输出模块分选用STC-101、STC-102。通讯协议采用适用于工业现场总线的modbus协议。该模块通过485串口通信与上位机连接。该模块的额定最大输入电压是220v,与上位机传输的485接口有两路,驱动电压是24V。该模块可是通过地址码进行区分,如果使用485串口通信,理论上最多可实现256个模块同时连接。 3.2.2 硬件实现
线路连接如图1所示。
3.3 软件实现
3.3.1 modbus通讯协议形成
modbus通讯协议由上位机软件实现,首先根据命令要求确定命令代码、设备地址、寄存器起始地址、寄存器个数等息息,将以上信息通过CRC校验算法生成CRC校验码。将上述信息与CRC校验码按通讯格式合并,合并后通过485串口发给IO设备。设备接收到指令代码后会进行CRC校验,只有校验成功才会执行该指令,保证指令的完整性。IO设备执行完指令后还会返回给上位机一个指令,表示执行完毕。流程图如图2所示
(1)Modbus传输模式
用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。
ASCII可打印字符便于故障检测,而且对于用高级语言(如Fortran)编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。因此,该系统选用RTU传输模式。
(2)Modbus传输格式
上位机发送的指令:[设备地址][命令号01][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低8位][CRC校验的低8位][CRC校验的高8位]
每一个括号内有两位十六进制数组成。
a.设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。
b.命令号:不同的命令号执行不同的功能,例如:读取数字量的命令号为01。
c.起始地址高8位、低8位:表示想读取的开关量的起始地址。每个设备都有自己的寄存器地址。
d.寄存器数高8位、低8位:表示从起始地址开始读多少个开关量,与起始寄存器地址共同使用。
e.CRC校验:数据的最后一部分,对前面的数据进行校验。此处需要注意,CRC校验在命令中的高低字节的顺序和其他的相反。
Modbus传输格式如图3所示。
(3)CRC校验码生成过程
CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。
CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。
CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。CRC校验过程如图4所示。
3.3.2 运动控制及限位开关的设计实现
仿生机器人的运动过程是整个系统按照一定的控制逻辑运行的。将蜈蚣型仿生机器人的步足以左右分别划分为奇数足和偶数足,左右奇数足为一组共同运动,左右偶数足为另一组共同运动。蜈蚣型仿生机器人足步的前向运动行为周期仿生为抬起、前划、落下、后划四个行为动作;后向运动行为周期仿生为抬起、后划、落下、前划四个运动行为。抬起和落下为一个低速电机控制,前划和后划为一个低速电机控制。运动过程如图5所示。
每只步足的前后上下设置一个金属触点用于读取步足当前的位置并实现限位开关的功能。当运动着的步足接触到某一位置的金属触点时,由系统读取到该触点闭合,并停止该动作驱的低速电机,此动作完成,系统进入下一运动周期。限位开关设计如图6所示。
图6 限位开关
4 系统的试验与稳定性验证
4.1 系统功能简介
上位机用户界面如图7所示,该界面可用于控制仿生机器人的运动并实时显示。当点击前进按钮时,机器人向前行走:当奇数足运动时,奇数足显示为绿色,如图8所示;当偶数足运动时,偶数足显示为红色,如图9所示。后退时实时显示相同。按下暂停按钮时,机器人属于暂停状态,所有足肢显示为黑色,如图7所示。
4.2 试验场景设定
本系统适用于对多足机器人的运动控制,试验场景设定为控制蜈蚣型仿生机器人在路面行走。实现该种机器人的前进、后退等运动行为。该型机器人可适用于多种路面状况,对环境有较强的适应性。尤其是在一些常规机器人和大型机器人达不到的复杂场景中,该种机器人可以自如的穿梭。
在现实场景中,该控制系统还可适配多种具有开关量的复杂仿生机器人,实现对该类型的运动控制。如蛇形机器人,鱼形机器人等。适配该系统时,只需要将IO模块的输出线缆连接至机器人的驱动开关处,并适配好正确的驱动电源,即可使用该系统控制一些仿生机器人。
4.3 功能稳定性验证
在多次测试实验的过程中,该系统并没有出现故障,多次对控制机器人运动的开关量进行的开闭动作准确及时,能够正确完成前进、后退等动作。因此,经多次测试验证证明该系统实现控制功能的成功率高,故障率低,能够完成具有一定要求的仿生机器人的控制任务。准确率高达99%。实验数据如图10所示。
图10 实验数据
5 结束语
文章针对控制软件和仿生机器人的接口控制方案,提出了基于485串口和Modubus通讯协议的控制方案,设计了通信协议,并基于软件仿真验证了控制软件的有效性。硬件部分用到了高性能IO模块、485串口、简易限位开关;软件部分主要应用到了CRC校验、Modbus通讯协议、配合限位开关的软件部分。
在以后的研究中可以针对仿生机器人的多种运动方式进行进一步的研究,如蛇形机器人的爬行,昆虫机器人的飞行以及运动方向的灵活性。
参考文献
[1]庄红超,高海波,邓宗全,等.电驱动重载六足机器人关节转速分析方法[J].机械工程学报,2013,49(23):44-52.
[2]许宏岩,付宜利,王树国,等.仿生机器人的研究[J].机器人,2004,3:283-288.
[3]吉爱红,戴振东,周来水.仿生机器人的研究进展[J].机器人,2005,3:284-288.
[4]迟冬祥,颜国正.仿生机器人的研究状况及其未来发展[J].机器人,2001,5:476-480.
[5]宋红生,王东署.仿生机器人研究进展综述[J].机床与液压,2012,13:179-183+139.
[6]陈甫.六足仿生机器人的研制及其运动规划研究[D].哈尔滨工业大学,2009.
[7]戴伟琛,赖舜生,秦松林,等.蜈蚣机器人创新项目培养学生综合科研能力[J]. 上海工程技术大学教育研究,2012,2:41-42+50.