何跃军,陈 伟,刘先明
(深圳职业技术学院 机电工程学院,广东 深圳 518055)
目前国内针对高职学生的中小型机器人实训装置,一般为固定试验台形式,所涉及的内容大多以验证性实验为主,学生在实训过程中,照着实训指导书的要求,完成相关的实训项目,其自主性、创造性得不到发挥.另外,由于机器人实训装置造价昂贵,且容易损坏,因而在实训环节的设计上,学生主动参与设计、制作和调试的空间有限,动手能力得不到锻炼,导致学生的学习的兴趣难以激发.针对以上问题,本研究从高职学生动手能力强而理论知识弱的特点出发,设计一种实训用移动式运货机器人.
运货机器人的本体设计,结合功能要求进行.首先采用UG软件建立立体模型,并进行运动仿真;然后建立数学模型;最后通过差值运算,确定最佳设计参数,使其外观尺寸控制在仿真结果范围内,其机械结构设计如图1所示.整个机器人由底盘行进机构、机械手、红外光电传感器组件和电控系统板4部分组成.
图1 运货机器人机械结构设计图
机器人的底盘采用铝合金材料作为底架,具有轻便、坚固等特点,其行走机构主要承载整个机身重量和实现机器人的自主移动,包括直线运动和拐弯运动.为满足机器人运动平稳行的要求,行走机构的设计,采用四轮对称排列结构形式:即两方向轮安装在底盘前部,为机器人本体提供稳定的支撑,并跟随2个后驱动轮的运动而运动.而2个后轮为相互独立的驱动轮,由2个无刷直流电动机分别驱动(其功率 70W,由 24V蓄电池供电).电控系统根据红外光电传感器组件的反馈信号,通过控制两驱动轮的转速差,控制行走机构做寻线运行.实践表明,机器人在载货行驶中,底盘行走机构采用四轮结构形式较之三轮结构形式,其行进的灵活性相差不大,但车体要平稳许多.行走机构的4个行进轮都外加有软性橡胶材料,从而增加了车轮的摩擦系数,利于机器人的定位和寻线运行.
置于机器人底盘上的机械手,在实训中,能执行上升、下降、开爪与关爪等多个动作,完成货物的运送、装料和卸料等多种工序.其开、关爪以及手臂的升、降各由一个带减速齿轮的直流电动机驱动,并由行程开关进行限位.直流减速电机同样由 24V蓄电池供电,其减速比为15∶1.为简化设计和增大电机的驱动力矩,直流减速电机采用集成电机驱动芯片L298D两路并联驱动,该驱动芯片包含4个输出通道,最大输出峰值电流为1.2 A,电控板通过控制其PWM输入引脚的占空比,对减速电机进行 PWM 调速控制.机械手的手爪上加装了橡胶和海面,以提高附着力.减速电机正转,通过轴上的钢丝绳,拉动弹簧,带动机械手的开抓;减速电机反转,并借助弹簧反弹的回力,使机械手收抓.机械手的升降部分采用宽同步带传动,增强了机器人提升运行的稳定性.
机器人电控系统板装于底盘上,系统原理如图2所示.为使机器人行进中,在“准”、“稳”的基础上达到“快”的要求,底盘行走机构的两驱动轮电机的驱动,在设计上,采用控制级和伺服级两级控制方式.控制级以美国微芯科技公司(Microchip Technology)推出的控制芯片DSPIC30F6014为控制核心[1],加外围电路构成.主控芯片DSPIC30F6014既有16位闪存单片机的高性能,又兼有数字信号处理器(DSP)的计算能力和数据吞吐能力,适合电机的运动控制.
图2 运货机器人电控系统原理框图
在机器人行进时,主控芯片DSPIC30F6014,根据安装在底盘前部的 8个光电传感器组件所测得的位置信号组,采用PD巡线控制算法,通过控制伺服级——无刷电机驱动器,分别控制底盘两驱动轮上的电机的速度差,沿白色引导线,进行寻线运行.
为增加系统的可靠性,同时减轻主控芯片的运算量,底盘驱动轮电机,设计上采用了专用无刷电机驱动器(深圳雷德公司生产)进行驱动,专用无刷电机驱动器留有多根输入接口.主控芯片通过控制其输入方向接口的电平高低,即可控制电机的转向;通过发出不同占空比的PWM信号给驱动器的PWM输入接口,即可进行电机的PWM调速运行.专用驱动器的使用,为学生控制电路的制作与软件的编程提供了方便.
传感器组件为机器人的“眼睛”,因而选择合适的类型十分关键.目前机器人常用的传感器有CCD传感器和红外光电传感器2种.CCD传感器价格较高,且需要对数据进行复杂的转换和处理.而红外光电传感器结构简单、价格低廉.为降低成本,本系统采用红外光电传感器组件,但红外光电传感器存在着一些缺点,如,与CCD输出线性连续的信号相比,其返回的信息比较离散,从而影响了其控制的精度.另外,红外光电传感器的检测信号存在着较大的滞后、在高速和复杂的寻线过程中,容易出现振荡,因此需要通过软件算法来弥补其不足.
控制系统的红外光电传感器组,安装在底盘的前端,相邻光电传感器距离略小于引导线的线宽,以保证同时有2个传感器可以检测到引导线.在传感器组的实际应用中,首先要注意器件选用的一致性,即各个光电传感器的性能应尽量接近,且安装状态一致[2].其次,光电传感器组应尽量靠近地面,以减少外界光源对传感器的干扰,传感器垂直高度以5~10mm为宜.红外传感器离地面过远,光反射信号差信号不强;离地面过近,则会导致反射角度太大,加剧光漫射干扰的影响[3].需要说明的是,目前国产的光电传感器在实战中,受外界环境的影响较大,外界光线强度、引导线的颜色深度,甚至地面的温度都会影响其性能,从而影响机器人的巡线程序的通用性.
运货机器人系统控制软件的编写采用模块化设计思想,使用MPLAB IDE开发环境,MPLAB C30语言编写,整个程序的核心是巡线运行程序,而寻线控制算法的好坏则是系统能否稳定运行的关键.目前机器人寻线的控制算法较多[4-6],但本机器人采用的是一种实用可靠的寻线 PD控制算法,其具体设计思路如下:
1)先把8个光电传感器组发出的状态信号依次赋值.根据排列位置,8个光电传感器从左到右发出的信号依次赋值为:-7,-5,-3,-1,1,3,5,7.
2)控制程序在每个固定周期(每隔5~10ms),采集一次传感器组件当前的状态信息,并根据“质心”公式,计算出接收到的传感器组信号的“质心”坐标.例如当前周期,按从左到右位置排列,传感器组状态信息为 00001110(其中,0表示该对应位置的红外光电传感器接收到引导线反光信号,1表示没有收到信号),则此周期质心坐标值为:(1*1+1*3+1*5)/8.
3)通过上述质心坐标值和基准值(程序巡线算法,以地下白色引导线中心线为位置基准,基准值取 0)的绝对值之差,计算出当前周期内,机器人寻线运行中,底盘中心线偏离引白色引导线中心线的偏差值.主控芯片DSPIC30F6014根据偏离值,即通过 PD控制算法,控制左、右驱动轮驱动电机的速度差,不断调整底盘中心线相对于白色引导线中心线的位置,从而完成机械人底盘行走机构,在寻线行进过程中的纠偏.
PD寻线控制算法控制如图3所示.在程序设计中,比例参数Kp值和微分参数Kd值根据实际情况确定,如比例参数Kp值取值过大,则控制量超调,机器人寻线作明显的S形运动;如比例参数Kp值过小,则机器人寻线动作效果不明显.如果机器人在寻线过程中,出现频繁调整寻线动作的现象,则需要改进微分参数Kd值.比例参数Kp值和微分参数Kd值,需要根据场地的实际情况,多次调整大小,才能找到最佳值,以得到最佳的巡线效果.本系统PD寻线控制算法简便可靠,且便于学生学习与掌握,在实战中,效果良好.
图3 PD寻线算法控制框图
笔者设计的机器人以仓库运货为背景,模拟真实的工作环境、能按照事先设定的路径,寻线自主行驶,完成货物的装载、运送与卸载等多道工序.其特点在于:机械结构和控制软件都采用了模块化设计形式,内部资源公开,其机械部件和控制电路板都可由学生自己动手自由拆装、加工、制作完成.
该机器人目前已成功地用于我校机电一体化专业的机器人实训和多项机器人大赛的训练中.学生通过亲手制作和调试该机器人,在机械设计与加工、电路制作、控制算法的程序编写和系统调试等方面得到锻炼和提高.同时,还可以以此机器人为平台,通过修改软件算法,用于轨迹跟踪、模型分析、路径规划、视觉处理等与机器人相关课题的研究工作.
[1] 梁海浪.DSPIC数字信号控制器 C程序开发及应用[M].北京:北京航空航天大学出版社,2006.
[2] 周斌,李立国,黄开胜.智能车光电传感器布局对路径识别的影响研究[J].电子产品世界,2006,9(5):139-140.
[3] 葛鹏飞,郑建立,柳翔飞.基于光电传感器的智能车寻迹方法研究[J].国外电子测量技术,2007,26(8):40-42.
[4] 万永伦,丁杰雄.一种机器人寻线控制系统[J].电子科技大学学报,2003,32(1):47-50.
[5] 曹建树,曾林春,王金涛,等.基于单片机控制的智能寻迹小车[J].计算机信息,2008,24(35):103-104.
[6] 关军,杨明.基于视觉的高速寻线机器人设计与实现[J].微型计算机信息,2007,23(32):240-242.