Robot Operating Systems
Professors
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.
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”
Devices:
- Laboratory-Based Course Structure
- Open-Source Software Requirements