ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I've used differential_drive
in Indigo and Jade. You cannot install via rpm but can get the source from GitHub and add to your catkin_src. The original code was for Groovy, but the author has incorporated some changes I supplied to make the package more ROS-up-to-date and remove compile warnings for Hydro and above. (https://github.com/jfstepha/differential-drive)
That said, I no longer use differential_drive
for these reasons:
I intended to use differential_drive
together with rosserial_python
to talk to an Arduino-based robot controller. However, rosserial
proved unreliable on Arduino-class devices with only 2kb RAM, so I had to abandon that approach.
I shifted to using ros_arduino_bridge
, which incorporates the functionality that differential_drive
supplies, so I no longer needed it.
If you decide to use differential_drive
, a few observations:
differential_drive
incorporates a PID controller in Python to send motor controls via ROS messages. However, the author of differential_drive
doesn't recommend that method any more. (From email communication.) He recommends instead putting the PID controller closer to the motor control hardware.
differential_drive
mixes units at times. For example, motor commands sent by the node are in m/s, while odometry returned from the motor control system is in encoder ticks per second.