V-REP ist eine flexible und skalierbare Plattform für das Robomodelling. Fortsetzung des Artikels
Ich präsentiere Ihnen die Übersetzung des zweiten Teils des Artikels, dessen ersten Teil wir bereits veröffentlicht haben. Sie finden ihn hier .Im ersten Teil haben wir uns mit der V-REP-Modellierungsumgebung vertraut gemacht, Modellierungssteuerungsmethoden und die Möglichkeiten der Implementierung von V-REP in die Modellierung untersucht.Jetzt werden wir die Modellierungsfunktionen in V-REP untersuchen und einige Beispiele für die Verwendung der V-REP-Plattform betrachten.V-REP-ModellierungsfunktionenV-REP basiert auf einer universellen Architektur und hat kein Haupt- oder Zentralmodul. Stattdessen besteht V-REP aus relativ separaten Funktionsgruppen, die bei Bedarf ein- oder ausgeschaltet werden können.Stellen Sie sich ein Simulationsszenario vor, in dem ein Industrieroboter Kisten aufnehmen und an einen anderen Ort bringen muss. V-REP berechnet die Dynamik des Erfassens und Haltens der Box und führt für andere Teile des Zyklus, wenn die dynamischen Effekte vernachlässigbar sind, eine kinematische Modellierung durch. Mit diesem Ansatz können Sie die Bewegungen eines Industrieroboters schnell und genau berechnen, was bei einer vollständigen Simulation mit komplexen dynamischen Bibliotheken nicht funktionieren würde. Die Verwendung einer solchen Hybridsimulation ist gerechtfertigt, wenn der Roboter starr fixiert ist und nicht unter dem Einfluss der Umgebung steht.Zusätzlich zur adaptiven selektiven Einbeziehung verschiedener Funktionen kann V-REP diese zusammen verwenden, wodurch eine zur Interaktion mit einer anderen gezwungen wird. Zum Beispiel kann V-REP beim Modellieren eines humanoiden Roboters Beinbewegungen auf folgende Weise verarbeiten: Zuerst wird die inverse Kinematik für jedes Bein berechnet (d. H. Die Gesamtposition des gesamten Beins wird aus der gewünschten Fußposition und -orientierung berechnet); dann werden die Positionen der Gelenke als Ziele für das Dynamikmodul berechnet. Auf diese Weise können Sie die humanoiden Bewegungen auf sehr universelle Weise einstellen, da für jedes Bein eine Wiederholungsbewegung des 6-dimensionalen Pfades zugewiesen wird: Die verbleibenden Berechnungen werden automatisch ausgeführt.Die Funktionalität bezieht sich auf bestimmte Skriptobjekte oder bestimmte Berechnungsmodule, von denen jedes nachstehend beschrieben wird.Simulationsobjekte .V-REP-Simulationsmodelle enthalten mehrere Objekte oder Elemente, die zu einer Baumhierarchie zusammengefasst sind. Die folgenden Simulationsszenen werden von V-REP unterstützt:• Artikulationen : Elemente, die zwei oder mehr Szenenobjekte miteinander verbinden und ein bis drei Freiheitsgrade (prismatisch, rotierend, helixförmig oder sphärisch) bieten. Sie können in verschiedenen Modi arbeiten (z. B. im Kraft- / Rotationsmodus, im inversen Kinematikmodus usw.).• Formen : Dreieckige polygonale Netze, die zur Modellierung und Visualisierung eines Festkörpers verwendet werden.• Kontaktlose Sensoren (Abbildung 3): Sie berechnen den genauen Mindestabstand zu dem Teil der Figur, der innerhalb des Erfassungsbereichs liegt. Dies bietet eine kontinuierliche und realistischere Simulation als die Erkennung anhand einer großen Anzahl von Richtstrahlen.• Visuelle Sensoren : Mit visuellen Sensoren können Sie komplexe Bilder und Informationen aus Modellierungsszenen (Farben, Größe von Objekten, Kartentiefe usw.) extrahieren. Die integrierte Filter- und Bildverarbeitungsfunktion startet einen Block von Filterelementen. Visuelle Sensoren verwenden Hardwarebeschleunigung, um RAW-Bilder zu erhalten (OpenGL-Unterstützung).• Kraftsensoren: Sie sind harte Verbindungen zwischen den Figuren, die die ausgeübten Kräfte und Drehmomente aufzeichnen können und die zusammenbrechen können, wenn ein bestimmter Schwellenwert überschritten wird.• Diagramme : Diagramme können eine Vielzahl vordefinierter Datenströme oder Benutzerdatenströme aufzeichnen. Datenströme können dann direkt (Zeitachse eines bestimmten Datentyps) oder in Kombination miteinander angezeigt werden, um X / Y-Diagramme oder 3D-Kurven anzuzeigen.• Kameras : Mit ihnen können Sie Szenen visualisieren, die vom Standpunkt abhängen.• Beleuchtung : Beleuchten Sie die Szene oder einzelne Objekte in der Szene und wirken Sie sich auf Kameras oder visuelle Sensoren aus.• Wege: Sie bestimmen die komplexe Bewegung im Raum (eine Folge frei kombinierter Verschiebungen, Rotationen und / oder Pausen) und werden beispielsweise verwendet, um den Roboterschweißbrenner entlang eines bestimmten Pfades zu lenken oder um die Bewegung des Förderbandes einzustellen.• Materialpunkte : Dies sind Hilfsreferenzsysteme, die für verschiedene Aufgaben verwendet werden können. Wird hauptsächlich in Kombination mit anderen Objekten in der Szene verwendet.• Fräser : Kann verwendet werden, um die Oberfläche der Schneidvorgänge auf dem Formular nachzuahmen (z. B. Fräsen, Laserschneiden usw.).
RechenmoduleSimulationsobjekte werden selten unabhängig voneinander verwendet, sondern arbeiten eher an oder in Verbindung mit anderen Objekten (z. B. erkennt der Näherungssensor Formen). Darüber hinaus bietet V-REP mehrere Berechnungsmodule an, die direkt an einer oder mehreren Simulationsszenen arbeiten können. Die folgenden Hauptberechnungsmodule sind:• Kinematikmodul : Ermöglicht die Durchführung kinematischer Berechnungen (direkt und invers) für alle Arten von Mechanismen (verzweigt, geschlossen, redundant, mit verschachtelten Schleifen usw.). Das Modul basiert auf der Berechnung der am wenigsten verblassenden Quadrate.• Dynamisches Modul: Mit dieser Option können Sie die Dynamik der Berechnung von Festkörpern und Wechselwirkungen (Kollision, Anhaften usw.) mithilfe der Bullet Physics Library und der Open Dynamics Engine anpassen. Simulationen dynamischer Systeme befinden sich noch im Anfangsstadium und basieren häufig auf Näherungsindikatoren. Um die Ergebnisse zu bestätigen, ist es wichtig, sich nicht nur auf einen physischen Motor zu verlassen.• Kollisionserkennungsmodul: Mit dieser Option können Sie schnell nach Kollisionen zwischen beliebigen Formen oder Formen suchen. Dieses Modul ist völlig unabhängig von der Reaktion der Algorithmen zur Berechnung der Dynamik des Moduls. Datenstrukturen, die auf dem Binärbaum rechteckiger Kästchen basieren, werden zur Beschleunigung verwendet. Zusätzliche Optimierung wird durch Caching-Techniken erreicht.• •Entfernungsberechnungsmodul (Mech-Mech-Modul) : Mit dieser Option können Sie den Berechnungsabstand zwischen einer beliebigen Form (konvex, konkav, offen, geschlossen usw.) oder einer Reihe von Formen schnell minimieren. Das Modul verwendet dieselben Datenstrukturen wie das Kollisionserkennungsmodul.• Bewegungsplanungsmodul : Manuelle Planung holonomer und nichtholonomer Aufgaben unter Verwendung eines Ansatzes, der auf dem RRT- Algorithmus (Rapidly Exploring Random Tree) basiert . Kinematische Pfadplanungsaufgaben werden ebenfalls unterstützt.Aus Gründen der Vielseitigkeit sind die oben genannten Module in allgemeiner Form implementiert. Die Ziele ihrer Integration in V-REP ähneln in gewisser Weise der Integration integrierter Skripte, die im ersten Teil des Artikels beschrieben werden. Die überwiegende Mehrheit der Simulationen oder Simulationsmodelle erfordert keine spezifischen Werkzeuge, ein ausreichender Satz grundlegender Werkzeuge. Wenn die Werkzeuge in den Simulator integriert sind und ihre Aufgaben definiert sind, die sich direkt auf das Simulationsmodell beziehen, wird das Modell extrem leicht portierbar. Das Simulationsmodell wird auf einem anderen Computer oder einer anderen Plattform mit einer Modelldatei gestartet: Das Plugin muss nicht neu kompiliert, installiert oder neu gestartet werden. In ähnlicher Weise sind die Modelle dadurch hoch skalierbar: Durch die Duplizierung des Modells bleibt die Funktionalität erhalten, ohne dass der Quellcode geändert werden muss.Der Vervielfältigungsprozess kann auch während des Simulationsprozesses durchgeführt werden.Der traditionelle Ansatz zur Erweiterung der Funktionalität mit Plugins zur Unterstützung eines bestimmten Simulationsmodells wird auch in V-REP unterstützt.BeispielIn einigen Fällen ist es unmöglich, den Controller getrennt von der simulierten Entität zu verwenden. Dies geschieht in der Regel bei der Arbeit mit der Hauptsteuerung des Roboters, die sehr komplexe Elemente enthält. Oder wenn der Controller nativ ausgeführt werden soll. Aber ist es wirklich notwendig, für jeden kleinen Sensor, jede neue Zusatzfunktion oder jede kleine Funktion ein eigenes Plugin zu erstellen? Die folgenden drei Beispiele veranschaulichen die attraktive Vielseitigkeit und Portabilität der in V-REP angebotenen Simulationsmodelle.1) LaserscannermodellAbbildung 4 zeigt ein Modell eines Laserscanners in V-REP. Das Modell besteht aus einem Gehäuse oder Gehäuse, einem Scharnier und einem im Scharnier installierten Näherungssensor.Das unterbrechende untergeordnete Skript ist am Sensorkörper angebracht und ist dafür verantwortlich, das Gelenk in einen bestimmten Winkel zu bewegen, den Näherungssensor zu lesen, primitive Linien in der Modellierungsszene (und den Kontaktpunkten) zu erzeugen und dann zur nächsten Winkelposition zu gelangen. Da das untergeordnete Skript im Haupt-Thread ausgeführt wird, verarbeitet es genau so viele Winkelpositionen des Gelenks, wie sich dieses Gelenk während der Simulation bewegt hat.Sie können das Modell in die Simulationsszene ziehen und es funktioniert sofort. Das gesamte Modell befindet sich in einer Datei, die auch für die direkte Verwendung auf anderen Plattformen geeignet ist und mit aktuellen und zukünftigen V-REPs kompatibel ist. Ein Modell kann so oft wie nötig dupliziert und sein Steuercode bei Bedarf geändert werden.
Andere Modelle können auf die gleiche Weise erstellt werden, sei es ein Stift zum Malen, eine Maldüse, ein Griff, eine Blot-Erkennungskamera oder ein ganzer Roboter.2) Simulationsmodell des ParallelmanipulatorsAbbildung 5 zeigt ein Modell eines parallelen Manipulators, der im direkten Kinematikmodus von einer externen Anwendung aus gesteuert wird, die über eine Remote-API eine Verbindung herstellt. Um alle Einschränkungen korrekt zu handhaben, arbeitet das Modell über das V-REP-Kinematikmodul. Da alle damit verbundenen kinematischen Probleme an ein Modell gebunden sind, ist dieses Modell autark, leicht zu duplizieren und läuft auf anderen Plattformen. Die physikalische Skalierung des Modells, eine weitere von V-REP unterstützte Funktion, passt automatisch alle kinematischen Aufgaben (unter anderem) an und lässt die interne Kinematik konsistent, ohne dass der Code geändert werden muss.
3) Ein Simulationsmodell einer intelligenten PersonAbbildung 6 zeigt ein menschliches Simulationsmodell, das die Aufgaben der Planung einer Flugbahn zwischen seiner aktuellen Position und der gewünschten Endposition ausführt. Während die Pfadplanungsaufgabe selbst im V-REP-Pfadplanungsmodul ausgeführt wird, ruft ein dem Modell beigefügtes untergeordnetes Skript die Berechnung der Aktionen der Arme und Beine auf, setzt sie in Aktion und bewegt das Modell korrekt entlang des berechneten Pfads. In diesem Fall ist das Modell auch vollständig autonom und vollständig tragbar.
FazitV-REP ist eine vielseitige und skalierbare Modellierungsumgebung. Mit vielen verschiedenen Programmiertechniken für Steuerungen sowie der Möglichkeit, Steuerungen und Funktionen in Simulationsmodelle zu integrieren, wird dies für Programmierer einfacher und die Komplexität der Bereitstellung für Benutzer verringert.Bis heute hat sich V-REP zu einem robusten und weit verbreiteten Roboter- und Steuerungssimulator entwickelt, der im wissenschaftlichen und industriellen Bereich weit verbreitet ist. Es führt eine Vielzahl von Aufgaben aus: von der Überprüfung des Systems über die Optimierung von Algorithmen, die Modellierung komplexer Baugruppenschaltungen in der industriellen Automatisierung bis hin zur Planung von Aufgaben für Roboter und Steuerungen.Artikelautor: marc@coppeliarobotics.comEric Romer, Dozent, Campinas State University, BrasilienSurya Singh, Professor an der Universität von Queensland, AustralienMark Frieze, CEO von Coppelia Robotics, Schweiz.Übersetzung: Ales Khanieva, Robotnopark Navigator Campus, Kasan.Source: https://habr.com/ru/post/de385725/
All Articles