第二章 系统设计
2.1 第一届比赛总结
根据文献 ,我们分析总结了第一届“飞思卡尔”杯全国大学生智能汽车邀请赛决赛部分队伍传感器的选择、电机的控制算法,如表1.1所示:
表1.1 第一届“飞思卡尔”杯全国大学生智能汽车邀请赛决赛队伍技术统计

进行总结之后,我们结合本校实际情况,进行智能车自动控制系统设计。
智能车可以看做一个双输入、双输出自动控制系统,智能车按照图2.2所示的自动控制系统进行设计:

图2.1自动控制系统框图
2.2 图像采集与处理设计
2.2.1元件设计
图像采集硬件设计主要基于以下三种方案:
1)红外/光电传感器;
2)CCD/CMOS图像传感器;
3)方案1)2)结合进行传感器信息融合。
红外/光电传感器硬件平台的搭建和调试都相当烦琐,其性能会随着时间、光线、温度的变化发生变化,前瞻性较差、分辨率较低。相对红外来说,图像传感器方案硬件平台的灵活性小很多,能在短时间内搭建完成。
因我校起步较晚,结合我校实际情况,我们选择了一种能尽快建立起硬件平台的方案,即方案2),采用CCD/CMOS图像传感器。考虑到CMOS传感器的低功耗和低成本,以及本次比赛对图像传感器图像质量的实际需要,我们选择了CMOS图像传感器。
2.2.2算法设计
首先,我们分析总结了第一届“飞思卡尔”杯全国大学生智能汽车邀请赛决赛使用图像传感器的部分队伍图像采集与处理中核心算法,如表2.2所示:
表2.2 第一届“飞思卡尔”杯全国大学生智能汽车邀请赛部分队伍图像采集与处理技术

1)分辨率将影响图像传感器横向(水平)和纵向(垂直)信息采集的密度。我们希望在满足单片机MC9SDG128片内RAM容量限制的前提下,尽可能的提高图像水平分辨率,降低垂直分辨率,即使用扁平状视野,将更多的赛道信息体现在水平方向,这样更有利于舵机和直流电机的控制。
2)CMOS输出PAL制式模拟电压视频信号直接输入AD转换通道,利用MC9S12DG128的ATD模块进行视频信号采集,这样可以通过软件的方式对CMOS采集到的图像二值化(阈值化)、去噪、滤波、锐化等操作,可以更精确更随意的对相关参数进行设置,并能实现对外界光线的自适应。
3)黑线中心线提取基于边沿检测算法,该算法不需要对图像进行二值化,且实现较简单。
4)图像处理输出物理量为黑线中心线位置和斜率,较单一的位置或斜率能够更加准确、完整的反映赛道信息,进而希望能够根据这两个物理量判断出赛道的具体类型(直线、弯道、小S道等),并计算出舵机和直流电机的输入量。这样可以将电机的控制器根据不同赛道类型固化不同的参数,在赛车行驶的过程中,由图像传感器得到的赛道信息,由MC912DG128进行赛道识别和决策,直接选择出相应的控制器即可。
2.3 转向控制设计
2.3.1元件设计
舵机采用组委会规定的futaba S3010舵机。
2.3.2算法设计
舵机控制的输入量是图像处理提取赛道信息的输出量,舵机的控制在于如何对控制器输入量进行计算,生成舵机的控制量(PWM占空比)。
我们最先考虑到模糊控制。模糊控制是一种分段线性化的经验控制方法,不需要建立舵机这样高阶系统的数学模型,其控制器易于用软件实现,也更能够真实的模拟现实生活中对汽车行驶方向的控制。HCS12单片机的模糊控制指令更加方便了模糊控制在智能车上的实现。但由于我们计划使用黑线中心线位置、斜率二维物理量输入,如果使用二维模糊控制器,模糊表输入量即为四个。若使用一维模糊控制器,则很难反映赛道的动态信息(二维模糊控制器类似于经典控制理论中的PD控制);若用两个二维模糊控制器来分别计算位置量和斜率量,把一个复杂的四维模糊表简化为两个简单的二维模糊表的并联,再将两个模糊控制器的输出量相加,如图2.2所示:
图2.2 位置、斜率二维模糊控制器框图
但这样使用了两个模糊控制器,可能会导致模糊化、解模糊化占用CPU过多时间,影响智能车的实时性,且两个规则表相互制约,调试起来会比较麻烦。故我们放弃了模糊控制,设计初期采用开环P控制算法,如图2.3所示:

图2.3 舵机开环控制框图
为适应赛道进行适当的非线性化,最后加入决策器根据赛道类型进行决策控制。其开环控制原理如图2.4所示:

图2.4开环决策控制框图
2.4 速度控制设计
2.4.1元件设计
直流电机采用组委会规定的RS380-ST直流电机。
为了能使智能车能够顺利的完成循线功能,除了通过控制前轮舵机来控制转向之外,还需要通过控制后轮直流电机来控制速度。
为此需要进行测量元件的设计,即速度传感器的设计。速度传感器的设计主要基于以下三种方案:
1)红外/光电传感器
使用直射式红外/光电传感器和调制盘,或者反射式红外/光电传感器和编码盘,都能构成速度测量元件。其优点在于成本低、电路简单,缺点在于受光线影响较大。
2)霍尔传感器
根据半导体材料的霍尔效应,霍尔传感器和带有磁珠的调制盘可以构成速度测量元件。其优点在于成本低、电路简单、不受光线影响,缺点在于安装麻烦。
3)旋转编码器
旋转编码器是基于反射式红外/光电传感器原理设计的,不受光线影响,在工业界应用广泛。
由于霍尔传感器安装较麻烦,我们先后使用了TCRT5000和ST188两种红外设计并制作了速度测量元件。若在调试中发现受光线影响较大,出现不稳定等现象,则改用旋转编码器方案。
2.4.2算法设计
速度控制算法的设计思路与转向控制算法类似。由于智能车在行驶过程中速度不宜进行太大变化,故不需要使用复杂的控制算法。我们采用P控制算法对直流电机的进行控制。
利用黑线中心线位置和斜率,计算出输入量(速度期望值),与速度传感器反馈的速度实际值相比较得到偏差,经过P控制器运算后得到直流电机的控制量,从而实现速度的闭环控制,如图2.5所示:

由于P控制会带来超调量过大和调节时间过长等问题,我们使用分级控制的算法来弥补P控制不足,从而实现对速度简单而有效的控制。
2.5智能车控制系统设计
控制系统设计采用模块化、自顶向下的设计方法,其流程图如图2.6所示:

图2.6 智能车控制流程图
智能车可以看作是一个双输入双输出、高阶、随动非线性系统。CMOS图像传感器采集的赛道信息和红外传感器ST188 / 旋转编码器反馈的赛车速度信息作为系统输入量,经过信息处理计算出控制量,分别利用P控制器实现对舵机的开环控制和直流电机的闭环控制,以实现智能车转向和速度的控制。利用单片机和上位机之间的串行通信对控制过程进行调试。控制系统框图如图2.7所示:

图2.7 智能车控制系统框图


