Webots: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
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 .  





Version vom 21. Februar 2022, 11:22 Uhr

Autoren: Armel Talovic
Betreuer: Prof. Göbel
Art: Praxissemester
Projektlaufzeit: 02.11.2021-20.02.2022

Abb.1: Webots


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ü

Abb.2: Webots Menü




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 .

Abb.3: Webots Menü

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)


Abb:5:Maße ändern der Arena
Abb:6:Maße ändern der Arena


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 .
Abb:6:Koordinatensystem


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)


Abb.7:Objekte einfügen Schritt 1
Abb.8:Objekte einfügen Schritt 2
Abb.9:Objekte einfügen Schritt 3
Abb.10:Auswahl an verschieden Möglichkeiten an Objekten


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 
Abb.4 Ergebnis aus dem ersten Tutorial


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 .




Abb.4 Ergebnis aus dem ersten Tutorial


Weiterführende Links


→ zurück zum Hauptartikel: Praxissemester Projektteam WS2021