飞思卡尔智能车竞赛 软件滤波算法
第六届全国大学生“飞思卡尔”杯智能汽车竞赛规则
![第六届全国大学生“飞思卡尔”杯智能汽车竞赛规则](https://img.taocdn.com/s3/m/16ad5251f01dc281e53af070.png)
第六届全国大学生“飞思卡尔”杯智能汽车竞赛比赛规则与赛场纪律参赛选手须使用竞赛秘书处统一指定的竞赛车模套件,采用飞思卡尔半导体公司的8位、16位微控制器作为核心控制单元,自主构思控制方案进行系统设计,包括传感器信号采集处理、电机驱动、转向舵机控制以及控制算法软件开发等,完成智能车工程制作及调试,于指定日期与地点参加各分赛区的场地比赛,在获得决赛资格后,参加全国决赛区的场地比赛。
参赛队伍的名次(成绩)由赛车现场成功完成赛道比赛时间为主,技术报告、制作工程质量评分为辅来决定。
大赛根据车模检测路径方案不同分为电磁、光电与摄像头三个赛题组。
车模通过感应由赛道中心电线产生的交变磁场进行路经检测的属于电磁组;车模通过采集赛道图像(一维、二维)进行进行路经检测的属于摄像头组;车模通过采集赛道上少数孤立点反射亮度进行路经检测的属于光电组。
竞赛秘书处制定如下比赛规则适用于各分赛区预赛以及全国总决赛,在实际可操作性基础上力求公正与公平。
一、器材限制规定1. 须采用统一指定的车模。
本届比赛指定采用三种车模,分别用于三个赛题组:编号车模外观和规格赛题组供应厂商A型车模车模:G768电机:RS380-ST/3545,舵机:FUTABA3010 光电组东莞市博思电子数码科技有限公司B型车模车模型号电机:540,伺服器:S-A6 电磁组北京科宇通博科技有限公司C型车模车模型号:N286电机:RN260-CN 38-18130伺服器:FUTABA3010 摄像头组东莞市博思电子数码科技有限公司细节及改动限制见附件一。
2. 须采用飞思卡尔半导体公司的8位、16位处理器作为唯一的微控制器。
有关细节及其它电子器件使用的限制见附件二;3. 三个赛题组所以使用传感器限制:参加电磁赛题组不允许使用光学传感器获得道路的光学信息,但是可以使用光电码盘测量车速;参加光电赛题组不允许使用图像传感器获取道路图像信息进行路径检测;参加摄像头赛题组可以使用光电管作为辅助检测手段;4. 其他事项如果损毁车模中禁止改动的部件,需要使用相同型号的部件替换;对于A型,C型车模(光电组、摄像头组)改装完毕后,尺寸不能超过:250mm 宽和400mm长。
飞思卡尔智能小车算法介绍(个人总结)
![飞思卡尔智能小车算法介绍(个人总结)](https://img.taocdn.com/s3/m/14567288804d2b160a4ec053.png)
式中,
q0
Kp
1;TTi
Td T
q1
;Kp
1
2。Td
T
q2
Kp
Td T
3.2.1 PID控制算法
由此可见,要利用 u和( k ) 得u (到k 1) ,只需u (要k )用到 , 和 e (三k 个1)历史e(数k 据 2。) 在编u (程k 过 1程) 中,这三个历史数据可以采用
平移法保存,从而可以递推使用,占用的存储单元少,编程简单, 运算速度快。增量型算法的程序流程图如图3.6所示。
25工qgz1lt70108100801nlj23456j2x013x084x105x086x01jj40108100801tj武汉科技大学信息科学与工程学院tj武汉科技大学信息科学与工程学院tj武汉科技大学信息科学与工程学院壬322模糊控制算法tj武汉科技大学信息科学与工程学院o模糊控制表可以离线求出作为文件存储在计算机中计算机实时控制时只要将ad转换得到的偏差和偏差变化ec进行量化得到相应的等级e和ec然后从文件中直接查询所需采取的控制策略
3.1 编程语言简介
在绝大多数场合,采用C语言编程即可完成预 期的目的,但是对实时时钟系统、要求执行效率高 的系统就不适合采用C语言编程,对这些特殊情况 进行编程时要结合汇编语言。汇编语言具有直接和 硬件打道、执行代码的效率高等特点,可以做到C 语言所不能做到的一些事情,例如对时钟要求很严 格时,使用汇编语言便成了唯一的选择。这种混合 编程的方法将C语言和汇编语言的优点结合起来, 已经成为目前单片机开发最流行的编程方法。关于 编程语言的详细介绍可参阅相关书籍。
第3章 智能汽车设计基础—软件
第3章 智能汽车设计基础—软件
在智能车系统的设计中,硬件是基础,没有一个好的硬 件平台,软件就无法运行。对于智能车系统来说,软件的核心 是控制算法。而完成这些任务的编程语言有汇编语言和C语言。 软件部分是整个智能车系统的灵魂,在硬件方面各参赛队之间 大同小异,真正体现各参赛队智能车的优势和最后决定比赛成 绩好坏的往往是软件部分,尤其是核心控制算法的设计。本章 首先简要介绍软件编程中使用的汇编语言和C语言各自的特点, 然后重点介绍核心控制算法的原理。
智能汽车竞赛裁判系统使用说明
![智能汽车竞赛裁判系统使用说明](https://img.taocdn.com/s3/m/5151563883c4bb4cf6ecd10e.png)
全国大学生智能汽车竞赛裁判系统使用说明本文档介绍了大学生智能汽车竞赛的硬软件的使用方法。
同时请参阅如下的文档:●《第七届全国大学生“飞思卡尔”杯智能汽车竞赛比赛细则》●《第七届全国大学智能汽车竞赛比赛参考技术规范》一、硬件使用说明:1、硬件的构成:比赛裁判系统包括如下几个部分:●位置传感器:一对红外线位置传感器。
包括红外发射管和红外接收管。
●控制盒:检测位置传感器的信号,计时,并将计时结果通过串口发送给计算机。
●计算机串口接口:连接计算机的串口。
●电源:9V稳压电源。
●传感器电缆:三个接头:3芯,3芯,2芯。
它们之间的连接关系如下图所示:裁判系统的硬件组成2、硬件的安装:(1)计算机的要求:对于计算机的硬件有两点要求:A.具有双显示卡。
在使用过程中,软件界面和结果投影显示界面需要分开,所以需要双显示卡的计算机。
建议使用笔记本计算机,因为它具可以VGA外部接口可以设置成如下扩展方式。
如下图所示:配置双显示器的桌面扩展显示模式如果使用台式计算机,要求台式计算机具有双显示卡,或者带有双输出口的显示卡。
同样也适用上面的Windows显示属性配置界面将第二个输出显示配置成为“windows 桌面开展到该监视器上”的模式。
B.具有一个串口:该串口与裁判系统中控制盒连接。
如果使用笔记本电脑,而且电脑没有串口,则可以使用如下的USB转RS232电缆来开展一个串口。
一般情况下,USB转RS232串口线需要安装驱动程序。
USB转RS232电缆记录下计算机可被使用的串口端口号,例如COM1,COM2等,这个串口在裁判系统软件中需要设置。
USB-RS232串口计算机原有串口查找系统可用的串口(2)安装赛道位置:裁判系统在安装时,将位置传感器固定在赛道起跑线的左右对称位置。
如下图所示:计时器接收管计时器发射管提前5厘米一般情况下,发射管安置在赛道的内侧,发射管的连接线从赛道的地下穿过。
使用白纸将激光发射管和接收管盖起来。
飞思卡尔智能车电磁组分区算法介绍
![飞思卡尔智能车电磁组分区算法介绍](https://img.taocdn.com/s3/m/f44400f2534de518964bcf84b9d528ea81c72fff.png)
飞思卡尔智能车电磁组分区算法介绍写在之前的话:1、⽬前我是⼀名在校学⽣,这也是我第⼀次写博客,不周之处,请多谅解;2、此算法并⾮原创,借鉴⾃⼭东德州学院第⼋届⽩杨队(PS:个⼈看法,对于⼀些⼈把别⼈的开源东西改头换⾯⼀下就说是⾃⼰的原创⾏为⼗分鄙视);3、对于此算法的理解和说明并⾮纸上谈兵,算法已经被我运⽤到了⼩车⽐赛中并取得好的成绩(具体就不多说了,⽐赛时车莫名其妙坏了,⽐赛前调试的速度绝对能进国赛,⽐较遗憾),总之这算法是我尝试过的最好的算法;4、这⼀次所介绍的只是路径算法和⼀些知识普及,后⾯有时间会介绍其余部分算法及许多好的思路(舵机电机控制思路(不只是简单的PID),双车策略);5、希望对于这⽅⾯有涉及的⼈能与我联系并交流或指出不⾜之处。
---------------------------------------------------------------分割线-----------------------------------------------------------------------------⼀、没有这⽅⾯了解的可以看看 飞思卡尔智能车分为三组:摄像头、光电、电磁,我做的是电磁车,三种车队区别在于传感器的不同,所以获得路径信息的⽅法也不⼀样,摄像头和光电识别的是赛道上的⿊线(⽩底赛道),⽽电磁车则是检测埋在赛道下的通⼊100mh电流的漆包线,摄像头和光电采⽤的是摄像头和ccd作为传感器,电磁则是⽤电感放在漆包线周围,则电感上就会产⽣感应电动势,且感应电动势的⼤⼩于通过线圈回路的磁通量成正⽐,⼜因为漆包线周围的磁感应强度不同,因此不同位置的电感的感应电动势就不同,因此就可以去确定电感位置;因此在车⼦前⾯设置了50cm的前瞻,电感布局如下(怎么发不了图⽚):分为两排,前排3个,编号0,1,2(前期还加了两个竖直电感⽤来帮助过直⾓弯,后来改为了⼋字电感);后排2个,编号3,4;现在车⼦获得了不同位置的感应电动势的⼤⼩了,但这些值是不能处理的:1、感应电动势太微弱;2、是模拟信号,信号太微弱就放⼤它;这就涉及到模拟电路的知识了,就不多说了(因为要把这讲完到PCB绘制的篇幅就⾜够写另开⼀号专门写这些⽅⾯来(PS:题外话(我的题外话⽐较多)):放⼤部分外围你设计的再好也抵不过⼀个更好的芯⽚,有两个例⼦,⼀个是我⾃⼰的:之前⽤的是NE5532,但是效果不理想,加了好多什么滤波,补偿,都⽤上,没⽤,软件⾥处理后⾯再说,后来⼀狠⼼换了AD620,感觉像是春天来了,因为它是仪⽤放⼤器,还有就是贵。
飞思卡尔智能车路径算法
![飞思卡尔智能车路径算法](https://img.taocdn.com/s3/m/b83d80d6d15abe23482f4dce.png)
加和自减的步进就能很好的对速度进行控制。
北科定位算法:
某一时刻,采五个“一”字排布的电感的
感应电动势,找出一个感应电动势最大的电感(计为M),导线必然会离这个电
感最近。然后读出该电感相邻左右两个电感的值(分别计为L和R)。会有以下
三种情况:
当L值大于R值,说明导线在L和M之间;
当L值小于R值,说明导线在R和M之间;
当L值约等于R值,说明导线在M正上。
对于特殊情况,如M在最左或最后,缺相邻的L或R,可直接将导线位置
定位于M,且由M值大小得出远离程度。该情况说明传感器偏离赛道很严重。
北科弯Байду номын сангаас算法:
入弯时急减速,以得到足够的调整时间,获得正确的转向角度;在弯道内适当
提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,
然后加速,虽然会耗费一些时间,但是面对连续变向弯道可以减少判断出错的
概率,保证行驶状态的稳定性,而且弯道内的有限加速对后面的提速也有很大
的帮助。综合考虑用可以接收的额外时间换回行驶稳定性还是值得的。
很多学校两个就上2m了,这是真的
回想调车的点点滴滴,如果你对他好,他跑的就会特别好,绝对不会让你失望。
计算出PWMDTY—PRE之后并不是直接将数值赋值给舵机的占空比寄存器,而是保存起来,并进行PD 控制
速度控制:
一个好的速度控制就是能十分准确的给出目标速度,电机对目标速度响应迅速,系统在干扰
到底什么方法可以提前预判弯道以及算出弯道半径?
曲率用交叉45度的两个电感可以求的,但是要做一些误差修正。
飞思卡尔卡尔曼滤波程序
![飞思卡尔卡尔曼滤波程序](https://img.taocdn.com/s3/m/7036de7ba26925c52cc5bf8a.png)
卡尔曼滤波:以陀螺仪测量的角速度作为预测值的控制量,加速度传感器测量的角度作为观测值。
下面程序中angle_m为测量角度,gyro_m为测量角速度,gyro_m*dt为控制量。
以下程序是按卡尔曼滤波的五个公式来编写的。
X(k|k-1)=A X(k-1|k-1)+B U(k) (1)P(k|k-1)=A P(k-1|k-1) A’+Q (2)X(k|k)= X(k|k-1)+Kg(k) (Z(k)-H X(k|k-1)) (3)Kg(k)= P(k|k-1) H’ / (H P(k|k-1) H’ + R) (4)P(k|k)=(I-Kg(k) H)P(k|k-1) (5)对于单输入单输出系统,A、B、H、I不为矩阵且值都为1。
卡尔曼滤波参数的调整:其参数有三个,p0是初始化最优角度估计的协方差(初始化最优角度估计可设为零),它是一个初值。
Q是预测值的协方差,R是测量值的协方差。
对Q和R的设定只需记住,Q/(Q+R)的值就是卡尔曼增益的收敛值,比如其值为0.2,那么卡尔曼增益会向0.2收敛(对于0.2的含义解释一下,比如预测角度值是5度,角度测量值是10度,那么最优化角度为:5+0.2*(10-5)=6。
从这里可以看出,卡尔曼增益越小,说明预测值越可靠,最优化角度越接近预测值;相反的,卡尔曼增益越大,说明测量值越可靠,最优化角度越接近测量值)。
p0/(Q+R)反映收敛的快慢程度,该值设定越小,收敛越快,该值越大,收敛越慢(这里的p0是指初始最优角度值的协方差),因为卡尔曼增益收敛总的来说是很快的,所以该值设定大一点或小一点都没什么关系。
注:以下程序只用于说明算法,存在语法错误,初始的参数也是随意给定的。
x=0;/* 最优角度初值*/p=1;/* 最优角度对应协方差初值*/dt=0.02;Q=0.0025;R=0.25;void Kalman_Filter(float angle_m,float gyro_m) //gyro_m:gyro_measure{x=x+ gyro_m*dt; 等号右边的x表示上一次最优角度值,等号左边的x表示这一次的角度的预测值p=p+Q; 等号右边的p表示上一次最优角度值的协方差,等号左边的p表示这一次的角度预测值的协方差k=p/(p+R); k值为卡尔曼增益(k值每次计算都不一样,它会越来越趋近于Q/(Q+R)这个收敛值)x=x+k*( angle_m-x); 等号左边的x表示根据预测值和测量值计算出来的这一次的最优角度值(从这里可以看出,k越大,等号左边的最优值x与等号右边的测量值angle_m越接近;k越小,等号左边的最优值x与等号右边的预测值x越接近;)p=(1-k)*p; 等号左边的p表示这一次最优角度值的协方差}从上面的程序可以看出,卡尔曼滤波是一个递推过程,初始的最优角度值可设为x=0,初始最优角度值的协方差p一定不能设为零,dt是采样周期,Q 与R可共同决定卡尔曼增益收敛的大小。
飞思卡尔智能车比赛技术报告
![飞思卡尔智能车比赛技术报告](https://img.taocdn.com/s3/m/5a24d352e518964bcf847ce0.png)
第三届“飞思卡尔”杯全国大学生智能汽车邀请赛技术报告学校:北京理工大学队伍名称:傲雄车队参赛队员:刘鑫杨磊韩立博带队教师:张幽彤冬雷关于技术报告和研究论文使用授权的说明本人完全了解第三届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:刘鑫杨磊韩立博带队教师签名:张幽彤日期:2008.8.20摘要本文介绍了北理傲雄车队队员们在准备第三届Freescale智能车大赛过程中的工作成果。
智能车的硬件平台采用带MC9S12DP512处理器的S12环境,软件平台为CodeWarrior IDE 4.6开发环境,车模采用大赛组委会统一提供的1:10 的仿真车模。
文中介绍了智能小车控制系统的软硬件结构和开发流程。
整个系统涉及车模机械结构调整、传感器电路设计及信号处理、控制算法和策略优化等多个方面。
为了提高智能赛车的行驶速度和可靠性,试验了多套方案,并进行升级,结合Labview 仿真平台进行了大量底层和上层测试,最终确定了现有的系统结构和各项控制参数。
关键字:智能车,激光管,PID控制第一章引言 11.1 赛事介绍 11.2 方案介绍 11.3 技术报告内容安排 2第二章技术方案概要说明3第三章机械设计43.1 PCB板的安装 43.2 前轮参数调整 53.3 舵机的升高方案 63.4 齿轮传动机构调整73.5 速度传感器的安装固定73.6. 后轮差速机构调整8第四章硬件电路设计94.1 S12单片机最小系统94.2 路线识别电路设计124.3 电源管理电路设计144.4 电机驱动电路设计154.5 串行通讯接口电路154.6 速度检测模块164.7 现场调试模块17第五章软件设计195.1 主程序设计 195.2 总体控制流程图 195.3 工作原理205.4.1 PID控制205.4.2 PID参数的整定 215.5 小车控制策略225.6 软件开发环境22第六章模型车各项参数266.1 车模基本尺寸266.2 电路功耗及电容总容量266.3 传感器及伺服电机数量266.4 赛道信息检测精度、频率 26第七章结论277.1 本系统的所具有的特点277.2 本系统存在的问题277.3 本系统可行的改进措施28参考文献29附录A 模型车控制主程序代码I第一章引言1.1 赛事介绍受教育部高等教育司委托,高等学校自动化专业教学指导分委员负责主办全国大学生智能车竞赛。
飞思卡尔智能车比赛电磁组路径检测设计方案
![飞思卡尔智能车比赛电磁组路径检测设计方案](https://img.taocdn.com/s3/m/5a4f1cacd4d8d15abe234e7f.png)
电磁组竞赛车模路径检测设计参考方案(竞赛秘书处2010-1,版本 1.0)一、前言第五届全国大学生智能汽车竞赛新增加了电磁组比赛。
竞赛车模需要能够通过自动识别赛道中心线位置处由通有100mA 交变电流的导线所产生的电磁场进行路径检测。
除此之外在赛道的起跑线处还有永磁铁标志起跑线的位置。
具体要求请参阅《第五届智能汽车竞赛细则》技术文档。
本文给出了一种简便的交变磁场的检测方案,目的是使得部分初次参加比赛的队伍能够尽快有一个设计方案,开始制作和调试自己的车模。
本方案通过微型车模实际运行,证明了它的可行性。
微型车模运行录像参见竞赛网站上视频文件。
二、设计原理1、导线周围的电磁场根据麦克斯韦电磁场理论,交变电流会在周围产生交变的电磁场。
智能汽车竞赛使用路径导航的交流电流频率为20kHz,产生的电磁波属于甚低频(VLF)电磁波。
甚低频频率范围处于工频和低频电磁破中间,为3kHz~30kHz,波长为100km~10km。
如下图所示:图1:电流周围的电磁场示意图导线周围的电场和磁场,按照一定规律分布。
通过检测相应的电磁场的强度和方向可以反过来获得距离导线的空间位置,这正是我们进行电磁导航的目的。
由于赛道导航电线和小车尺寸l远远小于电磁波的波长 ,电磁场辐射能量很小(如果天线的长度l远小于电磁波长,在施加交变电压后,电磁波辐射功率正比于天线长度的四次方),所以能够感应到电磁波的能量非常小。
为此,我们将导线周围变化的磁场近似缓变的磁场,按照检测静态磁场的方法获取导线周围的磁场分布,从而进行位置检测。
由毕奥-萨伐尔定律知:通有稳恒电流I长度为L的直导线周围会产生磁场,距离导线距离为r处P点的磁感应强度为:B = +sin ⎝ d ⎝ (⎧0 = 4 ⋅10 7 TmA 1 ) ( cos ⎝1 2 ) 。
4 r图 2 直线电流的磁场⎝1 4 r 由此得: B = cos ⎝ 4 r对于无限长直电流来说,上式中⎝1 = 0 ,⎝ 2 = ,则有 B = (1)。
现在智能小车里用的卡尔曼滤波算法基本是这个
![现在智能小车里用的卡尔曼滤波算法基本是这个](https://img.taocdn.com/s3/m/479d9c9655270722182ef71f.png)
void Kalman_Filter(float angle_m,float gyro_m) //gyro_m:gyro_measure{angle+=(gyro_m-q_bias) * dt;Pdot[0]=Q_angle - P[0][1] - P[1][0];Pdot[1]=- P[1][1];Pdot[2]=- P[1][1];Pdot[3]=Q_gyro;P[0][0] += Pdot[0] * dt;P[0][1] += Pdot[1] * dt;P[1][0] += Pdot[2] * dt;P[1][1] += Pdot[3] * dt;angle_err = angle_m - angle;PCt_0 = C_0 * P[0][0];PCt_1 = C_0 * P[1][0];E = R_angle + C_0 * PCt_0;K_0 = PCt_0 / E;K_1 = PCt_1 / E;t_0 = PCt_0;t_1 = C_0 * P[0][1];P[0][0] -= K_0 * t_0;P[0][1] -= K_0 * t_1;P[1][0] -= K_1 * t_0;P[1][1] -= K_1 * t_1;angle += K_0 * angle_err;q_bias += K_1 * angle_err;angle_dot = gyro_m-q_bias;}这个也不错,但我看不懂,因为我不知道怎么调参数,所以我不相信其输出精度。
独轮车做的不太好,原来一直在用别人的驱动,后来感觉还是自己做一下比较好,所以还在做驱动。
void Kalman_Filter(float angle_m,float gyro_m) //gy ...这个参数不好调节,就目前的参数而言,滞后严重。
但是加大参数了,输出的角速度值收敛太慢,影响控制。
还是楼主的公式也不是最直观的,建议直接用公式,那5个公式一步步的写,输出很精准,参数的调节也一目了然。
第七届全国大学生飞思卡尔杯智能汽车竞赛
![第七届全国大学生飞思卡尔杯智能汽车竞赛](https://img.taocdn.com/s3/m/6a175f2402020740be1e9b5f.png)
第七届全国大学生“飞思卡尔”杯智能汽车竞赛竞速比赛规则与赛场纪律参赛选手须使用竞赛秘书处统一指定的竞赛车模套件,采用飞思卡尔半导体公司的8位、16位、32位微控制器作为核心控制单元,自主构思控制方案进行系统设计,包括传感器信号采集处理、电机驱动、转向舵机控制以及控制算法软件开发等,完成智能车工程制作及调试,于指定日期与地点参加各分(省)赛区的场地比赛,在获得决赛资格后,参加全国决赛区的场地比赛。
参赛队伍的名次(成绩)由赛车现场成功完成赛道比赛时间来决定,参加全国总决赛的队伍同时必须提交车膜技术报告。
大赛根据车模检测路径方案不同分为电磁、光电与摄像头三个赛题组。
车模通过感应由赛道中心电线产生的交变磁场进行路经检测的属于电磁组;车模通过采集赛道图像(一维、二维)或者连续扫描赛道反射点的方式进行进行路经检测的属于摄像头组;车模通过采集赛道上少数孤立点反射亮度进行路经检测的属于光电组。
竞赛秘书处制定如下比赛规则适用于各分(省)赛区预赛以及全国总决赛,在实际可操作性基础上力求公正与公平。
一、器材限制规定1. 须采用统一指定的车模。
本届比赛指定采用三种车模,分别用于三个赛题组:编号车模外观和规格赛题组供应厂商A型车模车模:G768电机:RS380-ST/3545,摄像头组东莞市博思电子数码科技有限公司舵机:FUTABA3010 B型车模车模型号电机:540,伺服器:S-D6光电组北京科宇通博科技有限公司C型车模车模型号:N286电机:RN260-CN 38-18130伺服器:FUTABA3010电磁组东莞市博思电子数码科技有限公司各赛题组车模运行规则:a)光电组,摄像头组:车模正常运行。
车模使用A型车模(摄像头组)、B型车模(光电组)。
车模运行方向为,转向轮在前,动力轮在后。
如图1所示:图1 光电组车模运行方向说b)电磁组:车模直立行走。
使用C型车模。
车模运行时只允许动力轮着地,车模直立行走。
如图2所示:图2 电磁组车模运行状态注:原车模的前轮(转向轮)、舵机实际上没有用了,可以去掉。
飞思卡尔 所有的算法
![飞思卡尔 所有的算法](https://img.taocdn.com/s3/m/ba6cf849e45c3b3567ec8b03.png)
第1章电机控制1.1. 直流电机控制策略:针对本文所研究的智能车来说,车体速度是大惯性的被控对象。
算法输出的控制量只能对电机输出力进行控制。
而有一定负载时电机的输出力无论对车轮的转速还是车体的形式速度都是不成正比的,车在刚开始启动的时候速度是零,而电机的输出可能很大;车在匀速行驶的时候速度很快,而电机的输出可能并不是很大。
而且电池电量、车体重量都会对车速造成影响。
因此只有用闭环才能对车速进行良好的控制。
在车轮对地面不打滑的情况下车体的速度和后轮的转动速度是成正比的。
因此我们可以直接用光电码盘对后轮的转速进行控制。
对于这样一个大惯性系统,我们选用PID和鲁棒相结合的办法进行速度控制。
回路的设定值由经验值确定。
考虑到速度控制通道的时间滞后比较小,因此采用PID 控制方案,并在进行加减速控制时,引入了“棒棒控制”。
U(k + 1) = U(K) + P1 * e(k) + P2 * (e(k) – e(k - 1)) + P3 * ((e(k) – e(k-1) – (e(k-1) – e(k - 2)));公式1-1 PID的公式其中第一项为积分项;第二项为比例项;第三项为微分项。
考虑到被控对象(车体速度)本身是一个大的积分环节,公式中可以将第一项省略,即采用PD控制。
E 为误差。
同时设定误差门限,在误差比较大的时候采用大输出控制电机,将误差在最短时间内减小到所要求的范围,这就是鲁棒控制的思想。
电机控制策略,其实就是对模型车速度的控制策略,它是继路径识别之后非常重要的策略,直接关系到整个模型车比赛的性能。
速度控制得当,小车才能以最好的状态,在最短的时间完成比赛路程。
1.1.1.弯道速度控制在模型车入弯时刻出于稳定性考虑做减速控制。
减速原则是在原来直道速度设定值的基础上,减小速度设定值到低速挡,保证模型车可以安全入弯。
另一方面,入弯之后,为了过弯时模型车能够不明显的左右摆动并采用较好的姿态通过弯路,令车速与偏差成线性关系,偏差越大速度设定值越小。
飞思卡尔智能车竞赛设计方案
![飞思卡尔智能车竞赛设计方案](https://img.taocdn.com/s3/m/7f3ad06a11661ed9ad51f01dc281e53a58025121.png)
飞思卡尔智能车竞赛设计方案清晨的阳光透过窗帘,洒在书桌上那厚厚一摞方案草稿上。
我泡了杯咖啡,打开电脑,准备着手写这个“飞思卡尔智能车竞赛设计方案”。
10年的方案写作经验告诉我,这是一个充满挑战的任务,但也是展示自己才华的舞台。
一、项目背景飞思卡尔智能车竞赛是一场针对大学生的科技竞赛,旨在培养创新精神和实践能力。
参赛队伍需要设计一款智能车,通过传感器、控制器、执行器等部件,使车辆在规定的赛道上自主行驶,完成各种任务。
这场比赛既考验技术,也考验团队协作。
二、设计方案1.车辆整体设计车辆整体设计要兼顾美观、实用和稳定性。
外观上,我们采用流线型设计,减少空气阻力;内部结构紧凑,降低重心,提高稳定性。
车辆尺寸符合比赛规定,确保在赛道上行驶自如。
2.传感器配置(1)激光雷达:用于实时获取车辆周围环境信息,绘制三维地图。
(2)摄像头:用于识别赛道标志、障碍物等。
(3)超声波传感器:用于检测前方障碍物距离,避免碰撞。
(4)红外传感器:用于检测赛道边缘,防止车辆出轨。
3.控制器设计(1)路径规划:根据传感器信息,实时规划车辆行驶路径。
(2)速度控制:根据赛道状况,调整车速,确保稳定行驶。
(3)避障策略:当检测到前方有障碍物时,及时调整行驶方向。
4.执行器设计(1)电机驱动:驱动车辆前进、后退、转向。
(2)舵机:用于调整摄像头角度,获取更多赛道信息。
(3)电磁阀:用于控制车辆制动。
三、团队协作一个优秀的团队是项目成功的关键。
我们团队成员各司其职,密切配合:1.项目经理:负责整体进度把控,协调各方资源。
2.硬件工程师:负责车辆整体设计和传感器、执行器选型。
3.软件工程师:负责控制器设计和程序编写。
4.测试工程师:负责车辆调试和性能测试。
四、项目实施1.初期准备:收集比赛相关信息,了解赛道状况,确定设计方案。
2.设计阶段:根据设计方案,绘制图纸,选型采购。
3.制作阶段:组装车辆,调试传感器、控制器和执行器。
4.测试阶段:进行多次试验,优化控制策略,提高车辆性能。
飞思卡尔智能车电磁组技术报告
![飞思卡尔智能车电磁组技术报告](https://img.taocdn.com/s3/m/6aea01c95022aaea998f0f6a.png)
第十届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告摘要本文以第十届全国大学生智能车竞赛为背景,介绍了基于电磁导航的智能赛车控制系统软硬件结构和开发流程。
该系统以Freescale半导体公司32 位单片机MK60DV510ZVLQ100为核心控制器,使用IAR6.3程序编译器,采用LC选频电路作为赛道路径检测装置检测赛道导线激发的电磁波来引导小车行驶,通过增量式编码器检测模型车的实时速度,配合控制器运行PID控制等控制算法调节驱动电机的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制。
同时我们使用集成运放对LC选频信号进行了放大,通过单片机内置的AD采样模块获得当前传感器在赛道上的位置信息。
通过配合Visual Scope,Matlab等上位机软件最终确定了现有的系统结构和各项控制参数。
实验结果表明,该系统设计方案可使智能车稳定可靠运行。
关键字:MK60DV510ZVLQ100,PID控制,MATLAB,智能车第十届全国大学生智能汽车邀请赛技术报告目录第一章引言 (5)第二章系统方案设计 (6)2.1系统总体方案的设计 (6)2.2系统总体方案设计图 (6)电磁传感器模块 (7)控制器模块 (7)电源管理模块 (7)编码器测速模块 (7)舵机驱动模块 (8)起跑线检测模块 (8)人机交互模块 (8)测距模块 (8)第三章机械结构调整与优化 (8)3.1智能车前轮定位的调整 (8)主销后倾角 (9)3.1.2主销内倾角 (9)3.1.3 前轮外倾角 (10)3.1.4 前轮前束 (10)3.2 舵机的安装 (11)3.3编码器安装 (12)3.4车体重心调整 (12)3.5传感器的安装 (13)3.6测距模块的安装 (14)第四章硬件电路设计 (15)4.1单片机最小系统 (15)4.2电源管理模块 (16)4.3电磁传感器模块模块 (17)4.3.1 电磁传感器的原理 (17)4.3.2 信号的检波放大 (18)4.4编码器接口 (19)4.5舵机驱动模块 (20)4.6电机驱动模块 (20)4.7人机交互模块 (21)第五章控制算法设计说明 (22)5.1主要程序流程 (22)5.2赛道信息采集及处理 (23)5.2.1 传感器数据滤波及可靠性处理 (23)5.2.2 位置偏差的获取 (25)5.3 控制算法实现 (27)5.3.1 PID算法原理简介 (27)5.3.2基于位置式PID的方向控制 (31)5.3.3 基于增量式PID和棒棒控制的速度控制 (31)5.3.4 双车距离控制和坡道处理 (33)第六章系统开发与调试 (34)6.1开发环境 (34)6.2上位机显示 (35)6.3车模主要技术参数 (36)第七章存在的问题及总结 (37)7.1 制作成果 (37)7.2问题与思考 (37)7.3不足与改进 (37)参考文献 (38)附录A 部分程序代码 (39)第十届全国大学生智能汽车邀请赛技术报告第一章引言随着科学技术的不断发展进步,智能控制的应用越来越广泛,几乎渗透到所有领域。
智能车赛道滤波算法研究
![智能车赛道滤波算法研究](https://img.taocdn.com/s3/m/9a85633bbb4cf7ec4bfed0b3.png)
智能车赛道滤波算法研究作者:乔卫磊陈怀安杨元杰来源:《中国新通信》 2015年第15期乔卫磊安徽大学电子信息工程学院陈怀安杨元杰安徽大学电气工程及其自动化学院【摘要】以全国大学生飞思卡尔智能车竞赛为背景,介绍了智能车赛道滤波常用的三种算法。
智能车摄像头采集的图像如果不经处理会有较多噪点,影响智能车判断的准确性。
这些噪点主要是高斯噪点和椒盐噪点,通过适当的滤波可以有效地滤除这些噪点。
【关键词】智能车赛道滤波滤波算法通过结果我们可以看到中值滤波对于滤除赛道图像的“椒盐”噪声非常有效,它可以做到既去除噪声又能保护图像的边缘,从而获得非常满意的复原效果。
四、结论上文介绍的三种算法均可应用于智能车赛道滤波。
每种算法都有其各自的特点。
邻域均值滤波算法能有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,避开对赛道边缘的平滑处理。
维纳滤波算法可以使原始图像和其恢复图像之间的均方误差最小,是一种自适应滤波器,根据局部方差来调整滤波器效果,对于去除高斯噪声效果明显。
中值滤波算法的特点是首先确定一个以某个像素为中心点的邻域,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值。
利用中值滤波可以对图像进行平滑处理。
其算法简单,时间复杂度低,很容易自适应化,非常适合智能车赛道的滤波。
综上所述,在三种算法中,中值滤波算法对赛道噪点的滤波效果最好。
参考文献[1] 张晋. 图像工程(第二版). 北京:清华大学出版社,2007 .[2] 宋兆基、徐流美等.MATLAB 6.5 在科学计算中的应用. 北京:清华大学出版社,2005.[3] 胡鹏, 徐会燕. 基于matlab 的图像去噪算法的研究与实现.《福建电脑》,2009(12) .[4] 孙宏琦,施维颖, 巨永峰. 利用中值滤波进行图像处理.《长安大学学报(自然科学版)》,2003(2) .[5] 张天瑜.基于改进型中值滤波算法的图像去噪.长春工业大学学报,2009,30(1):48 ~ 52.[6] 贾洪涛, 朱元昌, 王建华. 扩展自适应中值滤波器的原理与实现.中国图象图形学报,2004,9(8):947~ 958.。
智能竞速车的滤波方法介绍和分析
![智能竞速车的滤波方法介绍和分析](https://img.taocdn.com/s3/m/8ae53076fc4ffe473368abfd.png)
个人收集整理仅供参考学习智能竞速车的滤波方法介绍和分析闫浩1张迪洲2 李永科2(1.军械工程学院导弹工程系,河北石家庄 050003;2. 军械工程学院光学与电子工程系,河北石家庄 050003)摘要:本文分别对智能竞速车中所涉及到的滤波电路和滤波算法进行介绍和分析。
滤波电路降低了多次谐波对弱电环境的干扰,并且提高信号的可靠性;通过设计滤波算法来消除干扰,抑制振荡,从而提高车模行驶的连续性和稳定性。
关键词:滤波方法;智能竞速车;消除干扰;可靠性;稳定性The introduction and analysis of the smart car filtermethodYAN Hao(Mechanical Engineering College,Shijiazhuang,Hebei 050003,China)引言滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。
根据观察某一随机过程进行估计的概率理论与方法。
它是从含有干扰的接收信号中提取有用信号的一种技术。
“接收信号”相当于被观测的随机过程,“有用信号”相当于被估计的随机过程。
滤波问题在电子技术、航天科学、控制工程及其他科学技术部门都是大量存在的。
历史上最早考虑的是维纳滤波,后来R.E.卡尔曼和R.S.布西于20世纪60年代提出了卡尔曼滤波。
现代一般的非线性滤波问题的研究相当活跃。
智能竞速车中涉及控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等多个学科的专业知识,对理论知识的融合和动手实践能力的提高起到了良好的推动作用。
本文以智能竞速车为例,介绍其中的滤波方法和算法。
例如用传感器测量得到车模在相对跑道的位置,测得的车模位置的数据中,含有测量误差及其他随机干扰,如何利用这些数据尽可能准确地估计出车模的位置、速度、加速度等,并预测车模未来的位置。
就是一个滤波与预测问题。
1 问题总述智能竞速车的电路系统由传感器电路、主控芯片、电压转换电路和电机驱动电路等主要部分组成。
飞思卡尔智能车S12XS128PWM控制程序编写
![飞思卡尔智能车S12XS128PWM控制程序编写](https://img.taocdn.com/s3/m/f41a78729a6648d7c1c708a1284ac850ad0204b1.png)
飞思卡尔智能车S12XS128PWM控制程序编写SeptStringS原创,转载请注明。
对于飞思卡尔智能车,电机和舵机的控制通常使⽤的都是以PWM脉冲宽度调制的⽅法实现的,其可⾏性基于电机可以由占空⽐控制转速,⽽舵机也由脉宽控制摆动。
PWM 调制波有 8 个输出通道,每⼀个输出通道都可以独⽴的进⾏输出。
每⼀个输出通道都有⼀个精确的计数器(计算脉冲的个数),⼀个周期控制寄存器和两个可供选择的时钟源。
每⼀个 PWM 输出通道都能调制出占空⽐从 0—100% 变化的波形。
PWM控制程序的编写⼀般按照以下的⼀种流程:1,禁⽌PWM模块;//这是由于改变周期和脉宽等操作需要在PWM禁⽌的情况下才能被设置2,PWM级联选择,是否级联通道67,45,23,01;//最多单独使⽤8个8位和级联使⽤4个16位3,给通道选择时钟源控制位;//0,1,4,5通道可选择ClockA和ClockSA;2,3,6,7通道可选择ClockB和ClockSB4,给时钟源A\B预分频;//可对总线时钟进⾏预分频,确定ClockA和ClockB,满⾜1,2,4,8,16,32,64,128这8个分频量5,根据时钟源A\B确定时钟源SA\SB;//由ClockA和ClockB、分频设值来确定ClockA和ClockB,满⾜1-255的分频量6,输出极性的选择;//也就是选择输出极性先低后⾼还是先⾼后低7,对齐⽅式的选择;//可设置为左对齐或者中间对齐⽅式8,实际通道频率的计算;//也就是周期的设定9,占空⽐寄存器的设置;//占空⽐常数的设定,可以以此决定占空⽐10,使能PWM模块。
//你已经⾸尾呼应了,有⽊有接下来通过寄存器的介绍,以上⾯流程为⼤纲,详细地说明⼀下该如何操作~~【PWME】寄存器PWME = (PWME~7 | PWME~6 | PWME~5 | PWME~4 | PWME~3 | PWME~2 | PWME~1 | PWME~0)将每⼀位设置为1即可使能该位,0对应的既是禁⽌。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8、加权递推平均滤波法
A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权。通常是,越接近现时刻的数据,权取得越大。给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低。
B、优点:融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。
C、缺点:比较浪费RAM。
7、一阶滞后滤波法
A、方法:取a=0~1,本次滤波结果=(1-a)*本次采样值+a*上次滤波结果。
B、优点:对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合。
软件滤波 用软件来识别有用信号和干扰信号,并滤除干扰信号的方法叫软件滤波。 软件滤波算法 1、限幅滤波法(又称程序判断滤波法)
A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A),每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效。如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
B、优点:对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。
C、缺点:灵敏度低 ,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合,比较浪费RAM
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
A、方法:相当于“中位值滤波法”+“算术平均滤波法”。连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。N值的选取:3~14
B、优点:能有效克服因偶然因素引起的脉冲干扰。
C、缺点:无法抑制那种周期性的干扰,平滑度差。
2、中位值滤波法
A、方法:连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值。
B、优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果。
C、缺点:对流量、速度等快速变化的参数不宜。
3、算术平均滤波法
A、方法:连续取N个采样值进行算术平均运算。N值较大时:信号平滑度较高,但灵敏度较低;N值较小时:信号平滑度较低,但灵敏度较高。N值的选取:一般流量,N=12;压力:N=4
B、优点:适用于对一般具有随机干扰的信号进行滤波,这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动。
B、优点:对于变化缓慢的被测参数有较好的滤波效果,可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动。
C、缺点:对于快速变化的参数不宜,如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统。
10、限幅消抖滤波法
A、方法:相当于“限幅滤波法”+“消抖滤波法” 先限幅,后消抖。
C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用,比较浪费RAM。
4、递推平均滤波法(又称滑动平均滤波法)
A、方法:把连续取N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则),把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
B. 优点:高通,低通,带通,带阻任意。设计简单(用matlab)
C. 缺点:运算量大。
B、优点:融合了两种滤波法的优点,对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差。
C、缺点:测量速度较慢,和算术平均滤波法一样,比较浪费RAM。
6、限幅平均滤波法
A、方法:相当于“限幅滤波法”+“递推平均滤波法”,每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理。
B、优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统。
C、缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,滤波效果差。
9、消抖滤波法
A、方法:设置一个滤波计数器将每次采样值与当前有效值比较:如果采样值=当前有效值,则计数器清零如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出),如果计数器溢出,则将本次值替换当前有效值,并清计数器 。
B、优点: 继承了“限幅”和“消抖”的优点改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统器
A. 方法:确定信号带宽, 滤之。 Y(n) = a1*Y(n-1) + a2*Y(n-2) + . + ak*Y(n-k) + b0*X(n) + b1*X(n-1) + b2*X(n-2) + . + bk*X(n-k)。