有一台4.2*1.6m的阿克曼底盘,直行过程中摆头严重,求帮助

课题组有一台4.2*1.6m的阿克曼底盘,做运输用。目前使用RTK导航,在rviz中设置2D Navigation后,不管是直行还是转弯,move_base一直发送steering_angular,导致车辆直行的过程中,不停的转弯,有点类似车头不断左右摆动的现象。目前move_base发送消息的频率是50Hz,我们暂时在控制程序中设置了0.5s执行一次steering_angular,太频繁的话,怕转向电机受不了。
1、我在论坛里面看,好像还没这么大的车辆模型,不过应该跟车辆模型关系不大吧。
2、move_base中大部分设置都是针对小型模型的,所以对应的参数,尤其是TEB_loacal中robot/footprint/optimal等等选项中,车辆尺寸,轴距,转弯半径,目标容忍误差,还有一些优化参数,也都根据我们的平台车进行了修改。网上也找到下面这个楼主的调试总结。比如针对车辆“摆头”问题https://blog.csdn.net/qq_39266065/article/details/110820022
但是我们修改以后发现改善效果不明显。
3、现在的感觉就是movebase在规划路径的时候,给的是分段曲线,所以发送的steering_angular角度命令,好像是要沿着切线运动。无法真实逼近阿克曼模型的运行情况,能否给个建议。
4、下面这个图是规划路径后,发送的消息,steering_angular一直会发送
img

针对阿克曼底盘直行过程中摆头严重的问题,可以考虑以下几个方面:

车辆模型参数的设置:可以根据车辆的具体参数进行设置,包括轮子半径、轴距、转向机构参数等,这些参数的设置对于轮胎滑移、摆头等现象都有很大的影响。

控制策略的优化:可以根据车辆的动力学特性进行控制策略的优化,例如加速度、速度、转向角等参数的调整,以减少摆头等现象。

传感器的校准:可以对车辆的传感器进行校准,以提高定位精度和航向精度,减少摆头等现象。

路径规划的优化:可以对路径规划算法进行优化,使其更加适合阿克曼底盘的运动模型,以减少摆头等现象。

针对您提到的问题,建议可以考虑以下几个方面:

调整move_base参数:可以根据阿克曼底盘的具体参数,调整move_base中相关参数,例如TEB_local中的robot/footprint/optimal等选项,以及base_local_planner中的相关参数,逐步调整参数,并观察效果。

优化控制策略:可以根据车辆的动力学特性,优化控制策略,例如加速度、速度、转向角等参数的调整,以减少摆头等现象。

修改路径规划算法:可以尝试修改路径规划算法,以适应阿克曼底盘的运动模型,减少摆头等现象。

检查硬件连接:可以检查硬件连接是否稳定,例如车轮、转向机构、传感器等,确保它们的工作正常,不会对车辆的运动产生不良影响。

以上建议仅供参考,具体还需要根据具体情况进行调试和优化。