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/rosROS 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 updateInstall ROS Desktop Full#
sudo apt install ros-noetic-desktop-fullThis 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-essentialInitialize rosdep#
sudo rosdep init
rosdep updateEnvironment Setup#
Add to Bashrc#
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrcVerify Installation#
rosversion rosShould 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-turtlebot3Install Simulation (Optional)#
sudo apt install ros-noetic-turtlebot3-simulationsSet Robot Model#
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
source ~/.bashrcOptions: burger, waffle, waffle_pi
Create Catkin Workspace#
Initialize Workspace#
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_makeSource Workspace#
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrcVerification#
Check ROS Version#
rosversion -dOutput: noetic
Test with Simulation#
roslaunch turtlebot3_gazebo turtlebot3_world.launchThis should open Gazebo with TurtleBot3 in a simulation world.
Test Teleop#
In another terminal:
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launchUse 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/modelsCommon 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 updateSummary#
Installation completed successfully! The system is ready for:
- Real robot control
- Simulation testing
- ROS development