Robot Operating Systems

Year:
2nd year
Semester:
S1
Programme main editor:
I2CAT
Onsite in:
UBB
Remote:
UULM
ECTS range:
3-6 ECTS

Professors

img
Professors
Birte Glimm
UULM
img
Jeremy Van Gorp
CNAM
img
Libal Andras
UBB

Prerequisites:

Linear algebra and analysis, programming in Python or C++

Pedagogical objectives:

Students will understand the fundamental theoretical and algorithmic principles behind robotic systems. Students are able to solve robot specific learning problems involving, for example, navigation and mapping, grasping and manipulation, and interaction with humans. They understand the ROS Ecosystem (topics, nodes, messages, services, actionlib) and are able to develop simple applications to control robot motion.

Evaluation modalities:

Continuous monitoring (portfolio).

Description:

This course gives an introduction to the Robot Operating System (ROS) including available tools that are commonly used in robotics. With the help of examples, the course provides a starting point for working with robots. The course covers how to create software including simulation, to interface sensors and actuators, and to integrate control algorithms.

  • ROS architecture: Master, nodes, topics, messages, services, parameters and actions.
  • Console commands: Navigating and analyzing the ROS system and the catkin workspace.
  • Creating ROS packages: Structure, launch-​files, and best practices.
  • Simulating with ROS: robot models (URDF) and simulation environments.
  • Working with visualizations and user interface tools.
  • Introduction to ROS2.

Required teaching material

Thrun, Burgard, Fox “Probabilistic Robotics” Bishop “Pattern recognition and machine learning” Russell & Norvig “Artificial intelligence. A modern approach” Goebel “ROS by Example INDIGO – Volume 1”

Teaching volume:
lessons:
15-28 hours
Exercices:
0-15 hours
Supervised lab:
0-28 hours
Project:

Devices:

  • Laboratory-Based Course Structure
  • Open-Source Software Requirements