关于智能小车软件设计的探讨

2016-08-29 03:10湖北工程学院杨鹏胜
电子世界 2016年15期
关键词:模糊化舵机模糊控制

湖北工程学院 杨鹏胜



关于智能小车软件设计的探讨

湖北工程学院杨鹏胜

由于汽车工业的飞速发展,关于汽车的研究越来越多,各种在模拟环境(蛇形弯道)下的小车种类层出不穷。根据智能小车不需要人为持续管理,能够显示时间速度、里程;能自动寻迹,寻光,避障;在行驶时还可以控制速度、定位停止、传输图像等功能。在科学勘察、交通出行等领域有着广泛的应用前景。下面主要探讨关于小车软件方面的的设计。

1.控制算法

小车的控制包括电机和舵机的控制,具体的控制算法有PID控制,bang-bang算法控制和模糊控制。

1.1PID控制

PID 控制是工业过程控制中历史最悠久,生命力最强的控制方式。这主要是因为这种控制方式具有直观、实现简单和鲁棒性能好等一系列的优点。PID控制主要有三部分组成,比例、积分、微分。比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。偏差一旦产生,调节器立即产生控制作用使被控量朝着减小偏差的方向变 化,控制作用的强弱取决于KP。当仅有比例控制时系统输出存在稳态误差为了消除稳态误差,引入积分控制。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。为了预测预测误差变化的趋势,引入微分的控制器,这样就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。PID控制狂徒如图1所示,

图1 

对应的误差传递函数为:

式中,Kp 为比例增益;Ti 为积分时间常数;Td 为微分时间常数;U(s)为控制量; E(s) 为被控量与设定值 R(s)的偏差。时域表达式为:

在单片机中,我们仅能对数字信号处理,即数字 PID 控制。将上式离散化,得:

A.位置式PID算法直接利用上述离散化公式计算,框图如右图所示。由于积分项(Pi)是将所有采集值偏差相加,在一段时间后会很浪费单片机资源。对其稍加改进,得到 增量型 PID 算法。

B.增量式 PID 算法为:

式三减式四得:

由此,第k个采样时刻实际控制量为u(k)=u(k-1)+△u(k),为方便书写,写为:

其中,q0=(1+T/Ti+Td/T), q1=-Kp(1+2Td/T),q2=KpTd/T

由上可知,利用三个历史数据,递推使用,即可完成PID控制量。框图如图2所示。

1.2模糊控制

一般控制系统包含了五个主要部分,即:定义变量、模糊化、知识库、逻辑判断及反模糊化,底下将就每一部分做简单的说明:

(1)定义变量:也就是决定程序被观察的状况及考虑控制的动作,例如在一般控制问题上,输入变量有输出误差 E 与输出误差之变化率 CE,而控制变量则为下一个状态之输入U。其中E、CE、U统称为模糊变量。

(2)模糊化(fuzzify):将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,依适合的语言值(linguisitc value)求该值相对之隶属度,此口语化变量我们称之为模糊子集合(fuzzy subsets)。

(3)知识库:包括数据库(data base)与规则库(rule base)两部分,其中数据库是提供处理模糊数据之相关定义;而规则库则藉由一群语言控制规则描述控制目标和策略。

(4)逻辑判断:模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论法进行推论,而得到模糊控制讯号。此部分是模糊控制器的精髓所在。

(5)解模糊化(defuzzify):将推论所得到的模糊值转换为明确的控制讯号,做为系统的输入值。模糊算法可以解决一些非线性问题,将赛道分为直线、入大小弯、出大小弯、蛇形弯道,对应的直线加速、入大弯减速转方向、入小弯制动转方向、出弯加速、蛇形弯道直接通过(若可以达到这种前瞻性)。要达到这种控制要通过实际 检测,分析大量赛道磁场信息,找出它们的特征。

2.软件的设计及实现

软件运行需要配置单片机各个模块寄存器数值,使单片机各个模块正常工作。初始化中包括:单片机时钟配置、I/O口配置、PWM模块配置、A/D模块配置、RTI实时中断配置、脉冲捕捉模块配置。当初始化完毕后,进入跑车程序:对传感器输入信号进行采样,当完成一次采样后将采样值映射成车相对于跑道的位置,根据当前与过去位置决定舵机转角和电机速度,通过改变PWM模块内部寄存器数值可以得到不同占空比的方波信号,实现对舵机和电机的调节。软件整体流程如图3所示。

图2 

图3

小车调试上述算法参数的获取必须通过实际的测量,跑道信息的获取用蓝牙蓝传送数据。利用蓝牙串口模块,将所需数据发回PC机,通过 MATLAB仿真分析偏差变化,对数据进行处理得到赛道信息,从而调整参数使之达到最佳值。

3.结语

综上所述,小车软件设计需要考虑实际操作中方方面面的问题,而控制方法更是重中之重,虽然模糊控制可以较好解决一些非线性问题,但控制复杂,实际调试中较PID控制无明显优势,所以我们采用PID控制。舵机为位置式PD,虽然存在稳态误差,但可以快速响应;电机控制为增量式 PID,由于给定速度频繁变化,采用微分先行 PID,使电机能够快速响应。

[1]夏克俭.数据结构及算法[M].北京:国防工业出版社,2001.

[2]仲志丹,张洛平,张青霞.PID调节器参数自寻优控制在运动伺服中的应用[J].2000.

猜你喜欢
模糊化舵机模糊控制
([0,1],[0,1])-模糊拟阵的基和秩函数
餐饮娱乐空间的“边界模糊化”态势探讨——餐饮娱乐空间设计专辑
三角模糊数去模糊化对VIKOR妥协解的影响研究
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
基于模糊控制的恒压供水系统的研究
基于模糊控制的无人机滑跑起飞控制方法研究