Skip to content

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

License

Notifications You must be signed in to change notification settings

kmhswimgirl/turtleboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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