两轮自平衡车的研究

2016-06-21 07:02桂林电子科技大学信息科技学院朱剑芳
电子世界 2016年11期
关键词:陀螺仪卡尔曼滤波

桂林电子科技大学信息科技学院 朱剑芳

两轮自平衡车的研究

桂林电子科技大学信息科技学院 朱剑芳

【摘要】两轮自平衡车是一个高度不稳定两轮机器人,是一种特殊轮式移动车,其动力学系统具有多变量、非线性、强耦合、参数不确定性等特性,是研究各种控制方法的一个理想平台。其工作原理是系统以姿态传感器(陀螺仪、加速度计)来监测车身所处的俯仰状态和状态变化率,高速中央处理器ATmega16用PID算法运用卡尔曼滤波得出的更优倾角近似值,求出驱动电机的占空比PWM,驱动电动机产生前进或后退的加速度来达到车体前后平衡的效果。本文选用适当的控制器、执行电机和传感器,设计出两轮自平衡车的驱动电路,实现了两轮车的硬件控制系统。

【关键词】ATmega16;加速度传感器;陀螺仪;PID算法;卡尔曼滤波

1 引言

两轮自平衡车两轮共轴、独立驱动、车身中心位于车轮轴上方,通过电机运动保持车身平衡。由于特殊的结构,其适应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。从研究意义上看,自平衡车系统是一个集外界感知、动态平衡决策与规划、平衡控制与执行等多种功能于一体的综合复杂系统。

两轮平衡车通过姿态检测系统来实时检测车身姿态及运动状态,并根据姿态信息对小车进行控制。因此,对于两轮自平衡车来说,能够精确并稳定的检测当前车身倾角,是实现有效控制的关键所在。目前有多重技术可以实现倾角检测,但是实时性,经济性还不够理想。采用MEMS陀螺仪和加速度计等惯性传感器构成的姿态检测系统可以实时、准确的检测两轮自平衡车的倾角。两轮自平衡车属于本质不稳定系统,因此其实现的平衡是一种动态平衡。传统的PID控制在各类工业场合有着广泛的应用,完全可以满足两轮自平衡车的控制系统要求。

2 两轮平衡车总设计方案

本设计利用ATmega16单片机进行系统控制,通过接收和处理系统中各个模块的数据,利用C语言编程完成整个系统不同模块的控制。对驱动板控制以及传感器数据处理是组成该系统的核心。根据两轮自平衡车的特性,使用加速度传感器以及陀螺仪两种惯性导航传感器来采集车体的倾角姿态信息,空心杯直流减速电机自带光电编码器用以采集电机速度信息。主控制芯片采用ATmega16微控制器来完成对数据采集以及处理、对车体姿态计算和判断、空心杯直流减速电机控制及其他外围的控制等功能。

根据系统要求,两轮车必须要能够在无外界干预下依靠一对平行的车轮保持平衡,并完成前进,后退,左右转弯等动作。分析系统要求可知,保持两轮车的直立和运动的动力都来自于车子的两只车轮,车轮由两只空心杯直流减速电机组成。驱动器采用差动驱动方式。因此,从控制角度来看,可以将小车作为一个控制对象,控制输入量是两个车轮的转动速度。整个控制系统可以分为三个子系统:

(1)两轮车的平衡控制:以两轮车倾角为输入量,通过控制两个电机的正反转保持小车衡。

(2)两轮车的速度控制:在保持平衡的基础上,通过调节小车倾角实现对速度的控制,实际上还是演变为对电机的控制实现小车的速度控制。

(3)两轮车的方向控制:通过控制两个电机间的转速不同实现转向。

两轮自平衡车直立和方向控制任务都是直接通过控制车模两个驱动电机完成的,而速度控制则是通过调节小车倾角完成的。小车不同的倾角会引起车模的加减速,从而达到对小车速度的控制。三个子系统各自独立进行控制。由于最终都是对同一个控制对象(小车的电机)进行控制,所以各个子系统之间存在着耦合。为了方便分析,在分析其中之一时,假设其它控制对象都已经达到稳定。比如在速度控制时,需要小车已经能够保持直立控制;在方向控制时,需要小车能够保持平衡和速度恒定;同样,在小车平衡控制时,也需要速度和方向控制已经达到平稳。这三个任务是保持小车平衡是关键。由于小车同时受到三种控制的影响,从小车平衡控制的角度来看,其它两个控制就成为干扰。因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰。以速度调节为例,需要通过改变车模平衡控制中小车倾角设定值,从而改变车模实际倾斜角度,达到速度控制的要求。为了避免影响车模平衡控制,这个车模倾角的改变需要非常缓慢的进行。其中平衡控制是系统的最基本要求,也是整个控制系统的难点。

3 两轮自平衡小车软件设计

一个倾角环,一个车速环。角速度传感器(陀螺仪)IDG500(经过硬件RC滤波,再接入ADC)、加速度传感器ADXL322,二者kalman融合取得角度、角速度。本文对传感器两者所采集的数据进行了卡尔曼滤波优化处理,补偿陀螺仪的漂移误差和加速度计的动态误差,得到一个更优的倾角近似值。基于在过程控制中,PID控制器一直是应用最为广泛的一种自动控制器,它解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性,调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力。同时在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统。这样系统阶跃响应的稳态误差就为零。本文采用PID算法运用卡尔曼滤波得出的更优倾角近似值,求出驱动电机的占空比,来实现两轮自平衡电动车姿态的平衡控制,采用卡尔曼滤波来优化车体姿态,提高两轮自平衡电动车的控制精度。结构框架如图1-1所示。

图1-1 程序结构框架

4 两轮自平衡车系统调试

整定方法如下:

(1)调角度K值,调至平衡车基本能够站立。

(2)调角速度K值,从零慢慢增加,这个K很小。太小的话,车子反应迟钝,好像没有这项一样,太大的话,车子抗扰能力变差,所以需要大量测试细心调至适当位置。

(3)调水平速度K值的时候,要注意获得的车速的精确性,同时城需要做好车速的低通滤波。滤波做好了,车速调节效果就很好,算位移的时候就很精确,不会有太快的漂移。

(4)位移K值也应该很小,因为是速度的累计,慢慢的漂移会变大,设定一个上下限,是为了防止漂移过大造成控制量过大。K值参数如表1-1所示。

表1-1 K值参数

5 结论

本文主要研究两轮平衡车的设计与实现。通过相应硬件与软件的设计,实现了两轮平衡车的动态平衡与运动控制。

系统硬件结构以ATMEL公司8位单片机Atmega16为控制核心,采用MEMS陀螺仪IDG500及MEMS加速度计ADXL322构成了惯性姿态检测系统,通过MOS管组成的H桥电机驱动及旋转编码器实现了直流电机的闭环调速,最终实现了两轮平衡车的姿态检测与平衡控制。以及在保持两轮平衡的基础上可以实现前进、后退、转弯等基本动作。

参考文献

[1]林文建,钟杭,黎福海等.两轮自平衡机器人控制系统设计与实现[J].电子测量与仪器学报,2013.8.

[2]庄晓燕,王厚军.基于卡尔曼滤波器的IEEE 1588时钟同步算法[J].电子测量与仪器学报,2012(09).

[3]杨兴明,余忠宇.两轮移动倒立摆的开关切换模糊极点配置控制器设计[J]. 电路与系统学报, 2012(04).

作者简介:

朱剑芳(1981-),讲师,主要研究方向:电子技术应用,智能测控。

猜你喜欢
陀螺仪卡尔曼滤波
基于EMD的MEMS陀螺仪随机漂移分析方法
脉冲星方位误差估计的两步卡尔曼滤波算法
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
我国著名陀螺仪专家——林士谔
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于有色噪声的改进卡尔曼滤波方法
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法