首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > 其他 > 飞思卡尔智能车竞赛源代码(含记忆算法)

飞思卡尔智能车竞赛源代码(含记忆算法)

资 源 简 介

大一时参加第二届飞思卡尔智能车竞赛的源代码,使用BSD许可证发布. 包含很多有用的库, 源代码涉及了单片机的大部分功能.对DG128不熟的同学可以作为参考. 系统分四层, 硬件层,设备层,控制层和智能. 包含记忆算法. 当时我花了大约三个的时间去了解所用的单片机,并写完了硬件层和设备层的代码.这使我在后来的开发工作中不必去过多考虑的底层细节,能够把更多的精力放在控制和智能算法上面.项目中还包含了大量的测试用例以供参考.我基本上是采用边测试边开发的方法开发的.这是我认为大家可以学习的地方. 项目中的一些模块可能会对大家有用,我做一个简单的介绍. dbg: 调试模块,控制LCD,调试用按键和串口, 包含一个菜单子模块, 自己写了一个printf函数,可以方便的从串口或者液晶屏输出信息.菜单模块也花了一些功夫,可以方便的添加菜单元素, 动态的查看和修改系统中某变量的值. h: 硬件层,直接和I/O口与内部模块打交道. d: 设备层,把传感器,马达,舵机等抽象出来. c: 控制层,控制舵机,马达,采集道路信息. s: 智能层,路径记忆和播放 为了不因为分层而影响效率, 分层并不是十分严格, 而且有很多地方是用宏来做层与层的衔接的. 系统在48MHz的采样和执行周期约为0.6~1ms之间.我认为这样的响应时间已经是比较高的了. 事实上我们的成绩并不理想.用记忆算法跑有的时候还不如不用. 赛后我分析了原因, 最主要的是我们的调速做的太差了,交大用的是千元的编码传感器,精度能到1/256圈, 也就是车每走15/256cm就能够感觉到速度的变化,而我们只用了4个磁铁加一个霍尔传感器,并且因为四个磁铁距离不同所以最后我们的车每跑15cm才能感觉到速度的变化.这样你的调速算法做的在好,也无济于事,这也是赛后才想通的. 记忆算法先不介绍,我之后会放一篇文章出来,专门讲这个. 我的大一下半学期的时间都用来干这个了,而且还付出了挂

文 件 列 表

SmartCar
C_Layout.hwl
Default.mem
Full_Chip_Simulation.ini
THANKS.TXT
README.TXT
SmartCar.mcp
LICENCE.TXT
LICENCE(中文版).TXT
vssver.scc
Sources
SmartCar_Data
prm
Docs
Datas
cmd
bin
VIP VIP
0.175249s