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 ... !!