![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 2.0.3 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2025-07-16 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- Chris Iverach-Brereton
- Hilary Luo
Authors
- Roni Kreinin
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Prior to starting make sure your Create® 3 is updated to the I.*.*
firmware; older versions of the firmware are not compatible with ROS 2 Jazzy.
You can find firmware updates and instructions on the iRobot website.
To access the RaspberryPi on the TurtleBot4 you will need a 2.5mm hex key to remove the top bolts. The RaspberryPi SD card can be difficult to find. It is located on the side of the RaspberryPi facing the Create3 on the side opposite the USB and Ethernet ports.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager from the website or using the Ubuntu Snap store.
- Ensure your Raspberry Pi 4 is not powered before removing the flashed SD card.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions to install Ubuntu 24.04 Server (64-bit) onto the SD card.
- If you use this method you must configure the operating system customizations prior to imaging the SD card. Please use the following settings:
- Set the default login and password to
ubuntu
/ubuntu
- Enable SSH
- Set the default wifi network, password, and country to your home network
- Set the default login and password to
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/jazzy/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Jazzy, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
2.0.3 (2025-03-04)
- Update the hostname in [/boot/firmware/user-data]{.title-ref}
(#19)
- Update the hostname in /boot/firmware/user-data as well as /etc/hostname to ensure it persists properly across reboots
- Suppress error output about failure to preserve permissions across filesystems
- Write the updated hostname to the turtlebot4/system file
- Fix/shm (#21) Turn off clearing of SHM on log out (interfered with services)
- Replace [User=ubuntu]{.title-ref} with [User={os.getlogin()}]{.title-ref} when generating the discovery server configuration file if necessary (#20)
- Fix tag order
- Update package maintainers
- Add an alias to reconnect to a previously-paired game controller
- Add a udev rule for the Logitech F710 family of controllers
- Contributors: Chris Iverach-Brereton, Hilary Luo
2.0.2 (2024-10-23)
- Add e2fsck to SD-flasher script
- Bump default version numbers
- Fix default hostname to match released SD card images
- Append [p2]{.title-ref} for [mmcblk]{.title-ref} devices, but just [2]{.title-ref} for [sd*]{.title-ref} devices when expanding the last partition
- Contributors: Chris Iverach-Brereton
2.0.1 (2024-10-04)
- Add a copy of the boot/firmware files to /etc/turtlebot for reference in case users modify these and want a clean, offline copy for reference
- Add ROBOT_SETUP to setup.bash
- Add growpart & resize2fs commands to the SD card-flashing script to expand the partition to use up the whole SD card
- Add socat as a package dependency instead of an ad-hoc post-install package
- Add MOTD file with the Turtlebot4 logotype
- Contributors: Chris Iverach-Brereton
2.0.0 (2024-09-28)
- Initial Jazzy implementation
- Add a note about firmware compatibility to the readme
- Add exception handling to the file i/o so the node doesn't just crash if we're missing a file
- Add improved exception handling to the wifi settings parser
- Update CI
- Properly escape all `` characters in stylized titles, add translation & link to generator page in comments
- Add copyright & contribution notices, fix up code formatting, import ordering. Disable linting for some specific lines where appropriate
- Add XML namespaces & version to cyclone DDS config
- Omit XML linting (for now); it's consistently timing out and failing
- Code formatting fixes
- Add exception handling to the file preview
- Add an option to force the Create3 settings to be reapplied, even if we haven't changed anything else. Always apply the _do_not_use namespace, as we're universally using the republisher now
- Remove superfluous concatenation
- Enable testing packages for CI
- Disable checks on two lines with long format strings
- Add exception handling for install & uninstall
- Add an error prompt to show errors during installation
- Handle KeyErrors separately
- Add newline to end of file
- Fix indentation
- [''.format]{.title-ref} -> [f'']{.title-ref}
- Update the default system file, print the keys instead of the enums
- Add a [__str__]{.title-ref} function to the relevant classes
- Disable DHCP4 on the built-in ethernet interface, make it non-optional
- Change the post-install chrony file command from mv to cp
- Only copy if the file exists
- Initial Jazzy implementation (#15)
- Contributors: Chris Iverach-Brereton
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
socat |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged turtlebot4_setup at Robotics Stack Exchange
![]() |
turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
ROS Distro
|
Package Summary
Tags | No category tags. |
Version | 1.0.6 |
License | Apache 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/turtlebot/turtlebot4_setup.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
Turtlebot4 Setup
Setup scripts and tools for the TurtleBot 4 Raspberry Pi.
Visit the TurtleBot 4 User Manual for more details.
Create an image manually
Follow these instructions if you wish to create a Turtlebot4 image manually.
Create an Ubuntu Image
First install the Raspberry Pi Imager.
- Insert your SD card into your PC and run the Raspberry Pi Imager. Follow the instructions and install Ubuntu 22.04 Server (64-bit) onto the SD card.
- Ensure your Raspberry Pi 4 is not powered before inserting the flashed SD card.
- You can set up the Raspberry Pi by either connecting it to your network via Ethernet or by using a keyboard and HDMI monitor via a micro HDMI cable.
Ethernet Setup
- Connect the Raspberry Pi to your Network with an Ethernet cable.
- Boot the Raspberry Pi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
HDMI Setup
- Connect a keyboard to the Raspberry Pi via USB.
- Connect a monitor to the Raspberry Pi via the HDMI0 port.
- Boot the Raspberry Pi.
- The default login is
ubuntu
and password isubuntu
. You will be prompted to change your password.
Manually configure Wi-Fi
Once you are logged into the Raspberry Pi, configure the Wi-Fi:
sudo nano /etc/netplan/50-cloud-init.yaml
Add the following lines:
wifis:
wlan0:
optional: true
access-points:
"YOUR_WIFI_SSID":
password: "YOUR_WIFI_PASSWORD"
dhcp4: true
Note: Ensure that wifis:
is aligned with the existing ethernets:
line. All indentations should be 4 spaces. Do not use tabs.
- Reboot the Raspberry Pi. It should now be connected to your Wi-Fi.
- Find the Raspberry Pi’s IP using your router’s portal.
- SSH into the Raspberry Pi using the IP address.
ssh ubuntu@xxx.xxx.xxx.xxx
Download and run the setup script
wget -qO - https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/humble/scripts/turtlebot4_setup.sh | bash
The script will automatically install ROS 2 Humble, TurtleBot 4 packages, and other important apt packages. It will also configure the RPi4 to work in a TurtleBot 4. Once complete, the RPi4 should be rebooted with sudo reboot
. Then, run turtlebot4-setup
to configure the robot with the setup tool.
Changelog for package turtlebot4_setup
1.0.6 (2025-03-06)
- Fix/shm (#21) (#22) Turn off clearing of SHM on log out (interfered with services)
- Contributors: Hilary Luo
1.0.5 (2025-01-14)
- Remove dhcp true because it was causing eth0 to lose the static IP (#17)
- Change the post-install chrony file command from mv to cp. Only copy if the file actually exists.
- Contributors: Chris Iverach-Brereton, Hilary Luo
1.0.4 (2024-07-02)
- Multi-robot discovery server support ([#11
<https://github.com/turtlebot/turtlebot4_setup/issues/11>]{.title-ref})
- Add discovery server ID
- Switch from xml super client to envar
- Don't look for an ntp server on create3
- Adjust create3 discovery server envar for server_id
- Get feedback from the curl command to abort the apply if the create3 is not accessible
- Push ntp config to create3, pointing it at the pi
- Write discovery.sh fresh each time for robustness
- Insert missing exports when writing setup.bash
- Update script for server ID
- Enforce a local server in discovery server for the create3 and support an offboard server for pi only
- Give the create3 a hidden namespace to prepare for republishing
- Put environment variables in quotes to handle multiple discovery servers
- Make Super Client only apply to user terminals
- Fix error when setting Offboard Discovery Server IP to blank
- Remove IP Routing from script to set up discovery server on the user computer, no longer needed due to the republisher, includes file/service cleanup
- Force compares as string to handle boolean settings correctly
- Ensure that usb0 and wlan0 networks are up before either turtlebot4 service is started and use only NetworkManager to speed up boot
- ipv4 forwarding is no longer required
- Add create3 rmw profile for discovery server
- git clone no longer necessary
- Update discovery server user pc config script to accept any number of discovery servers
- Added missing exec dependencies
- Ensure that the chrony file always gets overwritten
- Update username for github issue asignment ([#10 <https://github.com/turtlebot/turtlebot4_setup/issues/10>]{.title-ref})
- Updated issue templates to forms and redirected troubleshooting to turtlebot4 repo ([#9 <https://github.com/turtlebot/turtlebot4_setup/issues/9>]{.title-ref})
- Contributors: Hilary Luo
1.0.3 (2023-11-08)
- Cleanup <<https://github.com/turtlebot/turtlebot4_setup/issues/7>>
- Remove scripts that should not be used in Humble
- Update create_update.sh to reference Humble minimum version
- Updated README
- Updated turtlebot4_setup.sh script
- Fixed setting robot model
- Contributors: Hilary Luo, Roni Kreinin
1.0.2 (2023-03-01)
- Fixed Discovery Server IP
- Updated default configs
- Contributors: Roni Kreinin
1.0.1 (2023-02-28)
- Fixed script install path
- Contributors: Roni Kreinin
1.0.0 (2023-02-24)
- turtlebot4_setup tool
- RPI config updates
- Discovery server files
- Contributors: Roni Kreinin
0.1.3 (2022-09-27)
- Merge pull request #2 from turtlebot/roni-kreinin/domain_id v0.1.3
- Added webserver service
- Added argparser to install.py Removed namespacing for now
- Added 'ros_config' script for setting ROS_DOMAIN_ID, namespace, and RMW_IMPLEMENTATION
- Contributors: Roni Kreinin, roni-kreinin
0.1.2 (2022-06-14)
File truncated at 100 lines see the full file
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
rmw_cyclonedds_cpp | |
rmw_fastrtps_cpp | |
robot_upstart | |
simple_term_menu_vendor | |
ament_lint_auto | |
ament_lint_common |
System Dependencies
Name |
---|
chrony |
curl |
network-manager |