![]() | |
Entwickler | Cyberbotics Ltd. |
---|---|
Stabile Version | Webots R2021a / 15. Dezember 2020 |
Repository | GitHub |
Betriebssystem | Windows 10, Linux 64 Bit, Mac OS X 10.14, 10.13 |
Art | Robotik-Simulator |
Lizenz | Apache 2 |
Webseite | Cyberbotics-Webseite |
Webots ist ein kostenloser und Open-Source-3D- Robotersimulator, der in Industrie, Bildung und Forschung eingesetzt wird.
Das Webots-Projekt wurde 1996 gestartet und zunächst von Dr. Olivier Michel an der Eidgenössischen Technischen Hochschule ( EPFL ) in Lausanne ( Schweiz) und ab 1998 von Cyberbotics Ltd. als proprietäre lizenzierte Software entwickelt.Seit Dezember 2018 wird es unter der kostenlosen und Open-Source- Lizenz Apache 2 veröffentlicht.
Webots enthält eine große Sammlung frei modifizierbarer Modelle von Robotern, Sensoren, Aktoren und Objekten.Darüber hinaus ist es auch möglich, neue Modelle von Grund auf neu zu erstellen oder aus der 3D-CAD-Software zu importieren.Beim Entwerfen eines Robotermodells gibt der Benutzer sowohl die grafischen als auch die physikalischen Eigenschaften der Objekte an.Die grafischen Eigenschaften umfassen Form, Abmessungen, Position und Ausrichtung, Farben und Textur des Objekts.Die physikalischen Eigenschaften umfassen die Masse, den Reibungsfaktor sowie die Feder- und Dämpfungskonstanten. In der Software ist eine einfache Fluiddynamik vorhanden.
Webots verwendet eine Gabelung der ODE ( Open Dynamics Engine ) zur Erkennung von Kollisionen und zur Simulation der Starrkörperdynamik.Mit der ODE-Bibliothek können physikalische Eigenschaften von Objekten wie Geschwindigkeit, Trägheit und Reibung genau simuliert werden.
Webots umfasst eine Reihe von Sensoren und Aktoren, die häufig in Roboterexperimenten verwendet werden, z. B. Lidars, Radare, Näherungssensoren, Lichtsensoren, Berührungssensoren, GPS, Beschleunigungsmesser, Kameras, Sender und Empfänger, Servomotoren (rotierend und linear), Positions- und Kraftsensoren, LEDs, Greifer, Gyros, Kompass, IMU usw.
Die Robotersteuerungsprogramme könnenmithilfe einer einfachen APIaußerhalb von Webots in C, C ++, Python, ROS, Java und MATLAB geschrieben werden.
Webots bietet die Möglichkeit, Screenshots zu machen und Simulationen aufzuzeichnen.Webots-Welten werden in plattformübergreifenden *.wbt-Dateien gespeichert, deren Format auf der VRML- Sprachebasiert.Man kann auch Webots-Welten und -Objekte im VRML-Format importieren und exportieren.Benutzer können mit einer laufenden Simulation interagieren, indem sie Roboter und andere Objekte mit der Maus bewegen.Webots können mithilfe von WebGL auch eine Simulation in Webbrowsern streamen.
Seit dem 18. August 2017 bietet die Website robotbenchmark.net über die Webots-Weboberfläche freien Zugang zu einer Reihe von Robotik-Benchmarks, die auf Webots-Simulationen basieren.Webots-Instanzen werden in der Cloud ausgeführt und die 3D-Ansichten werden im Benutzerbrowser angezeigt.Über diese Weboberfläche können Benutzer Roboter in Python programmieren und Schritt für Schritt die Robotersteuerung erlernen.
Dies ist ein einfaches Beispiel für die Programmierung von C / C ++ - Controllern mit Webots: ein triviales Verhalten zur Vermeidung von Kollisionen.Zunächst läuft der Roboter vorwärts. Wenn ein Hindernis erkannt wird, dreht er sich eine Weile um sich selbst und nimmt dann die Vorwärtsbewegung wieder auf.
#include lt;webots/robot.hgt;#include lt;webots/differential_wheels.hgt;#include lt;webots/distance_sensor.hgt;#define TIME_STEP 64int main() {// initialize Webotswb_robot_init();// get handle and enable distance sensorWbDeviceTag ds = wb_robot_get_device("ds");wb_distance_sensor_enable(ds, TIME_STEP);// control loopwhile (1) {// read sensorsdouble v = wb_distance_sensor_get_value(ds);// if obstacle detectedif (v gt; 512) {// turn aroundwb_differential_wheels_set_speed(-600, 600);}else {// go straightwb_differential_wheels_set_speed(600, 600);}// run a simulation stepwb_robot_step(TIME_STEP);}return 0;}
Eine vollständige und aktuelle Liste finden Sie im Webots-Benutzerhandbuch.
![]() | Wikimedia Commons hat Medien zu Webots. |