东北大学金工实习报告

 

第二篇:东北大学研究报告

附件1:研究论文

基于飞思卡尔单片机的智能车软件设计

孟祥飞 ,刘洪磊 ,罗凯 ,陈述平,张云洲

(东北大学信息科学与工程学院, 辽宁 沈阳 110004)

摘 要:飞思卡尔智能车大赛是一项普及面很广的比赛,比赛要求以飞思卡尔单片机为平台,独立制作可自主循线行驶的模型小车。本文介绍了基于飞思卡尔S12单片机和红外检测技术的智能车解决方案。该方案利用红外光电管作为传感器采集赛道信息,利用最小值法确定黑线位置,通过记录黑线位置实现转向的连续变化,同时辅助PID控制达到整个智能车系统的稳定运行。由于比赛已经举办过三届,系统硬件和机械部分已经比较完善,所以本文着重介绍系统软件方案和调试方法。

关 键 词:智能车;飞思卡尔单片机;红外传感器 ;最小值

中文分类号:TP242 文献标识码:A

Research of Smart-Car Software System Base on Freescale MCU

MENG Xiangfei,LIU Honglei,LUO Kai,CHEN Shuping

(College of Information Science & Engineering, Northeastern University, Shenyang, Liaoning, 110004, China.)

Abstract: Freescale's Smart car is a popularity contest a wide range of games, competitions require Freescale MCU platforms, independent producers could be independent of the model through the car lane. In this paper, based on Freescale's S12 MCU and infrared detection solutions for the smart car. Of the program governing the use of infrared photoelectric sensors collecting as track information, use the minimum value method to determine the location of the black line, black line through the record of the location of the realization of the continuous shift change, at the same time supporting intelligent PID control of the vehicle to achieve the stable operation of the system. As the competition has been held three times, the system hardware and mechanical parts have been more perfect, so this article focuses on system software programs and debugging methods.

Keywords:smart-car; Freescale microcontroller; infrared sensor ; minimum

1.引言

智能车的软件设计是系统的灵魂,其要分为

五大部门:传感器信号采集和电机速度测量,赛

道信息提取,赛道信息滤波,赛道特征识别,最

后为舵机转向执行和电机速度PID调节。

32 2 赛道信息采集 在基于红外检测的智能车中,红外整列传感器的检测赛道信息的采集程序是非常重要的,合

附件

理的信息采集处理流程会为程序的滤波,赛道轨迹识别,赛道特征判别,智能车状态判别埋下伏笔。在传感器信息采集中,我们采用间断的采集方式。

首先,初始化单片机的ECT中的模数向下计数器,设置其中断时间为我们一次传感器采集的时间,设置为0.15ms,初始化单片机的ATD模块,设置ATD0和ATD1采集为8通道,禁止中断,采集从0通道开始,和存储寄存器对应存储,即ATDxDR0L存储通道0的采集值,依次类推。

然后,在程序启动后开启模数向下计数器中断,当定时时间到的时候产生中断,在中断中使能ATD1的中断,一旦ATD1的中断被使能,则ATD1开始将ATD1接口的红外传感器输出的模拟电压转换为char型数字并保存在ATD1DRxL寄存器(x代表0-7)中,然后给单片机一个中断信号,单片机产生ATD1中断,在中断处理程序中将存有采集数据的ATD1DRxL寄存器中的值提取出来,然后关掉ATD1的中断,使能ATD0的中断;相同一旦ATD0的中断被使能,则ATD0开始将ATD0接口的红外传感器输出的模拟电压转换为unsigned char型数字并保存在ATD0DRxL寄存器(x代表0-7)中,然后给单片机一个中断信号,单片机产生ATD0中断,在中断处理程序中将存有采集数据的ATD0DRxL寄存器中的值提取出来,然后关掉ATD0的中断。

这一步骤主要是根据传感器采集的数据,提取小车所处环境的实时赛道信息。由于受条件制约,我们只能使用13对红外发射管和接受管的传感器,其两个传感器之间的距离约为20cm,所以其能检测到的赛道的精度有限,但是根据光敏三极管接受到的红外光线的反射点在赛道黑线(宽25cm)位置的不同,输出的电压值也不同,其具体表现为:反射点在黑线最中间的时候电

东北大学研究报告

压传感器在相同环境先连续采集2次的数据之间有较大的跳变,除以8之后的数据明显跳变平缓很多,连续采集2次的数据跳变仅为1。

图1 赛道信息提取流程图

如图1所示。对每一路传感器的采集数据累加6次之后再除以8,这样处理是为了防止传感器在采集道路信息的时候,由于赛道上某些干扰黑点导致传感器误识别为赛道信息;另外我们6次累加后的数据除以8而不是6,这是因为我们发现,

4 赛道信息提取

3 采集数据处理流程

当AD采集13传感器的输出电压后,第一步是对这些传感器进行简单的处理,程序流程图

33

值最低,越趋向两边电压值越大。

当黑线处于两个相邻传感器的反射点之间时,可以根据相临传感器采集的数据大小的关系来判别黑线究竟是在这两个传感器之间的什么位置,理论上采集相临传感器输出的电压值和黑线的位置的关系意一一对应,但是受光敏三极管的精确度和灵敏度所限,我们简化后取其中3种情况,即:选择13个传感器中的输出电压最小值的传感器位置Pos为参考位置,辨别最小值的传感器位置的左边位置Pos+1的传感器和右边位置Pos-1的传感器的输出的 电压数据的大小和最小值之间的差值,即:

ADerror1=AveAD[Pos+1]-AveAD[Pos], ADerror2=AveAD[Pos-1]-AveAD[Pos],与我们所设置的一个常量Const_yu比较大小, ADerror1和 ADerror2同时小于Const_yu或者同时大于Const_yu,则取黑线位置在Pos传感器的中间,取参数Pn=3×Pos;当ADerror1小于Const_yu并且ADerror2大于Const_yu,我们认为黑线在Pos传感器的下方偏左边, 取Pn=3×Pos+1;当ADerror1大于Const_yu并且ADerror2小于Const_yu),我们认为黑线在Pos传感器的下方偏右边,则取Pn=3×Pos-1;于是黑线的位置被细化,细化后可得到37(由于最左边和最右边的传感器只有2种状态)个黑线的位置Pn,取值0到36,Pn则是我们关心的黑线的位置,也就是传感器的状态,细化后的传

感器状态更有利我们对舵机的转向的控制和电机的速度控制,使其控制更为平缓,不至于前后2次赋值有很大变化。

另外在此基础上,我们对获取Pos的变化进行判别,加入Pos提取的值和上一次的值保存的值之差的绝对值大于Grad,则说明这次获取Pos的信息有误,因为我们提取Pos仅为0.9ms(0.15ms×6),而智能小车目前最快的速度不会超过5m/s,所以我们认为智能小车在行驶中连续两次识别黑线的传感器的位置也就是Pos的值,不会出现跳变大于3的情况,所以这种渐变的滤波是合理的,这样防止了小车在拐弯时由于速度过大,一部分传感器识别到赛道外部以后误识别。

5 赛道特征识别

依据历届比赛赛道的情况和比赛规则提供的赛道信息来看,比赛的赛道具有明显的特征,比如:小S弯道,大S弯道,长直道等。为了更好的控制智能小车的转向和速度,进行赛道特征的识别是非常有必要的,根据赛道的特征,以及具有明显特征的赛道类型对小车的转向、速度的要求,我们将赛道的特征分为三类:普通赛道,大弯道和长直道,这三种类型赛道对小车快速行驶的转向、速度要求具有明显的不同。赛道特征识别处理流程图见图2。

34

附件

速度均采用查找表赋值的方式,每一个Pn值都对应一个舵机偏转参数和电机速度参数,不同的是舵机采用中间值(TurnMid)加查找表的偏转值构成转向值再赋给舵机输出,电机速度直接采用查找表赋值。电机速度在三种不同的特征赛道上对应有3个数组存储的速度表,舵机仅用到2个数组存储偏转表,当识别大弯道时,采用Turn_C大偏差的偏转舵机表和Low_sp低速速度表使小车舵机快速反应,速度也快速降低,顺利过弯。舵机转向和电机速度的赋值流程图见图3。

图2赛道特征识别处理流程

由于红外传感器只能提取赛道的一行信息,所以对于红外传感器只能依靠采取更多的行数,通过对某些传感器识别到黑线之后的计数来识别赛道特证。

在程序初始化时我们设置赛道为普通赛道,传感器信息采集后,当提取Pn的值5到31之间,即当中间的传感器检测到黑线时,使ChuteCtn计数器加1,当Pn小于3或者大于34,即当两边的传感器检测到黑线时,ChuteCtn清零,设赛道信息保持为大弯道赛道,当ChuteCtn达到GeneralCtn时,设赛道信息变回普通弯道。状态反复切换,每当启动一个计数器时,其他两个计数器则清零并关闭。

利用无线串口调试工具,我们可以实时监测系统运行信息。结合单片机片上串口资源,我们

图3舵机转向和电机速度的控制

7串口调试

6 舵机转向和电机速度的控制

识别赛道的特征之后,舵机的转向和电机的

编制了串口通信协议,用以监测赛车,赛道信息:

该协议具有开始连接、发送传感器数据、发送曲线数据、发送舵机数据、发送调试变量、

东北大学研究报告

东北大学研究报告

35

送字符串等状态,并通过以下方式区分:

开始连接:发送 0xFF(可选)

传感器数据:发送数据钱发送前发送标志0xFE表示接下来传输的是传感器数据,每组数据两个字节(均为无符号型)。表示方法:按位表示传感器状态,0表示白,1表示黑单传感器两个字节组成一个int16型数据,右对齐,先发送低字节,再发送高字节双传感器先发送的字节表示下边传感器,后发送的表示上边传感器,均右对齐

曲线:发送前发送0xFD,每组数据长度不定(最多10个),有几个数据画几条曲线,按发送的顺序依次表示。(可为有符号型,范围在-128-127之内)舵机数据:发送前发送0xFC,每组数据一个字节,为(当前舵机值-中间舵机值)/5(有符号,-128-127),中间值以及最大偏移量须在调试软件中设置。

调试变量:发送前发送0xFA,每组数据长度不定(最多10个),有几个数据代表有几个变量,按发送顺序依次表示。(可为有符号型,-128-127)

字符串:发送前发送0xF9,用ASCII码表示通过上位机与单片机协议的链接,在上位机上我们编制的软件可以直观显示智能车行驶过程中各个传感器状态的功能还具有显示曲线数据的功能和显示舵机转动状态的功能以及相应的丰富的操作功能:

(1)具有截图功能;

(2)控制回放过程,可选择开始或暂停选择

回放速度、选择回放点等; (3)可以将不同的传感器状态截图以半透明的方式进行对比。

利用上述软件算法结合无线串口调试,我们能够精确地识别赛道信息,从而在一个新的高度上抽象赛道模型得到更优秀的处理策略。由于最小值法的使用,使误识别大大减少,同时增加采集精度,配合速度处理策略达到快速循线行驶的要求。在处理的同时,赛道信息提取记录也帮助我们更好的更快的通过类似S形弯、回形弯等高难度弯道。 参考文献

[1] Bertozzim, Broggia, Fasciol Ia, ARGO and the

Millemiglia in Automatic Tour [J]. Proc of IEEE Intelligent System, 1999, 14 (1): 55-64.

[2] Javier Minguez, Luis Montan, Sensor based robot

motion generation in unknown, dynamic and troublesome scenarios [J], Robotics and Autonomous Systems,2005,52(4):290-311.

[3] Gonzalez Galvan E.J., Cruz Ramirez, Sergio R. An

Efficient Multi-camera, Multi-target Scheme for the Three-dimensional

Control

of

Robots

Using

8 总结

Uncalibrated Vision [J]. Robotics and Computer Integrated Manufacturing, 2003, 19(5): 387-400. [4] Wasik Z., Saffiotti A. A Fuzzy Behavior Based

Control System for Manipulation [A]. IEEE International Conference on Intelligent Robots and Systems[C]. 2002.1596-1601.

[5] 黄开胜,金华民,蒋狄南,韩国智能模型车技术方

案分析[J],电子产品世界,2006, 20(3):150-152. (Huang Kaisheng, Jin Huamin, Jiang Dinan, Analysis of South Korean intelligence-model-car technology programme[J], World Electronic Products, 2006, 20 (3):150-052.

36

相关推荐