智能车培训--软件设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-11-2
28
西北工业大学—智能车协会
补充:停车的实现
小车完成一圈比赛后需要在起跑线附近停 车,这就要求进行起跑线识别。
2012-11-2
29
西北工业大学—智能车协会
2012-11-2
9
西北工业大学—智能车协会
整体流程
初始化
信息采集
信息处理 停车判断 停车
舵机控制 电机控制
2012-11-2
10
西北工业大学—智能车协会
1 初始化
了解XS128各个模块的功能,能够正确 初始化各个模块,让芯片处在正常工作状态。
2012-11-2
11
西北工业大学—智能车协会
1 初始化
2012-11-2
17
西北工业大学—智能车协会
1 初始化
PWM初始化
PWMCTL=0xF0; //将PWM4和PWM5合成16位,PWM01合并, PWM23合并,PWM67合并 PWMPRCLK=0x33; //时钟A=时钟B=bus clock/8=50M/8=6.25M PWMSCLA=0x01; //时钟SA=时钟A/2/1=3.125M PWMSCLB=0x01; //时钟SB=时钟B/2/1=3.125M PWMCLK=0xF0; //时钟A控制PWM0和PWM1,B控制PWM2和 PWM3,SA控制PWM4和PWM5,SB控制PWM6和PWM7 PWMPOL=0xFF; //所有通道位极限为1 PWMCAE=0x00; //所有通道左对齐 PWMPER01=625; //电机正转频率为6.25MHz/625=10KHz PWMDTY01=0; //电机正转初值赋0 PWMPER23=625; //电机反转频率为6.25MHz/625=10KHz PWMDTY23=0; //电机反转初值赋0 PWMPER67=62500; //舵机频率为3.125MHz/62500=50Hz PWMDTY67=4820; //舵机初值居中 PWME=0xFF; //启动PWM
2012-11-2
27
西北工业大学—智能车协会
5 速度的控制
一般情况,根据舵机的控制量及其变化量 来控制电机,通过加减速,实现小车的高速 平滑行驶。 测速:获得当前小车的速度。 基本策略: Bang-Bang控制:使用很大的加速度进行加减 速,加减速度快。 PID控制:通过公式计算,进行加减速,速度控 制比较平滑。
2 道路信息的采集
光电:发射器和接收器
电磁:电感线圈和干簧管
2012-11-2
21
西北工业大学—智能车协会
2 道路信息的采集
(2) 采集的基本原理 a 摄像头组采集的是一幅图像,二维。以视频的 制式进行采集,n个点组成一行,m行组成一幅图 像,每点有一个灰度值,构成一个二维点阵。
2012-11-2
4
西北工业大学—智能车协会
2012-11-2
5
西北工业大学—智能车协会
2012-11-2
6
西北工业大学—智能车协会
2012-11-2
7
西北工业大学—智能车协会
硬件系统结构(CCD)
2012-11-2
8
西北工业大学—智能车协会
软件设计
1 2 3 4 5 初始化 道路信息的采集 道路信息的提取 方向的控制 速度的控制 基础 准备 难点 关键(1) 关键(2)
黑线提取:采用相应算法正确提取黑线 (铜导线) 的位置。
2012-11-2
24
西北工业大学—智能车协会
3 道路信息的提取
摄像头组: 基本的思路(只是一种方法): (1)从图像的首行(距离车模最近的一行) 开始搜索提取; (2)在前几行将黑线的位置确定下来(注意各种 特殊的情况); (3)采用边缘扩展法提取剩余行的黑线(要注意 处理斜十字叉等)。
2012-11-2
12
西北工业大学—智能车协会
1 初始化
(1) (2) (3) (4) (5) 时钟模块 I/O模块 ECT模块 AD模块 PWM模块
2012-11-2
13
西北工业大学—智能车协会
1 初始化
时钟初始化
REFDV=1; SYNR=5; //总线时钟=16MHz* (SYNR+1)/(REFDV+1)=48MHz while( CRGFLG_LOCK==0); //等待VCO达到稳定 CLKSEL=0x80; //打开PLL
2012-11-2
14
西北工业大学—智能车协会
1 初始化
I/O初始化
DDRT=0; DDRH=0x00; DDRB=0xFF; DDRK=0xC0; PORTK_PK7=0; //测速接口PT7设置为输入 //场同步接口PH1设置输入 //调试灯B口设置输出 //拨码开关设置输入
2012-11-2
2012-11-2
25
西北工业大学—智能车协会
3 道路信息的提取
光电组和电磁组: 由于采集到的信息只是一行点,信息 比较少,要求能够准确的将黑线提取出来, 提高抗外界干扰的能力。 基本方法: 一般采用归一化手段来处理。先求出一个归 一化的参考阈值,然后对多有点进行归一化后的 自动阈值选取。
2012-11-2
22
西北工业大学—智能车协会
2 道路信息的采集
(2) 采集的基本原理 b 光电组和电磁组采集的是一行点,一维。 采集到的道路信息比较少,依靠光电接收器 和电感线圈来采集信息,AD对光电管或电感线圈 的电压值进行转换将模拟信号转化为数字信号处 理。
2012-11-2
23
西北工业大学—智能车协会
3 道路信息的提取
2012-11-2 18 西北工业大学—智能车协会
2 道路信息的采集
将当前的道路实际信息正确采集。 理解信息采集的原理,通过编程实践能够正确采 集跑道信息。
2012-11-2
19
西北工业大学—智能车协会
2 道路信息的采集
(1) 传感器的选择 —稳定、合适 摄像头:
2012-11-2
20
西北工业大学—智能车协会
15
西T初始化
TIOS=0x0F; TIE=0; TSCR2=0x04; TCTL3=0x40; TSCR1=0x80; IRQCR=0; //0-3通道设置为输出比较, 4-7通道设置为输入捕捉 //初始化时,屏蔽所有通道的中断 //溢出中断,计时器频率由总线频 率16分频得到==3.125MHz //检测上升沿 //启动ECT模块及计数器
26
西北工业大学—智能车协会
4 方向的控制
通过控制舵机的转向,来改变小车的行驶 方向,实现不同的路径(优化路径或路程最短)。 摄像头组: 一般采用PID控制、模糊控制进行舵机控制,将 点块划分模糊化,减少小车的抖动。可以对不同 的路径采用差异化处理,实现路径的优化。 光电组和电磁组: 一般使用PID控制,尽量减少小车的抖动。由于 前瞻比较近,路径优化比较困难。
智能车协会培训
—软件设计
2012-11-2
1
西北工业大学—智能车协会
问题1:
智能车最终实现了什么? 或做了哪些动作?
2012-11-2
2
西北工业大学—智能车协会
问题2:
为什么说智能车“智能”? “智能”的程度?
2012-11-2
3
西北工业大学—智能车协会
智能车的组成:
软件
硬件 机械
2012-11-2
2012-11-2
16
西北工业大学—智能车协会
1 初始化
AD初始化
ATD0CTL1=0x00; //7:1-外部触发,65:00-8位精度,4:放 电,3210:ch ATD0CTL2=0x40; //禁止外部触发, 中断禁止 ATD0CTL3=0x08; //左对齐无符号,每次转换1个序列, No FIFO, Freeze模式下继续转 ATD0CTL4=0x00; //765:采样时间为4个AD时钟周期, ATDClock=[BusClock*0.5]/[PRS+1] ATD0CTL5=0x00; ATD0DIEN=0x00; //禁止数字输入