Semester: 7
ECTS: 5
Lectures: 30
Practice sessions: 30
Independent work: 90
Module Code: 24-121-0147
Semester: 7
ECTS: 5
Lectures: 30
Practice sessions: 30
Independent work: 90
Module Code: 24-121-0147
Module title:
Programming mobile robots
Lecturers and associates:
Module overview:
This module introduces students to the ROS (Robot Operating System) environment, which is crucial for the integration of various subsystems into autonomous robot systems. The module is elective and represents the third course in the robotics vertical. Students will learn to develop modular control software, use communication infrastructure to connect components and apply an open library of algorithms. Given the growing importance of ROS in academia and industry, the module will focus on the practical development of software modules and their integration into functional systems for controlling autonomous robots. The main goals of the module are:
Familiarize yourself with the ROS environment and master the key components of ROS.
Program and configure ROS nodes.
Manage and control mobile robots within ROS.
Retrieve and analyse sensor data within ROS.
Familiarize yourself with visualizations, coordinate systems and autonomous navigation within ROS.
The module builds on the knowledge gained in the previous modules Introduction to robotics and Perception and localization of robots. Module assessment is based on solving practical tasks.
In this module students will learn:
basic principles and functionalities of the ROS environment for programming mobile robots.
recognize and use basic system components, including their functions and mutual interactions.
develop abilities to write, configure and manage program nodes within the ROS environment.
skills in operating mobile robots, including understanding differential speed and using ROS messages.
collect and analyse data from sensors such as incremental encoders and laser distance sensors.
use visualization tools (for example, RViz), including the use of panels and menu bars to effectively display robot and sensor data.
coordinate systems and how to use them for precise positioning and orientation of robots.
techniques and methods necessary for planning and performing autonomous robot navigation.
skills to integrate different system components, including sensors, nodes, and control algorithms, to create a complex robotic system.
learn how to apply the acquired knowledge in solving real problems in the field of mobile robotics.
Literature:
Required readings:
1. J. M. O´Kane (2013) A Gentle Introduction to ROS. South Carolina: CreateSpace.
2. R. P. Goebel (2013) ROS by Example. Morrisville: Lulu Press.
Supplementary readings:
1. A. Martinez, E. Fernandez (2013) Learning ROS for Robotics Programming. Birmingham: Packt Publishing.