Webots User Guide

previous page go up next page

Foreword

Thanks

1. Installing Webots

2. Getting Started with Webots

3. Sample Webots Applications

4. Tutorial: Modeling and simulating your robot

5. Programming Controllers and Plugins

6. Using the e-puck robot

7. Using the KheperaTM robot

8. Using the IPRTM robots

9. Using the LEGO MindstormsTM robots

10. Using the AiboTM robots

11. Robot Soccer Lab

     

2.1 Introduction to Webots

2.1.1 What is Webots ?

Webots is a professional mobile robot simulation software package. It offers a rapid prototyping environment, that allows the user to create 3D virtual worlds with physics properties such as mass, joints, friction coefficients, etc. The user can add simple passive objects or active objects called mobile robots. These robots can have different locomotion schemes (wheeled robots, legged robots, or flying robots). Moreover, they may be equipped with a number of sensor and actuator devices, such as distance sensors, drive wheels, cameras, servos, touch sensors, grippers, emitters, receivers, etc. Finally, the user can program each robot individually to exhibit the desired behavior. Webots contains a large number of robot models and controller program examples to help users get started.

Webots also contains a number of interfaces to real mobile robots, so that once your simulated robot behaves as expected, you can transfer its control program to a real robot like Khepera, Hemisson, LEGO Mindstorms, Aibo, etc.

2.1.2 What can I do with Webots ?

Webots is well suited for research and educational projects related to mobile robotics. Many mobile robotics projects have relied on Webots for years in the following areas:

  • Mobile robot prototyping (academic research, the automotive industry, aeronautics, the vaccum cleaner industry, the toy industry, hobbyists, etc.)

  • Robot locomotion research (legged, humanoids, quadrupeds robots, etc.)

  • Multi-agent research (swarm intelligence, collaborative mobile robots groups, etc.)

  • Adaptive behavior research (Genetic evolution, neural networks, adaptive learning, AI, etc.).

  • Mobile robotics teaching (robotics lectures, C/C++/Java programming lectures, robotics contest, etc.)

2.1.3 What do I need to know to use Webots ?

Although no special knowledge is needed to simply view the robot simulation demos in Webots, you will need a minimal amount of technical knowledge to be able to develop your own simulations:

  • A basic knowledge of the C, C++ or Java programming language is necessary to program your own robot controllers. However, even if you don't know these languages, you can still program the Hemisson robot using a simple graphical programming language called BotStudio.

  • If you don't want to use existing robot models provided within Webots and would like to create your own robot models, or add special objects in the simulated environments, you will need a basic knowledge of 3D computer graphics and VRML97 3D description language. That will allow you to create 3D models in Webots or import them from 3D modelling software.

2.1.4 What is a world ?

A world in Webots is a 3D virtual environment in which you can create objects and robots. A world is saved in the worlds directory of a Webots project, in a .wbt file which contains a description for every object: its position, orientation, geometry, appearance (like color or brightness), physical properties, type of object, etc. A world is a hierarchical structure where objects can contain other objects (like in VRML97). For example, a robot can contain two wheels, a distance sensor and a servo which itself contains a camera, thus making the camera moveable relative to the robot thanks to the servo. However, a world file does not contain all the information necessary to run a simulation. The controller of each robot is specified in the world file by a reference to an executable binary file, but the world file doesn't contain this executable binary file.

2.1.5 What is a controller ?

A controller is an executable binary file which is used to control a robot described in a world file. Controllers are stored in subdirectories of a Webots project (under the controllers directory). Controllers may be native executables files (for example .exe under Windows) or Java binary files (.class).

previous page go up next page
^ page top ^

  E-mail to webmaster Last updated: Copyright © 2007 Cyberbotics Ltd.