IRI ROS
From WikIRI
back to main page of the robotics lab
Welcome to the IRI ROS homepage of the Robotic laboratories at IRI. This wiki page is meant to ease the creation of ROS node processes from any raw C++ project. ROS is an open-source, meta-operating system which provides different features like message-passing between processes and package management. An intermediate framework between ROS and the user's code is provided from this laboratory to assure a quick and easy integration while maintaining a common class hierarchy. Notice this library is only supportted under Ubuntu distribution.
This laboratory, also provides a set of scripts to automate all the development process. Creation of new packages and topics can be done almost without writing a single line of code. Although most of the actions can be done with these scripts, a minimum knowledge of the main ROS structure and its phylosophy is recommended. All ROS documentation can be found in their wiki page, even a tutorial on how to navigate through the wiki pages is available here. The Roscpp Overview it is also highly recommended to read.
All software required is available in the laboraty repository. Here some tutorials are presented to detail step by step how to download and use the library.
You can find the documentation here
Contents |
ROS Installation
There are currently three different ROS distributions (or releases):
- diamondback (old stable)
- electric (current ROS stable and IRI supported)
- unstable (development branch)
In the Institute we use the stable electric branch, so be sure of use the packages or code corresponding to this version.
Installing ROS is well documented in the installation page at its wiki.
IMPORTANT!! If your user is logging in for the first time in the computer, check before downloading if ROS has previously been installed
ls /opt
If so, just add the path to your bashrc
echo "source /opt/ros/electric/setup.bash" >> ~/.bashrc . ~/.bashrc
IRI ROS stack installation
The IRI ROS library is structured following the ROS stack directions. Apart from a folder containing all the stacks there is also a folder with the scripts.
- Repository recommended structure
- Download IRI ROS software
- IRI ROS Stacks availables
- Utilities library (IRI ROS Dependencies)
IRI ROS Core Overview
The IRI ROS library provides two separate basic structures from which all new nodes should inherit from. Both of them can be located inside the iri_core stack. The iri_base_driver package refers to those nodes related to a hardware device, while the iri_base_algorithm is meant for algorithm implementation. In both cases, common features are provided to manage node's flow and parameter reconfiguration. More details are explained in the following sections.
Main considerations
Before getting started with the tutorials, one should know that it is assumed that ROS is properly installed on the system and the computer works in any Ubuntu distribution version. IRI ROS libraries rely on the utilities package also provided by this laboratory, so please be sure it is also install on your machine.
Other relevant considerations are explained in the following sections.
IRI ROS Script tutorials
A set of scripts are given to ease the implementation of some features mentioned in the Common features page. What it is important to remark is that all scripts search for specific comments in the source code to add the requested lines. If these comments are either deleted or modified, the script simply will not be able to succeed, so for your own interest do not delete those comments between brackets.
In the following tutorials each script is explained in detail.
- Add a simple publisher and subscriber
- Add a simple server and client
- Add an action server and client
Other tutorials
Additional tutorials referring to other topics are listed below.
- Creating a branch from a stack
- Managing ROS node parameters
- Launching several times the same node
- Creating a robot simulator for GAZEBO
- Installing MORSE simulator for ROS
Add a new robot model
- ROS Quaternions
- Working with bags and Extracting data (TEO)
- Convert Sketchup models to STL
- Create PDF from rxgraph
- Documentation instructions
- Documentation instructions
- Working_with_bags
- IRI ROS Smach Guide
Getting help
For non IRI people, if you found a problem or if you want to provide feedback, please mail to our robotics lab: labrobotica (at) iri.upc.edu
People interested in ROS at IRI have their own ROS IRI users mailing list.
An internal public archive is available:
- Internal server: https://lists.iri.upc.edu/sympa/arc/ros-users.
Addional ROS features
Optional: After festival is set up follow this commands in your console:
> festival festival> (SayText "I've been set up. ROS WIN!!!") festival> (exit)






