基于串级PID控制的两轮自平衡车控制系统设计

(整期优先)网络出版时间:2019-11-05
/ 2

基于串级PID控制的两轮自平衡车控制系统设计

罗李娜

广州乐比计算机有限公司

摘要:伴两轮平衡车的状态变量多、系统模型非线性、变量间强耦合、时变性等不稳定,需要高效的控制算法和控制周期。本文采用串级PID控制系统配合互补滤波算法姿态解算,实时精确地控制无刷直流电机,以角速度环为最内环,角度环与速度环为外环实现了闭环控制。系统结果表明,基于串级PID控制的控制系统能够有效控制两轮自平衡车的运行。

关键词:两轮自平衡车;控制算法;控制周期

引言

两轮平衡车是通过电机对左右两轮进行力矩输出保持平衡的类倒立摆系统,具有结构小巧、控制高效和转弯灵活等特点已经成为移动机器人的研究热点。对于自平衡车控制系统,已有不同的控制理论被提出,其中常用于实际应用的控制算法有常规PID控制、自适应控制、模糊控制等。采用串级PID控制系统配合互补滤波算法姿态解算,通过实时精确地控制无刷直流电机,以角速度环为最内环,角度环与速度环为外环实现了闭环控制。在实践赛道中表现出具有良好的动态特性,反应迅速。

一、系统整体设计

本文要求能识别赛道方向信息,自主控制姿态,通过两轮驱动以直立姿态行驶在铺有电磁线的赛道上,并且同时在微控制器上采集到的各个传感器信息无线传输到PC上位机。系统设计整体架构如图1,微处理器选用飞思卡尔的MK6ODN512ZVLQ1O为控制中心,通过外接电磁传感器、MPU6050三轴姿态传感器、测速512线编码器来获取当前车体的方向、姿态、速度信息。通过微处理器运算后输出PWM控制信号给驱动模块驱动电机运转,同时通过NRF24L01无线传输模块发送信息到上位机进行监视。

二、软件设计

2.1软件总体设计框架

由于两轮平衡车是一种典型的倒立摆模型,根据平衡车的自平衡原理,当检测到传感器解算出的角度与预设机械零点角度不同即车体发生倾斜时,为保持车体平衡,需要电机发力驱

动车向前或向后获得加速度,让重心移动来达到系统动态平衡。在开通电源后,传感器必须进行初始化,从而保证传感器的工作正常。获取MPU6050的初始温漂进行清零,并配置软

件中断优先级,分别配置中断1(姿态控制)2ms、中断2(速度,电磁赛道采集)5ms,将串级控制优先级置高来确保平衡车直立为第一优先级。软件整体框架流程如图3所示。

2.2互补滤波姿态解算姿态解算的精确与动态性将影响控制是否高效,为此选用了一阶互补滤波作为姿态解算的方案。互补滤波算法有效地利用加速度计的时效性弥补了角速度的温漂问题。首先利用加速度传感器的Y轴和Z轴加速度用反三角函数解算出当前角度,但是由于加速度计容易获受尖峰的影响,所以需要对角速度进行积分获得当前角度,再对二者进行融合得到最终角度。由图可知互补滤波算法充分发挥了这两种传感器的优点,消除了加速度计的高频噪声和角速度的积分累计误差。与DM读取方案相比,互补滤波算法动态性更高,对闭环控制有更好的帮助。

2.3串级闭环控制

直立车上的传感器反馈的变量有角速度、加速度、编码器速度三个量,通过构建串PID控制系统,分别使用位置式PID和增量式PID来得到输出到驱动模块的PWM。由于串级的调试相比于普通PID有着更好的规律性,所以该控制系统比普通的方案能够更好更快地进行参数调制。并且出现问题现象后能够分析出是哪一环出的问题。设计并调试以角速度环为系统主回路的三闭环串PID控制系统。

三、研究背景及意义

近年来,双轮自平衡车的发展势头迅猛主要有以下两个原因,其一是它的实用性很强,可以应用到绝大多数领域,其二是支撑搭建双轮自平衡车的理论体系逐渐完善,技术手段日益先进,如数据获取更简单有效,数据处理更科学精确。

双轮自平衡车按其结构分类可分为轮式,履带式,跳跃式,复合式等各种类型以适应各种复杂的环境。而其中轮式机器人由于具有价格便宜,适用性较高,结构较为简单等众多优点从而被人们广泛使用。然而对于三轮及以上的车体或者机器来说,受其驱动装置等各方面的限制,使得这些机器的运动形式受到了极大的限制。当机器人在某些较为狭窄的空间工作,或者频繁进行大角度的转弯时,多轮机器就很难灵活快捷的执行任务,这种情况下双轮自平衡车的优势明显,这正是本文研究的目的所在。

两轮平衡车的两个车轮相互平行,并且共轴。可以看作是一级倒立摆的模型,因此它的系统是极度不稳定的。它的系统同时具有多变量,强耦合,非线性等特性,所以在科研学习中常常作为检验原理方法的装置,而且由于它具有较小的转弯半径与体积,行动异常灵活,所以在生活中也可以作为短程代步工具等实际意义。无论是其具有的学习价值还是实用价值,都让双轮平衡车的研究近年来发展愈加迅猛。

3.1国内外研究现状

3.1.1国外现状

最早对本课题进行探索的是日本的学者,并在二十世纪八十年代末,就有人对双轮自平衡车进行大量的研究,并给出了基本的框架,并且采用DSP(数字信号处理器)来检测姿态产生的变化,再通过控制电机的转速来控制机身的自平衡。

ETHZ的Felixgrasser等人于二十一世纪初研制出双轮自平衡小车Joe,见图1-1,Joe重12kg,高0.65m,最大速度为1.5m/s,可以稳定得实现U型转弯和零半径转弯,也能够通过遥控控制转向或者前进等。机器人的位姿数据由陀螺仪来获取,直流电动机驱动小车运动。

Felixgrasser等人还将其模拟成基于牛顿力学原理的便于分析的基本模型,经状态空间解耦,拆分运动,最终,采用线性控制器实现其机器的直立。

3.2控制系统任务分析

双轮平衡车的系统任务是在没有外力干扰的情况下,平衡车通过一对平行共轴的车轮来完成直立,运动等功能。

控制双轮车模自平衡的灵感源泉是经常发生在人们身边的小游戏,相信大部分人小时候玩过让直木棒一类的物体立于手掌中而不倾斜倒下的游戏,绝大多数人都可以通过反复练习让目标物体在掌心而不倒下。这要具备两个条件:一是载着木棒的手掌能够自由移动,第二个是用肉眼看到掌心物体的倾斜程度和倾斜趋势(作用和负反馈相同),从而通过大脑将所获得信息整合并命令手掌产生相应移动动作从而恢复木棒的倾斜,图2-1为这一过程的控制原理。

和图2-1原理相同,双轮自平衡车维持车身直立宏观上同样由负反馈完成,但对于图2-1

维持手掌中物体的平衡来说,其原理更为直观,简单。双轮自平衡车的左右轮是在地面上的,因此它只可能在车身前或后两个方向不稳定,可能产生前倾或者后倾。所以只要控制系统调节轮子转动的速度,抵消在滚动方向这个维度上倾斜的趋势就能够维持车身平衡。如图2-2所示。

由自平衡车的平衡原理可知,只要掌控车轮状态就可以使自平衡车在前后方向上产生的倾斜角调整为零,为分析车轮如何运行,可以建立自平衡车的运动学和动力学的数学模型,把本系统简化成一个倒立摆做出分析。保持自平衡车直立以及调节自平衡车速度,都是经由调节左右轮的转动速度来完成。所以,对于本系统而言,其控制输入量是受到直流电机驱动的左右车轮转速。车轮转速是通过输出PWM波的占空比进行大小控制。综上,可以将整个控制系统归纳为两个问题:

(1)小车的平衡直立控制:将平衡车姿态检测系统测得的角度值作为控制输入量,经计算机的分析和处理得到作用于电机的PWM输出脉冲作为输出量,使得小车保持平衡。

(2)小车的速度控制:在稳定直立控制的基础上,通过对平衡车直立时角度的大小进行调节来控制车身的速度,倾角越大,小车的速度越快,但是最终仍然是将电机电压作为控制输出量来完成速度控制。

显然虽然两个控制系统的输入量不同,但是最终都是对电机输出量进行控制来达到目的的。因此虽然这两个任务看上去相互独立,实际上存在相互耦合的关系。为了能够避免这种耦合关系,所以在进行分析时,应假设另一个问题已经解决.即在分析平衡直立时,不考虑速度的问题.反之,在分析速度时,认为系统已经保持直立。在调试过程中也是一样,可以很好的防止两个控制产生相互干扰。

结束语

本文研究串级PID控制系统配合互补滤波算法姿态解算,通过实时精确地控制无刷直流电机,以角速度环为最内环,角度环与速度环为外环实现了闭环控制。自平衡车的硬件系统少安全回路接线,减少因积灰造成操作按钮触点连接失效问题,以及时复位安全回路,同时通过操作画面可直观地监控到具体的安全开关器件报警位置并根据系统提供的解决方法快速准确地排除故障,减少设备故障停机次数。

参考文献:

[1]潘二伟.基于STM32的两轮自平衡车设计与实现黑龙江:黑龙江大学2015.23

[2]宁欣.基于STM32的两轮自平衡小车控制系统设计山东工业技术,2017.15

[3]叶金汉.一种两轮自平衡车的控制模型分析与实现2016.3

[4]孙金秋.etal.两轮载人自平衡车姿态测量单元设计科学技术与工程2018.26

[5]陈锟,陈郑洲.基于互补滤波器的两轮平衡2016.19