Bash scripts to auto install ROS (Jazzy) and configure the SBC on a Turtlebot3. 🤖 🐢 ✨
_____ _ _ ____ _
|_ _| _ _ __| |_| | ___| __ ) ___ ___ | |_
| || | | | '__| __| |/ _ \ _ \ / _ \ / _ \| __|
| || |_| | | | |_| | __/ |_) | (_) | (_) | |_
|_| \__,_|_| \__|_|\___|____/ \___/ \___/ \__|
_____ ____
/ \ | o |
| |/ ___\|
|_________/
|_|_| |_|_|
Note: Never run the scripts as root!
(C) = Core Script, (U) = Utility Script
- TurtleBoot Pre-ROS (C)
- TurtleBoot ROS (C)
- TurtleBoot Lite (U)
- TurtleBoot OPEN CR (U)
- References
Script name: turtleboot_preros.bash
Note: Run this before running
turtleboot_ros.bash
!
- Configures systemctl settings on the SBC
- Prepares SBC for ROS Jazzy install
- Ubuntu Server 24.04
I want to install ROS Jazzy on my turtlebot 3, but I have not completed any of the setup steps yet and am planning on later installing ROS
First make the script executable with:
chmod +x turtleboot_preros.bash
Run the script:
bash turtleboot_preros.bash
Script name: turtleboot_ros.bash
Note: Please make sure to run
turtleboot_preros.bash
first before running this script!
-h | --help
: Shows information on all args/flags
-id | --ros-id ID
: Sets the ROS_DOMAIN_ID
environment variable
--lidar | -ld LIDAR
: sets the LDS_MODEL
environment variable
--ros-only | -ro
: Only installs ROS, does not configure the OPEN CR board
--model | -m MODEL
: sets the TURTLEBOT3_MODEL
environment variable
--no-swapfile |-ns
: do not create a swapfile before installing ROS
Note:
--no-swapfile
is not recommended on RPi's that have =< 2GB RAM!
- Installs ROS Jazzy Jalisco base version + Turtlebot3 dependencies
- Configures OPEN CR board
- Changes the
ROS_DOMAIN_ID
,TURTLEBOT3_MODEL
, andLDS_MODEL
environment variable
- Ubuntu Server 24.04
- Wi-Fi Connection
- TurtleBoot Pre-ROS or equivalent
I have a gen 2 LiDAR Turtlebot3 Waffle and want to my ROS_DOMAIN_ID
to be 8.
First make the script executable with:
chmod +x turtleboot_ros.bash
Run the script:
bash turtleboot_ros.bash --lidar 2 --ros-id 8 --model waffle
Script name: turtleboot_lite.bash
-h | --help
: Shows information on all args/flags
-n | --name NAME
: Sets the hostname of the turtlebot (default is turtle_boot)
-id | --ros-id ID
: Sets the ROS_DOMAIN_ID environment variable
--rebuild
: add this flag to rebuild the ~/turtlebot3_ws
workspace
--reboot
: add this flag to auto reboot at the end of the script
- Regenerates ssh keys
- Changes the hostname
- Changes the
ROS_DOMAIN_ID
environment variable
- Ubuntu Server 24.04
- ROS Jazzy Jalisco installed + packages built
I want to change my hostname to "shelly", my ROS_DOMAIN_ID
to 22, I do not want to rebuild the turtlebot3_ws, and I do want to auto reboot.
First make the script executable with:
chmod +x turtleboot_lite.bash
Run the script:
bash turtleboot_lite.bash --name shelly --ros-id 22 --reboot
Script name: turtleboot_opencr.bash
- Configures the OPEN CR board
- Ubuntu Server 24.04
- Turtleboot Pre-ROS or equivalent
- Turtleboot ROS or equivalent
I want to configure the OPEN CR board only on my Turtlebot3.
First make the script executable with:
chmod +x turtleboot_opencr.bash
Run the script:
bash turtleboot_opencr.bash