Modeling the Nao Robot in MapleSim - User Case Studies - Maplesoft

Fallstudie:
Modellieren des Roboters Nao in MapleSim

Einsatz moderner Techniken, um den Zeitaufwand für die Entwicklung der Modelle drastisch zu verringern, mehr Erkenntnisse zum Verhalten des Systems zu gewinnen und schnelle, präzise Simulationen zu erzeugen


Nao ist ein kleiner humanoider Roboter, der von Aldebaran Robotics entwickelt worden ist. Nao ist 58 cm groß. Mit ihm lernen Studierende auf der ganzen Welt zu programmieren und Ingenieuren und Softwareentwicklern dient er als Plattform für Experimente und Roboteranwendungen. Unlängst ist Nao sogar von einem Finanzinstitut in Japan als Kassierer eingesetzt worden.

Die Ingenieure bei Maplesoft wollten herausfinden, ob sie ein Modell von NAO in MapleSim erstellen konnten, dem fortschrittlichen Werkzeug zur Modellierung und Simulation auf Systemebene, das modernste Techniken einsetzt, um den Zeitaufwand für die Entwicklung der Modelle drastisch zu verringern, mehr Erkenntnisse zum Verhalten des Systems zu liefern und schnelle, präzise Simulationen zu erzeugen.

Erstellen des Modells

NAO ist ein hochkomplexer Multibody-Mechanismus mit 25 Freiheitsgraden. Die Maplesoft-Ingenieure haben mit der Multibody-Bibliothek in MapleSim und mit Hilfe der Denavit-Hartenberg-Konventionen (DH-Konventionen) ein Modell erstellt, um die Koordinatensysteme der Gelenke des Roboters zu definieren. Es wurden CAD-Modelle importiert, um Körpermasse, Rotationsträgheit und Schwerpunkt zu definieren. Da MapleSim ein physikalisches Modellierungssystem ist, entspricht das Diagramm des Modells sehr genau dem realen System, wie man in Abbildung 1 sieht.

An jedem Gelenk gibt es Servomotoren für die verschiedenen Bewegungen. Die Signale des Controllers steuern den Motor, um jedes Gelenk zu positionieren. Zusammen bestimmen diese einzelnen Servomotoren, wie sich Nao bewegt.


Abbildung 1: Multibody-Modell des Roboters Nao

Die Ingenieure konnten außerdem den Kontakt zwischen Naos Fuß und dem Boden modellieren. Hierzu wurden in MapleSim benutzerdefinierte Komponenten erzeugt und die mathematischen Gleichungen für die Reibungs- und die Normalkraft eingegeben. Diese Komponenten wurden an jedem Kontaktpunkt an der Unterseite jedes Fußes in das Modell aufgenommen.

Das Modell in MapleSim umfasst außerdem ein Modell des Lithium-Ionen-Batteriepacks aus der MapleSim Batterie-Bibliothek für den Antrieb des Motors, sodass das Verhalten der Batterie und deren Interaktion mit dem übrigen System ebenfalls modelliert werden kann.

Die Sensormesswerte für einzelne Gelenke wurden von Aldebaran Robotics Choregraphe™ über eine Lookup-Tabelle nach MapleSim exportiert. Diese Werte wurden zu Steuersignalen für die einzelnen Gelenke verarbeitet. Das Modell reagierte genau so wie sein Vorbild. So kann das MapleSim-Modell z.B. Tai Chi genauso überzeugend ausführen, wie der reale Roboter.

Nao lernt neue Kunststücke

Nachdem die Maplesoft-Ingenieure ein Modell erzeugt hatten, das die Bewegungen des Roboters Nao simuliert, wollten sie herausfinden, ob sie sein Verhalten nicht nur genau simulieren, sondern ihm auch etwas Neues beibringen konnten.

Mit Hilfe der Fähigkeiten von MapleSim, die mathematischen Gleichungen zur Bewegung eines Modells herzuleiten und zu analysieren, sowie seiner Werkzeuge zur Multibody-Analyse bestimmten Sie die symbolische Lösung zum Problem der inversen Kinematik für die Bewegung des Arms des Roboters. Mit dieser Lösung konnten sie die Gelenkbewegungen berechnen, um den Arm in eine beliebige Position im Raum zu bringen. Sie nutzten diese Informationen, um zum Modell eine neue benutzerdefinierte Komponente hinzuzufügen, die die erforderlichen Bewegungen berechnet, um eine gewünschte Endposition zu erreichen. Anschließend brachten sie dem virtuellen Nao das Zeichnen bei.

Sie erstellten eine Anwendung, mit der ein Mensch mit Hilfe der Maus eine Form, ein Bild oder ein Wort im Bildschirm skizzieren kann. Diese Skizze wird analysiert, um die Koordinaten der Linien zu bestimmen. Diese Informationen werden an das Simulationsmodell übergeben. Das Ergebnis? Nao bewegt seinen Arm und zeichnet die gleiche Skizze.

Die Ingenieure von Maplesoft haben die Fähigkeiten von MapleSim, Probleme der inversen Kinematik zu lösen, auch dazu genutzt, Nao ein paar neue Kunststücke beizubringen, z.B. verschiedene Tänze, Volleyball und die Verfolgung eines Quadrocopters.


Abbildung 2: Servomotoren für die einzelnen Gelenke bewegen den Arm des Roboters

Abbildung 3: Benutzerdefinierte Komponenten auf der Grundlage von Gleichungen wurden dazu eingesetzt, die Kontaktpunkte zwischen dem Fuß und dem Boden zu modellieren

Warum ist das interessant?

Wenn Sie an einem Forschungs- oder Entwicklungsprojekt zur Robotik arbeiten, bei dem das Verständnis von Multidomain-Interaktionen wichtig ist, können Sie mit einer Multidomain-Modellierungsplattform wie MapleSim alle Aspekte Ihres Projekts an einer Stelle zusammenführen, wie dieses Beispiel gezeigt hat.

  • 3D-Multibody-Modellierung: Nutzen Sie die Vorteile der Fähigkeiten zur 3D-Multibody-Modellierung, Simulation und Visualisierung
  • Parametrierte Modelle: Greifen Sie schnell und einfach auf die Systemparameter zu, um konstruktive Änderungen vorzunehmen und eine Reihe verschiedener Entwicklungen oder Produkte zu vergleichen
  • Multidomain-Unterstützung: Erweitern Sie das dynamische mechanische System mit präzisen Modellen von Elektromotoren, Steuerungen und Batterien
  • Virtuelle Tests und Analysen: Untersuchen Sie das Verhalten auf Systemebene und die Interaktion der Multidomain-Untersysteme, ohne hierfür teure Prototypen mit nicht vorhersagbarem Verhalten bauen zu müssen
  • Bemessung von Komponenten: Führen Sie schnell und einfach Serien von Simulationen durch, nutzen Sie die Parallelverarbeitung und sammeln Sie Daten, die bei der Bemessung von Komponenten helfen können
  • Voller Zugriff: Nutzen Sie den direkten Zugriff auf die Gleichungen und eine umfassende Programmiersprache, um das Simulationsmodell zum Teil von Aufgaben zur Modellentwicklung und Wegoptimierung zu machen
  • Optimierten Code erzeugen: Erzeugen Sie aus dem Modell hochoptimierten C-Code für einen wesentlichen Teil der modellbasierten Steuerungsentwicklung

Abbildung 4: Mit Hilfe der inversen Kinematik hat das Modell von Nao zeichnen gelernt

Kontaktieren Sie Maplesoft, um zu erfahren, wie MapleSim bei Ihren Projekten angewandt werden kann.