张勇
摘 要:机器人需要能够感知外界环境,通过处理感知信息来控制其肢体。为了实现机器人在未知环境里,智能地工作,本设计以PLC为中心,设计爬行机器人如何采集周围信息,并规划和实现其行走。以机器人构架作为机器人最基本的结构,其包含驱动控制系统;再设计信息采集系统,用于采集机器人周围环境的信息;最后设计以PLC为核心的机器人控制系统,实现机器人能通过PLC的输入口,手动控制爬行机器人,也能让机器人自动感知外界环境,对感知信号进行判断后控制机器人行走。
关键词:爬行机器人;信息周围采集;行走
中图分类号:TP231文献标识码:A 文章编号:1672-3791(2015)09(b)-0000-00
1 引言
由于电力系统的特殊性,需要许多智能机器人需要根据身处的环境,而执行不同的动作。在本系统里面就设计了信息采集系统,用于采集机器人周围信息。为了让机器人的肢体根据主控信号而执行对应动作,系统配置了机器人驱动系统。
本系统以PLC为控制中心对信息采集系统和机器人构架进行控制。
1.1 信息采集系统与PLC联系的设计
PLC通过串口通信与信息采集系统取得联系。信息采集系统是一个独立的系统,信息采集系统自动地采集机器人周围信号,有3路超声波信号、有温度、湿度、12路红外传感信号。并且把采集到的信息储存起来,通过串口通信PLC可以查询到采集到的信息。
1.2 机器人驱动系统与PLC联系的设计
机器人驱动系统也是一个独立的系统,机器人驱动系统反复读取并口上的动作信号,这样PLC就可以通过并口把指定动作信号传送给机器人驱动系统,该系统根据信号的内容来发出18路PWM信号,进而驱动18个舵机,使其运动到指定的位置,每当执行完一次任务后,该系统会通过I/O口反馈一个信号。
2 系统的设计
2.1 PLC的I/O接线设计
本系统需要一个通信接口,8个数字量输出及12个数字量输入,所以选择西门子PLC S7-224CN。该可编程控制器有一个RS485通信接口,有10个数字量输入和14个数字量输出,正适合本系统。
2.2 信息采集系统的设计
信息采集系统主要工作是采集机器人周围信息。在本系统里面需要实现以下功能:
1)能采集机器人前方,左前方和右前方的障碍物信息。本系统运用3个超声波测距模块分别检测这3个方向的障碍物的距离。
2)能检测到机器人脚下是否有地面,以及机器人的脚的行进方向有避撞检测。P0口作总线,配合INFFOO_OE和INFARO_OE这两个锁存器使能端实现12路红外传感器信号的采集。
3)能感知机器人所在环境的温度和湿度。本设计测量温度使用DS18B20,而测量湿度使用的是DHT11湿度传感器。
4)能把采集信息显示出来。这里使用LCD1602实现其显示的功能。显示器数据接口接到P0口,其控制端分别接LCD1602_RW、LCD1602_RS和 LCD1602_E。
5)还需要与PLC建立通信。PLC通信口使用RS485,这里也使用RS485模块实现通信,这样便于建立通信,另外利于添加其它采集模块。具体运用RS485_RXD、RS485_TXD和RS485_COM这3个端口,另外LED_RS485用于驱动通信灯。
2.3 机器人驱动系统的设计
本系统运用AVR单片机。AVR较高性能、较低功耗的8位AVR微处理器,运行速度快才能生成稳定的PWM信号,利于舵机稳定运行,PWM信号的脉宽不稳定会直接导致舵机抖动。
舵机就是一种微型伺服型马达。它在接收周期为20ms的PWM控制信号之后,根据PWM信号占空比,在闭环控制系统里面转动到指定的角度,在本系统里应用到机器人的关节。最小系统里的M01至M18是接到18个舵机的信号端上。
AVR与PLC运用并口连接,实现PLC把步态指令写入AVR单片机,通讯并口运用单片机上的PC口。另外AVR单片机完成上一次的任务回馈一个完成动作的高电平,该电平从Finish端口输出。不用串口通信是因为并口传输速度极快,不像串口通信需要等待校验,该系统和PLC控制中心是放到一起的。
3 程序设计
如图2所示,是本设计的信息采集系统的主程序流程图。系统的启动先把显示器初始化,在显示一些在运行过程中不会改变的字符,称之为模板,这样就可以让系统在运行过程中不需要重复写不会变化的字符。接下来就是定义定时器T0和T1,T1在本系统的用于产生9.6kbp/s波特率,而T0是用来超声波测距的定时用的。上面的各方面的初始化都做好了以后,就要进入循环了,在此之前一定要先把通信打开,否则系统能采集信息,但不能被查询。
在循环体里面,就有以下几大部分:
1) 3路超声波测距的启动、检测回波、计算、存储及其显示。
2) DHT11模块的湿度采集、换算、存储和显示。
3) 读取DS18B20转换出来的温度值及计算、存储和显示。
4) 读取12红外线检测及其显示和步态的显示。
4 结论
电力系统智能爬行机器人的设计,以PLC为中心的控制系统,能收集机器人周围信息,又能控制机器人的动作。在信息采集部分,建立起以AVR单片机为核心的模块,来实现能自行采集机器人周围信息,又能让PLC通过通信口查询采集到的信息。在驱动机器人动作部分,以AVR单片机为中心的系统,通过并口接收到PLC动作指令后,自行按照程序驱动18路舵机转动到指定位置,从而实现机器人的动作,完成了设计任务,同时在机器人如何采集周围信息方面做了创新。
设计过程中最难以解决的通信问题已得以妥善处理,不足在于没有使用准确率较高的CRC校验。从AVR的编程到控制18路舵机按设计要求进行工作也是个难题,不过经过大量资料的查阅、筛选和提取,都迎刃而解,不足之处就是没有运用LABVIEW来规划步态,创造出更多的机器人动作。
参考文献
[1] 龚志广,孙维连,李新领, PLC与AT89C52单片机的串行通信及应用[M]微计算机信息,2006,22(10-2).
[2] 段华,赵东标,一种新的移动机器人动态避障方法[J],应用科学学报,2006,24(5) .