关于ROS+Gazebo通过cmd_vel或键盘控制节点发布速度消息时,仿真小车运动速度相反问题

  • Post author:
  • Post category:其他


本人初学ros,在做仿真小车的时候,通过soildworks2018建立四轮小车模型,并通过插件soildworks to urdf导出urdf文件。

将该文件移入虚拟机中,并将urdf修改为xacro文件,运行Gazebo进行仿真。

通过发布速度控制指令,小车往反方向运动。

rostopic pub -r 10/cmd_vel geometry_msgs/Twist

通过键盘控制节点进行控制,运动全部相反。

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

到rviz中,查看tf坐标,检查是否建模的时候坐标系给错了,发现坐标系全部正常。

通过各种途径查找解决方法,没有发现能够解决的办法,但是在github上下载的别人的模型,可以正常运行,因此确定是建模出现问题,故在xacro文件中检查。

随后发现,只要将四个轮子的axis数值,修改为相反的即可,如下图所示,-1改为1或者1改为-1。

同理,如果出现发布直行的消息,仿真小车确实左转或者右转,也是修改该参数,因为在soildworks到处urdf过程中,出现为参数错误的问题,使轮子的axis数值错误,从而无法正常移动。



版权声明:本文为LT1435497088原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。