turtlebot4_setup package from turtlebot4_setup repoturtlebot4_setup |
|
Package Summary
Tags | No category tags. |
Version | 1.0.4 |
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 | 2024-09-25 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.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)
- Added chrony Updated wifi script
- Updated dependencies Move swap_on and swap_off to /usr/local/bin
- Fixed comment
- Updated Create 3 curl commands Move wifi and create update scripts to /usr/local/bin
- Updated oakd branch
- Update README.md
- Moved contents to root folder Updated oakd script to work for both pro and lite Updated turtlebot4_setup script Updated wifi script to allow the create 3 to be set up through the pi Added create 3 firmware flash scripts
- Update README.md
- Updated robot_upstart repo
- Added swap memory scripts when more RAM is needed to build packages
- Updated README
- Initial commit
- Contributors: Roni Kreinin, roni-kreinin
Wiki Tutorials
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 |
|
Package Summary
Tags | No category tags. |
Version | 2.0.2 |
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 | 2024-10-30 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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.
Make sure your Create® 3 is updated to the I.*.*
firmware; older versions of the firmware are not compatible with ROS 2 Jazzy.
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 24.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/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.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
- 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)
- Added chrony Updated wifi script
- Updated dependencies Move swap_on and swap_off to /usr/local/bin
- Fixed comment
- Updated Create 3 curl commands Move wifi and create update scripts to /usr/local/bin
- Updated oakd branch
- Update README.md
- Moved contents to root folder Updated oakd script to work for both pro and lite Updated turtlebot4_setup script Updated wifi script to allow the create 3 to be set up through the pi Added create 3 firmware flash scripts
- Update README.md
- Updated robot_upstart repo
- Added swap memory scripts when more RAM is needed to build packages
- Updated README
- Initial commit
- Contributors: Roni Kreinin, roni-kreinin
Wiki Tutorials
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 |