Table of Contents

Overview
#

This guide provides a complete ROS Noetic installation procedure for Ubuntu 20.04, including TurtleBot3 packages and workspace setup.

Clean Previous Installation
#

If ROS was previously installed:

sudo apt-get remove ros-*
sudo apt-get autoremove
sudo rm -rf /etc/ros

ROS Noetic Installation
#

Configure Repository
#

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Set Up Keys
#

sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

Update Package Index
#

sudo apt update

Install ROS Desktop Full
#

sudo apt install ros-noetic-desktop-full

This includes:

  • ROS core
  • rqt tools
  • RViz
  • Gazebo
  • Robot-generic libraries

Install Additional Dependencies
#

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

Initialize rosdep
#

sudo rosdep init
rosdep update

Environment Setup
#

Add to Bashrc
#

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Verify Installation
#

rosversion ros

Should output: noetic

TurtleBot3 Packages
#

Install Core Packages
#

sudo apt install ros-noetic-dynamixel-sdk
sudo apt install ros-noetic-turtlebot3-msgs
sudo apt install ros-noetic-turtlebot3

Install Simulation (Optional)
#

sudo apt install ros-noetic-turtlebot3-simulations

Set Robot Model
#

echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
source ~/.bashrc

Options: burger, waffle, waffle_pi

Create Catkin Workspace
#

Initialize Workspace
#

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make

Source Workspace
#

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

Verification
#

Check ROS Version
#

rosversion -d

Output: noetic

Test with Simulation
#

roslaunch turtlebot3_gazebo turtlebot3_world.launch

This should open Gazebo with TurtleBot3 in a simulation world.

Test Teleop
#

In another terminal:

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Use WASD keys to control robot.

Complete Bashrc Configuration
#

# ROS Noetic
source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash

# ROS Network (adjust IPs)
export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=localhost

# TurtleBot3
export TURTLEBOT3_MODEL=burger

# Gazebo (optional)
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/models

Common Issues
#

Package Not Found
#

sudo apt update
sudo apt install ros-noetic-<package-name>

Gazebo Slow/Crash
#

Lower physics update rate or use simpler world.

rosdep Errors
#

sudo rosdep fix-permissions
rosdep update

Summary
#

Installation completed successfully! The system is ready for:

  • Real robot control
  • Simulation testing
  • ROS development