Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version
  • a controller specified by <plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so"> in a <gazebo> tag, in an URDF file, and

This is a Gazebo plugin, and hence will work only in Gazebo (doc).

  • a controller spawned by a controller_manager spawner node of type "diff_drive_controller/DiffDriveController"

This is a ros_control plugin, and will work with any supported robot backend, and includes not only Gazebo, but ros_control-enabled hardware, and potentially other simulators as well (doc).

Feature-wise they seem roughly similar: take twist commands, publish odometry. I would suggest you to look at the documentation of each alternative and figure out which works best for your setup.