Code Monkey home page Code Monkey logo

Comments (14)

traversaro avatar traversaro commented on August 17, 2024 1

If you want to use gz-sim with robostack, pay attention that you may also hit the error: conda-forge/gz-sim-feedstock#6 . The fix for that is available at gazebosim/gz-sim#1968 . It is taking some time as it needs to be accepted upstream before being backported (as it introduces new ABI symbols), but hopefully we should be done with it soon(ish).

from ros-humble.

traversaro avatar traversaro commented on August 17, 2024 1

In general you can't mix homebrew and conda-forge packages, as they have different ABIs. Anyhow, even if conda-forge/gz-sim-feedstock#6 is present, probably you can work around it by manually copying $CONDA_PREFIX/share/gz/gz-sim7/gui/gui.config to ~/.gz/sim/7/gui.config . Furthermore, as this problem is just at runtime, there should be no problem in already working on adding ros-humble-ros-gz to robostack, see https://github.com/RoboStack/ros-humble/blob/main/CONTRIBUTING.md#adding-new-packages-via-pull-requests for docs on that.

from ros-humble.

Tobias-Fischer avatar Tobias-Fischer commented on August 17, 2024 1

By the way, I can’t recall how exactly vinca parses the package.xml, and I’m not sure if it would respect the environment variables. In the past I’ve simply remapped within the robostack.yaml /conda.yaml to whichever gazebo version I want. Not nice but works.

from ros-humble.

traversaro avatar traversaro commented on August 17, 2024 1

I guess it would be resolved if we move to a newer ROS2 distribution (e.g. Iron) which supports a newer Modern go-sim?

Kind of. The packages for gz-sim on Windows on conda-forge are available and basic simulations are working, but the GUI still does not work, but that's an upstream issue (see gazebosim/gz-sim#2089).

from ros-humble.

icosac avatar icosac commented on August 17, 2024

Thanks for pointing me to this issues! I will have them monitor and see if there is any progress.

from ros-humble.

mkarklins avatar mkarklins commented on August 17, 2024

Awesome to see progress on this front!

It looks like I have some spare time available. Does it make sense to take a stab at adding the ros-gz package now before the gz-sim PR is merged? Since the gz-sim* things can be installed separately, relatively easy on mac with homebrew.

from ros-humble.

traversaro avatar traversaro commented on August 17, 2024

A more tricky issue is that apparently the Humble version of ros-gz packages depend on Gazebo (Ignition) Fortress (see https://github.com/gazebosim/ros_gz). However, all relocatability work is going on Gazebo Garden. While it may be possible to have some simpler workaround/fix to solve conda-forge/gz-sim-feedstock#6, I am not sure if Gazebo Fortress packages work at all on macOS. Probably the easiest way to check is to first build from source ros-gz packages to check if they work.

from ros-humble.

mkarklins avatar mkarklins commented on August 17, 2024

Is there an inherent requirement to support Fortress release ( a side from it being an LTS version )? It seems at least initially we can focus on Garden.

from ros-humble.

traversaro avatar traversaro commented on August 17, 2024

Fine for me (if it is ok for @@Tobias-Fischer) if you are able to do that, to be honest I tought it was difficult to override the metadata in the package.xml, but apparently there is an handy env variable to do so:https://github.com/gazebosim/ros_gz/blob/humble/ros_gz_bridge/package.xml#L30 . So probably you also need to add Garden packages to the rosdep keys in https://github.com/RoboStack/ros-humble/blob/main/robostack.yaml .

from ros-humble.

Tobias-Fischer avatar Tobias-Fischer commented on August 17, 2024

Sounds good to me :)

from ros-humble.

traversaro avatar traversaro commented on August 17, 2024

Thanks for pointing me to this issues! I will have them monitor and see if there is any progress.

For anyone just monitoring this issue and not that one, the problems on gz-sim on Linux were solved some weeks ago, see conda-forge/gz-sim-feedstock#6 (comment) .

from ros-humble.

Tobias-Fischer avatar Tobias-Fischer commented on August 17, 2024

Hi @traversaro - I am a bit lost when it comes to Gazebo support for ROS2. I'm happy to look into it, but would appreciate a bit of guidance. What is the overall status of Classic-Gazebo and Ignition-Gazebo both standalone and in conjunction with RoboStack/ROS2? Which version of Classic-Gazebo / Ignition-Gazebo should we use?

We just got asked this in our Gitter:
"z4ziad
Ok, I am new to Robostack. So far, I like what I have read about it and would like to use it in the classroom in an engineering program. I wonder what route I should take to install ROS2 Humble and a basic Gazebo simulator (i.e., what packages should I install for Windows and MacOS)?"

from ros-humble.

traversaro avatar traversaro commented on August 17, 2024

Hi @traversaro - I am a bit lost when it comes to Gazebo support for ROS2. I'm happy to look into it, but would appreciate a bit of guidance. What is the overall status of Classic-Gazebo and Ignition-Gazebo both standalone and in conjunction with RoboStack/ROS2? Which version of Classic-Gazebo / Ignition-Gazebo should we use?

Ok, let's try to recap. Sorry for the complexity, hopefully it will go away in the long term. In the following I will refer to "Classic gazebo" to refer to the "old" Gazebo that has been developed from ~2004 and will be not be supported upstream anymore in 2025, and with "Modern gz-sim" for the modern simulator (that used to be called "Ignition Gazebo") that is being actively developed and it is recommended for new developments. Unfortunately, both are being called "Gazebo", so I prefer to avoid using just "Gazebo" as it is ambiguous. It is important to distinguish the two, as even if they share the possibilities of loading models in URDF and SDF formats, the API for their plugins is completely different, so effectively two different simulators.

First of all, historically each version of ROS/ROS2 is associated to a corresponding release of both "Gazebo classic" and "Modern gz-sim". Using a different version may be working, but it is typically not supported in binary packages. For ROS2 Humble, the corresponding releases are:

Gazebo version Version supported by ROS Humble Package providing integration between ROS and Gazebo Documentation Link OS supported
Gazebo Classic: 11 ros-humble-gazebo-ros-pkgs https://classic.gazebosim.org/tutorials?tut=ros2_overview Linux, macOS and Windows.
Modern gz-sim Gazebo Fortress , gz-sim6 (that is available in conda-forge as libignition-gazebo6, as it was released before the Gazebo/Ignition renaming) . See https://github.com/gazebosim/ros_gz and https://github.com/gazebo-tooling/gazebodistro/blob/master/collection-fortress.yaml ros-humble-ros-gz (it used to be called ros-ign, but it was retroactively renamed to ros-gz to simplify the life of users migrating to the future release of Modern gz-sim called "gz" instead of "ign"). https://docs.ros.org/en/humble/Tutorials/Advanced/Simulators/Gazebo/Gazebo.html Linux should work, I am not sure about macOS. For sure Windows it is not working, see gazebosim/gz-sim#2089

Regarding robostack, it seems that ros-humble-gazebo-ros-pkgs was compiled recently, while in the latest rebuild, while ros-humble-ros-gz is missing, I will open a PR to build it: #146 .

from ros-humble.

Tobias-Fischer avatar Tobias-Fischer commented on August 17, 2024

Many thanks @traversaro! I’ll reopen here to keep track of the Windows issue. I guess it would be resolved if we move to a newer ROS2 distribution (e.g. Iron) which supports a newer Modern go-sim?

from ros-humble.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.