RoPod/Tutorials/ROS installation: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
Line 4: Line 4:


=Install ROS =
=Install ROS =
ROS have several distributions (versions). Install ROS kinetic distribution, which is the one compatible with ubuntu 16.04. Follow the instructions on this webpage.
ROS have several distributions (versions). Install ROS kinetic distribution, which is the one compatible with ubuntu 16.04. Follow the instructions on this webpage. Install the Desktop-Full version. Make sure you follow at least steps 1.1-1.7 in the webpage .


http://wiki.ros.org/kinetic/Installation/Ubuntu
http://wiki.ros.org/kinetic/Installation/Ubuntu
(This is not valid/ to be checked)Then, install roslaunch, which will be useful when launching multiple ROS applications from packages.
<pre>sudo apt-get install python-roslaunch</pre>


Install SMACH tools that wuill be used to create state machines
Install SMACH tools that wuill be used to create state machines

Revision as of 14:36, 11 April 2018

Get familiar with ROS

The Robot Operating System (ROS) is a framework for writing robot software. ROS uses concepts like nodes, topics, messages, etc. Get familiar with them by searching on the web. You can start reading at: http://wiki.ros.org/ROS/Concepts

Install ROS

ROS have several distributions (versions). Install ROS kinetic distribution, which is the one compatible with ubuntu 16.04. Follow the instructions on this webpage. Install the Desktop-Full version. Make sure you follow at least steps 1.1-1.7 in the webpage .

http://wiki.ros.org/kinetic/Installation/Ubuntu

Install SMACH tools that wuill be used to create state machines

sudo apt-get install ros-kinetic-smach*

To test the installation, run in a terminal the ROS core:

roscore

Then in another terminal you can type:

rostopic list

You should be able to see at least the following:

/rosout
/rosout_agg

You can get familiar with ROS using the tutorials for beginners available at http://wiki.ros.org/ROS/Tutorials.

Get familiar with catkin workspaces, which will allow you to build a ROS node in the future. Moreover, get familiar on how to run a ros node.

If you already cloned the ropod-project-software in your home directory, teh next step is to install the software dependencies, i.e. non standard packages and third party software:

Install Dependencies

First, make sure your system is up-to-date:

   sudo apt-get update
   sudo apt-get upgrade

Then, install all dependencies by running

   cd _catkin_workspace_dir_
   rosdep install --from-path . -i -y 
   

Next, only of you are a contributor to the private ROPOD repository (you should have already been informed by your coach if you are), install the following packages, otherwise jump to next subsection.


ROPOD specific packages

   cd _catkin_workspace_dir_/src
   wstool up


Zyre

Follow instructions for **master** branches: https://github.com/zeromq/zyre

At the moment of writing (Oct, 2017), those correspond to:

  • libsodium 1.0.15
  • libzmq 4.2.2
  • czmq 4.0.2
  • zyre 2.0.0


   git clone --depth 1 -b stable https://github.com/jedisct1/libsodium.git
   cd libsodium
   ./autogen.sh && ./configure && make check
   sudo make install
   cd ..
   git clone git://github.com/zeromq/libzmq.git
   cd libzmq
   ./autogen.sh
   # do not specify "--with-libsodium" if you prefer to use internal tweetnacl
   # security implementation (recommended for development)
   ./configure --with-libsodium
   make check
   sudo make install
   sudo ldconfig
   cd ..
   git clone git://github.com/zeromq/czmq.git
   cd czmq
   ./autogen.sh && ./configure && make check
   sudo make install
   sudo ldconfig
   cd ..
   git clone git://github.com/zeromq/zyre.git
   cd zyre
   ./autogen.sh && ./configure && make check
   sudo make install
   sudo ldconfig
   cd ..


JSONCPP

 apt-get install libjsoncpp-dev

Compile Software

After installing the dependencies, then you should be able to compile the software now:

cd ~/ropod-project-software/catkin_workspace
catkin_make

In the next part of the tutorial we are going to see how Matlab and ROS can communicate.