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.
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.