Webots

Webots és un software de còdic obert per a simular robots mòvils àmpliament usat en fins educatius. El proyecte Webots va ser iniciat en 1996 pel Dr. Oliver Michel en l'institut federal Suís de Tecnologia EPFL en Lausanne. Una de les seues principals ventages és que permet a l'usuari interactuar en el model durant la simulació.
Webots fa us de ODE (Open Dynamics Engine) per a la detecció de colisions i simulació dinàmica del cos rígit. La biblioteca ODE permet simular la física dels objectes.
El programa Webots permet construir robots a través de la definició geomètrica i dinàmica de les parts que ho componen. Igualment permet especificar colors i textures per a una millor visualisació.
Igualment inclou una cantitat de sensors i actuadors d'us freqüent en robòtica, en els seus respectius models dinàmics.
El control del robot pot ser escrit en C++, Java, Python, Matlab i ROS.
Webots oferix la possibilitat de prendre 'screen shots' en format PNG o JPEG i gravar simulacions en format MP4 (macOS/Linux) o AVI (Windows). Webots guarda els models en un archius .wbt, els quals estan basat en el llenguage VRML. És possible exportar els models de .wbt a VRML o X3D de la mateixa manera que objectes.

Eixemple de controlador per a Webots
[editar | editar còdic]#include <webots/robot.h>
#include <webots/differential_wheels.h>
#include <webots/distance_sensor.h>
#definix TIME_STEP 64
int main() {
// initialize Webots
wb_robot_init();
// get handle and enable distance sensor
WbDeviceTag ds = wb_robot_get_device("ds");
wb_distance_sensor_enable(ds, TIME_STEP);
// control loop
while (1) {
// read sensors
double v = wb_distance_sensor_get_value(ds);
// if obstacle detected
if (v > 512) {
// turn around
wb_differential_wheels_set_speed(-600, 600);
}
else {
// go straight
wb_differential_wheels_set_speed(600, 600);
}
// run a simulation step
wb_robot_step(TIME_STEP);
}
return 0;
}
- Este artícul conté una traducció derivada de «Webots» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.