# Revision history [back]

I have solved the problem of moving the robot another way. But anyway maybe it will be helpful to someone else.

I don't know the reason of the issue with wheels, but moving pioneer2dx can be performed using the pluguin. You just add this to your .world file:

<model name='pioneer2dx'>
<plugin name='differential_drive_controller'
filename='libgazebo_ros_diff_drive.so'>
<alwaysOn>true</alwaysOn>
<updateRate>100</updateRate>
<leftJoint>left_wheel_hinge</leftJoint>
<rightJoint>right_wheel_hinge</rightJoint>
<wheelSeparation>0.39</wheelSeparation>
<wheelDiameter>0.15</wheelDiameter>
<torque>5</torque>
<commandTopic>cmd_vel</commandTopic>
<odometryTopic>odom</odometryTopic>
<odometryFrame>odom</odometryFrame>
<robotBaseFrame>chassis</robotBaseFrame>
</plugin>
</model>


Once your world is running, you can use this to drive your Pioneer2DX:

publisher = rospy.Publisher('/%s/cmd_vel' % topic, Twist, queue_size=8)
msg = Twist()
msg.linear.x = your_linear_speed
msg.angular.z = your_angular_speed
publisher.publish(msg)