-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for ROS2 humble? #276
Comments
Not currently, but we'd love to see community efforts to port it. I'm going to make a motion at the next ROS Maritime Working Group (next Tue, Nov 7, announced here) for the community to pick up some work in this repo, and porting will be one of them. I've been given some good ideas for how to start that, beginning from simple things like SDF models. Plugins will be the hardest. I'll create some issue tickets and add them to the WG kanban board to make them visible to the WG community. |
@mabelzhang I want to give it a try.... not sure I can finish it. Which version pair of ROS and Ignition should I aim for? |
Sigh... that's a good question. The latest is Gazebo Ionic, which is targeting ROS 2 The official recommendation is in the table here https://gazebosim.org/docs/harmonic/ros_installation
Fortress is way too old. I do not recommend it, even if that is the recommended green check. We were able to get ROS 2 Humble and Gazebo Garden to work just fine for MBARI WEC, so I would do at least that, or newer. All the newer underwater features we added from WEC, like added mass etc., are in Garden. |
I can open a more formal ticket for it. @evan-palmer was looking to port to ROS 2 too. I need to gather a checklist. @caguero suggested that some things are low hanging like models. Others like ROS plugins are going to be more work. A checklist will allow people to pick off the easy ones fairly easily and do things comfortable to them. @evan-palmer what Gazebo/ROS 2 pairing were you thinking of? |
We will have to merge #246 before/when we port the models. |
So...
so many choices... After listing the options, I see Jazzy Harmonic is a best choice to put efforts.. |
That sounds reasonable for both to be LTS. For installation, one would want to follow the instructions on this page, under "Gazebo Harmonic can be used with ROS 2 Rolling but ros_gz will need to be compiled from source." There's also a step to install rosdep rules for Harmonic. |
I got my hands on this. I will base from Ubuntu 22.04. Meanwhile, added installation methods edits on document for those who are using Ubuntu 22.04 (probably most of the users nowadays). Field-Robotics-Lab/dave.doc#4 |
@mabelzhang I am bit confused. Jazzy is not distributed yet. I guess ROS2 Rolling will become Jazzy when the time comes right? I found a list of repos for Rolling (https://github.com/ros2/ros2/blob/rolling/ros2.repos). Is these package list the right place start porting the dave for preparation of Jazzy? |
Yeah, Jazzy is to be released May 2024. Right now Rolling is what will become Jazzy. So, if we want to do Jazzy+Harmonic pairing, that will work once Jazzy is released. Before Jazzy is released, it unfortunately will need to be Rolling built from source. Iron + Harmonic would be the next-best pairing. Both are currently the latest released versions, so they can be installed from binaries. When Jazzy is released, then the code can be updated. Hopefully from Iron to Jazzy will not be a lot of work... I am not familiar with what's on the ROS 2 roadmap to say for sure. I've asked internally and will update here.
Oh no that file is all the packages for ROS 2. It's massive. You wouldn't want to look at that. You only need to port packages within DAVE, so packages in this repo. For ROS migration, I suspect it's mainly the ROS plugins. https://github.com/Field-Robotics-Lab/dave/tree/master/gazebo/dave_gazebo_ros_plugins For Gazebo migration, that's models and Gazebo plugins. Those tutorials are here https://gazebosim.org/api/sim/8/tutorials.html Lastly, for combining the two, there's tutorials for ROS 2 + new Gazebo integration here https://gazebosim.org/docs/harmonic/tutorials#ros-integration There's also URDFs. Unfortunately, we don't have a tutorial for migrating from Some things in this repo have already been upstreamed to new Gazebo, like The order of doing things -
I really need to convert this comment into a meta-ticket... This is a pretty big effort and really needs to be broken down into separate bullet lists. One really important thing to keep in mind, is that we should upstream as many things as possible to Gazebo itself (such as what Arjo did with the bottom-tracking DVL), to ensure future maintenance. If things are upstreamed, the Gazebo development team will maintain them in the future, so that things don't become orphaned in DAVE in the case that DAVE is no longer maintained. |
Wow... where should I put my hands?? haha.. I might need sometime to understand and get to a starting point! |
Yeah. Let me try to put an initial meta-checklist ticket together by end of the week. It might not have everything, but it'll be a starting point that I can edit later. I probably won't get to it today. Hopefully by Friday. I would say start in the order of the numbered list above. Maybe familiarize with the SDF in new Gazebo. This PR does some SDF migration to Fuel and can give you examples: #242 To generally familiarize yourself with what things look like before and after, you can look at VRX in Gazebo-classic and new Gazebo Hopefully you pick up some ideas from comparing the two branches and seeing what's different. |
@mabelzhang do you know if Harmonic will be the recommended GZ version for Jazzy? Regardless, Jazzy and Harmonic would be a nice target since that would provide two LTS options to users with some pretty long-term stability while things go through migration.
Instead of deleting the models altogether, it might be nice to have a separate repo (or even continue using this one) for new users to contribute models toward. I was thinking that it could be helpful to add a CD pipeline using GZ Fuel Tools to auto-deploy new models or changes to existing models to Fuel to help reduce some of the overhead associated with maintaining models. What do you all think? |
Right now, since Jazzy isn't released yet, if DAVE targets that, DAVE developers will need to build some things from source, which can be an overhead. See https://gazebosim.org/docs/harmonic/ros_installation#using-a-specific-and-unsupported-gazebo-version-with-ros-2 They at least have to build ros_gz from source, which isn't too bad. But "Both approaches may also require that you modify your ROS or Gazebo source code to support this compilation." That would be a bigger overhead. That would be needed if there's a dependency on On the flip side, given that migration will take significant time, maybe by the time migration is done, Jazzy will have been released, then everything will work then. Whichever pairing we do, we will need to provide a Dockerfile on
I would recommend new users to contribute models directly to Fuel, as opposed to this repo, because this repo will have the same problem of not being maintained. The community has been contributing models to Fuel for other projects, like SubT and our other client projects. In fact, we already started doing that for new models we created for DAVE - you can see the collection here https://app.gazebosim.org/OpenRobotics/fuel/collections/DAVE We just didn't have time to upload the rest. Now would be a good time to migrate the rest to Fuel. Fuel has the advantage of more visibility, as people from other projects will be able to see them and use them. There's also online preview and thumbnail of the models. Models are searchable by name or tag or org, etc. People can click a button to download and use them directly. |
I've created the promised meta-ticket in #283. |
Sorry folks, I misremembered in my answers above. Gazebo Harmonic will be paired with ROS Jazzy. Both are LTS. |
It is in the documentation! Above was my summary of it |
Are you sure? I didn't find any mention of Jazzy on this page https://gazebosim.org/docs/harmonic/ros_installation If it is official pairing, the table should list Jazzy (Rolling) + Harmonic as a green check. Or otherwise say it in a sentence somewhere, as Rolling isn't exactly the same as Jazzy. Right now it's not mentioned. |
Harmonic + Rolling pairing has been added! gazebosim/docs#420 |
And more explicitly, Harmonic + Jazzy pairing gazebosim/docs#421 |
Hello Field-Robotics-Lab community,
Is there a support for this simulation to run with
ROS2 humble
,Ubuntu Jammy 22.04
andGazebo garden
?The text was updated successfully, but these errors were encountered: