ROS Jade : Installation

What the heck is ROS anyway :

Robot Operating System (ROS) is a collection of software frameworks for robot software development, providing operating system-like functionality on a heterogeneous computer cluster.

So in layman terms, it just helps us build robot applications.

Previous post on ROS : Configuring ROS - Jade on Ubuntu 14.10

Note :

ROS Jade ONLY supports Trusty (14.04), Utopic (14.10) and Vivid (15.04) for debian packages. If you are on any other version of Ubuntu or have a different flavor of linux installed, I suggest you head over to wiki.ros.org.

Note that this guide is written keeping in mind that we are on Ubuntu 14.10 !

Requirements :

Installation :

  1. Configure your Ubuntu repositories :
    • Configure your Ubuntu repositories to allow “restricted,” “universe,” and “multiverse.” You can follow follow the Ubuntu guide for completing this work.
  2. Set up your sources.list

    This can be done by running the following command in the terminal

    [email protected]:~$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    
  1. Set up your keys
    [email protected]:~$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
    
Note that if you are behind a proxy, this command wont work. You will have to workaround that I guess(use a dongle maybe!)
  1. Installation

Make sure that Debian package index is up-to-date.

To make sure just do a

  [email protected]:~$ sudo apt-get update
  

and you are good to go

For those running 14.04.2

If you are on 14.04.2, you have to manually fix the dependy issues,

DO NOT INSTALL THE BELOW PACKAGES IF YOU ARE ON 14.04, THIS WILL DESTROY YOUR X-SERVER. IN SHORT, YOU WONT BE ABLE TO SEE THE GUI OF YOUR OS AGAIN!

  [email protected]:~$ sudo apt-get install xserver-xorg-dev-lts-utopic mesa-common-dev-lts-utopic libxatracker-dev-lts-utopic libopenvg1-mesa-dev-lts-utopic libgles2-mesa-dev-lts-utopic libgles1-mesa-dev-lts-utopic libgl1-mesa-dev-lts-utopic libgbm-dev-lts-utopic libegl1-mesa-dev-lts-utopic
  

DO NOT INSTALL THE ABOVE PACKAGES IF YOU ARE ON 14.04, THIS WILL DESTROY YOUR X-SERVER. IN SHORT, YOU WONT BE ABLE TO SEE THE GUI OF YOUR OS AGAIN!

Alternatively you can try,

  [email protected]:~$ sudo apt-get install libgl1-mesa-dev-lts-utopic
  

to fix the dependency issues.

For those running 14.04, 14.10 and 15.04

After that you can run the command to install the Desktop-Full Install which is the recommeded one by doing.

  [email protected]:~$ sudo apt-get install ros-jade-desktop-full
  

If everything is good uptil here, you should see the package manager downloading the required packages.

Get yourself a coffee or two

because it can take a helluva a time depending on the speed of your internet connection.

Initialize rosdep

Before you can use ROS, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.

[email protected]:~$ sudo rosdep init
[email protected]:~$ rosdep update

Environment setup

It’s convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:

[email protected]:~$ echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc
[email protected]:~$ source ~/.bashrc

Getting rosinstall

rosinstall is a frequently used command-line tool in ROS that is distributed separately. It enables you to easily download many source trees for ROS packages with one command.

For ubuntu users, just run

[email protected]:~$ sudo apt-get install python-rosinstall

Finally

The next step would be to configure ROS, the steps of which can be found here

Now that you have installed ROS on your system, you can look forward to the ROS tutorials

Till then Goodbye!

References :

I could not have written this guide if the documentation had not been so crisp and straight forward. Kudos to the ROS development team!

All content is licensed under the CC-BY 4.0 License unless otherwise specified