CAN总线电机的控制及其在机器人竞赛中的应用

2018-01-05 23:02郁大鹏
中国信息技术教育 2017年24期
关键词:PID控制CAN总线

郁大鹏

摘要:为了适应时代的发展,培养当代机器人产业所需的优秀人才,全国大学生机器人大赛RoboMaster应运而生。本文以RoboMaster竞赛为背景,介绍了CAN总线技术在电机控制中的应用,并将CAN总线与无刷直流电机组合成性能良好的模块用于机器人的底层驱动,建立了迈克纳姆轮的运动分解模型,讨论了嵌入式的PID算法控制。

关键词:RoboMaster;CAN总线;无刷直流电机;PID控制;机器人运动控制

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2017)24-0060-05

作为共青团中央主办的全国大学生机器人大赛中的赛事之一,全国大学生机器人大赛RoboMaster以机器人对抗射击为主体,强调机器人的对抗性和技术性,鼓励机器人自动化和智能技术的发展。同时,RoboMaster通过平衡比赛的技术难度和观赏性,在全社会普及机器人知识和工程技术之美。

RoboMaster比赛强调工程技术和团队合作能力,对青年工程师及科学家的创新意识、技术水平、沟通交流能力的培养起到了很好的作用。在赛场上,选手可以在团队中展现技术实力与创新才华,通过合作获得优异成绩;观众能够通过机器人的对抗体验刺激的竞技乐趣,感受人与科技的无缝衔接。

本文结合机器人的底盘驱动控制和两轴云台发射机构,主要介绍CAN总线在无刷直流电机控制中的应用以及PID算法控制。

● CAN总线简介

CAN(Controller Area Network)是ISO國际标准化的串行通信协议。[1]在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发出来。[2]由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为满足减少线束的数量、通过多个LAN进行大量数据的高速通信的需要,1986年德国电气商博世公司开发出面向汽车的CAN通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,在欧洲已是汽车网络的标准协议。[3]

CAN总线通信是通过数据帧、遥控帧、错误帧、过载帧和帧间隔五种类型的帧进行。数据帧是用于发送单元向接收单元传送数据的帧;遥控帧是用于接收单元向具有相同ID的发送单元请求数据的帧;错误帧是用于当检测出错误时向其他单元通知错误的帧;过载帧是用于接收单元通知其尚未做好接收准备的帧;帧间隔是用于将数据帧及遥控帧与前面的帧分离开来的帧。在本文中使用STM32F4单片机进行CAN通信,主要使用的是数据帧,一般由7个段构成,即帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束。

STM32F4自带的是bxCAN,即基本扩展CAN。[4]它支持CAN协议2.0A和2.0B,能以最小的CPU负荷来高效处理大量收到的报文,支持报文发送的优先级要求。对于安全需求高的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。STM32F4的CAN发送流程包括程序选择一个空置的邮箱,设置标识符、数据长度和发送数据,设置CAN_TIxR的TXRQ位为1,请求发送,邮箱挂号,预定发送,发送和邮箱空置。

CAN接收到的有效报文,被存储在3级邮箱深度的FIFO中。FIFO完全由硬件来管理,从而节省CPU的处理负荷,简化软件并保证数据的一致性。应用程序只能通过读取FIFO输出邮箱,来读取FIFO中最先收到的报文。这里的有效报文是指那些被接收的且通过了标识符过滤的报文。

CAN接收流程包括FIFO空、收到有效报文、挂号1、收到有效报文、挂号2、收到有效报文、挂号3、收到有效报文和溢出。FIFO接收到的报文数,可以通过查询CAN_RFxR的FMP寄存器来得到,在FMP不为0时,可以从FIFO读出收到的报文。

● CAN总线电机控制

1.无刷直流电机简介

无刷直流电机被广泛地用于日常生活用具、汽车工业、航空消费电子、医学电子、工业自动化等装置。无刷直流电机不使用机械结构的换向电刷而直接使用电子换向器。无刷直流电机属于同步电机的一种,它的定子产生的磁场和转子产生的磁场具有相同的频率,所以无刷直流电机不会有普通感应电机的频差现象。[5]本文主要介绍应用最为广泛的三相无刷直流电机。

无刷直流电机的定子绕组可以分为梯形和正弦两种。绕组形式的不同将影响电机的反电动势波形,进而影响电机的性能。转子的结构主要有表面粘贴式磁极、嵌入式磁极和环形磁极。无刷直流电机常用的位置传感器有电磁式、光电式等。相对传统的有刷电机、感应电机,无刷直流电机拥有更高的转速扭矩比、良好的动态特性、高效率、长寿命、低噪声、宽转速范围、制造容易等优良特性。

2.无刷直流电机与CAN电调

本文以大疆的C620电调为例进行说明,它采用32位定制电机驱动芯片,使用磁场定向控制技术,实现对电机转矩的精确控制,与M3508无刷直流电机搭配,可以组成强大的动力套件。它支持CAN总线指令控制,最高支持20A的持续电流,支持对CAN总线上的电调快速设置ID,支持通过CAN总线获取电机温度、转子位置和转子转速等信息,切换电机时无需进行位置传感器参数校准。

如图1所示,①为7-pin电机数据端口,连接M3508直流无刷减速电机进行数据交互。②为三相动力线接头,与M3508直流无刷减速电机的三相输入接头相连。③为CAN终端电阻选择开关。④为SET按键,可对电调进行配置。⑤为电源线。⑥为指示灯。⑦为CAN信号端口。⑧为PWM信号端口。

用7-pin数据线分别插入电调和电机的7-pin数据端口、连接电调和电机。将电机的三相输入接头与电调三相动力线接头相连接,CAN信号线一头接入CAN信号端口,另一头接入目标接口。电调电源线连接至电源为电调供电,连接如图2所示。endprint

● CAN总线在机器人底盘运动控制中的应用

机器人整个控制系统框图如下页图3所示。

机器人运动要有满足控制要求的车轮运动,实现单个电机的PID闭环控制,消除电机之间的差异,提高电机的性能。[6-7]以PID闭环控制的电机为基础的全向运动理论能使机器人更好地适应复杂的场地环境。机器人的控制需要操作手下达指令,而任何控制信息都要通过通信系统传递给机器人的各个部件,然后各个部件做出响应动作,相互结合,加上传感器以及控制算法才能最终实现机器人的灵活运动。

机器人以PID闭环控制理论为基础实现单轮转动后,开始进行全向运动分解。麦克纳姆轮[8-9]由轮毂和安装在轮毂外缘上与轮毂轴线呈一定角度的无动力辊子组成,无动力辊子不仅能绕轮毂轴公转,还能在地面摩擦力作用下绕各自的支撑芯轴自转,公转与自转的合运动速度与轮毂轴有一定夹角,使其可以全方位运动。

机器人要实现全向运动,对车轮分布有一定的要求。按照辊子轴线的分布将麦克纳姆轮分为左旋和右旋两种方式,机器人车体实际安装中,需要两对旋向不同的车轮,且要求机器人底盘斜向方向上的车轮旋向一致,右前轮和左后轮采用左旋方式,左前轮和右后轮采用右旋方式。[10-12]四个麦克纳姆轮组成的机器人底座的受力分析如图4所示,每个全向轮都由一台直流无刷电机驱动,通过四个万向轮转速适当组合即可以实现机器人在平面上三个自由度的全方位移动。[13-14]图中轮子上的斜线代表辊子轴线的方向,Fa为轮子滚动时小辊子受到轴向的摩擦力, Fr为辊子做从动滚动时受到的滚动摩擦力,为各轮转动的角速度。通过运动学分析将机器人底盘的运动分解,可实现机器人进行任意角度的全向運动。[15]

通过CAN总线可以把机器人上所有CAN电机连起来,这比传统的PWM控制更简便。如图5所示,在机器人平台CAN总线上搭载多台电机时,串接即可。CAN总线既能发信号,又能读取电机转子位置等状态信息,在单片机中以数组的方式进行发送和接受。

以CH1、CH2、CH3、CH4标记四个电机、电调位置,本文机器人底盘麦克纳姆轮的分布如下页图6所示。定义面向M3508电机轴时,电机轴逆时针旋转方向为正转。当CH1、CH3正转,CH2、CH4反转时,机器人向前移动;当CH1、CH3反转,CH2、CH4正转时,机器人向后移动;当CH1、CH3、CH2、CH4都正转时,机器人左旋转;当CH1、CH3、CH2、CH4都反转时,机器人右旋转;当CH1、CH2正转,CH3、CH4反转时,机器人向左平移;当CH1、CH2反转,CH3、CH4正转时,机器人向右平移。

● CAN总线在两轴云台控制中的应用

云台控制板通过CAN通信协议和RM6025驱动板进行通信,控制信息以一个CAN消息帧的形式传输。其中,由云台控制板到RM6025驱动板的CAN帧内容为三轴驱动电流大小。由RM6025驱动板到云台控制板的CAN帧内容包括三轴实时驱动电流大小,以及三轴当前绝对角度值,本文会用到其中两轴的相关数据。两轴云台的具体控制算法为位置式双闭环PID控制算法。[16]

1.位置式PID控制算法

PID调节器是一种线性调节器,控制偏差定义为e(n)=r(n)-(n),并对该控制偏差作比例、积分、微分等运算,并将其各步运算结果作为控制量输出,用于控制受控对象(如图7)。本文系统采用数字式PID控制算法,其输出变量的离散表达式为:

其中,kp、ki、kd分别称为比例常数、积分常数、微分常数。实际利用位置式PID控制受控系统时,常采用经验值法或试凑法来分别调整kp、ki、kd的大小,调整或改善系统控制性能。

PID运算结果u(n)直接控制执行机构,在本系统中,该值对应驱动两轴云台无刷电机的电流值大小,其缺点在于当前采样时刻的输出与过去的各个状态有关,计算时要对各个时刻的e(n)进行累加,运算量大,且由于控制器的输出u(n)对应的是直接驱动无刷电机的电流大小,因而若计算出现异常,u(n)的大幅度变化会引起云台运动的极其不稳定。其优点在于适用性广,易于实现且对于位置式控制方式的系统,系统适用性总体较强,控制效果较好。

2.增量式PID控制算法

相对于位置式PID,增量式PID控制器的输出只是控制量的增量△u(n),对于位置式PID算法的转化计算式为u(n)=u(n-1)+△u(n)。其输出变量离散表达式如下:

其中,kp、ki、kd分别称为比例常数、积分常数、微分常数,e(n)=r(n)-y(n)为目标与输出量之差,称为控制偏差。

增量式PID算法的优点在于,首先,不需要累加,输出△u(n)的值仅与最近三次的采样值有关,容易通过加权处理获得较好的控制效果。其次,控制器每次只输出控制增量,即对应执行机构的位置的变化量,所以当机器出现偶然性故障时,其影响范围相对于位置式PID较小,不会严重影响系统的整体性能。最后,增量式PID控制可以做到手动至自动切换,冲击效应小,当控制器从手动向自动切换时,可以做到无扰动切换。

3.棒棒控制算法

设定阈值,在误差较大时采用大输出控制电机,将误差在最短时间内减小到所要求的范围,这就是棒棒控制的思想,棒棒控制又称时间最优控制。棒棒控制的优点在于,其在随动系统调转控制过程中能很好地满足系统快速性的要求,达到阶跃过程最小化,并且结合其他控制方法提高系统自适应能力和控制精度,有很好的推广价值。其缺点在于,阈值选取不当,可能会出现超调或严重回摆的现象,常常需要与其他控制算法配合使用。

此外,基于遗传算法的模糊PID算法[17]计算量过大,会给系统带来较大的延时,不能满足系统对实时性的要求,故不可用。两轴云台系统的工作环境并不会有太大的波动,根据比赛场景预测,单次转动角度值应在30度以下,所以可以采用分段模式下的模糊PID算法。由于控制变量误差范围较小,分段可以满足系统适应性要求,若采用加权平均求取实时性PID参数,就会加大系统的计算任务,过分提高系统参数的灵敏度,这反而容易降低系统的抗干扰性能。最后,微分先行、阈值控制方式可以有效抑制系统的超调,且调高系统的稳定性。本文选择通过分段,微分先行、阈值控制等方式改进的PID算法作为系统最终的控制算法。endprint

● 结语

CAN总线技术与直流无刷电机的组合非常适用于高性能的机器人平台,其体积小巧,设置简单,带有智能保护且动力强劲。它可内置多种传感器,可自动感应温度、断线等异常状况并及时报警,快速定位故障,使用更安全。在机器人平台上,CAN总线可以搭载多台电机,扩展性强,将是未来模块化机器人发展的重要技术之一。希望CAN总线、无刷直流电机模块等技术能运用到更多的机器人竞赛和实践项目中,培养更多的机器人技术人才。

参考文献:

[1]辉亚男,冷文浩,刘培林.CAN总线应用层通信协议的设计与实现[J].计算机工程与设计,2008(3):669-671.

[2]杨建军.CAN总线技术在汽车中的应用[J].上海汽车,2007(6):32-34.

[3]王小飞,向国权.车载CAN总线技术研究综述[J].汽车零部件,2009(8):64-65.

[4]陈国伟,丁学明.基于CAN总线的无刷直流电机控制系统设计[J].电子科技,2017,30(3):153-156.

[5]史鹏飞,刘景林,谢映宏.基于CAN总线的测试用无刷直流电机控制器设计[J].测控技术,2012,31(2):68-71.

[6]刘慧博,王静,吴彦合.无刷直流电机模糊自适应PID控制研究与仿真[J].控制工程,2014,21(4):583-587.

[7]石维亮,王兴松,贾茜.基于Mecanum轮的全向移动机器人的研制[J].机械工程师,2007(9):18-21.

[8]王一治,常德功.Mecanum四轮全方位系统的运动性能分析及结构形式优选[J].机械工程学报,2009,45(5):307-310.

[9]海丹.全向移动平台的设计与控制[D].长沙:国防科学技术大学,2005.

[10]卢浩文,谢佳洽,李澤寰,等.基于三维软件的麦克纳姆轮移动平台悬架系统研究[J].数字技术与应用,2016(11).

[11]陈博翁,范传康,贺骥.基于麦克纳姆轮的全方位移动平台关键技术研究[J].东方电气评论,2013,27(4):7-11.

[12]Diegel O,Potgieter J,Badve A,et al.Tlale,Improved Mecanum Wheel Design for Omni-directional Robots[C].2012:117-121.

[13]Mohd Salih J E,Rizon M,Yaacob S,et al.Designing omni-directional mobile robot with mecanum wheel.[J].American Journal of Applied Sciences,2006,3(5).

[14]Peng T,Qian J,Zi B,et al.Mechanical Design and Control System of an Omni-directional Mobile Robot for Material Conveying [J]. Procedia Cirp,2016(56):412-415.

[15]胡桐.四轮独立驱动和转向移动机器人的设计与控制[D].合肥:合肥工业大学,2015.

[16]方炜,张辉,刘晓东.无刷直流电机双闭环控制系统的设计[J].电源学报,2014(2):35-42.

[17]曹建秋,徐凯.遗传算法优化的模糊+变论域自适应模糊PID复合控制策略[J].信息与控制,2011,40(1):44-49+60.endprint

猜你喜欢
PID控制CAN总线
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
内模控制在火电厂主汽温系统中的应用
常规PID控制和常规模糊控制的比较
一种基于SPWM的逆变电源并联运行参数设计及控制策略仿真
基于CANoe的J1939协议在ECU通信中的应用
关于多旋翼式飞行器系统的研究
新型试验电源直流降压斩波系统的PID控制仿真研究