-
Notifications
You must be signed in to change notification settings - Fork 101
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
Context and Namespace Handling for Multi-Robot Sim #92
Context and Namespace Handling for Multi-Robot Sim #92
Conversation
1918fd1
to
82c3e31
Compare
I'm blocked on #49, so I'm excited to test these changes! |
Could you please retarget this to |
…, namespace and params are passed through context
26b3508
to
0f6cfcb
Compare
Hello, For information, I use :
|
@ArganMechatronic Thank you for your interest in this PR. Here is the description of what we are trying to achieve: iRobotEducation/create3_sim#189 you'll also find links to all the other modifications we have been pushing on different repos including ros-controls/ros2_control#852 (as you correctly guessed) and ros-controls/ros2_controllers#461 As for your issue, I would recommend trying to apply the content of the above PRs (what you describe is very close to what we fixed) . Sadly, we have only been testing this on ROS Galactic on our side so I cannot assure you that it would work in your case PS. It turns out that I'm based in France too, and I'll be happy to help more in depth if you need: https://www.linkedin.com/in/hugo-borne-336539260/ |
Are you setting the controller manager parameter into spawners? It should be something like If this is working, can you load the controller using service calls on specific controller manager? |
Thank you for your answers ! Yes I'm using the I had the opportunity to discuss about it more precisly with @sp-sophia-labs and it seems that I will have to find the good modification to add in ros2_control and in the trajectory_controller. Some differences between Foxy and Galactic could be a factor too. When I will find the solution I will keep you up to date ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sp-sophia-labs as far as I'm concerned, only my outstanding comment is missing for a merge
@bmagyar can we get this merged please? |
Can this be added to the humble branch as well? |
@sp-sophia-labs Can you fix the merge conflicts? You might have to rebase your branch to |
I've made a duplicate PR for the master branch at #128 with merge conflict fixes. This PR can target |
Description
The goal of this PR is to enable namespaces and prevent segmentation faults when spawning multiple time the same robot
Type of change: fix. This change aims at fixing the following open issue: #49
An existing PR seems to be targeting the namespace issue: #77. But it does not solve the context and controller manager node name issues
How has this been tested?
We have tested this code on create3 and turtlebot4 robots. You can find our project here: https://github.com/sp-sophia-labs/turtlebot4_multi_sim. Reviewers may clone the project and replicate exactly what we use for testing. Here are the launch commands (you can find the details in the project's README)
Launch the world and the first create3 instance:
ros2 launch irobot_create_ignition_bringup create3_ignition.launch.py namespace:=robot_0 robot_name:=robot_zero
Alternatively, you can launch turtlebot4 instead:
ros2 launch turtlebot4_ignition_bringup ignition.launch.py namespace:=robot_0 robot_name:=robot_zero
In a separate terminal, spawn another create3/turtlebot4 instance with different name, namespace and pose:
ros2 launch irobot_create_ignition_bringup create3_spawn.launch.py namespace:=robot_1 robot_name:=robot_one y:=1
ros2 launch irobot_create_ignition_bringup turtlebot4_spawn.launch.py namespace:=robot_1 robot_name:=robot_one y:=1
You can change the x, y, z param to spawn the robot where needed
Checklist