Webots

Webots
Información general
Tipo de programa Simulación de robots
Desarrollador Cyberbotics
Lanzamiento inicial 1996
Licencia Apache 2
Información técnica
Programado en C++
Versiones
Última versión estable R2023a (29 de noviembre de 2022 (3 años, 6 meses y 10 días))
Enlaces

Webots es un software de código abierto para simular robots móviles ampliamente usado con fines educativos. El proyecto Webots fue iniciado en 1996 por el Dr. Oliver Michel en el instituto federal Suizo de Tecnología EPFL en Lausanne. Una de sus principales ventajas es que permite al usuario interactuar con el modelo durante la simulación.

Webots hace uso de ODE (Open Dynamics Engine) para la detección de colisiones y simulación dinámica del cuerpo rígido. La biblioteca ODE permite simular la física de los objetos.

El programa Webots permite construir robots a través de la definición geométrica y dinámica de las partes que lo componen. Igualmente permite especificar colores y texturas para una mejor visualización.

Igualmente incluye una cantidad de sensores y actuadores de uso frecuente en robótica, con sus respectivos modelos dinámicos.

El control del robot puede ser escrito en C++, Java, Python, Matlab y ROS.

Webots ofrece la posibilidad de tomar 'screen shots' en formato PNG o JPEG y grabar simulaciones en formato MP4 (macOS/Linux) o AVI (Windows). Webots guarda los modelos en un archivos .wbt, los cuales están basado en el lenguaje VRML. Es posible exportar los modelos de .wbt a VRML o X3D al igual que objetos.

Simulación de un robot

Ejemplo de controlador para Webots

#include <webots/robot.h>
#include <webots/differential_wheels.h>
#include <webots/distance_sensor.h>

#define 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;
}

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.