osrf / gazebo_tutorials

Tutorials for gazebo
http://gazebosim.org/tutorials
145 stars 71 forks source link

Add Tutorial on Using Transport Parameters with Systems #175

Open Gaurang-1402 opened 3 months ago

Gaurang-1402 commented 3 months ago

This pull request introduces a tutorial that resolves issue #1845, as opened by @scpeters on Dec 21, 2022. The tutorial is aimed at demonstrating the use of the newly added parameter interface feature in multiple repos including gz-transport, gz-msgs repo, and gz-sim repo.

The tutorial covers:

Key Highlights:

I would also like to point out some strange behavior I noticed when following the instructions on issue #1845. I was unable to see the params as indicated when I try to list all and see no parameters.

Screenshot from 2024-04-01 15-33-30

I confirmed that I could successfully run the trisphere_cycle_wheel_slip.sdf demo as seen below tricycle

Screenshot from 2024-04-01 15-42-47

When I run play, it behaves as expected by sliding. Because I cannot list all, I cannot even get a specific parameter or even set a parameter as described which means I'm unable to reproduce the results mentioned in the PRs merged.

On the positive side, I was able to see the services as expected and mentioned by the contributor. They can be seen below:

Screenshot from 2024-04-01 15-39-06

I have verified that I have all the updated changes from the merged PRs (compare my branches to the branches where the merges occur for all repos): 1) gz-msgs repo Screenshot from 2024-04-01 15-23-35

2) gz-transport repo

Screenshot from 2024-04-01 15-23-18

3) gz-sim repo Screenshot from 2024-04-01 15-22-56

This tells me that I have the correct repos when I build from source, so that is not the issue.

I'm puzzled by why I can't view the parameters. I can still use the CLI tool and services interface which gave me the confidence to go ahead and create this tutorial. Some clarification here would be helpful.

Details: OS: Ubuntu 22.04 (Dual boot) Gazebo version: Fortress built from Source following instructions found here

A special acknowledgment to Ivan Pauno for spearheading the development and integration of the parameters interface into Ignition Gazebo, which has been instrumental in the realization of this tutorial.

Feedback and further contributions to refine and expand this tutorial are warmly welcomed.