University of Applied Sciences Augsburg Students Develop and Simulate Advanced Robotic Control Systems

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

Challenge

Enable students to participate in the development of advanced robotic control software

Solution

Integrate MathWorks tools into exercises in modeling robotic systems and implementing control software

Results

  • Programming skills quickly acquired
  • Reusable robotic control components developed
  • Students’ transition to industry eased
Professor Stark with students in the lab.

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

Challenge

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.

Solution

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.

Results

  • Programming skills quickly acquired. “MATLAB is very easy for students to learn and use,” says Stark. “I’ve taught programming with MATLAB to teenagers in a local secondary school. Even these young students became proficient with MATLAB in one semester and built programs to help other students learn negative numbers and matrix operations.”

  • Reusable robotic control components developed. “With MATLAB Compiler SDK™, I created COM components for robotic control applications,” Stark adds. “MATLAB Compiler SDK makes it easy to integrate MATLAB software with C++ software and existing software environments using the COM interface, and enables the development of large-scale, well-structured software systems.”

  • Students’ transition to industry eased. “Many of my students have gone to work for companies where they use MATLAB to develop control software,” says Stark. “In fact, some were hired at a leading German industrial robotics company. They convinced management at the company to adopt MATLAB for software control design and implementation.”