# Multiwheel differential drive plugin

**URL:** <https://discourse.openrobotics.org/t/multiwheel-differential-drive-plugin/18030>\
**Category:** ROS General\
**Tags:** melodic\
**Created:** [December 16, 2020, 3:45pm UTC](https://discourse.openrobotics.org/t/multiwheel-differential-drive-plugin/18030 "2020-12-16T15:45:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![RamSrivatsav](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ramsrivatsav/32/8807_2.png) [@RamSrivatsav](https://discourse.openrobotics.org/u/RamSrivatsav)\
**Post date:** [December 16, 2020, 3:45pm UTC](https://discourse.openrobotics.org/t/multiwheel-differential-drive-plugin/18030/1 "2020-12-16T15:45:17Z")

</div>

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](https://github.com/RamSrivatsav/gazebo_ros_diff_drive_multiwheel). I would appreciate any feedback or recommendations for improvements. Hope you guys enjoy it.  
Regards,  
Ram.

---

<div class="post-metadata">

**Author:** ![msadowski](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/msadowski/32/33950_2.png) [@msadowski](https://discourse.openrobotics.org/u/msadowski)\
**Post date:** [December 18, 2020, 4:54pm UTC](https://discourse.openrobotics.org/t/multiwheel-differential-drive-plugin/18030/2 "2020-12-18T16:54:19Z")

</div>

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:

```auto
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](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: [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) if you use this advice your repo will look more professional straight away.

---

<div class="post-metadata">

**Author:** ![RamSrivatsav](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/ramsrivatsav/32/8807_2.png) [@RamSrivatsav](https://discourse.openrobotics.org/u/RamSrivatsav)\
**Post date:** [January 1, 2021, 9:28am UTC](https://discourse.openrobotics.org/t/multiwheel-differential-drive-plugin/18030/3 "2021-01-01T09:28:25Z")

</div>

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.
