RoPod/Tutorials/ROS installation

From Control Systems Technology Group
Jump to navigation Jump to search

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.

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.

sudo apt-get install python-roslaunch

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

tf2 bullet

   sudo apt-get install ros-kinetic-tf2-bullet


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.