Robot Programming and Simulation
Data is displayed for academic year: 2023./2024.
Lecturers
Lectures
Exercises
Course Description
High complexity of tasks that the modern mobile robots are facing calls for using a programming infrastructure which enables efficient integration of independently developed subsystems into a single system enabling autonomous robot operation. The Robot Operating System (ROS) offers an environment for developing modular control software, a communication infrastructure to connect the software components and an open source library of implemented algorithms. In the last years ROS has become the standard for robot control in the academic community and its influence is spreading also in the industry. In the scope of this course we shall cover the practical development of software modules in the ROS environment and their integration into a completely functional system for autonomous robot control.
Study Programmes
University undergraduate
[FER3-EN] Computing - study
Elective Courses
(5. semester)
[FER3-EN] Electrical Engineering and Information Technology - study
Elective Courses
(5. semester)
University graduate
[FER3-EN] Control Systems and Robotics - profile
Elective courses
(1. semester)
Learning Outcomes
- describe and apply the basics of the ROS system
- demonstrate basic skills of programming ROS nodes
- describe and apply basics of robot and environment modelling for simulations
- demonstrate understanding of RTOS concepts and intraprocess communication
- demonstrate an ability of developing interface and control of robotic systems using ROS
Forms of Teaching
Lectures
Lectures will be interactive where students will follow the lecturer step-by-step in solving simple examples.
LaboratoryIn laboratory exercises students will solve more complex examples from the materials covered by lectures.
Grading Method
Continuous Assessment | Exam | |||||
---|---|---|---|---|---|---|
Type | Threshold | Percent of Grade | Threshold | Percent of Grade | ||
Laboratory Exercises | 50 % | 40 % | 50 % | 40 % | ||
Mid Term Exam: Written | 50 % | 30 % | 0 % | |||
Final Exam: Written | 50 % | 30 % | ||||
Exam: Written | 50 % | 60 % |
Week by Week Schedule
- Basic ROS concepts (packages, nodes, messages and topics)
- Basic ROS concepts (packages, nodes, messages and topics), Programming ROS nodes
- Programming ROS nodes, Configuring the ROS navigation stack
- The ROS transform tree
- The ROS transform tree, Recording and playing back data
- Simulation tool requirements, Robot modelling for simulation
- Environment modelling, Modelling and simulating physical interactions
- Midterm exam
- RTOS concepts, Real-time scheduling
- Synchronization services, Real-time interprocess communication
- Distributed robotic system architecture
- User interface design basics
- Interface usability and efficiency
- Programming haptic interfaces, Programming voice control
- Final exam
Literature
J. M. O'Kane (2013.), A Gentle Introduction to ROS, CreateSpace
R. P. Goebel (2013.), ROS by Example, Lulu
A. Martinez, E. Fernandez (2013.), Learning ROS for Robotics Programming, Packt
M. Lutz (2013.), Learning Python, 5th Edtion, O'Reilley
P. Sheer (2001.), LINUX: Rute User's Tutorial and Exposition, Prentice Hall
For students
General
ID 223381
Winter semester
5 ECTS
L1 English Level
L1 e-Learning
30 Lectures
0 Seminar
6 Exercises
20 Laboratory exercises
0 Project laboratory
0 Physical education excercises
Grading System
87,5 Excellent
75 Very Good
62,5 Good
50 Sufficient