一种双轴轮室内服务机器人小车伺服控制系统
2016-04-23李硕明陈越吴雄英
李硕明 陈越 吴雄英
摘 要 基于32位ARM7微型处理器LPC2119开发移动机器人伺服控制系统,设计了适应于双轴独立驱动的移动小车伺服控制PI算法,采用PWM脉宽调速技术结合光电编码反馈来构成闭环电机伺服系统.系统方案在自主设计的室内移动机器人小车XMU3上进行了验证,实验结果能达到室内服务机器人平台应用的控制精度要求.
关键词 双轴轮;伺服控制系统;ARM7;PI算法
中图分类号 TP393文献标识码 A文章编号 10002537(2016)02005906
A ServoControl System for Biaxial Wheel Indoor Service Robots
LI Shuoming1, CHEN Yue 1,2, WU Xiongying3*
(1.School of Information Engineering, Zhongshan Polytechnic, Zhongshan 528404, China;
2.School of Information and Electronics, South China University of Technology, Guangzhou 510641, China;
3.Shenzhen Branch of Emerson Network Power Company Ltd., Guangzhou 518057, China)
Abstract This paper designs a servocontrol system for mobile robots based on 32bit ARM7 microprocesser. The approach designs PI algorithm which suits biaxial wheel mobile robots servocontrol system, adopting PWM speed control and utilizing lightelectronic devices for feedbacking components to set up a closed motor servocontrol system. The system is tested on the selfdesigned XMU3 indoor intelligent mobile robots vehicle, which proves to be able to match the control accuracy requirements and meet the potential application platform needs of indoor service robot.
Key words biaxial wheel; servocontrol system; ARM7; PIalgorithm
一直以来, 移动机器人以其广泛的应用性和高技术性而备受关注[1].近年来移动机器人技术已经成为计算机、自动化以及人工智能等交叉领域的一个研究热点.轮式移动机器人具备相对简单的机械结构,灵活的运动,便捷的操作,较高的效率[2].不仅在工业自动化、智能交通、远程医疗等行业中得到广泛的应用,在智能家居、城市安全、空间探测领域等有害与危险场合得到很好的应用[34].伺服系统位于移动机器人控制系统的底层,直接负责驱动电机、采集传感器信息和人机交互[5],是整个轮式移动机器人研发的核心部分之一,在理论研究和工程实践方面都有重要意义[67].
由服务机器人代替人力完成家务劳动,将是一项具有良好应用前景的高技术,特别是在21世纪中国即将步入老龄化社会,服务机器人市场前景广阔[8].本课题研究的室内服务自主式机器人的基础应用平台已经开发完成,本文的内容对应其双轴轮伺服控制系统的设计.
1 XMU3移动小车方案
室内自主移动机器人小车XMU3采用“1+2”三轮式底盘设计,其底盘形状如图1所示.前轮为可以自由活动的万向轮,两个后轮为小车提供驱动力由两台直流电机分别控制.直流电机与其对应的驱动轮采用速度或位置反馈闭环控制, 可以实现对小车速度和方向的控制[9].通过编程设置两个伺服电机的电流供给可以控制驱动轮之间的相对转速,进而实现小车的运动控制.当两个电机以同转速同方向运动时能实现小车的直线运动,当方向相反转动时能使车体绕两轮轴线中点自转.底盘设计上参照Scott Jantz的研究结果[10]:圆形平面能避免棱角产生的碰撞,对于移动机器人平台来说基座设计成圆形便于锁定目标.
1.1 小车移动能力模型
机器人小车在运行时要同时克服摩擦力和重力,其受力分析如图2所示.计算这两个力的合力,可以得到式(1).
Fapp=+Fw, (1)
式中,Fapp为机器人移动需要的动力,表示启动时车轮所处的滑动摩擦力, 为机器人移动受到的来自重力的阻力.机器人在水平面上移动时Fw为0.当车轮开始转动,此时的滚动摩擦力比启动前的摩擦阻力要小,因此在绝大多数时间电机都是处于过功率的状态.驱动系统一定程度上受到驱动轮的直径大小的影响,即当驱动轮的直径增大时,输出速度对应增大,驱动力减小,反之亦然.XMU3小车主要拟用于室内地面移动,所以,输出的转矩除以驱动轮的半径,便可以得到驱动轮的驱动力.
1.2 直流电机选型分析
拟定小车总质量为m=8 kg,启动时为静摩擦,摩擦系数取μ=0.4;行进中为滚动摩擦,滚动摩阻系数取μ=0.01, 已知驱动轮外径D=0.074 m,则r=0.037 m;并假设额定速度v=0.4 m/s.
直流伺服电机能实现大范围无级调速,同时能方便的实现直流调速系统地精确控制策略,满足室内应用场景对调速性能的要求 [2,11].综合考虑到成本因素,本课题以直流电机为对象设计伺服系统.据受力分析计算,直流电机TG3812620060K 额定转速≥91.3(r/min),可以满足设计要求.
2 电机伺服控制系统设计及实现
轮式移动机器人伺服控制系统是集电子电路、嵌入式技术、探测控制技术于一体的综合技术,其核心是对伺服电机转动的控制,通过程序控制为电机提供特定大小的电流来获得电机特定的转速,进而对轮式移动小车行进速度和方位的控制.因此高精度的控制移动机器人,必须采取精准的控制策略和高性能的微处理器[12].
通常伺服系统中可以在驱动器前选择性地设置几处调节电流和反馈环路,从外向内依次为位置调节、速度调节、电流调节以及位置反馈、速度反馈和电流反馈,其构成如图3所示.位置反馈信号可以从电机轴或负载上获取出.本课题为了提高系统的响应性能,剔除了电流环和速度环,只采用位置反馈的单闭环结构,形成一种基于位置反馈的随动伺服系统.
2.1 伺服控制系统设计
一个伺服系统通常由伺服电机、执行器和微处理控制器构成.本课题设计的数字化电机伺服系统以中央微处理器为控制核心部件,以PWM功放电路为驱动模块,设计选用直流伺服电机作为系统控制对象,选用位置反馈进行调速,合理选择主控芯片、测速方式并对电路进行设计,以光电编码元件作为反馈来构成闭环电机伺服系统,系统结构图如图4所示.
2.2 系统工作原理
系统给定一个模拟位置量作为伺服系统的输入量,经过包括位置调节子电路、速度调节子电路、电流调节子电路等一系列的硬件电路后输出给功率放大器,驱动电机运动.由ARM7微型处理器(LPC2119)的PWM模块产生单边沿控制信号PWM5&6,与双通道直流电机驱动器L298N的第6引脚、第11引脚相连,WM5、P4、P5引脚控制左轮电机,PWM6、P12、P13引脚控制右轮电机,通过设置寄存器PWMMR5&6的值可以调整PWM信号的占空比,从而改变电机的转速,即改变机器人的移动速度.
2.3 PWM调速信号的产生
PWM(PulseWidth Modulation脉宽调制)技术是直流电机调速中最为有效的方法,具有功耗低、效率高、稳定可靠等优点.本课题采用单极性控制,在反复对比10~20 kHz频率段内系统运行时的噪声后,取11 kHz为脉冲切换频率,系统电路如图5.
2.4 基于光电编码器的反馈闭环控制
本课题利用自制的光电编码器实现反馈闭环控制,采用数字控制算法完成电机的闭环控制.在车轮的一侧表面上粘贴一个自制的码盘,该码盘将直径为70 mm的圆平分为64份(码盘的直径稍小于车轮的直径),并成黑白相间条纹.然后将可辨别黑白色的反射式光电开关安装在码盘的正对位置.为了减少可见光对传感器的影响,我们将传感器置于电机正下方.当码盘上的黑白条纹交替对准光电传感器时,将产生开关的关断,得到一个交替变化的开关量.然后经过如图6所示的一个转换电路,将开关量变为相应的脉冲量输入到微处理器的CAP1.2和CAP1.3引脚.
本课题所采用的光电传感器为直流三线式,工作电压在10~30 VDC范围内,检测距离可调.根据传感器的内部结构和引出线定义,选择工作电压12 VDC,与直流电机电压一致可以避免增加新的电源模块.将光电传感器简化为光电开关S1、S2,考虑到隔离干扰信号,采用TLP5122光电转换芯片进行信号转换.其管脚定义及内部结构如图5所示,有2个光电转换通道,左轮开关信号连接1、2引脚,右轮开关信号连接3、4引脚,当S1/S2闭合时1、2之间/3、4之间的发光二极管导通,使得7、8间/6、5间的光电三极管导通,这样图中的右边形成回路,根据ARM7微处理器的DC操作条件,其输入高电平范围2.0~3.3 V,通过一个300 Ω和一个220 Ω的串连电阻分压,在两个电阻中间取出需要的电平信号,此时为高电平,且为2.73 V满足电平要求.同理,当S1/S2断开时,1、2之间/3、4之间的发光二极管不导通,使得7、8间/6、5间的光电三极管不导通,这时在两个电阻中间取出的电平信号为低电平.将这两个电平信号通过P0.17、P0.18管脚输入ARM7微处理器,通过设置寄存器PINSEL0将P0.17、P0.18管脚定义为CAP1.2、CAP1.3,从而可以利用定时器的捕获功能.再设置捕获控制寄存器T1CCR为CAP1.2、CAP1.3上升沿、下降沿脉冲捕获,产生事件中断,并通过数字控制算法实现对系统的闭环控制.其中产生的事件中断用以完成对应任务.
3 基于PI算法在双轴驱动电机
在数字控制系统上实现PI控制规律的编程,其理论分析如下.取T0为采样周期可以用矩形面积求和的方法近似积分作用,即
式(4)中,Kp为比例系数,Ki为积分系数.u(k)即控制回路的输出量,也是控制对象的输入量,通常简写为CV.对于机器人电机的控制回路来说,CV是决定PWM信号占空比的一个不断变化的值.将得到的CV作为设定PWM信号占空比的参数,完成对电机的闭环控制过程.
3.1 PI控制算法实现
在同轴轮式移动机器人运动控制中,要求同时对两个后轮独立驱动的电机提供有效的伺服控制.其典型的控制包括如下两种:当左右两轮电机同向同速运动时使得机器人能够按照设计的路径行走;设置两轮之间特定的转速差时可以实现小车的转向控制.伪代码如下:
Loop:PVLT=ReadLeftSpeed ( ) //读左轮电机速度反馈值;
PVRT=ReadRightSpeed ( ) //读右轮电机速度反馈值;
Isum=Isum + (PVLT -PVRT ) //积分项;
LeftErr=SP-PVLT//左轮电机偏差值;
RightErr=SP-PVRT //右轮电机偏差值;
CVLeft=Kp* LeftErr-Ki* Isum //左轮电机控制器输出变量;
CVRight=Kp* RightErr+Ki* Isum//右轮电机控制器输出变量;
SetRightPWM(CVRight) //根据CV值设置PWM信号占空比;
SetLeftPWM(CVLeft) //根据CV值设置PWM信号占空比;
Goto Loop
3.2 机器人小车运动状态控制
根据L298N控制芯片引脚使能逻辑关系,通过设置控制芯片的方向控制信号引脚P0.4、P0.5和P0.12、P0.13实现对机器人小车运动状态的控制,其控制规律如表1所示,几种运动状态的自由组合可以实现小车原地零半径转弯,增加转向精度和反映速度.
3.3 左右轮电机最高转速分析
根据CVLeft值分别设置左右轮电机PWM占空比,实现PWM调速闭环控制,其中80.91 r/min和7766 r/min为占空比100%即最高电压下的左右轮电机转速.根据实验数据获得最高电压下左右轮转速,取其数学平均值作为最高电压转速参数,数据如表2所示,以便在精确控制时补偿左右轮电机本身参数和安装精度等的误差.
实验表明该XMU3平台可以实现对小车的精确伺服控制,能对小车伺服控制和零半径自转,平面旋转精度达到±5度,最高行进速度达到77.66 r/min,约合每分钟行进240 m,并可实现和ARM节点和远程PC节点的实时CAN通信.
4 结论
本文设计了一项自主移动机器人平台的伺服控制方案,建立了一个差分驱动双轴轮式移动机器人运动学模型,并实现了零半径自转及平面内的全向转动.实验结果表明双轴轮旋转控制方案能保证电机转动的准确性和稳定性,具有较强的鲁棒性,可作为室内服务机器人平台进行深度开发.
参考文献:
[1] 叶长龙,马书根,回 丽,等. 一种全方位移动机器人[J].中国科学,2011,41(2):181189.
[2] 杨 敏. 轮式移动机器人控制算法研究及其伺服系统设计[D].南京: 南京航空航天大学,2014.
[3] 王珊珊. 轮式移动机器人控制系统设计[D].南京:南京理工大学,2013.
[4] 刘 磊,向 平,王永骥,等. 非完整约束下的轮式移动机器人轨迹跟踪[J]. 清华大学学报:自然科学版,2007,S2(2):18841889.
[5] 宋广钢,李文锋,宋 威,等. 基于 ARM9 微处理器的移动机器人控制系统设计[J].微计算机信息, 2010,26(2):146149.
[6] KOEI M. Trajectory tracking control of mobile robots without using longitudinal velocity measurements [J].Art Life Robot, 2009,14(14):352356.
[7] CHANG W C. Visual navigation and control of mobile robots based on environment mapping[C]//International Conference on Advanced Mechatronic Systems (ICAMechS ), Kumamoto, Japan, 2014:469474.
[8] MIYAZAKI T. Formation control of mobile robots with obstacle avoidance[C]//The 14th International Conference on Control, Automation & System (ICCAS), Seoul, Korea, 2014:121126.
[9] 宋广钢,卢博友,雷永锋,等.基于 ARM 的智能机器人小车控制系统设计[J].微计算机信息,2008,24(2):239241.
[10] JANTZ S. Final report EEL 5666[R]. Machine intelligence laboratory, University of florida,2000,2532.
[11] BREZAK M. Timeoptimal trajectory planning along predefined path for mobile robots with velocity and acceleration constraints[J]. IEEE/ASME International conference on advanced intelligent mechatronics, 2011, 30(1):942947.
[12] ZAMAN S. ROSbased diagnostic board for detecting and repairing hardware faults in autonomous mobile robots[J]. International conference on robotics & emerging allied technologies in engineering, 2014,32(1):95102.
(编辑 CXM)