新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 基于智能车非匀速行驶记忆算法的研究和实现

基于智能车非匀速行驶记忆算法的研究和实现

作者:袁三男,汪剑光,张云峰,吕尧时间:2009-06-19来源:电子产品世界收藏

        3.1、初圈的控制和记忆:

本文引用地址:http://www.eepw.com.cn/article/95472.htm

  在行使第一圈时的主要目的就是记忆赛道信息特征,并进行一定的处理。按常规方法小车需要匀速行驶,以便在固定的时间间隔或固定的路程间隔记忆相关的道路信息。本文在算法上进行了改进,第一圈行使时按照模糊控制算法计算相应的速度和方向。在角度的控制上,由于前轮左右转向力臂不同,导致左右转角控制不一致,同时对于特定情况下PID有着响应滞后的缺点,减低了系统的响应度和灵敏度,因此本文取消了传统意义上的PID控制算法,而采用更为准确的模糊控制和遗传算法。根据光电的个数来确定其量化的等级,再根据所要求的精度进行细化。在不同赛道由于摩擦系数不同,转角需要微调,在调试确定转角时,除了根据当前引导线的偏移外还需要根据当前车的运动趋势来综合考虑,从而得到转角的经验值。当小车实际运行时,按照测试得到的偏移量,再通过查表就可获得对应的角度偏移值。小车的速度也是按照偏移情况和当前小车的速度计算而得。

  数据记忆时,采用了12个磁钢的霍尔传感器,车轮转一圈得到12个计数,即使在速度很快的情况下响应时间也是us级的,精度足够满足要求。

  在非匀速的条件下,本文采用了新的数据存储格式。首先对当前的状态进行弯直的判断,根据迷糊控制得到的舵机的转角值c_ang,判断得到当前车的弯直情况。同时由于车是非匀速行驶的,而第二圈所行驶的时间间隔和路程间隔也并不一定和第一圈完全相同,因此本文只判断弯直情况,在弯道时,记忆每一个测试点的转角值,而直道时,既没必要存储转角,又可节省大量存储空间,因此对于直道时只记忆直道的起点和终点路程,而该路程是小车相对于起始点的绝对路程,也即霍尔传感器检测到的磁钢的个数ect_cnt。其数据格式用如下表1所示语法来描述,其中0x7f是分隔符,因为转角值不可能出现0x7f的值。

  表1 道路信息数据格式  

 

  系统按照前一状态和当前状态的不同情况分别进行数据存储,其算法如下:当前一状态是弯道,现状态是直道时,即弯直态,则写入0x7f,ect_cnt,其中ect_cnt是当前的路径计数;当直直态时,不存储;当直弯时,写入当前的ect_cnt,0x7f,当前的c_ang;当弯弯时,写入c_ang。系统初始化时为弯道,则开始行驶后,进入起跑线,此时检测到是直道,进入弯直状态,写入0x47和当前的ect_cnt,这就是道路的起始存储数据。

  3.2、数据的分析及处理:

  第二圈行驶时对存储数据进行分析处理。首先,第二圈是采用不同弯直判断条件,考虑到车在直道上可能发生的抖动以及在过S弯时会将短暂平缓的弯道检测为直道,第二圈弯直判断的条件必须比第一圈严格。数据的处理过程,是放在直弯,和弯直的两种状态下执行。

  第二圈过起跑线时,系统配置成进入弯直状态,此时应该根据第一圈记录的数据算出直道的长度,这样车在直线上就可以以很高的速度行使,并且能够提前减速,安全进弯,达到很好的控制效果。根据不同的长度的直道,应该采用不同的路程来进行提前减速,可以采用路程比例的方式,也可以采用分段细化的方式。当分析数据发现c_ang个数小于某一值时,认为该角度是因为车在直线上非正常的晃动所造成的,将其过滤。



评论


相关推荐

技术专区

关闭