RoPod/Tutorials/ROS installation
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
First, make sure your system is up-to-date:
sudo apt-get update sudo apt-get upgrade
tf2 bullet
sudo apt-get install ros-kinetic-tf2-bullet
autoconf
sudo apt-get install autoconf
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.