Robot modeling and low-level programming

Robotic manipulators have become a common manufacturing tool in different industries. In the last decade, researchers have extended the applications of robots to many areas, having as practical result new types of robots. The variety of robotic applications implies a new classification, mainly based on the mechanical structure. Currently, advanced robotic systems include serial manipulators, parallel robots, mobile robots (ground, marine, and aerial), humanoid robots, special application robots. 

Independent of the robot category, the most important part in designing/analyzing a robotic structure is the mathematical model. Robot modeling includes primarily the kinematics and dynamics. Strongly connected with the robot model is the simulation and testing of the models. 

In this research direction, we focus mainly on determination of robot models and their implementation in real-time embedded systems. In particular, we focus on finding and applying new methods to reduce and optimize the complexity of the models. On the other hand, we are developing and optimizing new embedded systems applications and tools for our robotic platforms. Low-level programming for these systems is either made in ANSI C, or platform-specific programming languages like G-Code or Karel. 

Our open and ongoing projects in this area are listed below, together with a selection of completed projects where relevant.

Young Teams grant: Handling non-smooth effects in control of real robotic systems

Robotics has a growing impact on our everyday life. Traditional applications are complemented by the integration of robots in the human environment. With the availability of low cost sensors, aerial robotics also became an active area of research. However, many of the practical challenges associated to the real time control of robotic systems are not yet resolved.

Robot controller Over-the-Air firmware update module

An over-the-air system update process is required for many applications. A robust mechanism is recommended to update system firmware remotely to fix bugs and make important software updates. The project goal is to implement a software module for ARM based microcontrollers used in robotic applications to change the application logic. The application running on the controller is based on functional blocks/tables stored in the microcontroller flash memory.

Generic robot communication profile

We intend to develop a new communication profile for robotic applications. This profile will include standard interfaces and definition of devices to allow communication between different types of robot controllers. The profile will define the communication logic bewteen different controllers and will run on the higher levels of the controller software stack. The project result shall be a C-based software module portable to any Embedded C controller application. Preliminary results will be tested on ARM based microcontrollers.

Controller design for a robot arm

This project concerns controller design for the Cyton Gamma 7DOF robot arm available in our group. This being a mechanical system, modeling will commence from the Euler-Lagrange equations, leading to a TS model in descriptor form. For the sake of simplicity of the controller implementation, this form will be maintained for the design. We will start by testing existing results and continue with incorporating in the design further algebraic constraints. Preliminary results will be validated in simulation, after which real-time implementation and validation is performed.

Real-time control using a polynomial representation

Fuzzy-polynomial approaches have gained considerable interest in the last years for control of nonlinear systems. The stability and design conditions for such models are derived in the form of sum-of-squares, which can be solved using available tools.

This project aims at the testing and validation of the SOS approach on an available laboratory setup. Options include the Quanser rotational inverted pendulum, controlling an Inteco3D crane to move the load along a designated trajectory, a Cyton Gamma robot arm, etc.

Subscribe to Robot modeling and low-level programming