IN2106 Intelligent Machine Programming Lab

Lecturer (assistant)
TypePractical course
Duration6 SWS
TermWintersemester 2022/23
Language of instructionEnglish
Position within curriculaSee TUMonline

Admission information


After successful completion of the course, students have understood the working principles of several state-of-art Robotics systems. They are ready to interact safely and professionally with different types of robots. Moreover, students are able to program, write code, and design controllers for robotics systems in order to perform complex tasks.


In this course, we offer the student clear intensive guidance to robot programming and low to high-level control design. The focus at beginning of this course is to familiarize students and make them user-ready to different types of robotics systems, e.g. Universal Robots Ue10 or Ue5. In particular, students at the beginning of the course will be taught rules about working with robots (safety aspect, best positioning for shutdown mode, etc), Introduction to ROS, and then a quick overview about available robots. Later in the course, and for each of the Robotics systems used in this course, an overview of its components (controller, hardware, and control panel), connection/setup, interface medium will be explained to the students. The rest of the course will be focusing on writing codes and programming the robot to perform a certain number of tasks that are ranging from simple to complex.


- Fundamentals of control theory - Fundamentals of robotics - C,C++ - Python

Teaching and learning methods

During the lectures, students are instructed in a teacher-centered style. In the lab, students will perform several experiments and solve various assignments. In particular: • Lectures (for direct transfer of theoretical knowledge) • Lab assignments (for testing the learned approaches) • Final task (to evaluate whether students can transfer the methods they have learned during the course and applied to the real-life complex tasks)


The evaluation is based on several lab assignments where students write code and algorithms and implement them in the robot to solve a particular problem or perform a specific task. One main and complex task that weighs 40% of the grade will be assigned to the student at the end of the semester accompanied by the final presentation. Specifically, the following distribution will be used: • 4 Lab assignments, each weighs 15% of the final course grade and is assessed as o write code and algorithms (5%) o implement to the real systems (5%) o solve the given problem (5%) • The final task weighs 40% of the final course grade and is assessed as o Programming (10%) o Solving the task (25%) o Final presentation (5%) Students from the Informatics department must carry out additional scientific and logistical investigation. The content and results of this work will be summarized in a 10-page report.

Recommended literature

- Khalil, Wisama, and Etienne Dombre. Modeling, identification and control of robots. Butterworth Heinemann, 2004 - Khatib, Oussama. "A unified approach for motion and force control of robot manipulators: The operational space formulation." IEEE Journal on Robotics and Automation 3.1 (1987) -Craig, John J Introduction to robotics: mechanics and control, 3rd ed.