330.320 Programming and Simulation of Robotic Systems
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2023S, VO, 2.0h, 3.0EC
TUWELQuinn ECTS survey


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VO Lecture
  • Format: Hybrid

Learning outcomes

After successful completion of the course, students are able to program modern (collaborative) industrial robots and to simulate certain kinds of robots in a web-based environment. To this end, you will gain an understanding of the basic principles of modern robot programming and simulation as well as more advanced robot software architectures and models. You will also learn how to train and use neural networks for robot motion planning and inverse kinematics calculations.

Subject of course

Industrial (collaborative) robots are becoming more versatile thus requiring a modern approach to their programming and simulation. Robot programming can be approached from the perspective of end users and experts. For end users, simplified programming environments provide the basic means for creating robot tasks. These environments typically build on workflow and block-based programming that require little to no prerequisites on the end user end. Such environments are created by experts concerned with the usability and versatility of the end user programming environment. In this course, we will dive into the architecture of modern robot programming and simulation environments and, ultimately, learn how to create such environments. The course will begin with an overview of the existing end-user programming models and analyze their architectures and the frameworks that power them. In doing so, we will use a web-based programming environment called Assembly (https://assembly.comemak.at) to implement various concepts and principles of robot programming. This includes:

-          Basic robot movements and visualizations

-          Robot software stacks and code generation from high-level end user program representations (e.g., blocks and workflows)

-          Direct and inverse robot kinematics

-          Interactions with basic objection

-          Motion planning and obstacle detection

-          Multi-modal robot programming (e.g., based on speech, gestures, haptics, etc.)

-          Basic principles of human-robot interaction and collaboration

-          Machine learning (neural networks) for motion planning and inverse kinematics

-          Multi-robot programming and simulation

-          Usability principles and evaluation

The lectures will usually treat both theoretical and practical aspects of the topics mentioned above. To support this combination of theory and practice, you will be asked to complete relevant exercises online using the Assembly tool. In addition, you will be tasked with implementing a new feature of the Assembly tool by the end of the semester.

Teaching methods

Lectures and exam:

  • There will be eight video lectures provided in TUWEL.
  • A written exam, which will include programming tasks will be required at the end of the semester.

Continuous learning and evaluation:

  • Exercises using the Assembly tool

Individual (or group) project:

  • Development of a new feature of the Assembly tool (e.g., improved motion visualization, visualizing and manipulating various kinds of objects, etc.) individually or in small groups of two

Mode of examination




Course dates

Thu16:00 - 18:0016.03.2023 https://teams.microsoft.com/l/meetup-join/19:xXaxwy9XarXBW3Hy5mmm8mejFQYYF0uFHCZaxUa_xms1@thread.tacv2/1678864664601?context=%7B%22Tid%22:%22dffdfdd4-77f5-445a-9dc0-1f5c6d259395%22,%22Oid%22:%228eaa3c31-3ab9-429d-a2cf-684f84d73dc6%22%7DIntroduction to the lecture
Fri08:30 - 09:3021.04.2023 MS TeamsQ&A session
Fri08:30 - 09:3012.05.2023 MS TeamsQ&A session
Thu08:30 - 09:3015.06.2023 MS TeamsQ&A session

Examination modalities


Course registration

Begin End Deregistration end
01.03.2023 09:00


Study CodeObligationSemesterPrecon.Info
066 517 Manufacturing and Robotics Not specifiedSTEOP
Course requires the completion of the introductory and orientation phase


No lecture notes are available.

Previous knowledge

Participants are expected to have average programming skills in Java/JavaScript/Python. The main programming language used during the course will be JavaScript.