星空体育app下载入口 第17届全国大学生智能汽车竞赛智能视觉总结
前言
我是中南民族大学计算机科学与技术专业的学生,但专业课程中很少涉及嵌入式系统。至于为何对智能车产生兴趣,纯粹是个人爱好,毕竟男孩子童年时大多都有赛车情结。
16届基础四轮,纯电磁跑了个省三(补赛完赛)
17年ai视觉,跑了个省二。
今后我会将嵌入式作为个人爱好。目前正着手准备申请C++程序开发类的工作岗位
挫折
然而情感如此,一旦面对确实棘手的状况,便察觉诸多方面准备不足,许多环节存在疏漏。并且持续沉淀的价值十分显著,以嵌入式编程为例,初入该领域时,首年主要运用TC264平台,基于逐飞提供的现成底层框架进行编码,彼时对中断机制、看门狗功能、采样速率以及控制器时钟频率等核心概念完全缺乏认知。遇到困难时,我觉得自己得先掌握点51单片机或者stem32的知识,不过那时实验室里会些基础嵌入式开发的,除了高年级的学长学姐,低年级的我们几乎都是门外汉,我们这些新生很少主动向他们请教,这是个很明显的短板。没人清楚编写代码时遇到具体问题时该如何着手解决,通常只能去CSDN上搜寻答案,这种方式效率太差了。另外即便分组时是三人一队,但设备部分由一人承担,他就只管设备;程序部分由另一人承担,他就只管程序;还有一人则负责其他事务。经常观看其他高校的录像,深切觉得无论是设备方面的思路还是程序方面的思路都相当狭隘,不过也只能这样了
软件开发经历
今年从事智能视觉研究,起初构思课题时相当自信,但现在项目完成,内心充满后怕。我是在比赛前一天深夜才完成所有软件功能星空综合体育app下载,硬件部分虽提前近两月准备就绪,却直到赛事开始才实现全部功能。
智能视觉的软件构成主要包括几个部分,具体有python代码模块,一个人工神经网络模型,以及C代码模块。人工神经网络模型主要是由大二和硬件专业的学生进行训练的。他们借助恩智浦的eiq软件传输图像,训练一个逐步收敛的人工神经网络,大二的在执行机械性的重复任务,拍摄八个角度的照片,数量达数百张,硬件人员负责调试和软件训练,最终得到的模型效果相当好。
我主要用C语言编写控制部分,以及art的python程序。在开发软件的过程中,碰到的最大挑战,也是决定比赛能否顺利完成的核心,是陀螺仪的yaw轴方向偏差问题。小车在原地调整方向朝向新位置时,陀螺仪会持续累积不必要的数值,例如小车指令其原地转动三十度,屏幕上显示的角度为三十度,但实际测量结果却达到三十五度,这种情况反复出现,还有小车在经过一段时间的运行后,即便放置在原地静止不动星空体育app官方下载,角度指示也会持续变化,比如从十度经过四五秒逐渐增加到十三点五度。后来我是这样解决的,我借助了art自带的计算矩形四个顶点的方法,算出车辆正前方时左侧上下两点构成的夹角,每次小车准备进行识别前,就调整一下角度,具体来说,就是将陀螺仪算出的数值减去识别到的角度数,测试时发现效果很好,就一直沿用至今。
另有一点,我购置了两个九轴陀螺仪mpu9650,但自身缺乏移植其底层驱动程序的能力,基础薄弱,因此未能启用。又尝试了逐飞的九轴陀螺仪,发现即便配置中断5毫秒执行一次,设备仍频繁出现僵死状况。即便设备未僵死,依照逐飞提供的方法计算出的角度数据质量欠佳。该设备感知的直线呈现为曲线形态,导致难以有效接收。
回顾
另有一些构思,我起初着手开发程序,但我未能实现程序实时响应,也不好意思请大二的学生协助编写。寒假期间,由于驱动故障造成一个轮子无法反向转动,我的控制工作便无法开展。记得寒假返家时让他编写串口通信代码,他未能完成,最终我还是亲自完成。然而,很多时候不宜持续从事机械性重复的工作,他对于硬件了解甚少,软件方面同样缺乏认知。接下来要让他弄明白mpu九轴陀螺仪驱动程序,我自己都搞不清楚,他肯定更不明白。当初第一次让他负责串口通信模块时,我已经准备妥当,只是想让他了解我们团队的C语言开发规范。还有我调试车辆时,他既没有参与测试,也没有询问软件的具体需求,让我感觉压力特别大,好像可以独自承担所有工作。归根结底,他的基础能力确实比较薄弱。
我们实验室存在一些问题,首先是那个赛道,每次进入实验室,赛道上总是积满灰尘,大家把赛道当作地面,不穿鞋套,也不注重清洁,通常等到垃圾堆积到难以忍受的程度才会清理,或者等到领导来检查时才进行打扫。
此外还有旧款车模,我未曾目睹过国产赛车行驶时的情景,应当拆解的最终被拆解了,至于程序,一旦流失便无法找回。
我们单位的嵌入式技术研究确实不如通信学院那样丰富多彩。有一次,我目睹通信智能车团队的一位成员在准备求职,他简要梳理了自己参与过的stm32项目,包括一些电赛国家级竞赛的成果,以及用fpga开发板完成的雷达课题,这些经历着实令我感到非常惊讶。我们的实验室未必需要将所有精力都投入到智能车这一项竞赛中,也可以制作一些有趣的,适合探索的小型嵌入式项目来提升能力。
此外,比赛前几天星空·综合体育官网入口,曾与湖北工业大学的大二学生进行过沟通,了解到他们的软件专业的同学,在研发惯性导航系统时,直接取下了mpu9250模块中的地磁计部分,并搭配逐飞的六轴陀螺仪进行工作,地磁计模块的驱动程序是他们自行完成的。据了解,他们的惯性导航系统在整个测试过程中,角度偏差仅出现了3到4度。
结语
我们竞赛结束后会公布自己的程序源码,还会深入叙述制作车辆的过程,并分享一些心得体会。
另外有大佬可以评论区讨论下,陀螺仪怎么处理不会飘逸啊。
我在智能视觉领域工作,遇到的主要困难是陀螺仪方面的问题。不过,在旋转风追踪图片这方面,表现还算不错。
人生路太漫长,人生路又短暂。
关山难越,谁悲失路之人。
 鲁ICP备18019460号-4
我要评论