通过前三篇文章,车子程序的大体框架已经建立起来了。但做车嘛总是会有各种各样的问题。
首当其冲的当然就是信标灯的闪烁问题,按照第三篇文章的思路在看不到灯的时候原地旋转直到看到灯,再按照速度合成将前行速度与旋转角速度合成。但是,信标灯是闪烁的啊!
而程序循环的速度又太快,就必然会出现这样的情况
车子对正信标灯后开始前行了,然后开着开着信标灯不亮了,当然这时候车子依旧是正对信标灯的,但是在程序看来它已经看不到灯了,所以,就要原地旋转了,这样一来就偏离了中线,如果你的车子旋转太快的话,那就是呈现螺线式前进的盛况。
大概就是你的小车好好的前进着突然转个圈又若无其事的继续前进着。
而如果你的车子旋转速度不那么快的话,那么你的小车就会强迫症似的一直往一个方向(你设定原地旋转的方向)偏,然后又偏回来。

针对这个问题,大佬有大佬的方法,比如说有人写出了闪烁识别,菜鸡有菜鸡的方法,比如说我。这个问题嘛我最初是这样写的,设定一个变量表示在信标灯熄灭灯相对于车是在左还是在右。如果在左就设定原地旋转的方向为逆时针,如果在右就为顺时针。
而这样的话,你会惊奇的发现
它不螺旋式前进了
它改为摆动式前进
大概就是它一会儿往左摆一会儿往右摆…
但调车嘛自然是要永不放弃,虽然身为菜鸡没有大佬那样高超的算法,但却有着用自身浅薄的知识灵巧的组合并解决问题,可惜的是这样巧妙的方法虽然行之有效却注定并不能够被推广。
咳,言归正传,方法很简单,前面说过小车之所以不好好走直线的原因是因为在灯闪烁的时间内,小车主程序已经运行了多次,假使每次循环的时间恒定,那么我只需要测量在灯灭的时间内小车走了多少次循环就够了。
经过测量,我的是4-6次。
然后嘛,当然改原地旋转的程序,没当它看不到灯时记一次数,但达到6次时开始原地转,看到灯时清空计数,这样就避免了小车在正常行驶的过程中由于原地旋转程序的影响而不能走直线了。当然也有后遗症,那就是当它真的背对灯的时候需要多走这六次循环也即灯一次闪烁的时间,不过若不是追求极致影响不大。

第二个大问题是阳光!所谓
自古信标见光死,
阳光算法泪两行。
之前一直强调的是在夜晚运行,因为在白天的时候根本跑不了(我们学校的信标场地阳光直射),我也曾看过在白天时的灰度图,结果只看到一大片的255。我倒是想滤掉阳光,然而面对这情景实在无处可滤。
没办法,算法搞不出来就只能改装备了,后来换了卓大大推荐的NXP i.MX.RT的可编程图像识别模块。这玩意是很高级,功能也很强大,然而,我不会用!
它居然是用python编程,我一个机械生学嵌入式已经很难了,现在还要搞python实在是难为我,而且python那不带花括号实在是不能够被常用c的我所接受,然而说是这样说实际还是得硬啃,毕竟是花了钱的。
经过一番折磨后选用NXP处理图像后将信标灯的坐标灯的坐标通过UART传输到主控,然后车子可以正常跑,也可以正常的识别图像,但是在跑一段时间后它就开始程序跑飞了,每一次都需要机械组成员奋勇向前拨下开关。
这问题一直持续到了比赛前夜,最后还是连夜改回了原来的神眼摄像头,幸好东南大学遮光处理做的极好饶我狗命。后来由学长提醒才意识到这可能是由于UART通信出了问题,溢出了缓冲区。

第三个问题在于避障
考虑到信标灯的数量,我们主要是避开亮起的信标灯,即当小车笔直冲向信标灯时触发电磁开关后小车如何避开暗下去的信标灯,这里也要两种方案,一种是从其它学校视频看到的,在接近信标灯时小车从灯旁擦过灭灯然后寻找下一个灯,这估计要用到y坐标值判断距信标灯距离,第二种则是我这种不用y值的人用的,直接撞上去然后再靠避障程序,我写的是往后下方倒车然后再原地旋转寻找下一个灯。以前一直觉得这样做会把车撞坏,结果俱乐部的灯被撞得只剩下一个还能正常工作,其它全部报废,而小车还是生龙活虎…

然后就是一些优化问题,按照问题三的做法小车实在很难跑直线,因为每次都有加速度分量,而我的选择是将中线加宽,即在64列左右再延伸几列,这样在中线区域内就都能够跑直线,而一旦脱离中线,由于角速度分量产生,也会偏移回来。
第二个就是双摄像头双主控问题了,以前一直觉得太贵,主控间通信也太麻烦,就一直没考虑,结果到赛场一看,遍地都是多摄像头,真真感觉从装备上就被碾压了。
第三个是车速问题,这个当然是越快越好,然而太快转弯时又会打滑反而浪费时间,这个就是要好好衡量了。可惜当初测试的时候只是简单的选了一组我们觉得很快的速度,后来才发现其它队伍车速一个比一个快,我都在想要是平时车失控了到底怎么拦下它。

总体来说此次比赛最大的失误在于没有做好优化,只是简单的把一个框架搭出,却没有思考过如何才能够做到极致,拿去参赛完成任务还行,但要排名靠前是不可能的。其实也正常,其它队伍花了比我更多的时间精力去调车,能拿到更好的成绩自是理所当然的。

悟以往之不鉴,知来者犹可追。知道错误便当改过,今年的比赛不知还是否有时间精力参加,一旦参加必当要全力以赴。

十四届全国大学生“恩智浦”杯智能汽车竞赛信标组总结(4)相关推荐

  1. 十四届全国大学生“恩智浦”杯智能汽车竞赛信标组总结(2)

    因为一些事情耽搁了几天,如今总算空出时间续写了.第一篇主要讲运动学分析,接下来讲PID控制与调速. 有关PID的形象描述有很多,最多的就是那个万恶的利用水龙头控制水箱水量,很容易理解,公式也很简单,而 ...

  2. 恩智浦智能车大赛2020_我校AI电磁车队荣获2020年全国大学生“恩智浦”杯智能汽车竞赛全国一等奖...

    日前,第十五届"恩智浦"全国大学生智能汽车竞赛线下全国总决赛在南京信息工程大学落幕.我校工程实训中心智能车工作室天职师大AI电磁车队在毛福新老师的指导下,精心准备,沉着应战,一路过 ...

  3. 第十四届全国大学生智能车竞赛竞赛技术报告下载链接

    第十四届智能车竞赛技术报告下载链接 01 下载报告   今天上午,看到有同学询问关于十四届智能车竞赛技术报告下载的询问. 实际上,之前第十四届的技术报告在百度上有, 只是没有能够提供下载链接. 由于第 ...

  4. 第十五届全国大学生智能汽车竞赛 信标组亮灯顺序和次数

    第十五届全国大学生智能汽车竞赛 信标组亮灯顺序和次数 信标位置以及在控制总线上的顺序如下图所示: 比赛亮灯次数和顺序如下图所示:

  5. 2022年第十四届全国大学生数学竞赛

    11.12非延迟地区开赛啦,小编为大家整理了2022年第十四届全国大学生数学竞赛真题加标答 希望帮到大 家   大学竞赛君自做答案90+,延迟地区的小伙伴也可以辅导

  6. 第十四届全国大学生数学竞赛河南赛区(非数学类)决赛试题+参考解答发布

    第十四届全国大学生数学竞赛河南赛区(非数学类)决赛试题+参考解答发布! 竞 赛 试 题: 仅供无偿分享提供给广大学子学习,如有侵权,请联系客服删除! 参 考 答 案: 对于基础薄弱的同学,我们也可以多 ...

  7. 第十四届全国大学生数学竞赛的通知

    竞赛信息    可以辅导,无需基础 各省.市.自治区数学会.军队院校数学教学联席会: 为了激励大学生学习数学的兴趣,培养他们分析问题.解决问题的能力,提升我国高等学校人才培养质量,促进高等学校数学课程 ...

  8. 比赛——第十四届全国大学生软件创新大赛 “基于端云结合的人工智能软件创新”

    示 范 性 软 件 学 院 联 盟 关于举办第十四届全国大学生软件创新大赛 "基于端云结合的人工智能软件创新" 参赛通知 为了进一步提升大学生创新思维,全面推动软件行业发展,促进软 ...

  9. 十四届全国大学生数学竞赛

    加油啊,没有延期的地区在本月12号就要开始十四届数学竞赛了,小编为大家整理了一下十三届的题目提供给各位,希望大家加油.同时了,我们也会辅导十四届的先伙伴,可以联系,无需基础.

最新文章

  1. Silverlight 解谜游戏 之三 消除名单
  2. delphi 调用php接口_贝壳找房小程序从PHP到Golang的跃迁之路
  3. 为什么分库分表后不建议跨分片查询
  4. 'htons' was not declared in this scope 解决
  5. npm包实现发布正式和测试版
  6. 《集体智慧编程》第二章(一)
  7. beta阶段第二次scrum meeting
  8. vue打卡日历_Vue日历
  9. float position的测试案例
  10. KB-Modal Dialog Mini FAQ[收藏]
  11. 深入jar包:从jar包中读取资源文件
  12. php执行sql内存溢出_SQL Server 2017:SQL排序,溢出,内存和自适应内存授予反馈
  13. java boolean 对象_为什么Java后端用Boolean属性筛选不出对象,但改成String类型就可以了?...
  14. paip.解决 Gtk-CRITICAL **: IA__gtk_widget_show: assertion `GTK_IS_WIDGET (widget)' failed
  15. Kettle文件下载
  16. SQL Server Case表达式
  17. Windows XP支持的最大内存是多少?
  18. SpringSecurityOAuth2.0获取Token时报错Encoded password does not look like BCrypt
  19. 转 一个游戏程序员的学习资料
  20. 日志平台-统一日志平台ELK管理

热门文章

  1. VS 2013 VS 2015的卸载方法; VS 2015社区版的安装失败记录
  2. PLC面向对象编程系列之有限状态机(FSM)详解
  3. 四川对口高考的计算机分数线,盘点四川省近年来对口高考录取分数线,中职生上大学很容易...
  4. 1.蒋宇东 梦断计院,为梦前行(连载一)
  5. 2023全国特种作业操作证高处安装、维护、拆除模拟一[安考星]
  6. BIG5到GB的转换技术
  7. [黑马程序员课程记录]C++基础部分1
  8. 汉诺塔 - 递归算法
  9. JAVA计算平年和闰年
  10. matlab调制解调开题报告,基于MATLB的数字调制与解调设计与仿真开题报告.doc