Skip to content
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

Humble ignition gazebo #117

Merged
merged 33 commits into from
Sep 27, 2024
Merged

Humble ignition gazebo #117

merged 33 commits into from
Sep 27, 2024

Conversation

mhubii
Copy link
Member

@mhubii mhubii commented Sep 7, 2023

Ignition Gazebo

Ignition Gazebo (Gazebo) will be the predecessor of Gazebo (Gazebo Classic). This PR aims to already support Ignition Gazebo.

Currently, most functionality in this PR works, except for the interactive marker for MoveIt 2. For early adoption, this repo can be checked out dev-humble-ignition-gazebo. It can be run as usual.

iiwa7.webm

Tasks

lbr_bringup/package.xml Outdated Show resolved Hide resolved
@mhubii
Copy link
Member Author

mhubii commented Oct 26, 2023

blocked by ros-controls/gz_ros2_control#182

@mhubii mhubii changed the title Dev humble ignition gazebo Humble ignition gazebo Oct 26, 2023
@mhubii mhubii mentioned this pull request Dec 6, 2023
22 tasks
@@ -42,15 +42,52 @@ def node_spawn_entity(
"robot_description",
"-entity",
LaunchConfiguration("robot_name"),
"-robot_namespace",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verify this functions

@mhubii
Copy link
Member Author

mhubii commented Jan 4, 2024

interactive marker nonreactive for moveit launches

@mhubii
Copy link
Member Author

mhubii commented Jun 27, 2024

@jclinton830
Copy link

I tried to run this locally, and there is a dependency problem with the fri_vendor package.

@mhubii
Copy link
Member Author

mhubii commented Sep 14, 2024

hi @jclinton830 and thank you for the feedback. This PR was left a little behind, hence why it likely doesn't work.

@jclinton830
Copy link

@mhubii Any idea on when this will be merged into the humble branch? Happy to assist with the process if it expedites it.

@mhubii
Copy link
Member Author

mhubii commented Sep 20, 2024

hi @jclinton830 and sorry for the late response. Happy to review your PR if you decide to contribute!

Best way to do this is to start from the humble branch. These need to be implemented:

You can get inspiration:

@jclinton830
Copy link

Hi @mhubii I have forked your humble version and have made my own branch called dev-humble-ign.

https://github.com/acfr/lbr_fri_ros2_stack/tree/dev-humble-ign

Do you take PRs directly into humble from forks?

@mhubii
Copy link
Member Author

mhubii commented Sep 27, 2024

sorry for the late response @jclinton830. This branch should now work.

One remaining issue: Somehow the new Gazebo seems slow. The sdf (simulation description format), which is loaded here:

launch_arguments={"gz_args": "-r empty.sdf"}.items(),

and accessed from:

/usr/share/ignition/ignition-gazebo6/worlds/empty.sdf

has an integrator step size (max_step_size):

    <physics name="1ms" type="ignored">
      <max_step_size>0.001</max_step_size>

If you set this from 0.001 -> 0.01, then the simulation is quicker.

One might need to add an sdf file to this repo and extend the environment variable GZ_SIM_RESOURCE_PATH.

You can target PRs against this branch (dev-humble-ignition-gazebo)

@jclinton830
Copy link

jclinton830 commented Sep 27, 2024

sorry for the late response @jclinton830. This branch should now work.

One remaining issue: Somehow the new Gazebo seems slow. The sdf (simulation description format), which is loaded here:

launch_arguments={"gz_args": "-r empty.sdf"}.items(),

and accessed from:

/usr/share/ignition/ignition-gazebo6/worlds/empty.sdf

has an integrator step size (max_step_size):

    <physics name="1ms" type="ignored">
      <max_step_size>0.001</max_step_size>

If you set this from 0.001 -> 0.01, then the simulation is quicker.

One might need to add an sdf file to this repo and extend the environment variable GZ_SIM_RESOURCE_PATH.

You can target PRs against this branch (dev-humble-ignition-gazebo)

What is the average real-time factor you are witnessing? In the above branch that I made in my forked version gazebo is working fast, with an average real-time factor of 90%.

Also, have you fixed the problem of not being able to move the robot using the interactive marker?

@mhubii
Copy link
Member Author

mhubii commented Sep 27, 2024

What is the average real-time factor you are witnessing? In the above branch that I made in my forked version gazebo is working fast, with an average real-time factor of 90%.

With integrator step size 0.001 ~ 20% and with 0.01 about ~ 100%.

Also, have you fixed the problem of not being able to move the robot using the interactive marker?

Yes that's working now. You can e.g. try:

ros2 launch lbr_bringup gazebo.launch.py \
    model:=med7

and

ros2 launch lbr_bringup move_group.launch.py \
    rviz:=true \
    mode:=gazebo \
    model:=med7

If you could add a way to load a custom .sdf file, that would be great! Feel free to target a PR against dev-humble-ignition-gazebo. I can merge and modify as needed.

Note you can do this even after this PR gets merged.

@mhubii mhubii merged commit 77e9082 into humble Sep 27, 2024
8 checks passed
@mhubii mhubii deleted the dev-humble-ignition-gazebo branch October 17, 2024 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants