飞思卡尔智能车的设计与实践讲解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
赛道识别 赛道识别这部分我们利用中心线偏差法来区分赛道的类别,即在采集的一幅图像中通过循环找出一副图像中中心线值最大的一行和值最小的一行做差,通过该差值的大小来判断出当前道路是直到、S盗、普通弯道还是急弯道。 转向控制个速度控制 转向控制和速度控制着两者联系很紧密,当我们完成对赛道的识别后,在不同的赛道我们控制舵机不同转向,再赋予电机合理地速度。我们利用建模计算出的一种算法,方法为: 舵机转向值=直道中心值-2(42-39行中心值) 比如我们以average为平均中心线,以PWMDTY67为舵机转向控制 ,以PWMDTY45为电机速度控制,以第25行为前瞻,前瞻系数定为3/2为例,那么可知: average=(Center[39]+ Center[38])/2; PWMDTY67=1252-2*(42-average)-3*(42-Center[25])/2; PWMDTY45=60-2*(42-Center[25]) 智能汽车的设计与实践 ——基于摄像头组 兰州交通大学 新能源与动力工程学院 一、智能汽车整体方案概览 智能汽车的硬件设计 摄像头供电电路的设计 单片机供电电路设计 舵机供电电路设计 电机驱动电路的设计 摄像头供电电路的设计 使用LM2941S将电源电压7.2v转化成5v的电压。 单片机供电电路设计 使用“三段固定式稳压器”来为单片机提供降压稳压供电。 我们正在应用中,芯片输入端与地之间处分别接大容量滤波电容之外,还在芯片引出根部小容量(0.1—10uF)电容到地,用来抑制芯片自己振荡,压窄芯片的高频带宽,减小高频噪声 单片机供电电路设计 采用LM2941CT芯片进行变压 将电源电压7.2V变成5V 舵机供电电路设计 * 电机驱动电路的设计 BTN7971芯片是应用于驱动的大电流、半桥、高集成芯片,它带有一个P沟道德高边MOSFET、一个N沟道的低边MOSFET和一个驱动IC。P沟道高边开关省去了电荷泵的需求,因而减小了EMI。集成IC具有逻辑电平输入、电流诊断、斜率调节、死区时间产生和过温、过压、欠压、过流、及短路保护的功能。BTN7971可输入电压为4.8—28V,驱动电流可达70A,完全可以满足A车模和D车模的电机需求。 H全桥驱动的基本原理 * 电机驱动电路的设计 采用两块BTN7971B芯片进行驱动电机的正反转。 软件设计思路 软件部分我们利用feisikaer智能车程序软件进行编程,再利用BDM下载到单片机,从而来控制车。 * 一、智能汽车软件设计方案 主程序流程图 图 摄像头同步信号 VSYN(垂直同步信号) FODD(奇数场同步信号) HREF(水平同步信号) PCLK(像素点同步信号) 图像的采集过程 OV7620的最大有效像素为640*480,我们只采集了部分(40*84),主要原因: 单片机内部RAM有限,无法存储过多数据。 如果图像过大,单片机处理耗时过长,舵机不能及时响应,会降低系统的实时性。 系统的要求并不是很高。 上述只采集图像的部分像素点,是相当于将图像在横向和纵向进行了一个压缩,并不会影响图像的完整性。 * 图像处理 二值化(动态阈值) 滤波 中心线提取 * 二值化(动态阈值)能够很好的解决环境光的难题。 首先根据原始数据建立一个矩阵,提出每一行黑点的最小值 ,(即图像中最黑的点一般就是跑道黑线的上的点)及该点所在的列 ,然后在黑点所在的列的左右五行找到白点的最小值,当矩阵中的一个元素大于黑点最小值且小于白点最大值时,说明该点是黑点,我们用1标记黑点;而当矩阵中的元素大于白点最小值时,则认为该点为白点,我们用0来标记。 二值化 当摄像头处于如上页图所示的位置时,所采集到原始数据和二值化后的数据。 * 滤波 for(row=0;rowROW;row++) { for(column=0;columnCOLUMN;column++) { if(Data[row][column-1]==1Data[row][column]==0Data[row][column+1]==1) { Data[row][column]=1;//两边为黑,中间为黑 } } } 对于二值化后的数据,如果出现杂点0是强制将其转化1. 中心线的提取 中心线的提取我们通过二值化后提取

文档评论(0)

w5544434 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档