第十六届智能车竞赛规则浅析
组别设置
今年的组别比之前更加丰富,车模种类更多,共设置了7个组别具体包括:基础四轮组、节能信标组、电磁越野组、双车接力组、全向行进组、单车拉力组、专科基础组、智能视觉组。 在我看学习的大方向可以这样划分:
大部分组别同时拥有电磁和摄像头两种传感器,解决这个赛道元素我有以下几种设想:
- 使用摄像头,Y型赛道在摄像头图像中间顶部中可能会出现尖点,尖点两边的赛道线呈先一种夹角,从而来进行判断是否为Y型赛道,完成判断后同圆环一样进行补线。跑两圈分别通过2个不同路段,可以通过拨码开关或者设置好标志位,来进行不同的路线选择。
- 对于电磁而言,我还没有看到岔路上具体如何铺设电磁线的说明,无非两种情况:1)一侧铺电磁线,另一侧不铺;2)两侧都有。对于第一种情况我觉得可以采用八字电感,这样就会存在一侧的八字电感值较大,而另一侧整体电感值较小的情况,这样可以帮助识别Y型赛道。第二种情况,适当改变不同电感的控制比重就可以完成。 对于使用电磁的同学,小白这里还是建议采用3对以上的电感,一对垂直、一对平行、一对八字(内八外八都可以),更多的有效传感器意味着更多的环境信息,更有助于你识别环境设计算法。但是太多也不是好事,这灰让你的开发构想变得非常的臃肿,真理往往是简单而美丽的。
车库
观看了十五届比赛发现也有很多比赛选手对于车库的处理感到困难,很多选手没法入库或者干脆放弃了入库。 这里我给大家提供一个简易的思路:通过陀螺仪和编码器来进行简单的位置估计。即通过编码器获得速度,陀螺仪获得方向,将速度分解为X、Y方向,再进行积分,从而获得粗略的位置估计。
static void block_avoid_data_update(s_block_avoid_data_t *ps_ba_dat){
ps_ba_dat->speed_line=s_ba_interface.speed_m_s;//速度
ps_ba_dat->theta+=s_ba_interface.rotation_th*dt;//度数
while(ps_ba_dat->theta>180) ps_ba_dat->theta-=360;
while(ps_ba_dat->theta<-180) ps_ba_dat->theta+=360;
//分解速度
ps_ba_dat->speed_x=ps_ba_dat->speed_line*cosf(ps_ba_dat->theta*AtoR);
ps_ba_dat->speed_y=ps_ba_dat->speed_line*sinf(ps_ba_dat->theta*AtoR);
//位置估计
ps_ba_dat->car_position.x+=ps_ba_dat->speed_x*dt;
ps_ba_dat->car_position.y+=ps_ba_dat->speed_y*dt;
}
有了位置估计,再进行一段入库的路径规划,想来对于参赛的各位也不是什么难事。这种位置估计完全可以识别的终点再开始估计。
不同组别的建议
基础四轮、电磁越野、双车接力、专科基础
这一大类,除了双车接力,我觉得是相对简单的,适合一些新手大一大二的朋友参加,参考资料多,适合入门。双车组相对会显得困难一些,但是这些都是可以克服的,接力方面也有了去年的积累,机械结构的设计,从而使得今年有一些降低。我觉得这个趋势是好的,智能车竞赛开始不断向更先进的技术人工智能方向进行转型,这也有利于大学生不断学习新技术。 基础四轮组的摄像头10cm,这一要求确实非常的极限,这个前瞻非常的短,但是好在不限制长度,电磁可以伸的很长,遥想当年的超长的电磁车。今年指定B车,只用一个舵机进行方向控制,可能没有去年C车多级和差速一起控制来的有效和极限。 专科基础组使用C车(以及自制)不允许使用摄像头,那主要是还是采用电磁循迹。 双车一如既往,懂得都懂。 电磁越野,室外的电磁信号,车身比较高,信号可能不是那么理想,尤其是在弯道较大的时候,车身侧面也可以加一些电磁传感器。没有新的赛道任务。
节能信标、全向行进
这看起来是将原来的信标和节能组进行了新的组合。 全向就是H车换向行进,我想这对各个学校原来做信标组的同学完全不是问题,陀螺仪解算好自己的方向,岔路口换向行使。这个项目我觉得挺有意思,就是挺费轮子,哈哈哈哈。 节能信标,我想这可能是普通组中最有难度的组别了。 毕竟节能,对于有祖传的队伍来说,不是太大的问题,对于开荒的队伍来说就是异常的痛苦。还要解决信标的问题。 个人意见是一定要先解决无线充电的问题,只有有电了,才有可能完成比赛,充电的功能要尽可能的完善。新的信号识别,带来新的传感器的使用,但是我觉得今年规则可能会更加侧重于策略,而不是单纯的快,当然了天下武功唯快不破,只要你足够快,别人的策略也是无能为力的,对于速度不是很快的选手就是要一方面提速一方面加强策略,适当的让一个灯,或许会换来好几个灯。
单车拉力
这个应该是最有意思的组别了,很新颖,14届的时候就有人在喊搞个智能自行车,也可能因为后来清华真的做了一个智能自行车,K车模尺寸不限,但是不允许安装惯向轮,也就是说车身平衡得靠舵机来维持,一种新的直立算法,其实和原来的差别也不大,俯仰角的维持变成了横滚角的维持。传感器主要还是电磁,这个就很考验机械结构了,怎样安装才能又快又稳。
智能视觉组
除了基础的控制和道路识别,智能视觉的加入需要识别数字(区分奇数偶数),识别AprilTAG 25h9,识别动物类,水果类,模板匹配的稳定性肯定是没有训练一个靠谱的模型来的稳定性高,小白对这方面了解不是很多,就不瞎出主意了。
算法
随着智能车的发展,单纯的PID已经渐渐不足以应付竞赛需求,这也是鼓励大家去设计新的算法,或许没有设计的能力,但是总归是有学习的能力的,模糊PID、ADRC自抗扰控制等等,这些算法都值得学习也值得尝试。
杂项
智能车比赛想要做的好,方便的调试工具是必不可少的,设计好自己车的调试界面,参数的修改,给车装上屏幕案件,在赛场上随时修改方案。无线传输的图像和电磁信号、陀螺仪信号,在电脑上用上位机查看,快速定位问题所在,大家有空也可以为自己的实验室写一个上位机,留给学弟们使用。以及大家不要太执着于调整参数,写出更好的算法,远比调参更重要