RoPod/Tutorials/ROS installation: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
Line 72: Line 72:
* applications: In order to configure the robot for specific use-cases, all the relevant files are placed here.
* applications: In order to configure the robot for specific use-cases, all the relevant files are placed here.


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 ROS dependencies by running
    cd ''_catkin_workspace_dir_''
    sudo rosdep init
    rosdep update
    rosdep install --from-path . -i -y
Install other 3-rd party dependencies by running
    sudo apt-get install libbullet-dev libsdl-image1.2-dev libsdl-dev
   
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 "Compile Software" section.
'''ROPOD-common lib'''
    git clone git@git.ropod.org:ropod/ropod_common.git
    sudo mv ropod_common /opt/
'''Zyre'''
Install this only to perform experiments together with the fleet management software. On the git-page of Sebastian Blumenthal, a bash script can be found to install the zyre-dependencies:
    cd ~
    wget https://raw.githubusercontent.com/blumenthal/ropod-base-cpp/master/install_deps.sh
    chmod 755 install_deps.sh
    sudo ./install_deps.sh --workspace-path=/opt --install-path=/usr/local
    cd /opt
    sudo mkdir ropod
    sudo mv ropod_common/ ropod
= Compile Software =
The first time you install the files in your computer be sure that the folders ‘build’ and ‘devel’ are removed, as well as the file src/Cmakelists.txt
Then, on the main directory level, run a  cmake command to generate the executable files
<pre>catkin_make</pre>
To do all these actions at once, you can run the alias
<pre>clean_build</pre>
However a clean build is only necessary twice each time you want to add functionality. At the very beginning after updating the repository and at the end before commiting changes to the repository.


In the next part of the tutorial we are going to see how [[ RoPod/Tutorials/Matlab and a ROS node interface | Matlab and ROS can communicate]].
In the next part of the tutorial we are going to see how [[ RoPod/Tutorials/Matlab and a ROS node interface | Matlab and ROS can communicate]].


</div>
</div>

Revision as of 16:54, 11 March 2021

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 basic set of packages

sudo apt-get -y update && apt-get install -y \
	nano \
	vim \
	git \
	mercurial \
	cmake \
	build-essential \
	automake \
	libtool \
	libtool-bin \
	pkg-config \
	wget \
	curl \
	unzip \
	libjsoncpp-dev

Install ROS

ROS have several distributions (versions). Install ROS noetic distribution, which is the one compatible with ubuntu 20.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/noetic/Installation/Ubuntu

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

Follow basic tutorials for ROS

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.


Install ROPOD Basis Software

Clone the main repository with the .rosinstall containing the tree structure of the whole software.

   git clone https://github.com/ropod-project/tree-devpc.git

Switch to feature/tracking branck.

   cd tree-devpc
   git checkout feature/remove_ed_dependency

Open the .rosinstall from the shell just to inspect it.

   gedit .rosinstall

This file is a compilation of other repositories that need to be setup and all together compose the ROPOD software. You can now close it and run the installation script. It will install all the different repositories in your home directory. To install run:

   ./install_software


The ./install_software command makes some changes to your .bashrc file. In order for these changes to take effect, you need to close your terminal and open a new one (if using Terminator, fully close it and open a new instance).

Take a look at the structure of Ropod-repository. All packages were now placed in the ~/ropod-project-software/catkin_workspace/src folder. This folder contains 3 other folders:

  • functionalities: Here, all non-standard ros-packages are placed, such as ED, but also packages for localization, navigation, etc.
  • platform: Files corresponding to specific platforms located in this folder, while general files for getting the communication with the sensors to work is placed in the robot_common sub-folder
  • applications: In order to configure the robot for specific use-cases, all the relevant files are placed here.


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