GuiRitter / OpenBase

An omnidirectional mobile platform with a 3 omnidirectional wheels layout
MIT License
142 stars 45 forks source link

Gazebo 9 compatible #13

Closed tuannv-github closed 5 years ago

GuiRitter commented 5 years ago

Sorry for the delay!

I wanted to know whether this was a breaking change and what to do about it. Problem is I no longer had the system where I originally started this project neither I remember which Gazebo version it was.

I searched around and imagined it was Gazebo 6 that I used to use (spoiler alert: it wasn't). So I downloaded and installed an older Debian distro from around the same time in a virtual machine. Gazebo wasn't in the repos. So I tried to build from source. I couldn't manage to install a required dependency, searched around and it seemed that I would have more success with Ubuntu.

So I downloaded and installed Xubuntu 14.04 and tried to install from source. I managed to go further up to a point where I downloaded Gazebo's source. For that, I had to learn how to use Mercurial to check out the Gazebo 6 branch. During compiling, I saw that Gazebo 6 appeared in the repos, which means I wouldn't have to install from source. So I downloaded and installed it and libgazebo6-dev.

I got an error trying to use this project's model because it uses SDF 1.6 and Gazebo 6 uses SDF 1.5. So it was either Gazebo 7 or 8 that I used to use. I had to reinstall Xubuntu 14.04 because it stopped working. Then I installed Gazebo 7 and finally managed to confirm that this is a breaking change. Then I downloaded and installed Xubuntu 18.04 and downloaded and installed Gazebo 9 just for a sanity check.

With all that said, thanks for your contribution! I will be quite some time before I resume working on this project and, when I'll do, I'll just work with ROS, so I would never have found out that it required an update.

However, if there is someone using this project with Gazebo 7 or 8 and can't update for some reason, I want to still support them. So, I've created a branch called gazebo7 where this project will remain as it is and further development will continue on the master branch. Of course, if some future commit is backwards compatible, it can be pushed on both branches.

I'll update the README.md to reflect this shortly. Thanks again!