2020/9/21西北工业大学—智能车协会1智能车协会培训—软件设计西北工业大学—智能车协会2020/9/212问题1:智能车最终实现了什么?或做了哪些动作?西北工业大学—智能车协会2020/9/213问题2:为什么说智能车“智能”?“智能”的程度?西北工业大学—智能车协会2020/9/214智能车的组成:软件硬件机械西北工业大学—智能车协会2020/9/215西北工业大学—智能车协会2020/9/216西北工业大学—智能车协会2020/9/217西北工业大学—智能车协会2020/9/218硬件系统结构(CCD)西北工业大学—智能车协会2020/9/219软件设计1初始化基础2道路信息的采集准备3道路信息的提取难点4方向的控制关键(1)5速度的控制关键(2)西北工业大学—智能车协会2020/9/2110整体流程初始化信息采集信息处理舵机控制电机控制停车判断停车西北工业大学—智能车协会2020/9/21111初始化了解XS128各个模块的功能,能够正确初始化各个模块,让芯片处在正常工作状态。西北工业大学—智能车协会2020/9/21121初始化西北工业大学—智能车协会2020/9/2113(1)时钟模块(2)I/O模块(3)ECT模块(4)AD模块(5)PWM模块1初始化西北工业大学—智能车协会2020/9/2114时钟初始化1初始化REFDV=1;SYNR=5;//总线时钟=16MHz*(SYNR+1)/(REFDV+1)=48MHzwhile(CRGFLG_LOCK==0);//等待VCO达到稳定CLKSEL=0x80;//打开PLL西北工业大学—智能车协会2020/9/2115I/O初始化1初始化DDRT=0;//测速接口PT7设置为输入DDRH=0x00;//场同步接口PH1设置输入DDRB=0xFF;//调试灯B口设置输出DDRK=0xC0;//拨码开关设置输入PORTK_PK7=0;西北工业大学—智能车协会2020/9/2116ECT初始化1初始化TIOS=0x0F;//0-3通道设置为输出比较,4-7通道设置为输入捕捉TIE=0;//初始化时,屏蔽所有通道的中断TSCR2=0x04;//溢出中断,计时器频率由总线频率16分频得到==3.125MHzTCTL3=0x40;//检测上升沿TSCR1=0x80;//启动ECT模块及计数器IRQCR=0;西北工业大学—智能车协会2020/9/2117AD初始化1初始化ATD0CTL1=0x00;//7:1-外部触发,65:00-8位精度,4:放电,3210:chATD0CTL2=0x40;//禁止外部触发,中断禁止ATD0CTL3=0x08;//左对齐无符号,每次转换1个序列,NoFIFO,Freeze模式下继续转ATD0CTL4=0x00;//765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]ATD0CTL5=0x00;ATD0DIEN=0x00;//禁止数字输入西北工业大学—智能车协会2020/9/2118PWM初始化1初始化PWMCTL=0xF0;//将PWM4和PWM5合成16位,PWM01合并,PWM23合并,PWM67合并PWMPRCLK=0x33;//时钟A=时钟B=busclock/8=50M/8=6.25MPWMSCLA=0x01;//时钟SA=时钟A/2/1=3.125MPWMSCLB=0x01;//时钟SB=时钟B/2/1=3.125MPWMCLK=0xF0;//时钟A控制PWM0和PWM1,B控制PWM2和PWM3,SA控制PWM4和PWM5,SB控制PWM6和PWM7PWMPOL=0xFF;//所有通道位极限为1PWMCAE=0x00;//所有通道左对齐PWMPER01=625;//电机正转频率为6.25MHz/625=10KHzPWMDTY01=0;//电机正转初值赋0PWMPER23=625;//电机反转频率为6.25MHz/625=10KHzPWMDTY23=0;//电机反转初值赋0PWMPER67=62500;//舵机频率为3.125MHz/62500=50HzPWMDTY67=4820;//舵机初值居中PWME=0xFF;//启动PWM西北工业大学—智能车协会2020/9/21192道路信息的采集将当前的道路实际信息正确采集。理解信息采集的原理,通过编程实践能够正确采集跑道信息。西北工业大学—智能车协会2020/9/21202道路信息的采集(1)传感器的选择—稳定、合适摄像头:西北工业大学—智能车协会2020/9/21212道路信息的采集光电:发射器和接收器电磁:电感线圈和干簧管西北工业大学—智能车协会2020/9/21222道路信息的采集(2)采集的基本原理a摄像头组采集的是一幅图像,二维。以视频的制式进行采集,n个点组成一行,m行组成一幅图像,每点有一个灰度值,构成一个二维点阵。西北工业大学—智能车协会2020/9/21232道路信息的采集(2)采集的基本原理b光电组和电磁组采集的是一行点,一维。采集到的道路信息比较少,依靠光电接收器和电感线圈来采集信息,AD对光电管或电感线圈的电压值进行转换将模拟信号转化为数字信号处理。西北工业大学—智能车协会2020/9/21243道路信息的提取黑线提取:采用相应算法正确提取黑线(铜导线)的位置。西北工业大学—智能车协会2020/9/21253道路信息的提取摄像头组:基本的思路(只是一种方法):(1)从图像的首行(距离车模最近的一行)开始搜索提取;(2)在前几行将黑线的位置确定下来(注意各种特殊的情况);(3)采用边缘扩展法提取剩余行的黑线(要注意处理斜十字叉等)。西北工业大学—智能车协会2020/9/21263道路信息的提取光电组和电磁组:由于采集到的信息只是一行点,信息比较少,要求能够准确的将黑线提取出来,提高抗外界干扰的能力。基本方法:一般采用归一化手段来处理。先求出一个归一化的参考阈值,然后对多有点进行归一化后的自动阈值选取。西北工业大学—智能车协会2020/9/21274方向的控制通过控制舵机的转向,来改变小车的行驶方向,实现不同的路径(优化路径或路程最短)。摄像头组:一般采用PID控制、模糊控制进行舵机控制,将点块划分模糊化,减少小车的抖动。可以对不同的路径采用差异化处理,实现路径的优化。光电组和电磁组:一般使用PID控制,尽量减少小车的抖动。由于前瞻比较近,路径优化比较困难。西北工业大学—智能车协会2020/9/21285速度的控制一般情况,根据舵机的控制量及其变化量来控制电机,通过加减速,实现小车的高速平滑行驶。测速:获得当前小车的速度。基本策略:Bang-Bang控制:使用很大的加速度进行加减速,加减速度快。PID控制:通过公式计算,进行加减速,速度控制比较平滑。西北工业大学—智能车协会2020/9/2129补充:停车的实现小车完成一圈比赛后需要在起跑线附近停车,这就要求进行起跑线识别。2020/9/21西北工业大学—智能车协会30