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

How to launch multiple ROS2 turtlebot3 in real world #1018

Open
4 of 24 tasks
zitongbai opened this issue May 4, 2024 · 6 comments
Open
4 of 24 tasks

How to launch multiple ROS2 turtlebot3 in real world #1018

zitongbai opened this issue May 4, 2024 · 6 comments
Assignees

Comments

@zitongbai
Copy link

ISSUE TEMPLATE ver. 0.4.0

  1. Which TurtleBot3 platform do you use?

    • Burger
    • Waffle
    • Waffle Pi
  2. Which ROS is working with TurtleBot3?

    • ROS 1 Kinetic Kame
    • ROS 1 Melodic Morenia
    • ROS 1 Noetic Ninjemys
    • ROS 2 Dashing Diademata
    • ROS 2 Eloquent Elusor
    • ROS 2 Foxy Fitzroy
    • etc (Please specify your ROS Version here)

ROS 2 Humble

  1. Which SBC(Single Board Computer) is working on TurtleBot3?

    • Intel Joule 570x
    • Raspberry Pi 3B+
    • Raspberry Pi 4
    • etc (Please specify your SBC here)
      Jetson Orin nx
  2. Which OS you installed on SBC?

    • Raspbian distributed by ROBOTIS
    • Ubuntu MATE (16.04/18.04/20.04)
    • Ubuntu preinstalled server (18.04/20.04)
    • etc (Please specify your OS here)

Ubuntu 22.04

  1. Which OS you installed on Remote PC?

    • Ubuntu 16.04 LTS (Xenial Xerus)
    • Ubuntu 18.04 LTS (Bionic Beaver)
    • Ubuntu 20.04 LTS (Focal Fossa)
    • Windows 10
    • MAC OS X (Specify version)
    • etc (Please specify your OS here)
      Ubuntu 22.04
  2. Specify the software and firmware version(Can be found from Bringup messages)

    • Software version: [x.x.x]
    • Firmware version: [x.x.x]
  3. Specify the commands or instructions to reproduce the issue.

    • HERE
  4. Copy and Paste the error messages on terminal.

    • HERE
  5. Please describe the issue in detail.

I want to launch multiple ROS2 turtblebot3 in the same network. However their topic names, tf names, etc. would conflict with each other. I found that namespace can be used for the ROS1 version, but I cannot find a easy way to do that in the ROS2 version. Is there any convenient method to achieve this? Thanks a lot.

@krizchong
Copy link

krizchong commented Jun 5, 2024

You can also implement this with namespace in ROS2!

@GyuH13 GyuH13 self-assigned this Nov 6, 2024
@GyuH13
Copy link

GyuH13 commented Nov 6, 2024

Hi @zitongbai
You can use namespace in ROS2, too.
Modify your package in Turtlebot SBC

$ nano ./turtlebot3_ws/src/turtlebot3/turtlebot3_bringup/launch/robot.launch.py

image

 $ nano ./turtlebot3_ws/src/turtlebot3/turtlebot3_bringup/launch/turtlebot3_state_publisher.launch.py 

image

$ nano ./turtlebot3_ws/src/turtlebot3/turtlebot3_bringup/param/burger.yaml      // burger.yaml -> your model

image

image

@GyuH13 GyuH13 mentioned this issue Nov 6, 2024
24 tasks
@starobi
Copy link

starobi commented Dec 3, 2024

@GyuH13 the topics and nodes have namespaces but the frames don't. Do you know if that is problem? I was not able to change the name of all the frames and transformations

@GyuH13
Copy link

GyuH13 commented Dec 6, 2024

@starobi
Use the frame prefix.
image

By using a prefix for each frame, you can differentiate between them and perform multi-robot operations without conflicts.

image

The /tf and /tf_static topics should not have namespaces.

If you have any additional questions, feel free to ask.

@starobi
Copy link

starobi commented Dec 8, 2024

Thank you for the response! I was able to plot the correct frames with the namespace.

Now I want to execute AMCL with the namespaces. I created a launch file for that and adapted the param.yaml for the AMCL configuration but the initialization gets stuck and nothing happens if I set the initial pose. I noticed the logs registered when the AMCL node works correctly and the last step before working is LaserObjectCreated, but that doesn't happen when I initialize the AMCL node.

I attach my frames, launch file and param.yaml file.

I would appreciate any feedback in the possible cause for my problem. Thanks! :)
grafik

grafik
grafik
grafik

@GyuH13
Copy link

GyuH13 commented Dec 19, 2024

Hello. It seems like there is an issue with the synchronization of the stamp, but I’m not exactly sure what the problem is.
How about changing the 'scan_topic' parameter value to '/tb3_1/scan'?
This parameter determines the scan topic to subscribe to. If you leave the parameter as it is, the AMCL node won’t be able to subscribe to the scan topic, because the scan topic name is '/tb3_1/scan'.

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

No branches or pull requests

4 participants