How to change from libsdformat version 9 to >=10 for parameter parsing in nested model.sdf files?
Hello all,
I want to use the "include tag" in model.sdf files to reduce file duplication and to create instances of the same model like sensors, actors and some thing similar. Therefore it is necessary to pass parameters from the including model.sdf file to the included model.sdf file. Refer this page for an example.
In the example above, the specific sdf version and libsdformat version is:
SDF version: 1.7
libsdformat version: 10
So I checked my current setup with
apt list | grep libsdformat
that prints the installed libsdformat versions as follows:
libsdformat-dev/jammy 12.3.0+ds-2 amd64
libsdformat12-12/jammy 12.3.0+ds-2 amd64
libsdformat12-dbg/unknown 12.7.1-1~jammy amd64
libsdformat12-dev/unknown,now 12.7.1-1~jammy amd64 [installed]
libsdformat12/unknown,now 12.7.1-1~jammy amd64 [installed]
libsdformat13-dbg/unknown 13.4.1-1~jammy amd64
libsdformat13-dev/unknown 13.4.1-1~jammy amd64
libsdformat13/unknown 13.4.1-1~jammy amd64
libsdformat6-dev/jammy,jammy 12.3.0+ds-2 all
libsdformat9-9/jammy,now 9.7.0+ds-1 amd64 [installed,automatic]
To see which version is used for a running Gazebo simulation, I used
ldd $(which gazebo) | grep libsdformat
and the output is:
libsdformat9.so.9 => /lib/x86_64-linux-gnu/libsdformat9.so.9 (0x00007f4cf525f000)
Furthermore, the ros-humble-gazebo-plugins are used for the simulation and libsdformat9-9 is the connected version.
apt show ros-humble-gazebo-plugins | grep libsdformat
Depends: libboost-thread1.74.0 (>= 1.74.0), libc6 (>= 2.35), libgazebo11 (>= 11.10.2+dfsg), libgcc-s1 (>= 3.3.1), libignition-math6-6 (>= 6.10.0+ds3), libogre-1.9.0v5 (>= 1.9.0+dfsg1-9~), libopencv-core4.5d (>= 4.5.4+dfsg), libopencv-imgproc4.5d (>= 4.5.4+dfsg), libprotobuf23 (>= 3.12.4), libsdformat9-9 (>= 9.7.0+ds), libstdc++6 (>= 11), libtbb12 (>= 2021.4.0), ros-humble-camera-info-manager, ros-humble-cv-bridge, ros-humble-gazebo-dev, ros-humble-gazebo-msgs, ros-humble-gazebo-ros, ros-humble-geometry-msgs, ros-humble-image-transport, ros-humble-nav-msgs, ros-humble-rclcpp, ros-humble-sensor-msgs, ros-humble-std-msgs, ros-humble-std-srvs, ros-humble-tf2-geometry-msgs, ros-humble-tf2-ros, ros-humble-trajectory-msgs, ros-humble-ros-workspace
So the questions are how can the used libsdformat version be changed from 9 to 10 or 12 for a running Gazebo (version 11.10.2) simulation?
How is it possible to use libsdformat version 10 or 12 for the ros-humble-gazebo-plugins?
It would be very nice if someone can give me an advice or hint to achieve that.
I look forward to hearing from you.
Best regards