Robot Programming and Simulation

Learning Outcomes

  1. describe and apply the basics of the ROS system
  2. demonstrate basic skills of programming ROS nodes
  3. describe and apply basics of robot and environment modelling for simulations
  4. demonstrate understanding of RTOS concepts and intraprocess communication
  5. demonstrate an ability of developing interface and control of robotic systems using ROS

Forms of Teaching


Lectures will be interactive where students will follow the lecturer step-by-step in solving simple examples.


In 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

  1. Basic ROS concepts (packages, nodes, messages and topics).
  2. Basic ROS concepts (packages, nodes, messages and topics); Programming ROS nodes.
  3. Programming ROS nodes; Configuring the ROS navigation stack.
  4. The ROS transform tree.
  5. The ROS transform tree; Recording and playing back data.
  6. Simulation tool requirements; Robot modelling for simulation.
  7. Environment modelling; Modelling and simulating physical interactions.
  8. Midterm exam.
  9. RTOS concepts; Real-time scheduling.
  10. Synchronization services; Real-time interprocess communication.
  11. Distributed robotic system architecture.
  12. User interface design basics.
  13. Interface usability and efficiency.
  14. Programming haptic interfaces; Programming voice control.
  15. Final exam.

Study Programmes

University undergraduate
Computing (study)
Elective Courses (5. semester)
Electrical Engineering and Information Technology (study)
Elective Courses (5. semester)
University graduate
Control Systems and Robotics (profile)
Elective Courses (2. semester)


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

Associate Lecturers

Laboratory exercises

For students


ID 183472
  Summer semester
L3 English Level
L1 e-Learning
15 Lectures
15 Exercises
20 Laboratory exercises
0 Project laboratory

Grading System

87,5 Excellent
75 Very Good
62,5 Good
50 Acceptable