任务都可以圆满完成,其中任务四最快20多秒,受到电机轮子的限制所以降为34秒,理论上换个好一点的车体结构可以跑到15秒以内
核心算法其实很简单,通过读取编码器返回的值来获取走的距离,再通过走的距离实时计算偏航角,最后加到pid控制器里面,从而可以走出一个标准的圆弧,还可以调整绕圆弧的角度和距离。比如说我想走一个半径为80的角度为30度的圆弧,这也是可以进行调整的。
代码开源链接:
https://pan.baidu.com/s/1im2waBSJLXBwJP6lEdnd6A?pwd=a2wz
提取码:a2wz
补充:有友友问我为什么要走圆弧,走圆弧其中有两个好处,第一就是可以防止轮子打滑走偏了,这样走圆弧还能绕过来。
第二就是可以灵活调整走的距离,防止测试场地地面摩擦系数不同导致的误差,可以及时给出补偿值进行补偿。
唯一的缺点就是走圆弧速度可能慢个0.5秒到1秒,但是可以忽略不记。