Networking
The TurtleBot 4 consists of two computing units: the Create® 3, and the Raspberry Pi. They connect to each other over a USB-C cable, which is used to both power the Raspberry Pi, and establish a ethernet connection between the units. Both units also have Wi-Fi cards. The Create® 3 is able to connect to only 2.4 GHz networks, while the Raspberry Pi can connect to both 2.4 and 5 GHz networks. The user can also use their PC to communicate with the robot over Wi-Fi.
DDS
ROS 2 has multiple DDS vendors, but the TurtleBot 4 only supports CycloneDDS and FastDDS out of the box. In Galactic, CycloneDDS is the default while in Humble, FastDDS is the default. The TurtleBot 4 can switch between the two DDS implementations on both versions of ROS 2.
Network Configurations
For ROS 2 networking, the TurtleBot 4 can function with two different configurations: Simple Discovery, and Discovery Server.
Simple Discovery
Simple Discovery is the default protocol that ROS 2 uses, and is available with both FastDDS and CycloneDDS. Simple Discovery uses multicasting to allow each ROS 2 participant to contact every other ROS 2 participant at the same time. This allows for all devices on the network to automatically discover each other's ROS 2 nodes.
To use the TurtleBot 4 in the multicast configuration, both the RPi4 and the Create® 3 should be connected to the same Wi-Fi network. It is recommended that the RPi4 is connected to a 5GHz network for improved performance, so the network must bridge the 2.4 GHz and 5 GHz bands. Networks that provide 2.4 GHz and 5 GHz on the same SSID may not work properly with the Create3. This issue can be avoided by using Discovery Server.
Connecting the Raspberry Pi using a 2.4 GHz network or over a network with very limited bandwidth can limit functionality including navigation and sending/receiving images.
Discovery Server
The Discovery Server option is supported only on FastDDS. The FastDDS Discovery Server allows for one or more devices on the network to act as a discovery server, while other devices are discovery clients for those servers. This is akin to the ROS Master in ROS 1. These discovery servers create connections between ROS 2 nodes to connect publishers and subscribers. Check out the Discovery Server documentation for more details.
Multi-robot configuration with Discovery Server is not supported on Galactic.
With this configuration, the TurtleBot 4 is able to fully function without the Create® 3 being connected to Wi-Fi. Instead, all communication for each robot is routed through the Raspberry Pi which runs a discovery server.
Choosing a networking configuration
Each configuration has its own advantages and disadvantages.
Simple Discovery
Recommended for systems of up to 1-2 robots running simple functionality.
Advantages | Disadvantages |
---|---|
|
|
Discovery Server
Recommended for systems with 1+ robots running complex functionality such as navigation or 2+ robots running simple functionality.
Advantages | Disadvantages |
---|---|
|
|
Next Steps
Once the networking configuration has been selected, proceed to the corresponding page for instructions on how to configure it, Simple Discovery or Discovery Server.