《智能车设计教程第6章.ppt》由会员分享,可在线阅读,更多相关《智能车设计教程第6章.ppt(59页珍藏版)》请在三一办公上搜索。
1、第6章 智能汽车设计实践光电管型设计,第6章 智能汽车设计实践光电管型设计,6.1 机械设计,6.1.1 光电管传感器的布局 6.1.2 舵机的安装 6.1.3 测速传感器的安装,6.1.1 光电管传感器的布局,1传感器的布局间隔 2传感器的径向探出距离,传感器的布局间隔,各个传感器的布局间隔对智能车的运行,是有一定影响的。传感器的间隔是否合适,对过弯的精确性以及防止飞车有很大的影响。设定传感器间隔的原则是:既要满足一定的密度以保证走弯道时轨迹相对精确,又要尽可能拥有大的横向控制范围来防止飞车。若传感器间隔设置合适,当赛道有一点微小的变化时,小车的控制单元就能进行相应的反应(改变前轮转角),从
2、而使得过弯道的轨迹与弯道大体重合,精确性好。,传感器的径向探出距离,(1)“一”字形布局:“一”字形布局是传感器最常用的布局形式,即各个传感器在一条直线上,从而保证纵向的一致性,使其控制策略主要集中在横向上,其排布如图6.1所示。,图6.1“一”字形布局,传感器的径向探出距离,(2)“八”字形布局:“八”字形布局从横向来看与“一”字形布局类似,但它增加了纵向的特性,从而具有了一定的前瞻性,其排布如图6.2所示。,图6.2“八”字形布局,传感器的径向探出距离,(3)“W”字形布局:为了能够提早地预测到弯道的出现,我们还可以将左右两端的传感器进行适当前置,从而形成“W”形布局,此外,还可利用“W”
3、形布局来检测赛道的弯曲程度。其光电管排布如图6.3所示。,图6.3“W”字形布局,6.1.2 舵机的安装,在智能车上,舵机的输出转角通过连杆传动控制前轮转向。舵机是系统中一个具有较大时间常数的惯性环节。其时间延迟正比于转过的角度,反比于舵机的响应速度。对于快速性要求极高的智能小车来说,舵机的响应速度是影响其过弯最高速度的一个重要因素,特别是对于前瞻不够远的智能小车更是如此。,6.1.2 舵机的安装,提高舵机控制前轮转向速度的一种方法是采用杠杆原理,在舵机的输出舵盘上安装一个较长的输出臂,其安装图如图6.4所示。,图6.4 舵机的安装图,6.1.3 测速传感器的安装,为了减轻智能车的质量,测速时
4、应尽量选用质量轻精度高的传感器,为了不影响加速性能,编码器的传动齿轮较小,基本上和电机的齿轮相同。其安装图如图6.5所示。,图6.5 测速传感器的安装,6.2 硬件设计,6.2.1 HCS12控制核心 6.2.2 电源管理单元 6.2.3 路径识别单元 6.2.4 车速检测模块 6.2.5 舵机控制单元 6.2.6 直流驱动电机控制单元,6.2 硬件设计,硬件电路设计是智能车控制系统设计的基础。智能车控制系统硬件结构主要由HCS12控制核心、电源管理单元、路径识别电路、车速检测模块、转向伺服电机控制电路和直流驱动电机控制电路组成,其系统硬件结构如图6.6所示。,图6.6 系统硬件结构图,6.2
5、.1 HCS12控制核心,HCS12控制核心单元既可以直接采用组委会提供的MC9S12EVKX电路板,也可以自行购买MC9S12DG128单片机,然后量身制作适合自己需要的最小开发系统。,6.2.1 HCS12控制核心,MC9S12DG12B单片机引脚图如图6.7所示。,图6.7 MC9S12DG12B单片机引脚图,6.2.1 HCS12控制核心,在光电管方案中,其I/O口具体分配如下:PH口与PA口用于小车光电发光管发光控制;PT0用于车速检测的输入口;PB口用于显示小车的各种性能参数;PWM0(PP0引脚)与PWM1(PP1引脚)合并用于伺服舵机的PWM控制信号输出;PWM2(PP2引脚)
6、与PWM3(PP3引脚)合并用于驱动电机的PWM控制信号输出(电机正转);PWM4(PP4引脚)与PWM5(PP5引脚)合并用于驱动电机的PWM控制信号输出(电机反转)。在连续路径识别算法中,PAD口用于传感区光电接收管电压信号的输入口。,6.2.2 电源管理单元,电源管理单元是智能车硬件设计中的一个重要组成部分,它的作用是对组委会提供的7.2 V 1800 mA Ni-cd蓄电池进行电压调节。按照系统各部分正常工作的需要,各模块电压值分为5 V,6.5 V和7.2 V三个挡。,6.2.2 电源管理单元,电源管理单元主要用于以下三个方面:(1)采用稳压管芯片L7805CV将电源电压稳压到5 V
7、后,给单片机系统电路、路径识别的光电传感器电路、车速检测的转角编码器电路和驱动芯片MC33886电路供电;(2)经过一个二极管降至6.5 V左右后供给转向伺服电机;(3)直接供给直流驱动电机。,6.2.2 电源管理单元,同时考虑到稳压芯片L7805CV的额定输出电流较小,故采用两片L7805CV分别对单片机电路、车速检测电路、驱动芯片电路和光电传感器电路供电,以保证系统正常运行。其稳压电路如图6.8所示。,图6.8 稳压电源单元,6.2.3 路径识别单元,在光电管方案中,通过红外发光管发射红外光照射跑道,由于跑道表面与中心线具有不同的反射强度,因此利用红外接收管可以检测到这些信息。通过合理安排
8、红外发射/接收管的空间位置可以检测到智能车相对于前方道路的位置。红外发射接收管一般安放在模型车前端,可以安装成一排,也可以前后安装两排,传感器的总数量受到比赛规则的限制。,6.2.3 路径识别单元,红外接收管接收道路反射的红外光后产生电压的变化,它可以反映出赛道中心线的位置。这个电压信号可以通过外部的电压比较器变成高、低电平由单片机的I/O端口读取,也可以通过单片机A/D端口直接读取。从I/O端口读取的参考电路如图6.9所示,从A/D端口直接读取的参考电路如图6.10所示。,图6.9 I/O端口读取电路,图6.10 A/D端口读取电路,6.2.3 路径识别单元,两个光电管方案中常见的问题 1相
9、邻光电管之间的干扰 2光电管发射功率的影响,相邻光电管之间的干扰,由于红外发射管是基于漫反射原理的,其发射的红外光可能影响到安装在附近的红外接收管。消除这种干扰可以采取以下几种措施:(1)选择发射与接收方向性好的红外传感器。(2)选择发射与接收一体化的红外传感器,它的外壳可以抑制相邻干扰。(3)在红外接收管上安装黑色套管,使其只接收前方一定角度内的红外光线,这种减小互扰动的措施效果较好。(4)使相邻的红外发射/接收管交替工作(即“点火”)。这种方法不仅减小了相邻红外传感器之间的干扰,同时也降低了整体传感器的功耗。,光电管发射功率的影响,为了增加前瞻距离,需要加大光电管红外发射功率,使得返回的红
10、外线的强度提高,这样不仅使得电池电能的消耗量增加,同时也会缩短红外发射管的寿命。为解决这个问题,可以利用红外接收管响应速度快的特点,采用光电管脉冲发射/接收的方法加以处理。红外发射管工作在周期脉冲方式下,可以大大降低平均工作电流,从而降低了整个发射电路的电量消耗。,6.2.4 车速检测模块,为了使得模型车能够平稳地沿着赛道运行,除了控制前轮转向舵机以外,还需要控制车速。通过对速度的检测,可以对车模速度进行闭环反馈控制。此外,若采用基于路径记忆的控制策略,为了获取道路信息,需要得到智能车的行驶距离,也必须通过车速检测模块来间接实现。,6.2.4 车速检测模块,车速检测一般是通过检测驱动电机转速来
11、实现的。比赛中所使用的常见测速方法列举如下:1转角编码盘 2反射式光电检测 3霍尔传感器检测,转角编码盘,转角编码盘分为绝对位置输出和增量式位置输出两种。一般可使用增量式编码盘。它输出脉冲的个数正比于电机转动的角度,从而使编码盘输出脉冲的频率正比于转速。可以通过测量单位周期内脉冲个数或者脉冲周期得到脉冲的频率。,反射式光电检测,许多队伍在后轮齿轮传动盘上粘贴一个黑白相间的码盘,通过安装在码盘侧面的反射式红外传感器,来读取光码盘的转动脉冲。其原理和转角编码盘的测速机理是类似的。,霍尔传感器检测,在后轮轮毂上粘贴1个或者2个小型的永磁体,附近固定一个霍尔传感器。霍尔元件有3个引脚,其中2个分别是电
12、源引脚和接地引脚,另一个是输出信号引脚,只要通过一个上拉电阻接至5 V电压,就可以形成开关脉冲信号。后轮电机每转1周,则可以产生1个或者2个脉冲信号。这种方式简易、廉价,但测速精度不如前面的方法,因为永磁体本身的体积决定了不可能在后轮轮毂上安装过多磁片,对测速精度要求不高的队伍可以考虑此方法。,6.2.5 舵机控制单元,舵机本身是一个位置随动系统。它是由舵盘、减速齿轮组、位置反馈电位计、直流电机和控制电路组成的。通过内部的位置反馈,使它的舵盘输出转角正比于给定的控制信号,因此对于它的控制可以使用开环控制方式。在负载力矩小于其最大输出力矩的情况下,它的输出转角正比于给定的脉冲宽度。但实际上,由于
13、舵机反应的延迟性,智能车的舵机转角通常不能在一个控制周期内到达指定的设定角度,因此,可以在舵机外部再安装一个位置反馈装置,构成双闭环系统,以实时检测和控制舵机的转动角度。,6.2.5 舵机控制单元,舵机控制单元采用组委会提供的Futaba公司S3010型舵机作为智能车方向控制部件。,图6.14 转向伺服电机实物图,6.2.6 直流驱动电机控制单元,直流驱动电机控制电路主要用来控制直流电动机的转动方向和转动速度。改变直流电动机两端的电压可以控制电动机的转动方向;而控制直流电动机的转速,则有不同的方案,较常规的方法是采用PWM控制。驱动电路既可以直接采用MC33886电机驱动芯片,也可以采用大功率
14、MOS管来自行设计电机驱动电路。,MC33886全桥驱动电路,采用MC33886的全桥驱动时,为了提供更大的驱动电流,可以将多片MC33886并联使用,其采用3片MC33886并联方式驱动电机硬件电路如图6.15所示。,图6.15 电机驱动硬件电路图,大功率MOS管电机驱动电路,采用大功率MOS管组成电机驱动电路时,在保证大电流驱动电机的同时,可以有效地避免多片MC33886并联时由于芯片分散性导致的驱动芯片某些片发热某些不发热的现象。但由分离元件组成的驱动电路的稳定性低于集成芯片。,图6.16 MOS管组成电机驱动电路,6.3 软件设计,6.3.1 初始化算法 6.3.2 路径离散识别算法
15、6.3.3 路径连续识别算法 6.3.4 控制策略及控制算法,6.3 软件设计,在智能车控制系统光电管方案的软件设计中,程序的主流程是:先完成单片机初始化(包括I/O模块、PWM模块、计时器模块、定时中断模块初始化)之后,通过无限循环语句不断地重复执行路径检测程序、数据处理程序、控制算法程序、舵机输出及驱动电机输出程序。其中,定时中断用于检测小车当前速度,作为小车速度闭环控制的反馈信号。,6.3 软件设计,光电管方案主程序流程图如图6.17所示。,图6.17 光电管方案主程序流程图,6.3.1 初始化算法,1锁相环初始化 2A/D初始化 3PWM初始化 4定时器初始化,6.3.2 路径离散识别
16、算法,路径离散识别算法是通过普通I/O端口将光电管接收端的电压值读入单片机,根据端口输入的高、低电平逻辑来判断该传感器是否处于黑色引导线上方,再筛选出所有处于引导线上方的传感器,便可以大致判断出此时车身相对道路的位置,确定出路径信息。,6.3.2 路径离散识别算法,路径离散识别算法简便易行,因为输入量为开关量,所以对硬件及算法的要求都比较低,在传感器数目较多的情况下也可以实现较高的识别准确性。但它的一个缺陷在于路径信息只是基于间隔排布的传感器的离散值,对于两个相邻传感器之间的“盲区”无法提供有效的距离信息,因此其路径识别精度极大地受限于传感器的间距。此外,由于离散算法得到的路径信息是离散值,如
17、果将离散的路径信息直接应用到转向及车速控制策略中去,会导致转向及车速调节的阶跃式非连续变化,这将会对智能车的性能产生不利影响。此时,舵机转向及车速控制僵硬,舵机对路径变化反应不灵敏,舵机输出转向相对于路径为阶跃式延迟响应,易产生超调及振荡现象,对于追求高车速、短决策周期的控制策略来说,很可能因为舵机响应不及时而造成控制失效。,6.3.3 路径连续识别算法,路径连续识别算法是通过单片机A/D口将接收管电压读入。道路中心线相对于各个红外接收管的距离所引起的电压变化经A/D转换成相应的数字量,然后通过插值运算可以得到更加精确的路径信息。然而,由于器件制造工艺引起的分散性问题,各个光电管的性能特性存在
18、很大的差异,特别是电压波动范围相差较大,这就给算法制定统一的标准带来了困难。为了解决这一问题,可以采用归一化方法把各传感器的电压值都处理成相对于该传感器最大电压(白区的电压)和最小电压(黑区的电压)的变化百分比,以使所有的特性曲线的范围都将在0100之间。,6.3.3 路径连续识别算法,在比赛前先对光电管进行预标定,找到各光电管对黑线的敏感程度,将预标定过程中各个光电管的最大值和最小值存下来,用最大值减去最小值得到每个传感器在赛道上的输出范围,小车行驶过程中,将每个传感器输出的信号减去最小值,再除以该传感器的输出范围即可得到其相对输出值,然后找到其中最大的那个值。该值对应的光电管下面的黑线比例
19、为最大,然后找到此光电管旁的另外两个光电管。可以根据这三个值可以算出黑线的准确位置。,6.3.4 控制策略及控制算法,1转角的控制 2车速的控制 3路径记忆算法,6.3.4 控制策略及控制算法,为保证小车一直沿着黑色引导线快速行驶,系统主要的控制对象是小车的转向和车速。即应使小车在直道上以最快的速度行驶。在进入弯道的过程中尽快减速,且转向要适合弯道的曲率,确保小车平滑地转弯,并在弯道中保持恒速。从弯道进入直道时,小车的舵机要转至中间,速度应该立即得到提升,直至以最大的速度行进。为实现上述控制思想,可以采用不同的控制方法来控制小车的转角和速度。,转角的控制,为了使舵机迅速地转至期望的角度,先通过
20、前排发射接收光电管检测黑线,当小车处于直道时,最中间的光电管检测到信号,当处于不同曲率的弯道时,前排两侧不同的光电管将检测到信号。所以,根据前排光电管检测到的不同信号,可以判断出小车所处的位置。然后,根据小车的位置再对调整舵机进行相应的调整。,转角的控制,调整舵机的原则是:小车处于直道时,摆正舵机。小车处于弯道的曲率越大,则舵机转角越大。除此之外,小车还会遇到黑色交叉线的特殊情况,对此,本系统将保持小车原有的方向与速度,使小车不受交叉线的干扰。如果小车转过的弯过大,则可能使前排光电管全部偏离黑色轨迹,从而没有一个光电管检测到黑线,故应使舵机保持原角度,让小车急转驶回正道。同时,将速度适当降低,
21、防止小车冲出轨迹。,转角的控制,这里采用比例和微分相结合的PD控制方法。(1)比例控制:通过前面提取的position与中心位置相减得到比例控制的偏差量,然后再根据偏差量的大小采用比例系数控制舵机转向。(2)微分控制:通过存储连续20次采样所得到的黑线位置,可以计算出相应的黑线位置变化率,进而根据这个变化率的大小,来调整微分系数,以控制舵机转向。,车速的控制,因为小车比赛的赛道是未知的,弯道的分布情况也不能确定,小车可能频繁地进出弯道,不停地调整速度来适应不同轨迹。所以,需要对智能车的速度进行闭环控制,使得小车的速度能够频繁地变化,且能在很短的时间内由当前速度转变为期望的转速。基于这几点的考虑
22、,可以考虑利用MC9S12DG128单片机的模糊指令集。,路径记忆算法,由于传感器看到赛道的长度有限,不能很好地对赛道状况进行预测,因此,如果小车在跑第一圈的时候能够记下赛道全部路径信息,在第二圈的时候则能够根据第一圈的记忆信息辅助控制,在相同条件下将比不使用赛道记忆的智能车更具有优势。,路径记忆算法,成功实现赛道记忆算法,必须具备以下五个条件赛车必须识别起跑线。赛车需要在第一圈记下正确的赛道信息。正确地滤波。赛车必须拥有足够的存储空间。赛车在第二圈如何应用第一圈记下的信息。,起跑线的检测,从图6.18的起始线的特点可以看到,在两条黑线之间有大约2 cm的白色区域,可以通过识别这个特征信息,来
23、区别起始线和十字交叉线。我们采用一排为五个的红外光电管,中间三个之间的距离为2 cm,旁边两个的距离为5 cm,如图6.19所示。,图6.18 起始线尺寸图,图6.19 光电管排列图,赛车如何在第一圈记下正确的赛道信息,当起跑线被检测到后,开始对赛道进行记忆。我们采用的是分段式记忆算法,当黑线的位置在中间某个区域内则记为直道,在右面的区域则记为右弯道,在左面的区域则记为左弯道。我们利用编码器记录小车走过的路程,具体做法为:用PCAN1记录编码器的脉冲数,输入到计数器当中,进而采用计数器的溢出中断来对赛道进行定距离记忆,当计数器的脉冲数溢出时,这时计数器申请溢出中断,从而实现对赛道定距离记忆。当
24、第二次检测到起始线时记忆结束。,正确的滤波,确的滤波对赛道记忆而言是至关重要的,它决定了在第二圈时赛车的运行路线和运行速度,对赛道滤波需要分两种情况,第一种就是在记忆过程中对赛道滤波,由于我们采用的是分段式记忆方法,当某一段记到的脉冲数小于某个数时,这时我们把它归为上一段。第二种就是在第二次检测到起始线后对赛道进行全局滤波,这时我们要从赛道中滤出小S道、大S道和连续弯道。,正确的滤波,具体做法如下:首先我们必须先找出它们的特征,对于小S道,由于我们采用的是分段式记忆算法,如果当连续几段的脉冲数都很少时,我们可以把这几段看成一个整体,把它从赛道中滤出来,从而实现小S道直冲。当然这个脉冲数的阈值必
25、须是通过大量的测试而得,否则将造成错误。大S道不能像小S道那样直接冲过去,否则小车将冲出跑道。我们必须将连续弯道提取出来,因为在第二圈回忆跑道时,连续弯道最容易出错。,赛车必须拥有足够的存储空间,由于赛车的RAM空间只有8 kb,所以EEPROM必然成为了存储赛道信息的最佳选择。通过编写WriteEEPROM和ReadEEPRROM这两个函数,将EEPROM当作ROM来使用。这样就解决了存储空间不足的问题,而且EEPROM在程序复位和断电后数据不会丢失。,赛车在第二圈如何应用第一圈记下的信息,根据第一圈记录下来的信息,小车就可以提前预知直道还是弯道。对于直道,小车在道路的前段以常规的速度行驶,
26、以便小车调整车身姿态,中段则以全速行驶,后段则提前减速到一个最佳的速度,为过弯道而做准备。在弯道中,小车会根据第一圈记下来的不同曲率,以设定速度匀速行驶。特别的是,在过小S弯时,可以人为地让小车减小调节舵机的大小,这样小车便能以近似直道冲过去。,赛车在第二圈如何应用第一圈记下的信息,记忆算法流程图如图6.20所示。,图6.20 记忆算法流程图,思考题,1光电管型智能车的三种排布方式:“一”字形、“八”字形、“W”字形各有何优、缺点?试设计一类更有利于智能车前瞻性和赛道检测精确性的光电管排布方式。2在智能车的设计过程中,如何有效减少光电管之间的干扰?,思考题,3设计一种滤波方案,使光电管型智能车能够在运行时克服外界光线的频繁变化。4路径记忆算法相对于一般控制算法的优势何在?何种情况下使用路径记忆算法能够显著提高小车行驶的速度?,