Mobility Machine Demo

This sample world is an arena including many simple, idiosyncratic mobility machines.

The world file is mobility.wbt, which can be found within the Webots.zip archive.

../_images/mobility.png

Screenshot of Webots model of various mobility robots. Each robot is independently driven by a Python script.

World File

The world file specifies all the elements of the scene: camera position, background scenery, lighting, fixed objects, and robots. The robots are modeled as separate .proto scripts so the world file is short and fairly readable, since only parameters changed from the defaults are specified.

 1#VRML_SIM R2025a utf8
 2
 3EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto"
 4EXTERNPROTO "../protos/ramp.proto"
 5EXTERNPROTO "../protos/wobbly.proto"
 6EXTERNPROTO "../protos/box-walker.proto"
 7EXTERNPROTO "../protos/shuffler.proto"
 8EXTERNPROTO "../protos/legwheel.proto"
 9EXTERNPROTO "../protos/dekaleg.proto"
10EXTERNPROTO "../protos/bigpill.proto"
11EXTERNPROTO "../protos/legbox.proto"
12
13WorldInfo {
14}
15Viewpoint {
16  orientation -0.14085266490920947 0.25083644860876836 0.9577273113142982 1.0605964079811923
17  position -2.549991413606373 -3.061783946892743 1.3999802617650647
18  follow "DekaLeg1"
19  followType "None"
20}
21Background {
22  skyColor [
23    0.1 0.1 0.1
24  ]
25}
26DirectionalLight {
27  direction 0.4 -0.5 -1
28  intensity 3
29  castShadows TRUE
30}
31RectangleArena {
32  floorSize 6 6
33  floorTileSize 1 1
34  wallHeight 0.3
35}
36ramp {
37  translation 1 0 0
38  width 2
39}
40wobbly {
41  translation -1.45 0.5 0
42  controller "wobbly_thd"
43  name "Wobbly 1"
44}
45box-walker {
46  translation -2 0 0.07
47  name "Box-Walker 1"
48}
49shuffler {
50  translation -1.5 -0.63 0.075
51  name "Shuffler 1"
52}
53legwheel {
54  translation -1.14 -0.97 0.15
55  name "LegWheel 1"
56}
57dekaleg {
58  name "DekaLeg1"
59}
60bigpill {
61  translation -1.03 0.2 0.1
62  name "BigPill1"
63}
64legbox {
65  translation -0.86 0.96 0.25
66  name "Legbox 1"
67}