管外爬行机器人及其控制系统设计
2014-12-03贾朝川符茂胜
贾朝川,杨 婷,符茂胜
(1.皖西学院信息工程学院,安徽 六安237012;2.皖西学院机械与电子工程学院,安徽 六安237012)
管道爬行机器人是机器人研究领域的一个主要的研究方向,它分为内管道和外管道机器人,内管道机器人研究较为成熟,而对外管道机器人的研究还相对较少,外管道机器人主要是针对缆索、电缆、电线杆、自来水管道、输油管道、输气管道、输暖管道等圆形管道进行作业。其中,大多数管道中都含有高温、高压、有毒、有辐射的流体物质,如果发生管道裂纹或者断裂,管内有害物质泄漏将会给人们的性命和财产带来重大的损失,因此,对管道进行定期的检测和保养必不可少[1]。若仅仅靠人工方法对其进行作业,不仅耗费人力和物力,而且效率也比较低,况且许多场合根本无法容纳人工作业,此类情况下,管外爬行机器人就能充分发挥出它的优越性和实用性。本文针对圆形管道给出了管外爬行机器人的机械结构及控制系统的模型。
1 管外爬行机器人结构原理
根据管道的形状,有些管道并非都是竖直,有些是交叉状等特点。机器人在运动过程中,可能需要进行翻转或者旋转等动作。根据以上特点设计出的管外爬行机器人本体结构是一个对称结构,一共分为前后两节,每一节都是有一个车体、两个自由滚轮支架、两个行走滚轮、两个行走滚轮舵机、一个电机螺杆和一个翻转电机组成,行走滚轮的安装方位与管道的方位设置成空间45°的夹角。该管外爬行机器人能实现以下几个方面的动作:①调节行走滚轮舵机的旋转方向,使爬管机器人沿着管道前进或者后退;②调节行走滚轮舵机的旋转方向,使该机器人在管道上做旋转运动;③在与电机螺杆连接的直线电机和关节间的翻转电机的配合下,实现夹紧机构的夹紧和松开,以及前后车体的翻转运动。机器人本体结构图二维示意图如图1所示。
图1 爬管机器人整体机构二维示意图
2 管外爬行机器人硬件控制系统设计
根据机器人的运动特性,机器人的执行结构是由直流电机和舵机来驱动,机器人硬件控制系统主要由电源模块;主控制器模块;通信模块;电机驱动模块;信号反馈模块等组成[2],硬件控制系统的整体框图如图2所示。
图2 硬件控制系统的整体框图
2.1 电源模块
电源是整个控制系统赖以正常工作的基础,硬件控制系统以c8051f020为核心器件。核心MCU和各个模块需要提供的电源型号是不一样的,在电路中需要设计相应的电源转换电路。电路中需要的电源型号有舵机12V、直流电机5V和控制芯片3.3V等3种类型。可以通过12V的稳压电源为系统供电,通过LM7805、LM1117分别将12V转换为5V,5V转换为3.3V。电源转换电路如图3所示。
2.2 信号反馈模块
管道机器人作业的管道一般都是垂直、倾斜、交叉等形状,机器人想在管外进行作业,势必就需要固定在管道外,在结构设计中就包含有固定机构,它是由一个直流电机通过螺杆带动夹紧机构运动实现机器人的固定。但是,在夹紧的力度方面,如果不加以控制,可能会导致电机运动过度,损坏电机或者夹紧机构。因此,在控制系统中,采用压力传感器检测夹紧机构与管道之间的压力来实现直流电机的闭环控制,这样可以有效的缓解因电机运动过度所产生的危害。当压力达到一定值时,压力转化的摩擦力将平衡与机器人本身的重力,从而就可以实现机器人的平衡[3]。系统中采用的压力传感器型号为 MPS1200,测量范围在-100~1 000KPa。输出0.5~4.5V标准电压。c8051f020内部带有数据采集所需的ADC和DAC,其中ADC有2个,一个是8路12位逐次逼近型ADC,可编程转换速率可达100ksps,可编程增益为:0.5、1、2、4、8或16;另一路是8路8位 ADC,可编程转换速率可达500ksps,可编程增益为0.5、1、2、4。可以实现对压力传感器信号的采集。压力传感器有3个接线端子,分别是电源VIN,数据输出端OUT和接地端GND。
2.3 通信模块
系统中舵机采用的是485总线控制方式,由于主控器c8051f020内部具有2路UART通信模块,故控制器与舵机的通信需要采用max232转max485转换电路来实现[4],转换电路原理图如图4所示。
2.4 主控制器模块
主控制器是信息处理的中心,主要实现对两类型指令的处理;压力传感器信号和无线发送器信号。通过对以上信号的处理,产生两种控制信号:舵机控制信号和直流电机PWM控制信号[5]。由于舵机的控制信号是通过max485总线方式发送给各个舵机,实现对多个舵机进行控制,舵机反馈的位置等信息通过max485总线返回到MCU,实现闭环控制舵机,舵机控制信号及反馈信号格式如表1所示。PWM信号是占空比可调的脉冲信号,通过调节信号的占空比来调节电机的速度。整个系统的硬件原理图如图5所示。
图3 电源转换电路
图4 max232转max485原理图
表1 舵机控制指令和反馈信号格式
图5 主控制器硬件原理图
读指令格式说明:FF,FF是数据包开始标志;01是舵机的ID号为1;04是ID号后的参数个数为4个;02表示是读操作指令;2B是指读数据的起始地址为0x2B;01表示的是读取的数据个数为1个;CC为校验码是对开始标志后面的数据进行求和再取反所得结果。反馈信号格式说明:FF,FF也是数据包开始标志;01是舵机的ID号为1;03是后面参数的个数为3个;00表示读取的数据状态为无错误;20是读取的数据,DB为校验码。写指令操作与读指令操作格式是统一的[6]。在程序中可以通过读取或者写入舵机内部特殊功能寄存器来实现对舵机位置、速度、加速度等参数的设置。
3 管外爬行机器人软件控制系统设计
系统软件流程图如图6所示。系统上电启动后,初始化各个参数,如设置舵机ID号、通信波特率、中断方式、I/O口输入输出功能寄存器配置等,然后进入等待状态,等待控制端发送来的控制信号,判断是何种控制指令,如果是直流电机控制指令,就是驱动加紧机构夹紧管道,在直流电机运动过程中,采用中断方式不断采集压力传感器数据,并进行判断,当达到预设值时,停止直流电机运动,说明夹紧机构已经夹紧管道,此时,返回等待接收控制指令;如果为舵机控制指令,然后,检测压力传感器数据,判断是否满足压力,如果满足则根据发送的运动形式驱动不同舵机完成相应运动,如前进、后退、旋转等动作,返回等待下一步操作指令,如果不满足则输出控制直流电机,带动夹紧机构夹紧管道;如果为停止指令,则禁止所有电机运动,机器人停止在当前位置等待控制指令。
表2 实验测试数据
图6 软件控制系统流程图
4 结语
对设计的爬管机器人在实验室进行测试,实验管道内径分别为8cm和10cm粗糙的钢质密封管,测试的实验数据如表2所示。实验结果验证了本设计方案的可行性及实用性。该爬行机器人能够实现在水平、垂直和带有十字交叉的管道外爬行,但系统的稳定性和平滑性有待于进一步提高。该机器人可以为各种工业管道、民用管道、大桥斜拉索、电缆等圆柱形体的质量检测、维护修复等作业提供一种新型的管外行走装置。
[1]程向丽.翻转式炉膛清灰机器人的设计[D].天津:天津大学(硕士学位论文),2012.
[2]蔡传武,管贻生,周雪峰,等.双手爪式仿生攀爬机器人的摇杆控制[J].机器人,2012,5(24):120-124.
[3]王永雄,叶青.管道机器人自主导航系统设计[J].制造业自动化,2009,1(32):113-115.
[4]远飞.基于AT89S52单片机的舵机控制系统设计[J].电子元器件应用,2011,12(13):26-28.
[5]Chen Xia-feng,He Ya-fei,Shen Xin-di,Development of Apulse-type Servo Driver System and the Application on a Three-axises Robot[J].Informatics in Control,Automation and Robotics,2010,(14):404-406.
[6]马云,石秀华,贺天鹏.IIC总线的四路舵机控制系统研究[J].机电一体化技术,2012,7(5):36-39.