Webots: Unterschied zwischen den Versionen
Zeile 134: | Zeile 134: | ||
<br clear=all> | <br clear=all> | ||
==== Controller Kreieren ==== | ==== Controller Kreieren ==== | ||
Um einen Controller in Webots kreieren zu können , muss man folgende Vorgehensweise vornehmen . Zunächst klickt man auf das Wizard Menü und wählt die Option New Robot Controller aus . Daraufhin gibt Webots eine Anzahl von verschieden Programmiersprachen an und man kann sich die gewünschte aussuchen . Infolgedessen lässt sich der Controller benennen . Damit man später den Alphabot mit dem Controller verbinden kann , muss man im Scene Tree auf die Alphabot Node klicken , dann die Option Controller auswählen , dann auf Select und folglich auf die Datei , die man vorher benannt hat . | Um einen Controller in Webots kreieren zu können , muss man folgende Vorgehensweise vornehmen . Zunächst klickt man auf das Wizard Menü und wählt die Option New Robot Controller aus . Daraufhin gibt Webots eine Anzahl von verschieden Programmiersprachen an und man kann sich die gewünschte aussuchen . Infolgedessen lässt sich der Controller benennen . Damit man später den Alphabot mit dem Controller verbinden kann , muss man im Scene Tree auf die Alphabot Node klicken , dann die Option Controller auswählen , dann auf Select und folglich auf die Datei , die man vorher benannt hat . Damit der ganze Prozess abgeschlossen ist , muss man noch die World speichern . | ||
Version vom 21. Februar 2022, 12:24 Uhr
Autoren: Armel Talovic
Betreuer: Prof. Göbel
Art: Praxissemester
Projektlaufzeit: 02.11.2021-20.02.2022
Einleitung
Dieser Artikel dient zur Einarbeitung und Erklärung rund um das Programm Webots. Webots ist ein Simulationsprogramm, welches dem Benutzer ermöglicht eine virtuelle 3D-Welt zu erstellen. In Webots lassen sich sehr viele physikalische Eigenschaften , die es in der Realität gibt verwenden wie zum Beispiel Masse, Dämpfung und Dichte usw. In Webots kann man Wände beziehungsweise Hindernisse erstellen , diese werden als passive Objekte in der Software bezeichnet. Wiederum gibt es aktive Objekte wie den sogenannten mobilen Roboter , der unterschiedlichen Fortbewegungsmöglichkeiten besitzt.(Roboter mit Rädern , mit Beinen etc. ).Ebenfalls lassen sich die mobilen Roboter mit Sensoren und Aktoren ausstatten . Webots bietet sich besonders im Bereich der mobilen Robotik für Forschungs-und Bildungsprojekte optimal an . Einige Projekte setzen seit Jahren auf Webots z.B. im Bereich Prototyping von mobilen Robotern (Automobilindustrie , Luft- und Raumfahrt).
Übersicht
Dokumentation
https://wiki.hshl.de/wiki/index.php/Modellsimulation_in_Webots_und_Simulationen_mit_ROS2
Demo
Software
Weiterführende Links
Installation von Webots
Unter folgendem Link lässt sich das Programm downloaden :[1]
Nachdem man die Datei heruntergeladen hat , kann man sie an einem beliebigen Ort verlegen . Durch einen Doppelklick auf die Datei , lässt sich Webots schließlich installieren.
World
Eine World in Webots beinhaltet eine Beschreibung jedes Objekts : Aussehen , Position , Art des Objekts usw. Worlds sind gegliedert aufgebaut , das bedeutet das Objekte andere Objekte enthalten können z.B kann ein Roboter aus 4 Rädern , ein Bewegungssensor und ein Gelenk enthalten , das wiederum eine Kamera enthält
Controller
Ein Controller ist ein Programm , welches den Roboter steuert . Folgende Programmiersprachen können in Webots verwendet werden :
- C ,
- C++ ,
- Java ,
- Python oder
- MATLAB.
Die Quell- und Binärdateien eines jeden Controllers werden zusammen in einem Controller-Verzeichnis gespeichert. Das Controller-Verzeichnis findet man im Unterverzeichnis " Controllers " .
Supervisor Controller
Der Supervisor Controller kann in jeder der vorher erwähnten Programmiersprachen geschrieben werden . Im Unterschied zu einer normalen Robotersteuerung hat der Supervisor Controller die Möglichkeit auf besondere Operationen zurückzugreifen , die sonst nur von einem menschlichen Bediener und nicht von einem echten Roboter durchgeführt werden können. Dazu gehört z.B. die Steuerung der Simulation . In der kann man den Roboter in eine gewünschte Position bewegen oder eine Videoaufzeichnung des Prozesses machen .
Webots Hauptmenü
Das Hauptmenü von Webots besteht aus vier Hauptfenstern :
1. Das 3D-Fenster , welches die Simulation anzeigt
2. Das Scene Tree , welches eine hierarchische Darstellung der aktuellen Welt ist
3. Der Texteditor , mit dem man den Quellcode bearbeiten kann
4. Die Konsole , die die Steuerungsausgabe anzeigt während der Simulation
Ebenfalls befinden sich im GUI neun Menüs : File , Edit , View , Simulation , Build , Overlays , Tools , Wizards und Help.
Menü 1: Mit dem File Menü lassen sich die üblichen Optionen durchführen : Laden , Speichern und eine neue Welt erstellen .
Menü 2: Das Menü Edit bietet die Funktionen Kopieren , Ausschneiden , Einfügen usw. an
Menü 3: Durch das View Menü lassen sich unterschiedliche Perspektiven einstellen wie etwa die Vorderansicht des Objektes , Draufsicht etc.
Menü 4: Im Simulationsmenü lässt sich das Geschehen simulieren und bei Bedarf auch pausieren .
Menü 5: Im Menü Build lässt sich der Controller-Code zu erzeugen .
Menü 6: Im Menü Overlays gibt es eine Darstellung der Elemente Kamera , Display und Entfernungsmesser . In jeder dieser Elemente gibt es eine Liste , welche anzeigt welche Geräte aktiv sind und welche nicht .
Menü 7: Im Menü Tools lassen sich verschiede Webots-Fenster öffnen unter anderem eine Interaktion mit der 3D-Simulation . Ebenso lässt sich die virtuelle Welt im Scene Tree bearbeiten .
Menü 8: Der zuvor erwähnte Controller lässt sich schließlich im Wizards Menü erstellen .
Anleitung
Um sich in Webots zurecht zu finden helfen folgende Tutorials.[2]
Erste eigene Welt erstellen, einen e-puck Roboter hinzufügen und einen Controller kreieren.
Ein neues Projekt erstellen
➜ Das Wizard Menü anklicken , New Project Directory auswählen und daraufhin alle verfügbaren Kästchen auswählen .
Die Maße der Arena ändern
➜ Mit einem Doppelklick auf die Node RectangleArena und in den Unterpunkten floorTileSize und wallHeight lassen sich die x , y , z Koordinaten ändern .(Siehe Abbildungen 5 und 6)
Koordinatensystem
Das Koordinatensystem in Webots ist fest und lässt sich nicht ändern . Dabei stellt der rote Pfeil die x-Achse dar und der grüne Pfeil die z-Achse . Der blaue Pfeil gibt die y-Achse an .
Beliebige Objekte in die Arena einfügen
➜ Den Add Button auswählen , daraufhin die Option PROTO nodes ( Webots Projects ) anklicken und zum Schluss die Auswahl Objects bedienen . (Siehe Abbildugen 7-10)
Maße der Objekte ändern
Ebenfalls lassen sich zu jedem beliebigen hinzugefügten Objekt die jeweiligen Maße ändern . Nachdem man das Objekt hinzugefügt hat , tritt im Scene Tree eine neue Node auf . Mit einem Klick auf die neue Node , lassen sich dann die Maße ändern
Controller Kreieren
Um einen Controller in Webots kreieren zu können , muss man folgende Vorgehensweise vornehmen . Zunächst klickt man auf das Wizard Menü und wählt die Option New Robot Controller aus . Daraufhin gibt Webots eine Anzahl von verschieden Programmiersprachen an und man kann sich die gewünschte aussuchen . Infolgedessen lässt sich der Controller benennen . Damit man später den Alphabot mit dem Controller verbinden kann , muss man im Scene Tree auf die Alphabot Node klicken , dann die Option Controller auswählen , dann auf Select und folglich auf die Datei , die man vorher benannt hat . Damit der ganze Prozess abgeschlossen ist , muss man noch die World speichern .
Weiterführende Links
→ zurück zum Hauptartikel: Praxissemester Projektteam WS2021