最近,在Gazebo中打开一个四轮差动小车模型后,发现一段时间后小车在缓慢向后滑动,但并没有给小车发送速度,可以猜测是模型或者仿真器本身存在问题。下面是尝试修改的过程。
小车原设置:底盘m=33,后面两轮子m=1,前面两轮子m=3.5
1.小车后溜为什么不是向前呢?遂将前两轮设置为m=100,发现没有后滑。考虑到实体机器人的质量差距不会这么大,此处设置不合理,下面进一步探究。
2.将小车原设置修改为,小车底盘m=5,后面两轮子m=3.5,前面两轮子m=3.5,发现还是后滑,但速度慢了不少,修改有效果,但这种质量设定不应该出现问题才对,那可能是其它的问题吗,比如摩擦力?
3.将后两轮摩擦力设置为0,因为其关节固定。
<surface>
<friction>
<ode>
<mu>0.0</mu>
<mu2>0.0</mu2>
</ode>
</friction>
</surface>
前两轮为驱动轮其设置如下
<surface>
<friction>
<ode>
<mu>1.0</mu>
<mu2>1.0</mu2>
</ode>
</friction>
</surface>
还是会向后滑,虽然很缓慢。
4.检查模型是否存在高低不平的问题,结果是不存在。
结论:修改摩擦力有效果,修改质量有明显效果。