Robot Operating System

ROS is an essential tool for robotics engineers to know and master. I’ve been learning it recently, so I’m sharing here my learning experience.

Installing ROS on your machine

Firstly, you need to have a machine with Linux installed on it. I use Linux Ubuntu 14.04 (if you don’t already have, you may want to check this page here: If you are not familiar with Linux, you can familiarize yourself by following this course here: and if you don’t feel good with the terminal, you can check this website:

Note: to save yourself time and hassle with installing Linux whether you have BIOS or EFI machine, you may want to use Rufus to create the boot disk. I used to have a BIOS machine and when I got an EFI one, I had a lot of confusion with the installation process as many online tutorials suggest different things. However, with Rufus everything was pretty smooth. You can download it for free from here:

Now you’re ready to install ROS, there is a tutorial on ROS wiki here: (I’m using ROS Indigo).

Briefly, to install ROS, you can type this in the terminal

sudo sh -c 'echo "deb $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp:// --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
sudo apt-get install ros-indigo-desktop-full
apt-cache search ros-indigo
sudo rosdep init
rosdep update
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall 


Now you’re ready to try out ROS. You can start your way up by following these tutorials here:


Here, I’m actually building upon these tutorials and the classwork I had in my ROS course in college.

  1. ROS Basics
  2. URDF
  3. Camera AR tag
  4. Sensor driver
  5. SLAM
  6. Motion Planning