当前位置:首页 期刊杂志

一种直立智能循迹小车的设计

时间:2024-07-28

(华北水利水电学院机械学院,河南 郑州 450011)

0 引言

根据第七届全国大学生“飞思卡尔”杯智能汽车竞赛要求,电磁组比赛所用车模仿照两轮自平衡车模设计,采用双后轮驱动,车模在直立的状态下沿着赛道行走。直立行走智能车是一个高阶次、强耦合、多变量的非线性系统,它是直线一级倒立摆和环形一级倒立摆的综合体。通过分解系统,简化系统,将系统分为直立、行走、转向三方面控制,三者相互叠加、相互影响,最终控制动力均来自电机驱动力。

1 系统整体结构设计

智能小车在直立的状态下以两个后轮着地沿着赛道行进,相比四轮着地状态,车模控制任务更为复杂。系统硬件部分以MC9S12XS128[1-4]为主控制器,软件采用卡尔曼滤波和PID控制算法[5-6]进行数据处理,以实现最佳控制效果。

1.1 系统硬件结构

直立智能小车硬件采用模块化设计,主要由全桥电机驱动模块、倾角测量模块、光电编码器、赛道信息检测模块、无线通信模块等构成。整个系统构成一个闭环控制系统,其原理如图1所示。

图1 系统结构原理框图

倾角测量模块由ENC-03B倾角陀螺仪和MMA7260加速度计组成,赛道信息检测模块由水平陀螺仪和电感线圈组成。MC9S12XS128控制器通过倾角检测模块获得车模倾角信息,通过水平陀螺仪和电感线圈获得赛道信息,通过光电编码器测得车速信息,完成原始的数据采集。

控制器对采集到的信息进行处理,求出小车运动的控制参量。同时通过无线通信模块将数据返回上位机,通过上位机直观显示小车的各种信息,并实时调整参数,提高小车的速度和稳定性,逐步提高整车性能。

1.2 系统软件构架

系统软件采用C语言编程[7],主要包括初始化、参数设定、数据处理(卡尔曼滤波)、直立控制、方向控制、速度控制等模块。系统软件流程图如图2所示。

图2 系统软件流程图

主控制器通过片内A/D转换将各传感器采集到的信息转化为数字量,然后对数据进行处理:①通过卡尔曼滤波对倾角测量数据进行信息融合和补偿,得到准确的角度信息;②对实时车速信息和赛道信息进行处理,采用PID算法,校正控制参量,控制电机运动,实现直立、速度和方向控制[8]。

2 信息采集和处理

2.1 角度信息的采集及处理

系统采用MMA7260加速度计测量小车的重力加速度,其输出值为重力在车体方向的重力加速度,通过反正弦运算可获得车体倾角。小车车体在一个很小的倾角范围内变化,可以将这种反正弦关系近似线性化。但是在实际小车行走时,车体本身摆动所产生的加速度会产生很大的干扰信号,它叠加在有用测量信号上,使得输出信号无法准确反映车体的倾角,因此不能单独使用加速度计测量小车倾角。

系统采用ENC-03B倾角陀螺仪测量小车绕轮轴旋转的角速度,通过对角速度积分获得车体倾角。如果角速度信息存在较小的偏差,经过积分运算后误差会积累,且随着时间延长不断增加,导致测量值完全失真。同时倾角陀螺仪存在温度漂移,会进一步加大误差。因此,智能小车系统不能单独使用陀螺仪进行倾角测量,需要采用加速度传感器进行校正。

为获得准确的倾角信号,需采用多传感器信号融合处理,并采用适宜的数据融合方法,以达到最好的测量效果。

卡尔曼滤波是一种最优化自回归数据处理算法[9-10],它属于一种软件滤波方法,常用于传感器数据融合。卡尔曼滤波是一种递归估计,其通过上一时刻的最佳估计值和当前状态的观测值来更新当前状态的估计值。

已知倾角φ和倾角角速度存在导数关系,φ可作为状态向量;利用加速度计估计陀螺仪的偏差δ,将该偏差作为另一状态向量,则有:

(1)

式中:ωgyro为陀螺仪测量值;ωg为陀螺仪的测量噪声;φacce为加速度计测量值转化后的角度;ωa为加速度计的测量噪声,且ωg和ωa为相互独立的零均值高斯白噪声。

令X=[φδ]T,T为采样周期,则可得到离散系统的状态方程X(k)和测量方程Z(k)分别为:

最小均方误差为:

(2)

式中:qacce为加速度计测量协方差;qgyro为陀螺仪测量协方差,其数值越小,表明卡尔曼滤波器对其传感器数据的信任程度越高;racce为观测噪声协方差。

时间更新方程:

(3)

状态更新方程:

(4)

经过卡尔曼滤波融合后的倾角波形平滑,滤波效果明显,并且完全跟随加速度计测量角度的变化。卡尔曼滤波同时也消除了加速度计测量中产生的噪声干扰和过冲现象。

在实际操作过程中,卡尔曼滤波还能有效抑制陀螺仪的温漂。

2.2 赛道信息的采集及处理

根据麦克斯韦电磁场理论,交变电流的周围会产生交变的电场;又根据毕奥-萨法尔定律,通有稳恒电流的导线周围会产生按一定规律分布的磁场,该磁场分布是以导线为轴的一系列同心圆,并且距离导线越远磁场强度越弱。导线周围变化的磁场可以近似为缓变的磁场,按照检测静态磁场的方法获取导线周围的磁场分布,从而检测出赛道信息。

系统采用两个工字型电感线圈检测导线两侧的磁场强度,并将两个电感线圈测得的数据之差和两者之和作商,获得方向控制的比例偏差。

由于小车具有较大的转动惯量,在方向调整过程中会出现小车转向过冲而冲出赛道。为了消除小车方向控制中的过冲现象,需要增加微分控制。利用水平陀螺仪测得车体左右转动角速度,作为方向控制的微分控制量。

2.3 速度信息检测

系统通过光电编码器分别测得小车左右轮的实时速度。由于MC9S12XS128的脉冲累加器只有一个I/O接口,因此要通过分时测速对左右两轮进行测速。

3 控制方案

3.1 直立控制

在直立控制中,将车模近似为倒立摆,其受力分析如图3所示。

图3 倒立摆受力分析图

为使倒立摆能够像单摆一样稳定在垂直位置,必须使恢复力和位移方向相反,这样倒立摆所受的恢复力为:

F=mgsinθ-macosθ≈mgθ-mk1θ

(5)

式中:θ值很小,可对其进行线性化处理。

另外,为使车模尽快稳定下来,还需要增加控制阻尼力,增加的控制阻尼力与偏角速度成正比,所以式(5)转化为:

(6)

这样就可以将倒立摆模型转化为单摆模型处理,从而得到直立的条件:

(7)

比例参数能增强小车回复到平衡位置的回复力,但是比例参数过大会引起小车抖动;而微分参数相当于阻尼力,能够有效抑制小车的抖动。通过不断的参数校正,可以维持车模在很短一段距离内直立,但是随着时间的延长,小车摆动的范围会变大,最终会朝着某一方向加速运动,这时需要增加速度闭环控制。

3.2 速度控制

将直立控制与光电编码器测得的小车运动速度相加,便构成速度闭环控制。

在速度控制中,采用比例和积分控制。当给定速度为零时,增加积分控制能迅速使小车恢复到原来位置,但是积分值过大会导致车体发生抖动,此时加入比例控制能抑制这种抖动,增加小车稳定性;当给定速度不为零时,小车能稳定地按给定速度匀速行进。通过加入速度闭环控制,可以补偿陀螺仪和重力加速度的漂移和误差,提高小车倾角和速度控制的稳定性。

3.3 方向控制

方向控制在直立控制和速度控制的基础上完成。主控制器将通过电感线圈获得的比例偏差平均分配到左右电机,形成左右轮差动电压,通过差速进行转向,由水平陀螺仪测得车模左右摆动的角速度。由于角度和角速度存在导数关系,因此可以通过比例和微分控制实现方向控制。其中比例控制控制转向;微分控制对其进行修正,消除由比例控制引起的过冲,防止车模冲出赛道,以达到最佳的控制效果。

4 结束语

本文设计了一种基于卡尔曼滤波的直立智能循迹小车系统,在原始动态数据采集的基础上,通过卡尔曼滤波有效补偿传感器漂移与测量噪声等因素对加速度

计与陀螺仪的影响,减小倾角测量误差,提高运算速度。

通过对整个系统进行分解,分解后独立控制,简化了车模的数学模型,最终小车能够稳定地直立,平滑地过弯,响应速度快。在控制方面利用闭环控制,有效地提高了车模运行的稳定性。该智能循迹小车参加2012年第七届“飞思卡尔”杯全国大学生智能汽车竞赛,循迹速度为2.5 m/s,并获得二等奖,证明了循迹小车设计的正确性与合理性,应用前景广阔。

[1] 张阳.MC9S12XS单片机原理及嵌入式系统开发[M].北京:电子工业出版社,2011:84-132.

[2] 卓晴,黄开胜,邵贝贝.学做智能车—挑战“飞思卡尔”杯[M].北京:北京航空航天大学出版社,2007:32-146.

[3] 孙同景.Freescale 9S12十六位单片机原理及嵌入式开发技术[M].北京:机械工业出版社,2008:28-112.

[4] 王威.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社,2011:52-96.

[5] 刘撷捷,杨智,范正平.基于LabVIEW的PID参数自整定控制器设计[J].自动化仪表,2009(11):38-40.

[6] 咸庆信,类延法.PID控制[M].北京:机械工业出版社,2011:18-128.

[7] 谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005:30-120.

[8] 翁卓,熊承义,李丹婷.基于光电传感器的智能车控制系统设计[J].计算机测量与控制,2010,18(8):1789-1791.

[9] 冯智勇,曾瀚,张力,等.基于陀螺仪及加速度计信号融合的姿态角度测量[J].西南师范大学学报:自然科学版,2011,36(4):137-140.

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

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!