ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Multiwheel differential drive plugin

Hello Everyone,
I have recently developed a multi-wheel differential drive plugin compatible with ROS Melodic. It solves the drawback of inbuilt differential drive plugin which only supports two wheels. Here is the link to the repository: Multi-wheel differential drive. I would appreciate any feedback or recommendations for improvements. Hope you guys enjoy it.
Regards,
Ram.

2 Likes

Neat initiative but isn’t it done by the diff_drive already? There is a skid steer option if you define a joint array in the diff drive config file:

jackal_velocity_controller:
  type: "diff_drive_controller/DiffDriveController"
  left_wheel: ['front_left_wheel', 'rear_left_wheel']
  right_wheel: ['front_right_wheel', 'rear_right_wheel']
...

I’ve taken the above from: http://wiki.ros.org/diff_drive_controller.

Do you do anything differently?

As for feedback, after a quick glance:

  • It’s cool that you added a readme! Much appreciated!
  • You could add .vscode directory to .gitignore
  • Regarding git. I highly recommend this article: https://chris.beams.io/posts/git-commit/ if you use this advice your repo will look more professional straight away.

Hello Msadowski,

Sorry for the delay. I was expecting this question. This package is developed as an improvement to the in-built differential drive ROS Gazebo plugin and has all its features.

Yes, it is different from the differential drive controller. This package has additional configurable parameters like;
1). Wheel Torque.
2). Togglable Odom, tf and joint state publishers.

Furthermore, Skid steer plugin supports only four-wheeled robots, whereas this plugin support 2N wheeled robots, where N is a natural number.

Thanks for the feedback, I will incorporate them into my projects.