Webots: A Software for mobile Robots


In this article we will discuss about software for mobile robots, Webots. Mobile robot is a machine which is capable of doing motion in environment. They are not fixed to one physical location. Webots is mobile Robots simulation software provides us with rapid prototyping environment for modeling, programming and simulating. Webots is a development environment which enables us to design complex robots in a shared environment and makes it possible for users to create 3-D visualization i.e., User can choose the color, shape, mass, texture etc. of the objects by themselves only. We can use as much sensors and actuators and other required devices as much as needed.  Webots has a very wide application in field of Robotics. There is no place which is untouched with its use. It has applications in academic research (e.g. robotic locomotion research) and automobile industry. Designing Robots using Webots is not a rocket science, all we need is a basic knowledge of 3-dimensional computer graphics, basic knowledge of C, C++, JAVA, Python, Matlab or URBI programming.

   

  3-D visualization

These programming is required to build controller. There are several kinds of robots which do not require these languages; they can be designed by graphical programming languages.

A Webots simulation has following features:

  • World file 
  • Controller 
  • Optional physics plug-in as a modifier
World

World defines the properties of our robots and about their environment. It describes about objects position, shape, appearance etc. It has a well-defined structure just to describe the various components of robots, it tells us about the features a robot has. Suppose I have designed a robot which has wheels, color sensors and a DC motor.

Controller

A controller is actually a computer program to control our robot. These controllers are written in languages which I have mentioned above. When a simulation starts, Webots launches the specified controllers, each as a separate process, and it associates the controller processes with the simulated robot, some of the languages which we used need compiler, while some needs interpreter and some like JAVA needs both interpreter and compiler, there is a controller directory which we can find in every Webots projects. The source file and binary files are stored in this controller file. From Windows Start menu, go to the Program Files > Cyberbotics menu and click on the Webots 6.4.2 menu item. When we start Webots from Command prompt. We got following command lines

Synopsis : webots [options] [worldfile]

Option

  • minimize minimize Webots window on startup
  • mode=<mode> choose startup mode (overrides application preferences) argument <mode> must be one of: stop, run or fast
  • help display this help message and exit
  • version display version information and exit

If we want to develop a new controller, we first go to the Wizard menu and then select new robot controller item. Compilation of program can be done by pressing make button in text editor window. Controllers can be synchronous and asynchronous, synchronous controllers are required for robust controllers.
 

Hardware required to run Webots

A latest PC Or a Macintosh computer which must has higher processor clock speed.

Graphics adapter with atleast 128 MB of RAM.

Webots is supported by Linux, Windows (Windows vista, XP, 2000 and 2003), Mac OS 10.4 and 10.5. Window 98 does not support it.

Installation procedure of Webots

Webots has three packages- tarball, RPM, DEB

  1. RPM Package: Log on as root
  2. rpm -uvh webots-6.1.2-1.i386.rpm

If you are using window operating system for example window XP then webots is installed Go to start menu, Control panel and then click on option of Add/Remove programs and then from Webots CD-ROM take webots-6.1.2_setup.exe file, this is the installation file. Double click on this file and then follow the procedure for installation. In Linux, in terminal type Webots, then it will give a list of possible starting points.

Synopsis : webots [options] [worldfile]

Option

  • batch batch mode (no display)
  • mode=MODE start up mode
  • debug debug mode
  • help display message and exit
  • version display version information and exit
World defines the properties of our robots and about their environment. It describes about objects position, shape, appearance etc. It has a well-defined structure just to describe the various components of robots, it tells us about the features a robot has. Suppose I have designed a robot which has wheels, color sensors and a DC motor.

Controller

A controller is actually a computer program to control our robot. These controllers are written in languages which I have mentioned above. When a simulation starts, Webots launches the specified controllers, each as a separate process, and it associates the controller processes with the simulated robot, some of the languages which we used need compiler, while some needs interpreter and some like JAVA needs both interpreter and compiler, there is a controller directory which we can find in every Webots projects. The source file and binary files are stored in this controller file. From Windows Start menu, go to the Program Files > Cyberbotics menu and click on the Webots 6.4.2 menu item. When we start Webots from Command prompt. We got following command lines.

Synopsis : webots [options] [worldfile]

Option

  • minimize minimize Webots window on startup
  • mode=<mode> choose startup mode (overrides application preferences)argument <mode> must be one of: stop, run or fast
  • help display this help message and exit
  • version display version information and exit
If we want to develop a new controller, we first go to the Wizard menu and then select new robot controller item. Compilation of program can be done by pressing make button in text editor window. Controllers can be synchronous and asynchronous, synchronous controllers are required for robust controllers. 

Physics  plugin

Physics plugin offer the possibility to add custom ODE instruction to the default physics behavior of webots. 

Hardware required to run Webots

A latest PC Or a Macintosh computer which must has higher processor clock speed.

Graphics adapter with atleast 128 MB of RAM.

Webots is supported by Linux, Windows (Windows vista, XP, 2000 and 2003), Mac OS 10.4 and 10.5. Window 98 does not support it.

Installation procedure of Webots

Webots has three packages- tarball, RPM, DEB

  1. RPM Package: Log on as root
  2. rpm -uvh webots-6.1.2-1.i386.rpm
If you are using window operating system for example window XP then webots is installed Go to start menu, Control panel and then click on option of Add/Remove programs and then from Webots CD-ROM take webots-6.1.2_setup.exe file, this is the installation file. Double click on this file and then follow the procedure for installation. In Linux, in terminal type Webots, then it will give a list of possible starting points

Synopsis : webots [options] [worldfile]

Option

  • batch batch mode (no display)
  • mode=MODE start up mode
  • debug debug mode
  • help display message and exit
  • version display version information and exit
In windows operating system, Go to start and then Program files, then cyberotics menu and then webot 6.1.2 menu item.

Webots GUI is composed of four principal windows: the 3D window that displays and allows to interact with the 3D simulation, the Scene tree which is a hierarchical representation of the current world, the Text editor that allows to edit source code, and finally, the Console that displays both compilation and controller outputs.

Simulation window, scene tree window, text editor window and console window.

Simulation window is also known as 3-D window, it is for displaying current virtual world.

  

Screen shot from webot simulator

Source code editor It is multi-tab text editor, This source code editor is used to compile C, C++ or JAVA source files into binary files depends whichever language is used, output after compilation is displayed on webot console. Compilation as well it is needed to have appropriate Tools, like for c and c++ 'gcc' compiler is necessary and for java, javac command is necessary.

Conclusion

Webots make designing of robots easier and because of its three-dimensional effect, no doubt interesting as well. We have lots of applications on robotics using webots which is really very interesting to do and plus point is easy to design them.