Skip to content

kmhswimgirl/turtleboot

Repository files navigation

TurtleBoot

Ubuntu ROS2TurtleBot3

Bash scripts to auto install ROS (Jazzy) and configure the SBC on a Turtlebot3. 🤖 🐢 ✨

 _____           _   _      ____              _   
|_   _|   _ _ __| |_| | ___| __ )  ___   ___ | |_ 
  | || | | | '__| __| |/ _ \  _ \ / _ \ / _ \| __|
  | || |_| | |  | |_| |  __/ |_) | (_) | (_) | |_ 
  |_| \__,_|_|   \__|_|\___|____/ \___/ \___/ \__|
                   _____     ____
                 /      \  |  o | 
                |        |/ ___\| 
                |_________/     
                |_|_| |_|_|

Note: Never run the scripts as root!

Table of Contents

(C) = Core Script, (U) = Utility Script

TurtleBoot Pre-ROS

Script name: turtleboot_preros.bash

Note: Run this before running turtleboot_ros.bash!

Features:

  • Configures systemctl settings on the SBC
  • Prepares SBC for ROS Jazzy install

Requirements:

  • Ubuntu Server 24.04

Example:

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

TurtleBoot ROS

Script name: turtleboot_ros.bash

Note: Please make sure to run turtleboot_preros.bash first before running this script!

Args:

-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_MODELenvironment 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!

Features:

  • Installs ROS Jazzy Jalisco base version + Turtlebot3 dependencies
  • Configures OPEN CR board
  • Changes the ROS_DOMAIN_ID, TURTLEBOT3_MODEL, and LDS_MODEL environment variable

Requirements:

Example:

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

TurtleBoot Lite:

Script name: turtleboot_lite.bash

Args:

-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

Features:

  • Regenerates ssh keys
  • Changes the hostname
  • Changes the ROS_DOMAIN_ID environment variable

Requirements:

  • Ubuntu Server 24.04
  • ROS Jazzy Jalisco installed + packages built

Example:

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

TurtleBoot OPEN CR

Script name: turtleboot_opencr.bash

Features:

  • Configures the OPEN CR board

Requirements:

Example:

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

Looking for References?

ROS Jazzy Docs
Robotis Quick Start Guide (Turtlebot3)

About

Bash scripts to auto install ROS (Jazzy) on a Turtlebot3

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages