Simple Discovery

Note

The TurtleBot 4 should be configured for either Simple Discovery or Discovery Server, not both. See Networking for details.

Create® 3

To use the TurtleBot 4 with Simple Discovery, the Create® 3 should be connected to Wi-Fi.

Wi-Fi Setup

Access the Create® 3 webserver, then navigate to the Connect tab. Enter your Wi-Fi SSID and password, and then click ‘Connect'.

Create® 3 connect
Connecting the Create® 3 to Wi-Fi

Wait for it to connect to Wi-Fi and play a chime. The Connect tab should now show an IP address.

Note

The Create® 3 can only be connected to 2.4 GHz Wi-Fi networks.

Application Configuration

Access the Create® 3 webserver, then navigate to the Application Configuration tab. Set ROS 2 Domain ID to 0, ROS 2 Namespace to an empty string, and RMW_IMPLEMENTATION to the default for your ROS 2 version. Additionally, make sure that the Fast DDS discover server is disabled.

Create® 3 config
Configuring the Create® 3 application for Humble

User PC

The user PC should be configured to use the same DDS vendor and ROS_DOMAIN_ID as the robot. It is recommended to use the default DDS for your ROS 2 version.

  • Create a file called setup.bash in a convenient location:

    sudo mkdir /etc/turtlebot4/
    sudo touch /etc/turtlebot4/setup.bash
    

    Add the following lines to setup.bash with your favourite text editor:

    source /opt/ros/galactic/setup.bash
    export ROS_DOMAIN_ID=0
    export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
    
    Tip

    Source your workspaces and export any other environment variables in this file.

    Finally, add the following line in ~/.bashrc to apply the settings to every new terminal:

    source /etc/turtlebot4/setup.bash
    
    Note

    Call source ~/.bashrc to apply these settings to your current terminal.

  • Create a file called setup.bash in a convenient location:

    sudo mkdir /etc/turtlebot4/
    sudo touch /etc/turtlebot4/setup.bash
    

    Add the following lines to setup.bash with your favourite text editor:

    source /opt/ros/humble/setup.bash
    export ROS_DOMAIN_ID=0
    export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
    
    Tip

    Source your workspaces and export any other environment variables in this file.

    Finally, add the following line in ~/.bashrc to apply the settings to every new terminal:

    source /etc/turtlebot4/setup.bash
    
    Note

    Call source ~/.bashrc to apply these settings to your current terminal.

Additional CycloneDDS configuration

If using CycloneDDS, the user PC needs further configuration to see the robot topics properly. CycloneDDS is configured in an XML file, and that configuration should be applied to the CYCLONEDDS_URI environment variable. An example XML file is available here. Download this file to your PC by calling:

wget https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/galactic/conf/cyclonedds_pc.xml
Note

The DontRoute setting is required to see the Create® 3 topics.

Move the xml file to a convenient location:

sudo mv cyclonedds_pc.xml /etc/turtlebot4/

Add this line to your /etc/turtlebot4/setup.bash file to automatically configure CycloneDDS each time you open a new terminal:

export CYCLONEDDS_URI=/etc/turtlebot4/cyclonedds_pc.xml
Note

Call source ~/.bashrc to apply these settings to your current terminal.

For more CycloneDDS configuration options, visit the CycloneDDS documentation.

Verification

Verify that your PC and the robot are able to communicate using ROS topics. Run the following command on both the robot and you PC to display the Raspberry Pi and Create®3 ROS topics and ensure that both outputs match:

ros2 topic list