Steuerungssoftware für Industrieroboter

Die Robotik gilt als eine der Schlüsseltechnologien für das 21. Jahrhundert. Insbesondere in ihrer Ausprägung als Industrieroboter dringen Roboter ständig in neue Anwendungsgebiete vor und sind auch Gegenstand intensiver Forschung. Aufgrund ihrer inneren Komplexität und ihrer vielfältigen Einsatzgebiete stellen Industrieroboter große Herausforderungen an die Funktionalität und Performance der Steuerungssoftware.

redlogix betreibt seit vielen Jahren Softwareentwicklung von Steuerungsmodulen für die Industrieroboter der Firma KUKA Roboter GmbH in Augsburg, den Marktführer für Industrieroboter in Deutschland. So wurden unter anderem Module für die interaktive Steuerung asynchroner Zusatzachsen, den Werkzeugwechsel “on the fly” und die flexible Anbindung von Sensoren an die Steuerung
implementiert.

Zudem hat redlogix in Zusammenarbeit mit dem DLR-Institut für Robotik und Mechatronik im Rahmen von Technologietransferprojekten innovative Algorithmen aus der Forschung in die Steuerung von Industrierobotern integriert.

 

Eingesetzte Technologien

  • Intel x86
  • VxWorks 6.x
  • C / C++
  • CAN, Interbus
  • EtherCAT
  • Analog/Digital I/O
  •  Sensorik
  • C#
  • Compiler/Interpreterbau
  • KRL (KUKA Robot Language)
  • RRS (Realistic Robot Simulation)

redlogix in der Robotik

Wir arbeiten seit vielen Jahren an der Entwicklung der Steuerung für die KUKA-Industrieroboter mit. Zudem befindet sich in der Nähe zum Firmensitz der redlogix das Institut für Robotik und Mechatronik des Deutschen Zentrums für Luft und Raumfahrt, in dem an innovativen Verfahren zur Bahnoptimierung, Positioniergenauigkeit, Sensorik und Ähnlichem geforscht wird. redlogix hat dabei mitgewirkt, Innovationen aus dieser Forschung in die Robotersteuerung von KUKA zu integrieren. So konnten zum Beispiel durch ein dynamisches Robotermodell die Antriebe momenten-optimiert angesteuert und dadurch Fertigungszeiten in der Automobilfertigung erheblich reduziert werden.

Plattform

Zur Bewältigung der vielfältigen und komplexen Aufgaben basiert die KRC (KUKA Robot Control) auf einer modernen Plattform mit Intels Multi-Core-Prozessoren und einer Kombination aus dem Echtzeitbetriebssystem VxWorks und Windows. Dabei läuft die Steuerung mit Vorrang unter VxWorks, während Windows die Benutzeroberfläche trägt.

Echtzeitanforderungen

Die Robotersteuerung muss in einem Takt im Millisekundenbereich Sollwerte liefern, um die verlangte Positionier- und Bahngenauigkeit in der Größenordnung von Zehntelmillimetern bei einer maximalen Verfahrgeschwindigkeit von mehreren m/s zu gewährleisten. In diesem kurzen Zeitraum müssen u. a. Bahnplanung, Interpolation der Bewegungsprofile, Koordinatentransformationen, Einrechnung von Sensorkorrekturen, ggf. Bremsensteuerung, Führung von asynchronen Achsen und die Interpretation des Programmcodes durchgeführt werden.

Zur Bewältigung der damit einhergehende hohen Komplexität und Parallelität wird intensiver Gebrauch von Multi-Tasking unter prioritätengesteuertem präemptivem Scheduling gemacht, sowie der zugehörigen Mechanismen zur Interprozesskommunikation und -synchronisation. Nicht zuletzt deshalb setzt KUKA auf die neueste Version des Echtzeitbetriebssystems VxWorks, das neben diesen Kernmechanismen auch Echtzeitprozesse, Speicherschutz und symmetrisches Multi-Processing beherrscht. redlogix ist seit mehr als einem Jahrzehnt mit VxWorks und der zugehörigen Entwicklungsumgebung Tornado bzw. Wind River Workbench vertraut.

Echtzeitkommunikation mit EtherCAT

Zur Ansteuerung der Antriebe, für Signal I/O und Sicherheitslogik, sowie für die Anbindung externer Kinematiken oder kooperierender Roboter wird eine echtzeitfähige, also schnelle und deterministische Echtzeitkommunikation benötigt. Hier kommt EtherCAT zum Einsatz, wobei die KRC selbst den Master darstellt und über mehrere EtherCAT Stränge mit ihren Slavekomponenten mit Raten im Kilohertzbereich Prozessdatenabbilder abgleicht. redlogix verfügt über Expertenwissen zu EtherCAT und ist Mitglied der EtherCAT Technology Group.

Simulation

Bei der Planung moderner Roboteranlagen spielen Simulation und Offline-Programmierung eine große Rolle. Solche Simulationssysteme ermöglichen es, ohne Erfordernis der realen Hardware die Roboterbewegungen zu simulieren, die Arbeitsabläufe zu programmieren und Taktzeiten zu bestimmen. Dabei wird das Verhalten des Roboters in seiner Arbeitsumgebung in Echtzeit simuliert und als 3D-Animation visualisiert. In diesem Umfeld stellt RRS – Realistic Robot Simulation – einen Standard dar. redlogix erstellte für KUKA die Steuerungs-Simulations-Module nach RRS I und II.

Steuerungsmodule von redlogix

Für die KUKA Robot Control wurden von redlogix mehrere Steuerungsmodule entwickelt. Dazu zählen unter anderem die folgenden:

  • Asynchrone Achsen
    Das von uns implementierte Modul “asynchrone Achsen” dient zur interaktiven Steuerung einzelner Zusatzachsen während die Hauptachsen unter Programmkontrolle gefahren werden. Die Funktion steht auch zur programmgesteuerten Bewegung der Zusatzachsen, jedoch völlig entkoppelt von allen anderen Achsen zur Verfügung, z.B. für einen Prozessleitrechner. Hierzu wurde auch der Sprachumfang der Anwendungssprache KRL (KUKA Robot Language) erweitert.
  • Abgekoppelte Zusatzachsen
    Das Modul ‘Abgekoppelte Zusatzachsen’ ermöglicht eine fl exible Handhabung von mehreren, verschiedenen Werkzeugen (z.B. elektromotorische Schweißzangen), die am Robotersystem als Zusatzachse konfiguriert sind. Die benötigten Werkzeuge können sozusagen ‘on the fly’ programmgesteuert aus der momentan laufenden KRLApplikation heraus gewechselt werden.
  • Singularitätenfreies Fahren
    Zur Verbesserung der Bahngenauigkeit und zur Vermeidung von Singularitäten beim interaktiven Verfahren wurden die Algorithmen “lernfähige Vorsteuerung” und “singularitätenfreies Fahren” aus dem DLR-Institut für Robotik und Mechatronik implementiert und in die KRC integriert.
  • Robot Sensor Interface
    Das Modul “Robot Sensor Interface” wurde komplett von redlogix implementiert. Es gestattet – auch zur Laufzeit – die flexible Anbindung von Sensoren an die Steuerung, die Korrelation der Sensordaten untereinander und das Einbringen von Sensorkorrekturen in den Bewegungsablauf. Dies geht bis zum rein sensorgesteuerten Fahren.
  • Powermanagement Service
    Diese zentrale Komponente des KRC-Powermanagements wurde als Windows-Dienst in C# implementiert, die USV ist über USB (HIDProtokoll) angebunden. Mit der Echtzeitsteuerung und anderen Windows-Komponenten wird über Netzwerk kommuniziert. Der Service ist für das kontrollierte Herunterfahren aller KRC-Komponenten zuständig, z.B. im Falle eines Spannungsausfalls. Zudem bietet er auch für externe Applikationen (z.B. Anlagen-SPS) die Möglichkeit, Teile der Steuerung oder die gesamte Steuerung zu deaktivieren bzw. wieder zu aktivieren.
  • Anbindung für Small Robots
    Entwicklung der Software für die Anbindung kleiner Roboter an die KUKA Robotersteuerung. Dies beinhaltet die Anbindung eines zweiten Steuerungsrechners über EtherCAT, wobei von redlogix auf beiden Seiten die notwendigen Softwaremodule realisiert wurden.
  • Neue KUKA Roboter Steuerungsgeneration
    Entwicklung der Software für die Regelung und Geräteanbindung in der KRC Next Generation. Die Anbindung des Roboters an den Steuerungsrechner erfolgt dabei über EtherCAT. Die Regelung wird auf einem Industrie PC mit Standard Hardware im hohen Takt gerechnet. Besonderes Augenmerk liegt auf der variablen Konfiguration der Regelung bei gleichzeitig hoher Performance.