智能车 - 余晓填 - 图文 联系客服

发布时间 : 星期五 文章智能车 - 余晓填 - 图文更新完毕开始阅读9f534a8a6529647d2728525c

第4章 车模软件系统设计

经过几何建模和公式变换,可得出如下坐标变换关系:

其中

?c?row?atan??Y2??b?c*row??l????line?0.5?l_max?h????X2?b?c*rowcos??fLfLLtan?b??0.5tan?a?tan??0.5c?HHHHHr_max在摄像头安装固定后,c/tanθ、a、b、c、h 和h/cosθ 均为常量。由于车模采用了广角镜头,图像的畸变并不为理想的梯形失真,而会因为镜头小孔成像的原因出现一定的孔洞效应,使图像实际会出现一定桶形失真。由于桶形失真不算很严重,为了简化计算,我们只采用了梯形失真的矫正方式进行近似矫正,实际应用效果仍较为满意。

图4.5 曲线提取和视野矫正

4.1.5 跑道特征计算

因为摄像头安装在中轴线上,所以采集图像的中点位置也就是车体的中点。车体相对于导引黑线的位置偏差,可认为是图像黑线相对于图像中点的位置,即图像最近一行黑线坐标。

与计算车体位置偏差类似,计算车体角度偏差其实就是计算曲线拟合出的斜线与图像中轴线的夹角。在这里,我们使用最小二乘法(由于篇幅所限,而且算法简单就不作介绍)对跑道曲线进行一阶拟合,把跑道曲线拟合成具

有y=ax+b一阶形式的斜线。a即为曲线拟合直线后的斜率,通过??arctan?可求出曲线与车体中轴线的夹角。

19

第三届全国大学生智能汽车竞赛技术报告

4.2 模糊控制器的设计

4.2.1 模糊控制器的特点

在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。

传统的PID控制算法精度高 ,不需要精确的数学模型 ,但参数的整定至关重要 ,对于高速运动的巡线机器人这种高实时要求的非线性系统,很难到达理想的动态性能和实现系统稳定,采用传统的PID控制方式很难满足实时性控制的要求。模糊控制作为智能控制算法中一种 ,具有不要求精确的数学模型 ,人机对话能力较强 ,能够方便地将专家的经验与思考加入到知识模型中等优点,十分适合巡线机器人这种时变的、非线性的、高实时响应的系统。

在飞思卡尔的HCS12单片机上采用模糊控制有其特有的优势。由于该单片机具有模糊控制专用的运算指令,使用其内部指令使运算速度完全能够满足大部分控制的需求,且简化了设计过程。而且,模糊控制属于逼近式的控制方法,比较能模拟人驾驶车的控制过程。

4.2.2 模糊控制器自适应性的实现

应用模糊控制无须知道被控对象精确的数学模型,对多输入多输出、时变及滞后等复杂系统都能进行控制,它的实现主要依赖模糊规则库,且从工业过程的定性认识出发,较容易建立语言变量控制规则。为了获得良好的控制效果,必须要求模糊控制具有较完善的控制规则,这些控制规则是人们对被控过程认识的模糊信息的归纳和操作经验的总结。然而,由于被控过程的非线性、高阶次、时变性以及随机干扰等因素,造成模糊控制规则或者粗糙或者不够完善, 都会不同程度的影响控制效果。

为了弥补这个不足,自然就考虑到模糊控制器应向着自适应、自组织、自学习方向发展,使得模糊控制参数和规则在控制过程中自动地调整、修改和完善,从而增强了模糊控制器的自适应能力,提高了控制系统的动静态性

20

第4章 车模软件系统设计

能和鲁棒性,使系统的控制性能不断完善。综上所述,采用自适应模糊控制算法作为智能巡线机器人的控制方案,使模糊控制规则可以得到在线调整,改善了模糊控制的效果,提高了系统的性能,可使系统达到最佳的控制效果,较为合适。

图4.6 自适应模糊控制器示意图

4.2.3 双输入双输出模糊控制器在智能车上的应用

在前述的图像处理识别算法中,我们可以求出车体与跑道导引线的偏差、夹角及跑道的曲率。同时,车模的机械结构具有两个可控的量,即车速和转向。考虑到算法的复杂程度和可操作性,我们采用的一个二输入二输出的模糊控制器对车体进行控制,即输入车体的位置偏差、角度偏差,同时输出车速和转向两个控制量。

位置偏差车速给定模糊化角度偏差模糊推理清晰化转向给定

图4.7 模糊控制器的结构

21

第三届全国大学生智能汽车竞赛技术报告

4.3 车速PID控制的实现

为了智能车能快速安全地通过不同路况下的跑道,就要求车模的速度能快速准确的跟踪控制器的给定速度。在这里,我们使用了经典的PID控制算法控制速度。

由于车模安装有光电编码器,所以应用S12单片机的脉冲计数模块,定期地读取计数值,即可检测车模的速度。由于PID控制要求有稳定的控制周期,所以我们采用了定时器产生定时中断,激活后台的中断服务程序进行速度检测和PID控制。

当前速度定时中断读取测速值读取测速值当前速度计算速度偏差速度偏差控制量运算停车刹判车断PWM宽度改变电机输出PIDPWM 图4.8 车速PID控制流程

22