Skip to content

[pull] gz-sim8 from gazebosim:gz-sim8#20

Open
pull[bot] wants to merge 227 commits intoMRE-Code-Hub:gz-sim8from
gazebosim:gz-sim8
Open

[pull] gz-sim8 from gazebosim:gz-sim8#20
pull[bot] wants to merge 227 commits intoMRE-Code-Hub:gz-sim8from
gazebosim:gz-sim8

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 28, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

arjo129 and others added 17 commits October 8, 2021 14:43
Signed-off-by: Arjo Chakravarty <arjo@openrobotics.org>
Signed-off-by: Arjo Chakravarty <arjo@openrobotics.org>
Signed-off-by: Arjo Chakravarty <arjo@openrobotics.org>
Signed-off-by: Arjo Chakravarty <arjo@openrobotics.org>
…cs/ign-gazebo into arjo/fix/detachable_joint
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
CMake checks if rendering is available to enable some tests, so the
rendering environment needs to be set before CMake runs.

---------

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
* test script tag

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* add dark grey before creating component

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* material parser

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* linters

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* Update src/rendering/MaterialParser/MaterialParser.cc

Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Signed-off-by: Dharini Dutia <dharinidutia@gmail.com>
Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* fix configLoader, material struct and feedback

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* default color and todos

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* install/load one file, range based loop, hardcode dependent solid colors

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* fix install_dir property

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* credits, initializing cleanup

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* eof

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* reformat

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* add integration test

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* migration note

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* intends, default case, invalid color

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* optional materialValues, typo

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* feedback

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* size check

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* get color values

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

* migration doc update

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>

---------

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>
Signed-off-by: Dharini Dutia <dharinidutia@gmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Edited gazebo.material file to remove multiple passes in solid colors.
Refactored the parser based on Gazebo's style guide.

Signed-off-by: Dharini Dutia <dharini@openrobotics.org>
Signed-off-by: Dharini Dutia <dharinidutia@gmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Signed-off-by: Dharini Dutia <dharini@openrobotics.org>
The failures are caused by a change in the DART physics engine
(dartsim/dart#1774) which causes joints to
recover after reaching or exceeding their position limits. It seems like
the model used in this plugin starts off with joint limits violated and
recovers after a few iterations. This causes a small movement of the
robot. Since the test works by comparing images taken of the robot at
the start of simulation and after a few iterations, the small movement
causes a discrepancy in the images. The solution here is to run the
whole test while simulation is paused.

This also cleans up some TestFixture warnings.

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Merge ign-gazebo6 ➡️  gz-sim7
…mespace `gz` (#2385)

The `gz` namespace is not recognized by doxygen enough for it to
autogenerate links to inner namespaces and classes. For example, `\ref
gz::sim::systems` or simply `gz::sim::systems` don't link to the
namespace documentation. You'd have to use `ignition::gazebo::systems` instead. I was hoping there
was a more clever solution that would allow all `gz::` refs to work
automatically, but I was not able to find one, so this is a compromise
to fix the landing page for ign-gazebo6 (https://gazebosim.org/api/sim/6)

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
The package name has an underscore between `fuel` and `tools`.

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
@codecov-commenter
Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

Blast545 and others added 9 commits April 29, 2024 01:34
Signed-off-by: Jorge Perez <jjperez@ekumenlabs.com>
* Use latest 1.14 google-test in gtest_setup

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>

* Make gcc happy about dangling pointer

GCC is emitting a warning about a possible danling pointer on table
like definitions:

warning: possibly dangling reference to a temporary [-Wdangling-reference]
  660 |         auto const& table = get_current_events_table(state_indexes{});
      |                     ^~~~~

Which I think that really comes from the use of state_indexes{} as
argument:

  note: the temporary was destroyed at the end of the full expression
  660 |         auto const& table = get_current_events_table(state_indexes{});
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~

Clang is quiet about this and make me think that is a false positive
since the metaprogramming code is using just the type of the state_indexes
as much as I can see.

---------

Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
The test in this file does nothing. We should remove it.

Signed-off-by: Arjo Chakravarty <arjoc@google.com>
This adds the dynamics to simulate a lighter-than-air vehicle such as blimps/airships. The modelling is  based on [1] and [2]. Previously we added an airship-dynamics-plugin to Gazebo-Classic for [PX4 Gazebo SITL](PX4/PX4-SITL_gazebo-classic#490) , but we suffered simulation instability similar to that of the underwater-vehicles since Gazebo-Classic could not simulate the Added Mass dynamics.

This PR brings that airship-dynamics-plugin to Gazebo which supports the Added Mass dynamics.

Furthermore, I have extended, the Link class to provide access to the AddedMassMatrix, to allow the lighter-than-air system to easily access this matrix. 

The code is somewhat based of the Hydrodynamics system. 

I have an STL file which I can contribute, which is an envelope from [Wind Reiter](https://www.windreiter.com/shop/sb-324-300/), and the coefficients in the integrations test is for this envelope model.

### Citations
[1] Li, Y., & Nahon, M. (2007). Modeling and simulation of airship dynamics.  Journal of Guidance, Control, and Dynamics, 30(6), 1691–1700.
[2] Li, Y., Nahon, M., & Sharf, I. (2011). Airship dynamics modeling: A literature review. Progress in Aerospace Sciences, 47(3), 217–239.


Signed-off-by: henrykotze <henry@flycloudline.com>
This adds some comments and uses structured bindings
in range-based for loops to improve readability.
It also adds const to unmodified variables in a loop.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Co-authored-by: Jenn Nguyen <jenn.nguyen02@gmail.com>
…from the container (#2412)

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
iche033 and others added 30 commits October 24, 2025 17:36
Signed-off-by: Ian Chen <ichen@openrobotics.org>
Signed-off-by: Ian Chen <ichen@openrobotics.org>
(cherry picked from commit f8f8a80)
This is nessecary to get stacktraces properly formatted in our CI when
developing.

Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
(cherry picked from commit ed0321a)
Signed-off-by: Maksim Derbasov <ntfs.hard@gmail.com>
Co-authored-by: Addisu Z. Taddese <addisu@openrobotics.org>
(cherry picked from commit 2d4d4f7)
Signed-off-by: Ian Chen <ichen@openrobotics.org>
… disabled by adding validity checks for GI and enabled state (#3084)

Signed-off-by: momo <2438833481@qq.com>
Co-authored-by: Ian Chen <ichen@openrobotics.org>
(cherry picked from commit b9540d6)
#3085) (#3196)

(cherry picked from commit 40dbdeb)

Signed-off-by: Ian Chen <ichen@openrobotics.org>
Co-authored-by: Ian Chen <ichen@openrobotics.org>
This pull requests solves the [issue](gazebosim/gz-physics#766) in gz-physics but since it requires changes in this repo instead of gz-physics I am opening this pr here.
With this gazebo now supports changing gravity at runtime by running
'gz service -s /world/world_demo/set_physics   --reqtype gz.msgs.Physics   --reptype gz.msgs.Boolean   --timeout 2000   --req 'gravity { x: 0 y: 0 z: -2.8 }'
---------




(cherry picked from commit d2780bb)

Signed-off-by: Shivang <shivangso23@iitk.ac.in>
Signed-off-by: Arjo Chakravarty <arjoc@intrinsic.ai>
Co-authored-by: Shivang <75626127+IceShuttle@users.noreply.github.com>
Co-authored-by: Arjo Chakravarty <arjoc@intrinsic.ai>
Signed-off-by: miguelgonrod <miguelgonrod2004@gmail.com>
* Use `Node::CreateSubscriber` API in `ApplyLinkWrench` system

This API creates subscriber objects that automatically unsubscribe from
the given topic when destroyed.

* Set GZ_IP on tests

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>

---------

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
(cherry picked from commit 49db230)
(cherry picked from commit ff0a34d)

Signed-off-by: Carlos Agüero <caguero@osrfoundation.org>
Co-authored-by: Carlos Agüero <caguero@openrobotics.org>
(cherry picked from commit 8b078b9)

Signed-off-by: Maksim Derbasov <ntfs.hard@gmail.com>
Co-authored-by: Maksim Derbasov <ntfs.hard@gmail.com>
Signed-off-by: Ian Chen <ichen@openrobotics.org>
(cherry picked from commit 80246e0)
(cherry picked from commit 6759b33)

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Co-authored-by: Addisu Z. Taddese <addisu@openrobotics.org>
`benchmark::internal::Benchmark` was deprecated in
google/benchmark#2101 which was released as
1.9.5

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
(cherry picked from commit 8edb19f)
…urce URIs (#3286)

* Clear findfile callbacks to avoid lifetime mismatches

This was causing a crash where the callbacks that were registered
in an earlier test were being called in a later test. Since the
pointers accessed in the callbacks have long been destroyed,
a memory corruption occurs.

---------

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Ian Chen <ichen@openrobotics.org>
Co-authored-by: Ian Chen <ichen@openrobotics.org>
(cherry picked from commit 3c66274)
Signed-off-by: Ian Chen <ichen@openrobotics.org>

# Conflicts:
#	MODULE.bazel
Signed-off-by: miguelgonrod <miguel.gonzalez@ekumenlabs.com>
* Add collision param to touch plugin

---------

Signed-off-by: Ian Chen <ichen@openrobotics.org>
(cherry picked from commit 5441010)
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
(cherry picked from commit af94079)
Signed-off-by: Addisu Z. Taddese <addisuzt@intrinsic.ai>
* Fix unused-result warnings in tests
  Expect ParseFromString to return true.
* Fix additional warnings (#3383)

Signed-off-by: Steve Peters <scpeters@intrinsic.ai>
Signed-off-by: Addisu Z. Taddese <addisuzt@intrinsic.ai>
Co-authored-by: Addisu Z. Taddese <addisuzt@intrinsic.ai>
(cherry picked from commit 39b6250)
Signed-off-by: momo <2438833481@qq.com>
Co-authored-by: Ian Chen <ichen@openrobotics.org>
(cherry picked from commit 07b9ed0)

# Conflicts:
#	src/gui/plugins/visualize_frustum/VisualizeFrustum.cc
#	src/gui/plugins/visualize_frustum/VisualizeFrustum.hh

Co-authored-by: Oscmoar07 <108773152+XINJIANGMO@users.noreply.github.com>
…3379)

(cherry picked from commit f598d5b)

Signed-off-by: BhuvanB <bhuvanb1408@gmail.com>
Co-authored-by: Bhuvan B <bhuvanb06@protonmail.com>
(cherry picked from commit 533647e)
Signed-off-by: Ian Chen <iche@intrinsic.ai>
Co-authored-by: Ian Chen <iche@intrinsic.ai>
(cherry picked from commit fbf9aa6)
Signed-off-by: Carlos Agüero <caguero@osrfoundation.org>
(cherry picked from commit b370313)
…3438)

* Fix crash when calling reset in model_photo_shoot (#3416)

Signed-off-by: momo <2438833481@qq.com>
(cherry picked from commit fe17422)


Signed-off-by: momo <2438833481@qq.com>
Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Oscmoar07 <108773152+XINJIANGMO@users.noreply.github.com>
Co-authored-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
…3450)

* docs: fix selected Doxygen warnings in docs build (#3445)

Signed-off-by: Ammaar Ahmed <ammaarlatif53@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
(cherry picked from commit 8bb61f8)


Signed-off-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Co-authored-by: Ammaar Ahmed <ammaarlatif53@gmail.com>
Co-authored-by: Alejandro Hernandez Cordero <ahcorde@gmail.com>
This patch adds multiple improvements to the Hydrodynamic system:

## Bug fixes

  - Coriolis matrix C(0,5): fixed wrong sign (Fossen eq. 6.43).
  - Coriolis matrix C(5,0): fixed wrong index and sign; restores skew-symmetry.
  - abs() → std::abs(): prevents silent truncation to int for sub-unit velocities; added `#include <cmath>`.
  - First-timestep spike: firstIteration flag initializes prevState from actual velocity instead of zero.
  - Dead waterDensity variable: removed (was set but never used).
  - Coriolis current-velocity correction: when `<fluid_added_mass>` and ocean current are both present, applies a correction wrench so Coriolis uses relative velocity.

## New functionality

  - Double added mass guard: emits `gzerr` if both native `<fluid_added_mass>` and plugin added mass parameters are active without `<disable_added_mass>true`.
  - Context-dependent deprecation warning: replaces the unconditional "migrate to native" warning with engine-aware advice — recommends `<fluid_added_mass>` for DART, notes that Bullet/MuJoCo only support plugin-based added mass                                                            .
  -  Added simulation reset.

##  Refactoring

  - Extracted math into `HydrodynamicsUtils.hh`: `buildCoriolisMatrix()`, `buildDampingMatrix()`, `buildFullCoriolisMatrix()`, `skew3()`.
  - `buildDampingMatrix()` uses references-to-arrays `(const double (&)[36], const double (&)[216])` for compile-time size checking.
  - Fixed-size `Eigen` types throughout (stack-allocated, SIMD-friendly

##  Tests

  - `Hydrodynamics_TEST.cc` with unit tests covering:
    - Known-value validation for all 18 Coriolis entries.
    - Skew-symmetry and energy conservation properties.
    - Regression tests for the two Coriolis bugs fixed.
    - Sub-unit velocity regression for the `abs()` bug.
    - Damping matrix: linear, quadratic, combined, cross-terms.
    - Full Coriolis matrix: diagonal equivalence, correction wrench.

##  Documentation

  - `Hydrodynamics.hh`: updated Doxygen — added mass section scoped to DART, double-counting warning, engine recommendation.
  - `Migration.md`: deprecation scoped to DART, double-counting warning, migration example labeled "(DART)".
  - `theory_hydrodynamics.md`: added physics engine recommendation table.
  - Tutorial files updated for new configuration style.

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Tweaks

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Tweaks

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Reset

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Exclude test file for Bazel

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Fix Windows

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Fix Win

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

* Build test

Signed-off-by: Carlos Aguero <caguero@honurobotics.com>

---------

Signed-off-by: Carlos Agüero <caguero@osrfoundation.org>
Signed-off-by: Carlos Aguero <caguero@honurobotics.com>
(cherry picked from commit 57e28a0)

# Conflicts:
#	BUILD.bazel
#	Migration.md
#	src/systems/hydrodynamics/Hydrodynamics.cc
#	src/systems/hydrodynamics/Hydrodynamics.hh
…3423)

Signed-off-by: Carlos Agüero <caguero@osrfoundation.org>
Signed-off-by: Carlos Aguero <caguero@honurobotics.com>
(cherry picked from commit 9c925b6)
) (#3472)

## Summary

The `RenderEngineServerApiBackend` component header exists and is registered in the component factory, and `ServerConfig` exposes the `RenderEngineServerApiBackend()` accessor. However, `SimulationRunner` never creates this component on the world entity, so the render engine API backend setting from the server configuration is silently ignored at runtime.

### Changes

Add the missing `CreateComponent` call for `RenderEngineServerApiBackend` in `SimulationRunner::OnWorldControl`, alongside the other render engine components (`RenderEngineServerPlugin`, `RenderEngineServerHeadless`, `RenderEngineGuiPlugin`).

Generated-by: Claude Code



(cherry picked from commit 7277624)

Signed-off-by: Taylor Howard <taylor.howard@absiko.com.au>
Co-authored-by: Taylor Howard <taylorhoward@me.com>
Co-authored-by: Taylor Howard <taylor.howard@absiko.com.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.