英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
基于卡尔曼滤波和PID算法的双轮自平衡汽车
摘要
自平衡汽车是一种典型的不完全控制系统。自平衡车体是一种自然的不稳定性,因此它具有多变量、非线性、强耦合等特点。 惯性传感器的选择已经成为设计自平衡汽车时最重要的问题之一。但是传感器模块太贵了,这就是导致汽车自平衡成本太高的原因 。选用成本较低的加速度ADXL335和角速度传感器ISZ-650,使传感器模块更便宜,并用卡尔曼滤波和PID测量姿态算法。最后提出了一种自平衡汽车模型,证明了降低成本的可行性。
关键字:自平衡;陀螺仪;加速度计;PID控制;卡尔曼滤波
第1章 导言
基于平衡倒立摆原理模型的两轮移动机器人移植到移动机器人中。自平衡机器人和倒立摆不同的方面,不仅实现平衡控制,而且也在平衡的基础上实现前进和后退转向运动。日本三洋电机研究出可以依靠保持平衡的倒立推车机器人“FLATH RU”。该机器人用于厨房与用户友好的服务,机器人头使用三个陀螺仪和一个三轴加速度传感器。
测量姿态系统中的传感器更昂贵。本课题拟选用一种成本较低的三轴加速度芯片ADXL335和ISZ-650单轴陀螺芯片,采用卡尔曼滤波和PID控制算法,最终实现低成本的二轮自平衡汽车解决方案,以及低成本两轮自平衡汽车解决方案的可行性证明了[1][2]。
第2章 自平衡系统硬件设计
该系统具有主控模块、姿态模块、采集模块、电机驱动模块、电机和电池模块,如图1所示。
图1.系统结构
主控模块内置10AD数模转换器,用于传感器数据采集和处理、角度转换、电机PWM控制等。
传感器组用于测量系统加速度和角速度。电机驱动模块用于驱动电机,直流电机驱动小车恢复平衡,电池部分为系统和电机供电。
- 系统的机械结构
系统机械结构具有一定的刚体,有利于稳定控制。汽车的上重心降低了电机控制的难度,但稳定性差,在同时,较低的汽车重心增加了控制难度,提高了电机的严格要求,但稳定性更好。所以设计要考虑到实际的各种情况。
- 直流电动机
直流电机作为汽车中最重要的部件之一,影响汽车保持平衡的控制性能和响应速度,从而综合考虑。从电机功率、电机转速、电机转矩等方面进行选择是必要的。
(1)直流电机的选择
主要选择有步进电机,普通玩具电机和直流空心杯减速电机,考虑到价格低,性能,电机速度线性变化和11.1V功率的汽车。
步进电机控制敏捷,响应迅速,抗干扰能力强等。但由于固定的移动步长,平衡控制的稳定性更加困难, 因为固定的运动步距角、惯性负载差、复杂的电路和单步有时超调。
普通玩具电机非常便宜,但没有变速箱,扭矩和功率小,线性变化不好,响应速度慢,不利于汽车平衡控制。
空心杯减速电机由于其特殊的机械结构,结构具有突出的节能特性、灵敏的方便控制特性和稳定的运行特性,因为它们具有领先齿轮箱、大扭矩和快速响应,自平衡汽车与其他电机相比具有不可替代的优势。
所以这个模型采用空心杯减速与系统应用需求的电动机。
(2)中空杯减速电机特性
通过传统的马达转子的结构形式中,结构空心杯电机没有芯转子也被称为空心杯型转子,其新颖的转子结构消除引起铁芯涡流电能损失,同时它的重量和旋转惯性大大减小,并且从而降低了转子自身的机械能量损失。
在八位PWM(脉宽调制)测试中,当输出占空比约为5%(2%)时,电机的编码器开始累积,证明电机开始转动,因此电机空心。杯减速电机控制性能更优越。
(3)电机驱动电路
电机驱动器电路选用驱动模块,基于L298N,其中有几个共同的功能,例如速度和方向指示灯,保护电路,数据范围IO,复位按钮驱动器模块。
L289N是一种高电压大电流的电机驱动芯片,可达到最高工作电压46V,连续工作电流2A,瞬时峰值电流3A的高压,大电流电机驱动芯片,芯片含有两个H桥高压大电流桥式驱动可以直接驱动两个直流电机。
- 控制电路的设计
该控制电路主要采用AVR微控制器作为主控制面板,其是一个简单的I/O板与USB接口,其包括12通道数字GPIO(通用输入/输出),4通道PWM(脉冲宽度调制)输出和6 / 8-信道10位的ADC(模拟数字转换器)的输入。
ATmega168或Atmega328作为低价微控制器用于类似的Java / C 语言的IDE集成开发环境和USB供电和下载程序,其开源和硬件大大降低开发成本。
- 传感器电路
为了实现两轮赛车的平衡,机器人的位置和姿态的信息快速,准确地获取这是前提,以控制自平衡汽车运动和平衡。该传感器不仅用于内部反馈控制,也可以用于感知与外部环境的相互作用。当自平衡车移动时,传感器将相关信息发送到控制器去判断和控制的自平衡赛车的平衡状态以保持动态平衡。
有许多不同类型的姿态传感器。该模型中使用的传感器是模拟输出加速度计和模拟输出陀螺。
(1)传感器选择
传感器种类和数量影响系统稳定性,传感器的选择对汽车性能至关重要。该系统采用美国ADI公司的三轴加速度计ADXL335芯片和单轴加速度计的角度芯片ISZ-650 InvenSense的公司来实现,以控制市场调研和分析后的成本车子的姿态测量。
微型电容加速度传感器ADXL335,300mV/g范围,是一种低成本的单片三轴加速度计,在使用前已设置了低通滤波器、温度补偿等。工厂和外围设备很少,只有四个电容,噪音很小。。
ISZ-650被广泛用于测量在移动终端中,如游戏,遥控器,平板电脑等,其具有0.5毫伏/度/秒,并直接连接2.27毫伏/度/秒的范围对应的输出引脚的姿势。
- 传感器电路设计
该传感器电路是根据传感器说明书中的官方参考电路设计的。
- 一些其他细节
PCB设计时,尽量缩短连线是为了防止了不必要的干扰。传感器组靠近所述轮轴被置于45度的位置,有利于精确的检测,减少不必要的干扰和复杂的干扰处理。由于电机电源、控制电路和传感器供电的电源是分开的,因此避免了干扰。
第3章 传感器数据处理
陀螺仪和加速度计是通过角度来测量自平衡小车偏离中心的平衡位置, 但陀螺仪在力矩的测量值上更精确,测量精度随时间的延长而降低,同时加速度计正好相反,即不准确,随着时间的延长,测量精度提高了,同时采用两种传感器进行互补融合,达到了精确的目的保证。
- 陀螺仪的数据处理
设计双轴陀螺仪的PCB同时兼容两个传感器,因为ISZ-650(单轴线)和IDG-650(2轴)的电路原理图陀螺仪完全兼容。
角加速度计的特点是当传感器转动一定的角度或固定值时,数字发生了变化。 传感器在位置1或位置2输出相同的值,即300,尽管它的位置改变了,但当传感器转动时,数字没有改变。从试验结果来看,陀螺仪的值在短时间内比较精确,但误差较大在较长的时间内,为了实现控制时的精确测量,尝试将采样周期最小化[3]。
因此,在(1)中,通过将角速度与时间积分来求出
Angle
n = angle
n-1 gyro
n*dt (1)
Angle
n :角度
Angle
n-1:陀螺仪转角值
gyro
n: 陀螺仪采样的角速度值
dt:取样周期
- 加速度计数据处理
加速度计外围电路非常简单,需要只有四个0.1mu;F的电容,3.3 V电源供给,能够输出的三轴加速度值。在这个系统中仅双轴X和Y在三轴加速计来计算偏差角。
加速度计的特性与陀螺完全相反,即重力加速度总是以垂直加速度存在于地面上,因此用输出不同的值加速度计的不同位置,如果加速度计的方向发生变化。 在实验中,当传感器处于位置1时,传感器输出300,在位置2时,传感器输出380,这是唯一的一个轴测量了加速度计。这表明加速度计在短时间内由于惯性测量的影响,误差较大,但随着测量时间的增加,误差逐渐减小。
反三角函数法的公式用于计算偏差角,并且因为倾斜角通常是非常小的。[4]的使用近似计算。
轿厢倾斜角可以通过反三角函数,其可近似计算,因为该角度通常是非常小的在图2中[10]进行计算。
theta;= arctan(X/Y)
theta;= X/Y
theta;:偏移角
X: 横向加速度
Y: 纵向加速度
图二.偏移角theta;
第4章 软件的设计与实现
A.平衡的实现
两轮自平衡车是基于传统的一级倒立摆的自然不稳定体。处理器分析并从其中不断检测姿态和传感器返回计算数据车的位置,以控制电动机的转矩与所述有效算术达到平衡的控制。
制作的关键步骤赛车的平衡是有效的方法之一是准确计算出当前身体平衡位置偏差角度,即两轮平衡车的现在的姿态。对平衡的最重要的步骤是计算与电流偏差角即在由加速度和陀螺仪传感器融合滤波获得两轮自平衡车姿态,然后达成PID算法控制电动机转矩实现最终平衡。
B、卡尔曼滤波
卡尔曼滤波是一个递归估计,因此历史信息并不需要记录或估计,只要估计值在最后的状态和观测到当前状态就知道。卡尔曼滤波器与大多数过滤器非常不同的是,它是一种纯的时域滤波器,并且不需要像一个低通滤波器,频域滤波器在频域设计然后转换到时域到实现[5]。
卡尔曼滤波器是由以下两个变量来表示:
Xcirc;
k|
k:K时刻的状态估计
Pk |
k:误差相关矩阵测量精度
卡尔曼滤波操作包括两个阶段:预测和更新。在预测阶段过滤器中使用的估计,在过去的状态,使在当前状态的估计。在更新阶段的滤波器优化在预测阶段获得,以获得更精确的新的估计值[6]的预测。
(1)卡尔曼滤波原理
卡尔曼滤波器的原理引入了离散控制处理系统首先可以由线性随机微分方程(2)中进行说明。X(k) = A X(k-1) B U(k) W(k) (2)
该系统测量添加在(3)中:Z(k) = H X(k) V(k) (3)
在最后两个公式中,X(K)是K时刻的系统状态,U(K)是K时刻的变量,A和B是系统参数,但是多模型系统的矩阵。在K.H的矩量中,Z(K)是测量系统的参数,但是多模型系统的矩阵。测量中W(K)和V(K)分别表示噪声 假设高斯白高斯噪声和协方差的过程是Q和R(这里假定它们不随系统状态的变化而变化)。
该系统的优化输出估计具体如下:
首先用系统过程模型预测下一状态的系统。假设当前的系统状态为k,目前的状态可以根据系统根据系统模型。
X(k|k-1) = A X(k-1|k-1) B U(k) (4)
在(4)X(k|k-1)中,X(k-1)是用最后一种状态预测的结果,X(k-1)是最后一种状态的最优结果,U(K)是目前的控制变量,如果不是控制变量,可以是0。
现在这个系统已经更新了,但是X(k|k-1)的协方差还没有更新。如果P显示协方差,那么:
P(k|k-1) = A P(k-1|k-1) Arsquo; Q (5)
在(5)中,P(k-1)是X(k-1)对应的协方差,P(k-1)是X(k-1)对应的协方差。表示一个转置矩阵。式中Q为系统过程协方差,方程(1)和(2)卡尔曼滤波器的前两个公式也是系统的预测。
现在有目前状态的预测结果,然后收集当前状态的测量值。估计了目前K状态的优化X(k|k)根据预测值和实测值:X(k|k) = X(k|k-1) Kg(k)(Z(k)-H X(k|k-1)) (6)
在(6)中,Kg是卡尔曼增益。
Kg(k) = P(k|k-1)Hrsquo;|(H P(k|k-1)Hrsquo; R) (7)
通过上述公式得到了K状态下的估计优化X(k|k),但在K状态下对X(k|k)的协方差进行了更新,以使卡尔曼滤波器运行下去。立即直到系统过程结束。
I是在(8)1个基质和I = 1为单模型和单次测量。 P(K | K)为P(K - 1个| K - 1)在式2中,当系统进入k 1的状态。因此,因此,该算法可以自回归运行。
方程(4)到(8)描述了卡尔曼滤波的原理,使计算机程序易于实现。
(2)实际测量的结果
通过编程测试卡尔曼滤波器的性能。所测量的曲线有很大的干扰和错误在汽车向前摆动和向后传感器组,所以加速度计测量曲线极大地受到惯性的影响,但波动有效地过滤掉,曲线多用卡尔曼滤波的加速度计和陀螺仪平滑和数据集成,因此汽车的态度是从黄线是汽车目前的态度在图3中更准确。
它是用于控制该更清楚,以指示传感器效果惯性而汽车向前运行很不利的,但在卡尔曼滤波图4和数据融合后所测得的值非常接近真实的一个。
accelerometer
result
gyro
图3. 向前和向后摆动时的产值
accelerometer
result
gyro
图4. 向前运行时的输出值
- PID控制
P
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[607141],资料为PDF文档或Word文档,PDF文档可免费转换为Word