Autonomous Creatures in VRML
Philippe.Codognet@lip6.fr
In order to design autonomous, life-like creatures that can autonomously
navigate in the 3D world, we propose some simple behaviors derived from
biologically-inspired models of navigation. . There is currently a growing
interest for such models both in the Artificial Life and the robotics community,
and such models could obviously applied to virtual agents as well. The
creatures will have to react to a changing environment and to avoid collision
with moving obstacles. We will here only consider an agent with a very
limited intelligence building no cognitive map but using only the taxon
system for route navigation. In our experiments, the creature will thus
trace a simple route towards a goal by avoiding obstacles. Therefore the
basic constraint here is Non-Collision, that is, enforcing some minimal
distance w.r.t. obstacles. But we have nevertheless consider some non-trivial
navigation, as the creature does not know in advance the location of the
goal but rather has a to explore the environment towards it; guided
by a stimulus (e.g. light or smell) towards the goal (e.g. food).
We have investigated in particular exploration guided by a stimulus using
either temporal difference or spatial difference methods.
We thus need high-level language for describing behaviors of reactive
autonomous creatures in 3D virtual worlds. We have designed VRCC,
a concurrent programming language connected to the VRML (Virtual Reality
Modeling Language) environment, based on the Timed Concurrent Constraint
framework of V. Saraswat et al.
Exemples and demos
Simple obstacle avoidance is implemented naturally, and an exemple of
a goal reaching behavior can be experienced in the following VRML (+javascript)
file, where the creature will reach the goal by simply going straight ahead
but making detours to avoid wall obstacles if any. In this example, the
creature is always informed of the location of the goal (as if it sees
it).
|
Obstacle Avoidance
-
Click on the image on the left to load the VRML
file
-
When the VRML file is loaded, Click on the Bunny and it will try to reach
the psychedelic ball ...
-
you can move the ball at any time, and the creature will react accordingly
|
Temporal differences consists in considering a single sensor (e.g. the
nose) and checking at every time-point the intensity of the stimulus. If
the stimulus is increasing, then the agent continues in the same direction,
otherwise the direction is changed randomly and so on so forth. This behavior
is exemplified for instance by the chemotaxis (reaction to a chemical stimulus)
of the Caenorabditis Elegans, a small soil nemapode.
|
Exploration by smell
using temporal differences
-
Click on the image on the left to load the VRML
file
-
When the VRML file is loaded, Click on the Bunny and it will try to reach
the cake ...
-
you can move the cake at any time, and the creature will react accordingly
|
A more efficient strategy is possible by using the spatial differences
method. It requires to have two identical sensing organs, placed at different
slightly positions on the agent (e.g. the two ears). The basic idea is
simply to favorize, at any time-point, motion in the direction of the sensor
that receive the most important stimulus This behavior gives very good
results, and the creature goes most of the time directly towards the goal.
When the goal is moved away by the user, the agent reacts instantly towards
the new location.
|
Exploration by smell
using spatial differences
-
Click on the image on the left to load the VRML
file
-
When the VRML file is loaded, Click on the Bunny and it will try to reach
the cake ...
-
you can move the cake at any time, and the creature will react accordingly
|
Enjoy ... !!