ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Thanks to VN!

It is working now! I rewrote controller part in the pioneer3dx.xacro and replaced

<controller:differential_position2d name="controller1">
  <update>100</update>
  <leftJoint>base_right_wheel_joint</leftJoint>
  <rightJoint>base_left_wheel_joint</rightJoint>
  <wheelSeparation>0.39</wheelSeparation>
  <wheelDiameter>0.15</wheelDiameter>
  <torque>5</torque>
  <interface:position name="position_iface_0"/>
</controller:differential_position2d>

with

<controller:diffdrive_plugin name="differential_drive_controller" plugin="libdiffdrive_plugin.so">
  <alwaysOn>true</alwaysOn>
  <update>100</update>
  <updateRate>100.0</updateRate>
  <leftJoint>base_right_wheel_joint</leftJoint>
  <rightJoint>base_left_wheel_joint</rightJoint>
  <wheelSeparation>0.39</wheelSeparation>
  <wheelDiameter>0.15</wheelDiameter>
  <torque>5</torque>
  <interface:position name="position_iface_0"/>
  <robotNamespace>/</robotNamespace>
  <topicName>cmd_vel</topicName>
</controller:diffdrive_plugin>

And there where also some changes needed to the launch file: The Controller Manager and the Controller Manager could be replaced by the Robot state publisher.

  <!-- Robot state publisher -->
  <node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher">
    <param name="publish_frequency" type="double" value="50.0" />
    <param name="tf_prefix" type="string" value="" />
  </node>