“When I teach C++, I show students a program that simulates a swing. The C++ program is seven pages of code or more. The MATLAB implementation is a single page—about 50 lines of well-structured, compact code that is easy to understand.”
Professor Georg Stark, University of Applied Sciences Augsburg
Robotics courses at the University of Applied Sciences Augsburg emphasize both creative problem-solving and practical applications. Computer science students, like their classmates studying electrical engineering, mechanical engineering, and mechatronics, use MathWorks tools to reinforce course material by immediately applying new concepts in lab exercises and projects.
“Our goal is to teach the fundamentals of robotics with a focus on software,” explains Georg Stark, professor at the University of Applied Sciences Augsburg. “MATLAB is well-suited for use in robotics because it enables students to participate in the development process for sophisticated controller software.”
In his courses, Stark seeks to develop the students’ skills in two key areas: using formal mathematical methods to model the static forces, dynamic forces, and kinematics of robots, and designing and implementing controller software for robotics applications.
Stark needed to provide a simulation environment that would enable the students to try out control algorithms before testing them on real hardware. “I wanted to develop software that students could use to perform a 3D simulation of the robot and then to control a robot in real time,” says Stark. “It was very important for the software to work on multiple platforms, integrate easily with other systems, and scale to large projects.”
In addition, Stark required tools that students could learn quickly and then apply throughout their careers.
Stark and his colleagues across the University of Applied Sciences Augsburg integrated MathWorks products into interdisciplinary course work in engineering and computer science.
In the Programming with MATLAB course, a prerequisite for robotics courses, students use MATLAB® to complete exercises on arithmetic operations, graphics, program structure, and event-driven software.
The robotics courses are based on MRobot™ Controller software developed by Stark. Written in MATLAB, this software enables students to test their algorithms against a simulation model of a robot. The MRobot Controller software comprises several software components that are integrated by MATLAB, applying the Component Object Model (COM) interface.
In Robotics with MATLAB, a course based on Stark’s book of the same name, students use MATLAB and the MRobot Controller software to program and test robot applications.
Later, they develop kinematic models in MATLAB and implement controller software that plans and interpolates robot motion trajectories. These trajectories are calculated by applying spline interpolation using Curve Fitting Toolbox™.
Students in the Intelligent Robotic Systems course learn how to integrate sensors and implement image processing algorithms for robotic control using MATLAB. In one assignment, they write a MATLAB algorithm that processes data from a 3D camera and detects cuboids, spheres, and cylinders placed in front of the camera. They then use MATLAB plotting capabilities to display a model of the object.
Later in the course, students develop control algorithms for sensor-guided robot motion. Stark uses Simulink® to design and optimize the feedback control systems.
Finally, in the research-oriented lab CIM and Robotics, students use MATLAB to design and implement advanced control systems for robots, in cooperation with industrial partners.
Several of Stark’s advisees are using MATLAB to complete their thesis projects. Two are working on real-time robotic control systems developed entirely in MATLAB, while another is using MATLAB to develop a robot that walks on two legs.
Watch the video: Professor Stark displays an industrial robot programmed with MATLAB 1:39
Enable students to participate in the development of advanced robotic control software
Integrate MathWorks tools into exercises in modeling robotic systems and implementing control software