ROS Installation Made Easy

ROS Installation Made Easy

UPDATE:  Instead of installing ROS, you can simply download the VirtualBox virtual machine that we provide, so you can start experimenting quickly.


Being Mac users, we decided to install ROS on one of our Mac Book Pro. We first took the latest release: Fuerte although it is tagged as experimental for Mac OS X. It requires XCode 4 and Homebrew. But, since we could not go much far, we decided to switch to the previous version: ROS Electric. We took the recommended option which is Homebrew-based. Even if is also tagged experimental, the installation worked well. But, we failed to make work the first basic tutorial on Navigating the ROS Filesystem. The very first example with the rospack tool that provides information about installed ROS packages did not work. So, we decided to change our strategy.

We took a PC and installed Ubuntu which is THE supported platform for ROS. The latest available version of Ubuntu is 12.04 LTS (Long Term Support). The installation is straight forward. But, Ubuntu 12.04 has an annoying bug that makes the screen flicker. Fortunately, the problem is solved by simply running the Update Manager and install all available updates.

The installation of ROS Fuerte on Ubuntu 12.04 performed without any notable problem. We provide you in the following with our actual sequence of steps to install ROS. This list is simpler than the one provided on the ROS wiki since we focus on Ubuntu 12.04, and we omit alternatives proposed by ROS developers and added some extra configurations scattered over the tutorials. So, in a terminal evaluate the following commands:

1- Add to the list of package repositories
sudo sh -c 'echo "deb precise main" > /etc/apt/sources.list.d/ros-latest.list'

2- Add to your system ROS keys to allow identifying ROS packages as trusted
wget -O - | sudo apt-key add -

3- Ensure that the index of packages from server are up to date
sudo apt-get update

4- Install the appropriate ROS package. We chose the recommended option which is to install the full ROS
sudo apt-get install ros-fuerte-desktop-full

5- Add ROS variables to the environment of your current terminal
source /opt/ros/fuerte/setup.bash

6- Install the recommended standalone command-line tools rosinstall and rosdep. rosinstall eases downloading source trees for ROS packages and stacks. rosdep simplifies installing system dependencies for sources before compilation.
sudo easy_install -U rosinstall vcstools rosdep

7- Create a workspace folder for your experiments.
mkdir ~/ros_workspace

8- Add to the .bashrc file environment variables that should be set on every session for ROS.
echo "source /opt/ros/fuerte/setup.bash" >> ~/.bashrc
echo "export ROS_PACKAGE_PATH=~/ros_workspace:$ROS_PACKAGE_PATH" >> ~/.bashrc
echo "export ROS_WORKSPACE=~/ros_workspace" >> ~/.bashrc

9- Add to the .bashrc file environment variables for ROS network setup. We provide here only the code required to run ROS on a single machine which is enough for running the ROS tutorials. If you plan to use more one machine, you should use an alternate configuration as suggested in our tutorial on ROS Networking.
echo "export ROS_HOSTNAME=localhost" >> ~/.bashrc
echo "export ROS_MASTER_URI=http://localhost:11311" >> ~/.bashrc

10- To continue working on the same terminal window you need to set the ROS environment variables defined in the previous step. This has to be done only for this session since the .bashrc file is automatically run when you open a new terminal.
. ~/.bashrc

Congratulations! ROS is now installed. You can now proceed with our first tutorial showing how to use ROS. The ROS wiki also provides a series of tutorials. But, you can skip the first chapter which is about installing and configuring the ROS environment. Indeed, we did merge it with the install procedure. So, you can go directly to the second tutorial which is about the ROS file system.

It is worth noting that in the fifth tutorial, when running roscore, you will encounter an exception AttributeError(“‘_DummyThread’ object has no attribute ‘_Thread__block'”,). This issue is due to a bug in python that will hopefully be fixed in the next Ubuntu update. It has no impact on roscore, so you can simply ignore it and enjoy ROS.

Related Articles


  1. Cesar
    Cesar June 19, 08:57

    Hello, i am having problem installing the ROS,
    the problem i get it on this code sudo apt-get install ros-fuerte-desktop-full

    what can be?


    Reply to this comment
    • NooTriX
      NooTriX June 19, 21:37

      Hi Cesar,

      What error message you get? It may be that a dependency is not satisfied because you have an old version of some library installed.

      Reply to this comment
  2. Poonster
    Poonster September 19, 09:49

    Very nice article, thanks you. 😀

    Reply to this comment
  3. Tony
    Tony October 05, 04:13

    Hi friends,

    my problem is just step2 at the broken.

    error 403 forbidden

    what’s wrong?

    Reply to this comment
    • NooTriX
      NooTriX October 07, 16:50

      Hi Tony,
      In step 2, the wget attempts to get the ros.key file from the site using http protocol. If you get a 403, this means that the remote server denied your access. Various reasons can cause this denial. Did you retried the wget? Anyway, here is an alternative:

      1. Download the ros.key file using your favorite web browser by openning the following URL
      2. In a terminal go to the directory where the downloaded ros.key file is located. Then evaluate the following expression
        cat ros.key | sudo apt-key add -
      Reply to this comment
      • Hip Monkey
        Hip Monkey May 19, 09:41

        Hello,I’m a new learner and face some problems in step 2 too.In the terminal,it shows:Resolving…failed:Name own.
        wget:unable to resolve host address’’
        gpg:no valid openPGP data found.
        I don’t kown how to solve this problem.Thanks a lot!

        Reply to this comment
  4. Len
    Len October 16, 20:17

    Good tutorial.

    I did the *long* procedure, but I guess there is something wrong with the 3D. I enabled it on VirtualBox, but every window/view in 3D just shows in black and there is a never ending log of OpenGL problems in the command line.

    Does this happens to you too?

    Reply to this comment
    • NooTriX
      NooTriX November 08, 17:01

      Try putting more RAM into your machine. We tried with 1GB of RAM and we successfully launched gazebo simulator.
      roslaunch gazebo_worlds empty_world.sim

      Reply to this comment
  5. Ning Liu
    Ning Liu October 21, 13:54

    Hello, My name is Ning Liu, when doing the tutorial fifth, there is a same error as you mentioned, as you said it will not affect the normal perfomance of ROSCORE, but I’ve already waiting for 10minutes, still no output, so I can not follow the tutorial fifth to do other steps. Could you please help me to solve this problem? Thank you

    Reply to this comment
    • NooTriX
      NooTriX October 23, 06:35

      What do you mean no output? Once started up, roscore keeps waiting. You need to run some nodes to see something happen. After running roscore, try the following.
      In another terminal, launch the turtle simulator by evaluating the following command line rosrun turtlesim turtlesim_node. At this stage, you are supposed to see a graphic winodow with a turtle in the middle.
      Then, in a third terminal, run the turtle remote control by evaluating the following command line rosrun turtlesim turtle_teleop_key.
      Now, if you press arrow keyboard keys in the third terminal, you should see the turtle moving.

      Reply to this comment
  6. Hip Monkey
    Hip Monkey May 19, 10:03

    hi,would you like to help me to solve the problem of 6400?

    Reply to this comment
  7. sud
    sud October 01, 14:49

    i am a mac user and want to use ros in mac os. IS it possible to do so without changing my os

    Reply to this comment

Write a Comment

Free Downloads

You can find our free downloads gathered in the dedicated page. They are grouped by categories:

These materials are brough to you freely with the hope that they will be useful. Please support our action and help us keep running this site and producing even more free content.

Support Free Contents

Materials you can found here are brought to you freely under a creative commons license. It took us time and money to make it. Please donate to help us pay the bills.