基于角度及角速度的智能汽车直立行走控制
2014-07-12宋国富
宋国富
两轮自平衡机器人是一种本质不稳定的移动机器人。其动力学系统具有非线性、多变量、强耦合、参数不确定性等特性。它已经成为了检验各种控制理论的理想平台。两轮自平衡机器人仅靠两个轮子支撑车体,采用蓄电池提供动力,由两个直流电动机驱动,采用姿态感知系统、通过姿态控制算法控制车体的平衡。它结构简单、运动灵活、适于在狭小的空间工作,有着广泛的应用前景。两轮自平衡机器人能够完成多轮机器人无法完成的复杂运动及操作特别适用,于工作环境变化大、任务复杂的场合,如空间探索、地形侦察、危险品运输等。此外,还可以用于玩具、教育和服务机器人等领域。因此开展两轮自平衡机器人的研究有着重要的理论及现实意义[1]。以前对于两轮自平衡机器人的运动控制的研究很多,但对智能车的研究毕竟还很少,即使有,也大多停留在理论研究和仿真的阶段实际,应用中并不多见。
汽车的直立行走方案是人工智能技术在现代汽车行业的新型应用。飞思卡尔智能车的电磁组车模采用后驱方式,两个驱动轮分别由两个直流电机带动,要求车子仅在后轮支撑下直立行进[2]。即通过对电机的PD调速控制既要实现车子自身的平衡,又要通过智能识别技术实现循迹前行。由于维持车子平衡的核心对象是两个驱动电机,因此对车子直立运行的整体控制方案可以分解成以下三个具体的子任务:
直立控制:借助角度测量及角加速度传感器,通过对驱动后轮的两个电机的正反向运转及PWM调速控制实现车子的直立平衡;
速度控制:借助角度测量及角加速度传感器,通过调整车子直立的倾斜角度来实现行进速度控制,最终通过控制电机的转速来实现车子行进速度的调节与控制。
方向控制:借助智能识别传感器,通过控制两个驱动电机之间的转速差实现车子的转向控制。
在上述三个子任务中,直立控制和方向控制都是直接通过控制车子两个后轮驱动电机来实现的,虽然是两个分离式控制,由于电机转速控制是一种近似的线性状态,因此在实施过程中是将车子的直立和方向控制信号进行合成,对驱动电机实施的是一种叠加控制方案。而车子的速度控制主要是通过调节车子倾斜角度来实现的。
1 车子的直立平衡控制
车子直立平衡控制是车子的直立行走的基础,也是对车子最基本的控制,需要通过负反馈来实现,原理是使驱动电机带动车轮朝车体倾斜方向转动,以抵消倾斜的趋势便可以保持车体直立平衡。具体实现方法是:若车体垂直则车轮保持静止;若车体向左倾斜,车轮向左加速运行;若车体向右倾斜,车轮向右加速运行。要达到这一目的,主要是通过控制车子加速度,使其增加一个额外的受力,即恢复力,这个恢复力正好与运行方向相反,方程如下:
式(1)中,θ为倾斜角度,由于θ一般很小,线性化后可得:
从式中可以看出:只要控制加速度a,使得a>g,即可保证回复力的方向与位移方向相反。从而维持车子平衡。
此外,为了使车子能够尽快地在垂直位置稳定下来,还需要增加阻尼力。增加的阻尼力与车体倾斜的角度变化率即角速度成正比,方向相反。因此式(2)可变为:
式(3)中,θ为车体倾斜角度,θ′为倾斜角速度,满足车体平衡的条件为:a>g,k>0。
为提高系统性能,需引入比例微分环节,最后得到的系统统框图如图1所示:
图1 直立平衡控制的系统框图
分析框图,只要系统极点满足a>g,k>0,系统极点即颁布在s平面的左半平面,因此系统稳定[3]。
2 车子倾斜角度和角速度的测量
维持车体直立平衡的控制算法主要是消除车身倾斜的角度,因此车体倾角以及倾角速度的测量方式即成为控制车身直立平衡的关键。在实际控制中,采用加速度传感器来测量车身倾角,而陀螺仪则用于对车子倾角速度的测量。
2.1 角度传感器
本方案使用的角度传感器是飞思卡尔公司生产的MMA7260,运用它可以测量由地球引力作用所产生的加速度。MMA7260是一款三轴输出式半导体加速度传感器,可以同时输出三个方向上的加速度模拟信号,分别是重力加速度信号以及其在垂直和水平方向上的两个分量,如图2所示。将其装在车身上,它在垂直方向上输出的分量大小即可为车身的倾角θ[4]。
图2 角度传感器工作原理
2.2 角速度传感器
本方案选用村田公司出品的ENC-03系列加速度传感器-陀螺仪,这种传感器一般用于测量物体的旋转角速度。它利用了旋转坐标系中的物体会受到科里奥利力的原理,在器件中利用压电陶瓷做成振动单元,当器件旋转时会改变振动频率,进而输出物体旋转的角速度。
3 行进速度控制
如果在车子直立平衡控制中出现了倾斜,就会控制车轮在倾斜方向上产生加速运动[5]。利用这个原理可以实现车子的行进速度控制。需要解决的两个关键性问题:
3.1 实际车速的测量
可以通过安装在驱动轮轴上的光电编码盘来测量车子的行进速度。
3.2 车子倾角的控制
主要是通过角度控制给定值来实现。给定车子直立控制的倾角设定值(见图1),在控制调节下,车身将会自动维持在一个倾斜角度。通过车子直立控制算法可以知道,车体倾角始终跟踪重力加速度Z轴的角度。因此车子的倾角给定值与重力加速度Z轴角度相减,即得到车子的倾角。实际控制中,车子的速度控制在算法上主要采用以下几种手段:
(1)把车子的直立平衡控制简化成一个一阶过渡过程。
(2)由于车子倾角是由车轮运动产生,因此在算法上将车轮速度的倾角变量求导再乘以车身长度。
(3)系统的速度控制主要采用比例微分(PD)控制。优化后的角度和速度控制方案如图3所示:
在图3中,角度控制有两个控制参数,分别是比例控制参数PANGLE和微分控制参数DANGLE。速度控制同样也有两个参数,分别是比例控制参数PSPEED和微分控制参数DSPEED。它们均采用PD控制。
图3 速度控制系统框图
4 车子方向控制
方向控制是靠安装在车身上的左右两对电磁传感器,通过检测位于跑道中心线上通电导线的电磁感应强度,得到与距离成正比的模拟电压大小,并通过算法生成驱动电机差动控制信号,并通过左右轮驱动电机转速差的控制实现车子的转向,从而纠正车子距离跑道中心的偏差[6]。车子的方向控制与行进控制相结合,则可实现行进方向的智能控制。方向控制中的差动控制一般只采用比例控制就可以实现,但是由于车子的自重等因素使得车子具有很大的转动惯量,在转向调整过程中会出现过冲现象,因此需要增加微分控制。经过优化处理后,车子方向控制算法框图如图4所示。
图4 方向控制系统框图
5 结束语
本方案设计的车模,经测试验证,性能指标达到设计目标要求。
5.1 自平衡特性指标
在外界干扰使智能车竖直倾角达到20°时,智能车可以在2秒内重新回到平衡状态,如图5所示,说明智能车具有很好的鲁棒性。在稳定状态下,车身竖直摆动角度在平衡点±5°以内,智能车控制过程最为平滑。
图5 智能车有外部干扰时的竖直倾角曲线
5.2 行进性能指标
智能车最大时速可以超过60km/h,最大加速度1.5m/s2。在直线行进实验中,50米的行进距离偏移角度10%以内。智能车可以以任何半径转弯,零半径原地转动360°最小需时2s。
5.3 方案创新点
本文针对两轮自平衡智能车在实际应用中存在的问题,应用鲁棒控制理论及最优控制算法设计了行之有效的控制方案,提出了针对两轮自平衡智能汽车平衡和行进的新策略。
为了提高自平衡智能汽车的直立行走控制效果,利用陀螺仪及角加速度传感器,通过Freescale智能芯片输出的PWM波分别驱动左右轮电机,并利用闭环控制的PD调节技术,提高了智能车直立行走控制精度、可靠度以及集成度,最终得到了很好的控制效果。本文也可以为更为复杂的、具有其他用途的自平衡智能控制技术提供借鉴。
[1]颜 毅.基于学习控制的两轮自平衡机器人姿态控制系统[D].哈尔滨工程大学,2011(5):89-90.
[2]卓 青,黄开胜,邵贝贝.学做智能车-挑战“飞思卡尔”杯[M].北京:北京航空航天出版社,2007:30-41.
[3]李士心,刘鲁源,杨 晔,等.基于平稳小波变换的陀螺仪信号去噪方法[J].天津大学学报,2003(2):36-37.
[4]林 轶.飞思卡尔典型传感器的应用[J].单片机与嵌入式系统应用,2008(5):78-79.
[5]尹 洁,徐耀良,盛海明,等.基于飞思卡尔的自主寻迹智能车的设计[J].机电一体化,2008(12):73-74.
[6]Freeseale Semiconductor Inc.Surface mount micromachined aecelerometer MMA1200D [M].freeseale semiconductor technical data.2005:68-78.