Suchen

Kybernetik

Roboterentwicklung für die DARPA-Challenge

Seite: 2/4

Firmen zum Thema

Regelungssysteme, die solche Leistungen nachahmen, müssen anspruchsvolle logische Entscheidungen darüber treffen, wie der Roboter sich bewegt und wohin. Obwohl die Gleichungen, die die Systemkinematik und -dynamik beschreiben, nicht-linear sind, haben sie doch eine verwertbare Struktur. Viele können zum Beispiel in Form von rationalen Polynomgleichungen beschrieben werden. Dadurch können wir leistungsstarke Algorithmen schreiben, die zur Beurteilung der Systemstabilität bei einer großen Vielfalt von Einsatzbedingungen numerische algebraische Geometrie und konvexe Optimierung verwenden.

Bild 2: Trichterförmiger Bereich, von dem aus der Gleitsegler verlässlich sein Ziel erreicht.
Bild 2: Trichterförmiger Bereich, von dem aus der Gleitsegler verlässlich sein Ziel erreicht.
(Quelle: MathWorks)

Um einen kleinen Gleitsegler auf einem Draht zu landen, implementierten die Forscher mit MATLAB und Simulink einen Standardansatz zur Flugbahnoptimierung und einen linearen zeitlich-veränderbaren Regler. Mit diesem Ansatz erhielten sie Regler, die das Flugzeug durchgehend landen konnten, so lange es vom gleichen Ort mit der gleichen Geschwindigkeit gestartet wurde. Durch eine rasche Evaluierung der Systemstabilität mithilfe des polynomialen Ansatzes, der als Stabilitätstrichter (Bild 2) dargestellt wird, entwarfen sie eine Reglerschar, die das Flugzeug aus einer Reihe verschiedener Ausgangsbedingungen verlässlich landete. Damit kann das Flugzeug von jeder Position aus in Richtung des Drahtes gestartet werden, und es gelangt immer an sein Ziel.

Just-in-Time-Kompilierung und Echtzeit-Szenarien

Als das Team die Arbeit für die DARPA Robot Challenge begann, stellten manche Kollegen den Einsatz einer interpretierten Sprache wie MATLAB in einer Echtzeit-Feedback-Regelungsschleife in Frage. Sie hatten Bedenken, dass die Algorithmen nicht schnell genug ausgeführt würden und dass Unterbrechungen durch Just-in-time-Kompilierung, Speicherbereinigung oder Hintergrundprozesse zu Jitter führen und die Zeitplanung beeinflussen könnten.

Nach sorgfältiger Prüfung dieser Aspekte stellte das Team fest, dass die MATLAB-Algorithmen auf einem PC mit 300 Hz oder mehr ausgeführt werden können und dass die zeitliche Genauigkeit den Anforderungen unseres Regelungsansatzes entsprach. Außerdem war bekannt, dass bei Bedarf C++-Code zur Beschleunigung kritischer oder langsamer Komponenten in den Simulationen verwendet werden konnte. Obwohl höhere Samplingraten und verlässlicheres Timing den Entwurf von Regelungen vereinfachen, galt es, Regler mit ausreichender Robustheit zu entwerfen, um niedrigere Raten und weniger genaues Timing verarbeiten zu können. Das menschliche Nervensystem verarbeitet komplexe Bewegungen mit relativ geringer Bandbreite und hohen Latenzzeiten. Das Bemühen der Forscher ist es, Regler zu entwickeln, die genau das leisten können.

Die Vorteile der Verwendung von MATLAB und Simulink wurden mit fortschreitender Entwicklung offensichtlich, zum Beispiel:

  • MATLAB eignet sich ausgezeichnet zur schnellen Algorithmen-Prototypentwicklung für lineare Algebra.
  • Die meisten kommerziellen Optimierungs-Solver, die das Team benutzt, verfügen über eine MATLAB-Schnittstelle.
  • MATLAB und Simulink bieten zahlreiche Methoden zur Visualisierung von Daten, Simulationsergebnissen und der Bewegung virtueller Roboter.
  • Simulink ermöglicht die Entwicklung anspruchsvoller Modelle, die Integration von MATLAB-Klassen als S-Funktionen, die Anwendung von ODE-Solvern und die Simulation von Hybridsystemen und Systemen, die diskontinuierliche und kontinuierliche Komponenten kombinieren.
  • Viele der Studenten im DRC-Team hatten MATLAB im Grund- oder Aufbaustudium bei Regelungen, Kommunikationssystemen und Signalverarbeitung verwendet.

Artikelfiles und Artikellinks

(ID:43334948)