写在前面
我将我的参赛代码已经在GitHub上进行了开源,欢迎大家下载
2020年全国大学生智能汽车竞赛浙江赛区二等奖开源代码 接下来我将就十六届智能车竞赛为各位同学分享我的环岛思路,并且手把手教大家如何将我的开源代码加以利用,关于我的代码有什么不明白的都可以在评论区评论,博主看到了会第一时间回复的。 不过大家一定要注意,2021年的主控芯片跟2020年的不一样的,我用的主控芯片MK66FN2VLQ18,然后今年要求的芯片是 Infineon系列的单片机了。我的代码工程是用IAR8.25及以上版本才能正常打开,所以我推荐大家拿我的代码做为一个参考即可。
效果
思路讲解
我采用的 电感摆放方式是这样的,5个电感均采用 横电感的摆放方式
流程图
示意图+讲解
当车子到达预环岛标志位之后变量就会放置1,这个时候开始编码器积分,当积到阈值之后就说明小车已经行驶到了可以入环的位置(该阈值在自己家实验室可以测试出来的),然后开始第一次角度积分,在这个积分角度里面,车子一直都是打死角的,保证车子能稳定入环,但是这个角度不能太大,当小车稳定入环,陀螺仪积分数值就超过阈值(goto_cirle_gyro),此时开始切换到后面2个横电感电感循迹同时陀螺仪积分数值清零,清零之后陀螺仪开始第二次角度积分,当陀螺仪积分数值超过阈值(gyro_cirlr)之后说明小车已经出环岛了,环岛状态可以结束了,清零环岛相关变量数值。
代码分析
环岛处理在这个文件夹下面,单看这个函数环岛处理就有些简单了,结合流程图来看,其实还有编码器积分,陀螺仪积分的部分哦 后面2个横电感的数值大于一定阈值才会判断为预环岛,因为长前瞻的话车子会在离环岛比较远的地方就感知到环岛 预环岛后会积分一段距离直到适当的入环位置
入环编码器积分
进环陀螺仪积分
环内角度积分
(づ ̄3 ̄)づ╭❤~一键三连,这次一定(๑•̀ㅂ•́)و✧