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

        本人初学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数值错误,从而无法正常移动。

猜你喜欢

转载自blog.csdn.net/LT1435497088/article/details/128233106
今日推荐