APP下载

卡尔曼滤波在两轮自平衡代步车姿态检测中的应用

2014-09-06张团善何颖

单片机与嵌入式系统应用 2014年5期
关键词:代步车微控制器陀螺仪

张团善,何颖

(西安工程大学 电子信息学院,西安 710048)



卡尔曼滤波在两轮自平衡代步车姿态检测中的应用

张团善,何颖

(西安工程大学 电子信息学院,西安 710048)

介绍了一种MENS加速度计、陀螺仪与嵌入式微控制器相结合的两轮自平衡代步车姿态检测系统。针对加速度计和陀螺仪测量分别存在噪声干扰和随机漂移误差,采用卡尔曼滤波实现传感器数据融合,补偿传感器测量误差,得到车体姿态的最优估计。将该算法移植到姿态检测系统的微控制器中,测试结果表明卡尔曼信息融合可以有效提高系统检测精度。

姿态检测;STM32F103RET6;卡尔曼滤波;数据融合

引 言

两轮自平衡代步车作为一种新型轻便的交通工具,具有运动灵活、结构简单、自平衡控制的特点。代步车在运动过程中需要不断地对车体的运动速度、角度等姿态信息进行及时准确的采集与估计,以实现车体的运动规划调整和动态平衡控制。

常用的姿态检测传感器为加速度计和陀螺仪。加速度计用于测量与惯性有关的加速度,经转化后获得角度值,其误差小,精度高,但动态角度测量噪声干扰较大。陀螺仪的作用是测量角速度信号,其本身极易受噪声干扰,同时由于温度变化、不稳定力矩等因素,陀螺仪会产生随机漂移误差,并随着时间的推移而累加变大[1]。参考文献[2]采用互补滤波的方法,根据传感器输出特性选择相应的滤波器,达到加速度计与陀螺仪信号相互补偿的作用,具有理论简单、响应快的特点,但对横向加速度和陀螺仪漂移不够敏感,所以无法得到姿态信息的准确估计。本文提出了应用卡尔曼滤波算法实现加速度计与陀螺仪的检测信息融合,得到俯仰角和俯仰角速度的最优估计,并在以STM32F103RET6为控制核心的两轮自平衡代步车姿态检测系统上加以验证。

1 系统组成

本文所采用的姿态检测系统主要由加速度计、陀螺仪、微控制器、无刷电机等部分组成[2]。姿态检测系统框图如图1所示,陀螺仪和加速度计信号送入微控制器中,通过卡尔曼滤波器对传感器数据进行补偿和融合,获得准确的姿态信号,再通过PID控制算法输出控制量,经过三相逆变电路,生成PWM波驱动电机运转。

图1 姿态检测系统框图

1.1 加速度计

ADXL345是ADI公司2008年推出的采用MEMS技术的具有SPI和I2C总线数字输出功能的三轴加速度计,最大可感知±16g的加速度,感应精度可达3.9 mg/LSB,倾角测量典型误差小于1°,具有小巧轻薄、超低功耗、可变量程、高分辨率等特点。ADXL345可在倾斜敏感应用中测量静态重力加速度,也可在运动甚至振动环境中测量动态加速度。将加速度计垂直于车体俯仰轴安装时,通过反正切函数运算能得到准确的俯仰角信息,其表达式为:

(1)

其中,θ为俯仰角;Ax和Ay分别为横轴和纵轴的重力加速度输出。图2为加速度计检测原理图,检测数据通过I2C总线(SCL和SDA端口)送入微控制器。

图2 加速度计检测原理图

ITG3205是单一芯片并以数字方式输出的三轴MEMS陀螺仪,将数字输出X、Y、Z轴角速度值传感器整合在单一电路上。图3为陀螺仪检测原理图,检测数据通过高达400 kHz的I2C总线串行接口(SCL和SDA)与微控制器通信。

图3 陀螺仪检测原理图

1.3 微控制器

采用ST公司的STM32F103RET6作为控制芯片,它的最高工作频率可以高达72 MHz,并且片内集成了高速的存储器(高达512K字节的闪存和64K字节的SRAM),具有丰富的增强I/O端口和联接到两条APB总线的外设[3]。STM32F103RET6内部包含3个12位的ADC、4个通用16位定时器、2个16位带死区控制和紧急刹车功能,用于电机控制的PWM高级控制定时器、2个I2C总线接口利于检测数据的串行传输,适合应用于电机驱动和控制的场合。

2 卡尔曼滤波车体姿态信息融合

2.1 车体姿态模型

本系统采用的加速度计和陀螺仪都是三轴传感器,可以对车体运行过程中的俯仰、偏航、横滚状态的信息进行检测。本文主要研究俯仰状态,应用卡尔曼滤波对俯仰角和俯仰角速度进行数据融合[4-5]。车体的俯仰角与俯仰角速度存在导数关系,所以选取车体的俯仰角作为状态向量的一个元素。系统采用加速度计来估计陀螺仪的随机漂移gyro_bias,将此偏差作为另一个状态向量。

车体的俯仰角与俯仰角速度存在如下等式关系:

(2)

式中,anglek为估算的k时刻俯仰角,anglek-1为k-1时刻的俯仰角估计值, gyrok-1为陀螺仪所测得的k-1时刻角速度;gyro_biask-1为k-1时刻陀螺仪的位偏差,dt为采样时间。

如果认为前一时刻与后一时刻的漂移误差变化很小,即:

(3)

可得系统状态方程为

试验所得数据运用SPSS Statistics 19.0进行统计分析,作图运用Origin 8.0软件。

(4)

其中,wk是过程噪声,并假定其符合均值为零、协方差矩阵为R的正态分布。

测量方程为:

(5)

其中,θk是k时刻加速度计的俯仰角观测值;vk是观测噪声,假设符合均值为零、协方差为R的正态分布。

2.2 卡尔曼滤波器设计

图4 卡尔曼滤波算法框图

(6)

Q_angle和Q_gyro分别是俯仰角状态和陀螺仪漂移状态的过程噪声的协方差,相对较小的取值,体现更高的信任程度,一般取Q_gyro的值比Q_angle小三个数量级左右。观测噪声的协方差矩阵:

(7)

R_angle为加速度计测量噪声vk的协方差,R_angle越大,则观测值中被卡尔曼滤波器视为噪声的成分越大。

卡尔曼滤波以最小均方误差估计为准则,通过一串含有噪声的测量数据,对系统的内部状态进行估计[6]。通过对上述算法的循环使用,可得到车体姿态的最优估计。

3 实验验证

为了验证卡尔曼滤波融合车体姿态信息的可行性与有效性,将该数据融合算法移植到STM32F103RET6微控制器中,通过对两轮自平衡代步车姿态检测系统电路板的调试,实现对姿态数据的实时检测与处理。软件设置卡尔曼滤波器初始参数如表1所列。

表1 卡尔曼滤波器参数设置

实验结果如图5所示,在未经卡尔曼滤波器前,加速度计观测的俯仰角度存在较大的噪声干扰,角度输出为±10°之间;经卡尔曼滤波后,角度输出为±5°之间,有效滤除噪声干扰信号。

图5 俯仰角滤波结果

图6中卡尔曼滤波器对陀螺仪工作过程中的随机漂移误差进行估计,并用估计结果来更正陀螺仪测量的角速率值,有效补偿陀螺仪的漂移误差。经滤波后,系统达到更高的检测精度,满足实际需要。

图6 角速率滤波结果

结 语

[1] 徐东升.惯性导航中加速度计和陀螺仪性能研究[J].佳木斯大学学报,2012(3).

[2] 张吉昌,程凯.单轴双轮自平衡车姿态检测方案设计[J].中国海洋大学学报,2009(9).

[3] 李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008:7-14.

[4] Rich chi Ooi.Balancing a Two-Wheeled Autonomous Robot[D]. Perth:The University of Western Australia, 2003.

[5] 郜园园,阮晓刚.两轮自平衡机器人惯性传感器滤波问题的研究[J].传感技术学报,2010(5).

[6] 彭丁聪.卡尔曼滤波的基本原理及应用[J].软件导刊,2009(11).

何颖(硕士研究生),研究方向为检测技术与自动化装置。

Application of Kalman Filter in Two Rounds of Self-Balancing Walking Vehicle Attitude Detection

Zhang Tuanshan, He Ying

(College of Electronic Information, Xi’an Polytechnic University, Xi’an 710048,China)

The two rounds of self-balancing walking vehicle attitude detection system is introduced; MENS accelerometer and gyroscope combine with Embedded microcontroller are used.In view of accelerometer and gyroscope measurement respectively with noise and random drift error,kalman filter is used to realize sensors data fusion. In this way the sensor measurement error is compensated and the optimum estimate of car body posture is obtained.The algorithm is ported to the microcontroller of attitude detection system,the experimental results show that Kalman information fusion can improve the system detection accuracy effectively.

attitude detection;STM32F103RET6;Kalman filter;data fusion

TP391

A

2013-11-29)

猜你喜欢

代步车微控制器陀螺仪
基于EMD的MEMS陀螺仪随机漂移分析方法
给老年代步车绑好“安全带”
直面老年代步车
TASKING针对英飞凌第三代AURIX微控制器推出多核开发环境
编者按
我国著名陀螺仪专家——林士谔
物联网技术在微控制器实验教学中的应用
用于高品质电动汽车的分布式并行计算
老年代步车安全吗
微机械陀螺仪概述和发展