Robotics is expected to rank among the key technologies for the twenty-first century. In particular, industrial robots are constantly making inroads into new areas of application and are also currently the subject of intensive research. Because of their complexity and the fact that they are used in so many different areas, industrial robots virtually always represent a big challenge when it comes to developing the control software.
For several years redlogix has been responsible for the software-development of control modules for the industrial robots produced by KUKA Roboter GmbH, the market leader for industrial robots in Germany. The modules implemented by redlogix include those for the interactive control of asynchronous secondary axes, “on-the-fly” tool changing and the integration of sensors into the control system.
In addition to that, redlogix cooperated with the institute for robotics and mechatronic systems of DLR in technology transfer projects, where innovative control algorithms from the research institute got integrated with industrial control systems.
- Intel x86
- VxWorks 6.x
- C / C++
- CAN, Interbus
- Analog/Digital I/O
- Compiler/Interpreter Design
- KRL (KUKA Robot Language)
- RRS (Realistic Robot Simulation)
redlogix in Robotics
We have been responsible for the development of parts of the control software for KUKA industrial robots for years. In addition to our activities in connection with KUKA robots, we are also involved in a cooperative venture with the Institute for Robotics and Mechatronics of the German Aerospace Establishment (DLR) in Oberpfaffenhofen, Germany. This institute is currently conducting research on innovative ways to obtain optimum motion paths, to improve positioning accuracy and to enhance sensor performance. As a result, redlogix has helped to integrate innovations from research into the robot controls used by KUKA. For example, a dynamic robot model made it possible to achieve optimum control of servos and drives, which resulted in considerably shorter production times for the automobile industry.
In order to cope with manifold and complex functions the KRC (KUKA Robot Control) is based on a modern platform equipped with Intel multi-core CPUs and a combination of the real-time operating system VxWorks and Windows XP. The control module is mainly running on VxWorks, whereas the user interface is running in a Windows environment.
Robot controls involve cycles of a magnitude that is measured in terms of thousands of seconds. In addition, motion paths and positioning must accurate to within a few tenths of a millimeter at assembly line speeds of several meters per second. During these few thousands of a second, the software must be able to handle path planning, interpolation of motion profiles, coordinate transformations and corrections as a function of sensor input, including in some cases braking, control of asynchronous axes and interpretation of the robot language program code.
Extensive use of multi-tasking and priority controlled, preemptive scheduling makes it possible to handle the high degree of complexity and parallel operations. Extensive use is also made of the efficiency of an RTOS for inter-task communication and synchronization, including features such as message queues, semaphores, shared memory, etc. That is why KUKA is counting on the latest version of the real-time operating system VxWorks. In addition to the core components mentioned, it also supports real-time processes, memory protection and symmetric multi-processing. For more than a decade now redlogix is familiar with VxWorks and the dedicated development environment Tornado, resp. Wind River Workbench.
Realtime Communication with EtherCAT
For the drive control, signal I/O and safety logic, and in order to link the system to external kinematics or realize cooperation between several robots, a real-time capable, i.e. fast and deterministic, communication is required. At this place EtherCAT is introduced. The KRC takes the role of an EtherCAT master and synchronizes process images with its slave nodes at a data rate of around 1kbps. redlogix has expert knowledge about EtherCAT and is member of the EtherCAT Technology Group.
Simulation and off -line programming play a major role when designing modern robot facilities. They facilitate investigations on the robot movement, program operation sequences and the determination of cycle times without using any real hardware. The robot behaviour is simulated in real-time and visualized in a 3D animation. RRS – Realistic Robot Simulation – outlines a standard in this scope. redlogix is developing the control and simulation modules in compliance with RRS I and II for KUKA.
redlogix Control Modules
redlogix has developed several control modules for the KUKA Robot Controller (KRC):
- Asynchronous axes
The “asynchronous axes” module implemented by redlogix is used for interactive control of individual secondary axes while the primary axes are program-controlled. The function also supports program-controlled motion of secondary axes, but completely independently of all other axes. A process control system would be an example of an application. Work on this module also involved expansion of the KRL (KUKA Robot Language) application language.
- Independent secondary axes
The “independent secondary axes” module permits flexible use of different tools (spot welding, for example) during production processes. These tools are configured on secondary axes of the system. Program-controlled tool changes are then made “on the fly’” from the KRL application running at the time.
- Singularity-free operation
The “learnable anticipatory control” and “singularity- free operation” algorithms from the DLR’s Institute for Robotics and Mechatronics were implemented into the KRC to improve path accuracy and eliminate singularities during interactive processes.
- Robot sensor interface
The “robot sensor interface” module was completely implemented by redlogix. This module permits flexible integration of sensors with controls, correlation of sensor data and the introduction of sensor corrections into the sequence of movement, and this is also possible while the system is running. This even goes so far as to permit completely sensor-controlled operation.
- Powermanagement service
This major component of the KRC-Powermanagement is realized as a Windows service in C#. The UPS is connected via USB (HID protocol). It communicates with the real-time control and other Windows components over a network. The service is responsible for safely shutting down all KRC components in case of a voltage drop. In addition it provides a means to disable or re-enable the control system or parts of it for external applications.
- Connecting small robots
redlogix has developed software for connecting small robots to the KUKA robot control, including the connection to a secondary computer over EtherCAT and implementing all related software components.
- New generation of the KUKA robot control
redlogix has developed software for the KRC Next Generation related to the control and the connection of peripherals. The link between the robot and the control unit is via EtherCAT. The control system is executed on an industrial PC with standard hardware running with a high clock frequency. A focus has been set on maximizing system performance while keeping the whole system highly configurable.