LIVE Linux-Verband e.V. / Universität Hannover
4. - 5. März 2004

Aktuell
Aktuelle LAK-Seite
 
Home
LAK 2004
 
Allgemeines
Programm
Papers
Aussteller
Anreise
Unterkunft
 
Besucher
Anmeldung
 
Beteiligung
Call for
Participation
Referenten
Aussteller
 
Veranstalter
Impressum
 

RTLinux Manipulator Arm

RTLinux realtime steppermotor control and sensor interface

The goal of this engineering project is the development of a control system for industrial robots. The robot should be controlled with a standard PC-joystick. In order to avoid accidents caused by too long response times, the system must be realtime capable. It will also be more convenient to control the robot if the system works in realtime. For this project only standard-PC-hardware should be used, which allowed us to keep material costs under 2000€. We decided to use the realtime operating system RTLinux because an open-source version is available. The RTLinux-kernel works in conjunction with a normal Linux-Kernel. The realtime kernel allows to run realtime-applications while the normal Linux-Kernel offers the possibility to run normal Linux-applications.

At first a realtime-capable joystick-driver had to be developed. We chose a Logitech Wingman Extreme Digital 3D, because it is equipped with enough axes as well as buttons. Due to the standard transfer protocol which the joystick uses, it is also possible to use other Logitech joysticks.

We also had to develop a realtime-capable module which allows to control the robot. The data transfer between robot and PC is realized via a serial interface. As the robot is very difficult to control and we did not have it at our disposal all the time, we also created a module which controls a steppermotor board with up to three motors. This module was mainly used in order to test and to troubleshoot the system.

After these driver-modules had been completed, a main-module that reads the current joystick-position from the joystick-module had to be developed. These values are translated into values which correspond to the speed of the robot axes. Afterwards these values are passed on to the robot-module. Additionally the main-module has to detect errors and to respond to them.

Another goal was the transfer of the joystick data via a realtime-capable, serial interface. In order to remote control the robot the main-module had to be split into two parts. The first part regularly reads data packets from the joystick-driver and calculates the corresponding speeds. Then these speeds are passed on to the second part of the main-module via the serial interface. The second part only has to read these speeds and transmit them to the robot-module.

In addition to the realtime modules we also had to develop a non-realtime-capable visualization. It should allow to control the robot without direct visual contact. To make this possible two USB-webcams were installed. The pictures of these webcams should be read by the computer connected to the robot and should then be transferred to the workstation via an ethernet connection. The data transfer should be established via an SSH-tunnel, in order to provide safe transfer. Due to a lack of time this data transfer could not be realized.

The second part of the visualization consists of an OpenGL model of the robot. We decided to use OpenGL because it is already included in most Linux-distributions and it allows to create 3D-objects very easily.

Our last task was to port the robot-module to an embedded board which offers very limited resources. We had to set up a minimum system on a 16MB flash card which allows to run realtime modules. Since the board is not equipped with a graphic card, there must be an SSH-server which allows to login into the embedded board. This SSH-server is also used to insert and to remove the modules.

Apart from the problems mentioned above all project goals could be achieved and for the remaining problems possible solutions have been suggested. This will make it easier and less time consuming to solve these problems in the future.

Referenten:

Georg Schiesser
Florian Bruckner
Nicholas Mc Guire



© 2004 Linux-Automation Orgateam - Mon Jun 15 18:04:07 2009