ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:1.34MB ,
资源ID:10884217      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10884217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北京邮电大学shootin gstar队报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北京邮电大学shootin gstar队报告.docx

1、北京邮电大学shootin gstar队报告第四届“飞思卡尔”杯全国大学生智能汽车竞赛技 术 报 告 学 校: 北京邮电大学 队伍名称: shooting star参赛队员:艾华 罗成金 汪东乔带队教师: 李绍胜 关于技术报告和研究论文使用授权的说明 本人完全了解第二届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: 摘要:本文详细介绍了了

2、一种基于摄像头传感的循迹自动行驶小车的方法。使用了在汽车自动控制中使用较为广泛的一种单片机:Freescale MC9S12XS128 单片机。智能车通过模拟摄像头获得黑线信息,通过单片机AD处理后得到数字信息,再经过一定算法控制舵机和电机,实现转向和速度控制,最终实现循迹的功能。关键词:循迹,摄像头,PID第一章 引言1.总体设计介于以往的循迹小车大部分都是基于光电传感器控制的,能够“规规矩矩”的沿黑线行驶,因此我们这里尝试速度上的突破,采用摄像头控制来获得更高的速度和更好的前瞻性。小车的基本工作原理为:以跑道上的黑线为引导,通过mc9s12xs128来调整、控制小车的速度和转向,实现小车在

3、赛道上平稳正确的行驶。整个小车的工作流程如下图:图表 1 总体工作流程图其中最关键的部分为:道路监测器、处理器对电机和舵机的控制。道路监测器可有两类:光电传感器和摄像头传感器。首先,考虑到道路监测要求的完整性及准确性,我们选择了摄像头.摄像头具有光电传感器无法比拟的前瞻性,能够对弯道提前做出判断,并且能够实现切内道和弯道直冲的效果以最大可能提高速度。同时摄像头又可分为cmos和ccd两类,ccd相对于cmos来说分辨率及所得图像性噪比好,但耗电多,价格高;此外,跑道为黑白赛道,采集的图像只需要处理成两种信号,并且由于S12的AD转换需要一定的处理时间,以致摄像头的分辨率也不可能太高,因此综合考

4、虑,我们最终选择cmos作为我们的路径检测传感器,其次,对于速度传感器,可供选择的方案较多,最终我们选用了精度比较高的接触式光电编码器。对于电机和舵机的控制,我们采取了速度控制中较为常用的PWM宽带脉冲调制的方法,实现转速方向的准确控制。关于电机的驱动,初步定为采用基于H桥电路的飞思卡尔公司的MC33886芯片作为电机驱动芯片。另外,对于系统控制部分的设计,初步定为闭环反馈控制算法PID。因为循迹小车的制作是一个系统的工作,其中必然会出现很多错误。为了能够更为方便的调试小车的循迹算法,我们决定通过无线发射器实时将小车运动时的道路信息及小车所处状态发送到PC机上,通过matlab对数据进行读取、

5、分析、仿真,然后对小车的算法和参数作出相应的调整。第二章 机械设计 车模为1/10的Matiz仿真车模,如 下图 所示。控制采用前轮转向,后轮驱动方案。在买到车模以后,我们发现车模还有很多机械上的改进空间。意识到要获得更高的速度,机械设计必然是基础,任何的控制算法及软件程序都是在一定的机械结构上来执行和实现的,并且这种基础作用在软件程序达到一定高度时显得格外重要。因此,我们对购得车模的机械部分作了相应的改进。第一、 对主销后倾角、主销内倾角、前轮外倾角等进行改进。适合的主销后倾角可以增加小车直线行驶的稳定性。参考资料,我们将后倾角定在23度。前轮外倾角对汽车的转弯性能有直接影响,它的作用是提高

6、前轮的转向安全性和转向操纵的轻便性,角度大概设为1度。主销内倾角相对于前两者对车的影响性能不是很大,所以,我们将其略去。第二、 对舵机的改装。舵机的作用是实现小车的转向。原车模的舵机的安置方法是横直式的,舵机转向点不在正中间,连杆长短也不一样,因此,在单片机输出PWM波控制舵机相对于中值不对称,这将会给后面的编程及调试带来麻烦,其次,转向连杆和转向盘交点的距离到转向中心轴的距离较短,尽管如此会使转向力大,但是会使响应延时较大,会造成在高速行驶时转向不灵敏。为了使这方面的性能更加优化,我们决定将转向盘的半径延长,同时,使转向点在中间。此外,该种改装能够使转向时两前轮轴线延长线相交于后轮轴线上,使

7、转弯时横向摩擦更少,减小侧滑几率。具体实现如下图:第三、 对摄像头的安装。摄像头的安装位置得选取合适。安装得低了,会视域不够广阔,影响寻线的有效范围;安装得高了,指引线在图像坐标上会变得过窄而无法被检测到,而且赛车系统会因重心抬高而稳定性变差。安装位置合适的一个标准就是:在此位置的拍摄范围大小能满足控制的需要。控制的策略简单,则所需的拍摄范围就可较小;反之策略复杂,需获得的赛道信息较多,则拍摄范围应大一些。最后经过计算,我们决定把摄像头的位置初步定为高:30cm,倾角:30度,至于具体到哪个位置更好,我们将留给调试部分完成。摄像头安装图如下图所示。第四、差速器调整。车模后轮采用RS-380SH

8、-4045电机驱动,为车模自带。电机轴与后轮轴之间的传动比为 9:38(电机轴齿轮齿数为18,后轮轴传动轮齿数为76)。齿轮传动机构对车模的驱动能力有很大的影响。齿轮传动部分安装不恰当,会增大电机驱动后轮的负载;齿轮配合间隙过松则容易打坏齿轮,过紧则会增加传动阻力。所以在电机安装过程中尽量使得传动齿轮轴保持平行,传动部分轻松、流畅,不存在卡壳或迟滞现象。差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;并且还可以保证在轮胎抱死的情况下不会损害到电机。差速器的调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑,从而影响车模的过弯性能。好的差速机构,在电

9、机不转的情况下,右轮向前转过的角度与左轮向后转过的角度之间误差很小,不会有迟滞或者过转动情况发生。第三章 硬件设计以S12 为核心的单片机最小系统单片机最小系统板使用MC9S12XS128单片机,80引脚封装,为减少电路板空间,板上仅将本系统所用到的引脚引出,包括两路PWM接口,一路计数器接口,一路外部中断接口,3路普通IO接口。其他部分还包括电源滤波电路、时钟电路、复位电路、串行通讯接口、BDM接口。单片机引脚规划如下:PORTA0-1:拨码开关PORTA2:奇偶场信号IRQ:行同步脉冲输入信号。PT0:光电编码器脉冲输入信号。PWM7:舵机角度控制信号输出。PWM1:电机速度控制信号输出。

10、PS4-7:SPI通讯信号按照电路设计设计我们所需要的电压有三种5V,7.2V,12V,6V。其中,7.2V由电池提供用于后轮电机驱动;5V用于为MC9S12XS128芯片及光电编码器提供工作电压;12V电压为摄像头提供电压;6V用于给舵机供电。为了实现上述电压的获取,我们总共用到了如下的芯片:MC33886(两片):通过其中的H桥实现电机的正反转。两片MC33886并联,提高芯片驱动能力。输入两路PW波,如果IN1 有PWM信号,IN2低电平,电机正转,反之,电机反转,如此可以实现反向制动,这对于小车在赛道上行驶最高速度的限制会大大减少。为了减少编程了复杂程度,我们这里直接将IN2接地,只通

11、过IN1实现PWM控制,不考虑电机反转的情况。LM1117(一片):用于5V电压的提取,从7.2V稳压到5V,比赛中用得最多的芯片主要要有2940、1117两种,参考资料比较两者发现,尽管2940有更高的电压降,但2940稳压电路会产生较大的纹波,这是我们所不希望的,因此,我们选择用了1117。LM1881(一片):智能模型车自动控制系统中使用黑白全电视信号格式CMOS摄像头采集赛道信息。摄像头视频信号中除了包含图像信号之外,还包括了行同步信号、行消隐信号、场同步信号、场消隐信号以及槽脉冲信号、前均衡脉冲、后均衡脉冲等。因此,若要对视频信号进行采集,就必须通过视频同步分离电路准确地把握各种信号

12、间的逻辑关系。这里使用了LM1881芯片对黑白全电视信号进行视频同步分离,得到行同步、场同步信号,具体原理不再赘述此外,为了获得给摄像头供电的12V电压,我们采用了斩波升压电路来实现。其中MC33886的电路如下:图表 2 MC33886电路连接图LM1881视频分离电路如下:图表 3 视频信号分离电路图LM1117稳压电路如下:图表 4 5v稳压电路图7.2V 至 12V斩波升压电路:图表 5 斩波升压电路图整体电路布局如下:图表 6 总体电路图第四章 算法设计阐述循迹控制算法思想。附程序流程图。(此部分可以阐述多种循迹算法)。智能车能否在赛道快而稳地行驶,可以说完全取决于循迹算法,可见其重

13、要性。算法整体包含两部分:图象处理算法、控制算法,控制算法又可进一步分为转向控制算法和速度控制算法,以下将从这三个方面逐个详细说明。4.1 图象处理算法图象处理的主要目的是提取目标引导线,目标指引线有两类比较重要的特征:中间点和边缘点(如二维数组矩阵中颜色信息为黑色的像素点),由于摄像头采集的点是以相应8位二进制的灰度值表征的,赛道是由黑白两种颜色组成的,理论上所采集点的灰度值应该只有两种值,但于光线、拍摄角度、赛道实际颜色的差异等各方面的原因,所采集到的实际值是0255之间的任一整数。因此,首先需要对所采集到的每场图像进行“二值化”处理,其次,仅经过“二值化”处理所提取到的黑线有可能不唯一,

14、还需要“去噪”处理。4.1.1“二值化”算法算法思路是:设定一阈值(根据具体赛道及条件调试设定,根据经验初步设定为140),对于二位数组矩阵中每一行,从左至右逐项作差,具体拿第i+3项和第i项作差,若差大于阀值的绝对值则把i+3的横坐标计下,继续,直到出现下一个差值大于阀值的点,记录下此时i的横坐标,取先后两个值的中点为目标点,依次下去直到所保存矩阵每一行的最后一个点。以上方法,提取出了每一行中所有可能出现的目标点,依此可以求得所有行的目标点,这样目标线的大概位置就确定了。根据不同类型跑到得到的二值化图像如下几图所示。图表 7 交叉线图表 8 弯道图表 9 S弯图表 10 起跑线4.1.2 “

15、去噪”算法基本思想:实际赛道的黑线是连续的,那么所得到的引导线也应该是连续的,从最下方的行开始(近处的最精确),如果一行中有多个目标点,则用该行的目标点的横坐标与下一行目标点的横坐标相减,与2比较,若大于2,则舍去该点。如此可以精确提取出引导线的位置。上述算法只能准确提取出黑线的位置,对于跑道另外需要的起跑线及窄赛道的识别,我们将其独立出来,将一场图象再扫描一遍即可得到。具体做法比较简单,这里不作详细介绍。总体的具体流程图如下:图表 11 去噪算法流程图下图显示了去噪前后的效果图:图表 12 上部分为未去噪的图像,下部分为去噪后的图像4.2 控制算法4.2.1 转向控制转向控制确定为位置式PI

16、D算法,基本表达式为:其中T是采样时间,、为三个待调参数。具体过程如下:第一、 判断出赛道类型。赛道有大S弯、小S弯、左(右)转弯、直坡道、直道区共五种。首先,根据引导线是否为直线可以将弯赛道与直赛道区分开,如果是直赛道,则不需要转向;如果是弯道,根据引导线是否朝一个方向弯区别S弯和左(右)转弯,最后,对于S弯,求出引导线各点横坐标的方差,如果方差小于某值(根据赛道调试绝对),则对应的S弯为小S,舵机也不需要转向,直冲,大于该值时定为大S弯。第二、 根据赛道类型进行转向控制。除去大S弯、左(右)转弯道的其余赛道类型都不需要转向,可以直冲。仔细分析,可以发现大S弯与左(右)弯的控制策略完全一样。

17、具体由上面所述的位置式PID算法实现:首先,设定PWM波占空比与左(右)转转角对应的参考关系(具体由调试确定,转角可以用角度的正切脚表征,即横纵坐标的比值),其次,读出引导线左(右)转最远点的横纵坐标,求处比值。最后,按上述参考关系可查处比值处的参考PWM波占空比,读出S12XS128单片机输出的实际PWM占空比,求出相应的,即可得到S12XS128应该调成的占空比值。 具体流程图如下:图表 13 转向控制流程图4.2.2 速度控制PID控制是工程实际中应用最为广泛的调节器控制规律。问世至今70多年来,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。单位反馈的PID控

18、制原理框图如下图所示。图表 14 PID 控制示意图单位反馈e代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量u。其中,, , 分别称为比例系数、积分系数、微分系数。u接着被送到了执行机构,这样就获得了新的输出信号u ,这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。PID各个参数作用基本介绍:增大微分项系数可以加快动态系统响应,但容易引起震荡。一般增大比例系数能够减小上升时间,但不能消除稳态误差。增大积分系数能够消除稳态误差,但会使瞬时响应变差。增大微分系数能够增强系统的

19、稳定特性,减小超调,并且改善瞬时响应。对连续系统中的积分项和微分项在计算机上的实现,是将上式转换成差分方程,由此实现数字PID调节器。位置式PID控制算法用矩形数值积分代替上式中的积分项,对导数项用后向差分逼近,得到数字PID控制器的基本算式(位置算式)基本表达式为:、为三个待调参数。第一、 速度传感器传入适时速度值。因为每个速度值与传感器单位时间内的转动圈数一一对应,因此我们每隔一具体时间读出相应的圈数来表征速度。同上述位置式PID算法一样,先必须求出圈数与横纵坐标比值所表征的角度的参考对应关系,不过这里的参考关系有两种,一种是窄道的,一种是非窄道的,具体得到方法,也需要根据具体调试。第二、

20、 判断赛道类型。基本方法同上述一样,不过,这里还需要对窄道进行判断,判断方法为检测黑色三角形。第三、 读出实际速度及参考速度(用圈数表示)。求出,进一步求出并将转速调为即可。具体流程图如下:图表 15 PID控制流程图第五章 调试部分5.1 开发工具程序的开发是在组委会提供的CodeWarrior IDE下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。CodeWarrior for S12 是面向以HC1和S12为CPU的单片机嵌入式应用开发软件包。包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。使用B

21、DM来下载程序,把编译好的程序下载到单片机里运行。5.2 软件调试软件调试主要通过串口进行,单片机通过串口发送数据到上位机显示,从而获取一些信息。上位机接受数据主要通过串口精灵进行,如下图所示。图表 16 串口调试精灵摄像头获得的模拟信号经过AD后,可以通过单片机发送到上位机上,进行及时的显示,从而判别摄像头的安置等是否正确,也可以知道针对图像的一些处理算法是否正确。前期调试时采用最原始的办法:及把采样到的数据直接发送到上位机上,上位机接受后人手工将数据复制粘贴并整理成excel数据,再通过matlab将excel读入,利用MATLAB强大的作图能力将数据画出来。意识到这种方法的落后以后,我们

22、们决定利用能够及时显示图像的软件来取代原来较为原始的方法。因此我们们采用了基于Labview的一套上位机图像显示系统。 其运行界面如下图表 17 上位机显示软件这样,通过串口通信,模拟摄像头AD后的数据就可以及时的在上位机上显示。该软件工作流程如下图所示。图表 18 上位机图像显示软件工作流程图5.3 无线调试模块在后期调试中,需要将小车行驶时的数据及时的发送出来,通过上位机观看数据,以方便改进。这时就需要用到无线Zigbee模块。Zigbee模块工作的原理这里不再复述。它的一些接口为TTl电平的串口,用来链接到单片机;RS-232电平的串口,用来连接到电脑的串口。要让其正常工作,只需将单片机

23、的串口TX端连接到zigbee的TTl电平串口RX端,单片机的RX端连接到zigbee的TTl电平串口TX端,然后将com_TX, com_RX和GND连接到RS-232串口线上,再接到电脑上即可。Zigbee模块的示意图如下图所示。图表 19 无线zigbee发送模块第六章 主要技术参数项目参数路径检测方法(赛题组)摄像头组车模几何尺寸(长、宽、高)(毫米)335、169、265车模轴距/轮距(毫米)轴距197前轮160后轮162车模平均电流(匀速行驶)(毫安)1200电路电容总量(微法)1800传感器种类及个数摄像头(1个)光电编码器(1个)新增加伺服电机个数0赛道信息检测空间精度(毫米)

24、2赛道信息检测频率(次/秒)50主要集成电路种类/数量3车模重量(带有电池)(千克)1.2第七章 结论7.1主要性能 总体上,智能车已经实现了加速、减速、转向、刹车的基本功能,能够沿黑色导航线比较平稳、快速地行驶了。 本智能车辆的控制算法部分主要解决如下问题:车辆直线行驶的稳定性问题,车辆转弯控制问题,车辆行驶速度与转向角度大小的相关性问题,行驶轨迹的跟踪及预测问题等。PID控制算法就可以解决这些问题。它有诸多优点:1)我们采用状态控制。在每个很小的一段时间内,认为车辆状态不变,因而在这段时间内可将车辆作静态处理。转向目的就是减小小车所在的中心线与车辆行驶的黑色导航线的静态误差。状态控制不考虑

25、时间过程,而注重调整前后的状态变化。实际应用过程中,当时间足够小时,由于执行机构的响应能力远远低于单片机的运行速度,实际控制操作效果就如同连续控制一样,保证了控制的准确性。2)控制输出不要求最优。从实际情况可知,在相同的情况下,同一驾驶员两次控制的结果可能不尽相同的,具有一定的随机性,但结果都能完成所要求的任务。因此,对于本智能车的控制输出的转向角,不要求它在当前位置是最优的,而只要求它满足两个条件,即方向正确,转向角度合理。3)控制算法交易实现。比较其他比较复杂的算法,如最优控制必须考虑时间的过程,因而需要了解各执行机构的动态响应特性,以获得准确的传递函数。而本文提供的算法只需要车辆当前的状

26、态信息,即小车的当前位置(由传感器提供)与小车所应处的位置(由算法提供),即可得到转向控制角。整个过程不涉及执行机构的动态响应函数,从而降低了难度。7.2 改进方向 本控制算法还存在一些不足:1)算法的稳定性不够,极其容易受到光照和路面条件的影响,鲁棒性不够。2)作为辅助输入量的速度并不十分准确,所取的速度是算法赋予小车的速度,并非小车的真实速度。不同的路面,不同的转向对小车的速度都会产生影响,而这些影响是很难量化的。3)算法中参数的调整完全依靠实验人工标定,工作量比较大。这些问题都亟待解决。 参考文献1 邵贝贝. 嵌入式实时操作系统LCOS-(第2 版)M. 北京清华大学出版社20042 邵

27、贝贝. 单片机嵌入式应用的在线开发方法M北京清华大学出版社20043 王晓明. 电动机的单片机控制M北京. 北京航空航天大学出版社20024 臧杰,阎岩. 汽车构造M. 北京. 机械工业出版社20055 安鹏,马伟S12 单片机模块应用及程序调试J. 电子产品世界. 2006第211期 162-1636 童诗白,华成英模拟电子技术基础M北京. 高等教育出版社20009 沈长生常用电子元器件使用一读通M北京. 人民邮电出版社200410 宗光华机器人的创意设计与实践M北京. 北京航空航天大学出版社200411 张伟等Protel DXP 高级应用M北京. 人民邮电出版社200212 张文春. 汽

28、车理论M北京机械工业出版社2005附录部分程序代码/*Designed by ShootingStar软件版本:codewarrior 4.7时间:2009年5月11日功能介绍:整体算法特征描述:所有点的平均值综合控制和远处点综合控制,每场图像56*160有效点数最高速度-Code Warrior 4.7Target : MC9S12XS128Crystal: 16.000Mhzbusclock: 80.000MHzpllclock:160.000MHz */#include includehfile.h/1S延时程序void onesecond_delay(void) word i_num;

29、 word j_num; for(i_num=0;i_num3000;i_num+) for(j_num=0;j_num10000;j_num+) _asm(NOP); void main(void) / /byte i_num; system_init(); DisableInterrupts; /for(i_num=1;i_num9;i_num+) / onesecond_delay(); PWMDTY0=70; /PWMDTY67=375+5*i_num; /PWMDTY67=400; /onesecond_delay(); /PWMDTY67=375-5*i_num; /PWMDTY67=350; / EnableInterrupts; for(;) /* -中心控制程序,分为两部分:第一,转向控制第二,速度控制- */#include includehfile.h signed int offset_one; signed int offset_two; signed int pre_control_speed;/当前PWM波需要控制速度的值 signed

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1