Table of Contents
Overview#
This guide covers the complete first-time setup procedure for TurtleBot3, from WiFi configuration to keyboard control testing.
Prerequisites#
- PC with Ubuntu 20.04
- Raspberry Pi with Ubuntu 20.04 Server
- TurtleBot3 robot (Burger/Waffle)
- Both connected to same WiFi network
Step 1: WiFi Configuration (Raspberry Pi)#
Edit netplan:
sudo nano /etc/netplan/50-cloud-init.yamlAdd WiFi configuration (use spaces, not tabs):
network:
version: 2
wifis:
wlan0:
dhcp4: true
access-points:
"YOUR_WIFI":
password: "YOUR_PASSWORD"Apply and verify:
sudo netplan apply
ifconfigStep 2: ROS Noetic Installation (PC)#
Add Repository#
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt updateInstall ROS#
sudo apt install ros-noetic-desktop-fullEnvironment Setup#
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrcCreate Workspace#
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrcStep 3: TurtleBot3 Packages#
Install on PC and Pi#
sudo apt install ros-noetic-dynamixel-sdk
sudo apt install ros-noetic-turtlebot3-msgs
sudo apt install ros-noetic-turtlebot3Simulation (PC only)#
sudo apt install ros-noetic-turtlebot3-simulationsSet Model#
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
source ~/.bashrcStep 4: LDS-02 LIDAR Setup (Pi)#
If using LDS-02 laser:
sudo apt install ros-noetic-hls-lfcd-lds-driverUpdate dependencies:
cd ~/catkin_ws/src
git clone -b develop https://github.com/ROBOTIS-GIT/ld08_driver.git
cd ~/catkin_ws
catkin_makeIf directory error occurs:
mkdir -p ~/catkin_ws/srcStep 5: OpenCR Setup (Pi)#
Add Architecture Support#
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install libc6:armhfFlash Firmware#
export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=burger
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2
tar -xvf opencr_update.tar.bz2
cd ./opencr_update
./update.sh $OPENCR_PORT $OPENCR_MODEL.opencrStep 6: Bringup Test#
Terminal 1: PC (Master)#
roscoreTerminal 2: Pi (SSH)#
ssh ubuntu@<PI_IP>
roslaunch turtlebot3_bringup turtlebot3_robot.launchExpected output:
[turtlebot3_core-1] process has finished
SUMMARY
========
PARAMETERS
...
Calibration EndTerminal 3: PC (Teleop)#
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launchControl keys:
- W: Forward
- X: Backward
- A: Left turn
- D: Right turn
- S: Stop
Known Issues#
Backward Motion#
Some units have issues with backward movement. Check motor configuration if occurs.
LDS Not Spinning#
Check power connection to LIDAR.
Connection Timeout#
Verify ROS_MASTER_URI and ROS_HOSTNAME on both machines.
Verification Checklist#
- WiFi connected on Pi
- roscore running on PC
- Robot launch successful on Pi
- Teleop controlling robot
- LIDAR data visible (rostopic echo /scan)