The WorldServer3D Application Example

In this application, CST is used to build the mind of a robot living in a Virtual Environment were apples grow from time to time. This is the simplest application example, just to teach a firstcomer how to create a simple cognitive architecture using CST. The architecture finds the closest apple, move towards it and finally eats the apple, going for the next apple. After the creature eats all known apples, it starts searching for more apples.

 

The WorldServer3D example relies on the WorldServer3D Virtual World (WS3D), developed by the CST Group. You might get a copy of WS3D as a Zip File or grab the source code from GitHub. The WS3D is a virtual world, where you might design a virtual environment and populate this environment with Robots and blocks. In the VE, you might create two kinds of food (apples and nuts). Apples are perishable foods: they got rotten after some time. Nuts are non-perishable foods. Besides that, you might also distribute crystals of different colors, which can be picked up by the Robot, and traded by points, according to different leaflets which can be made available for the Robots. The virtual environment allows for the design of different world configurations, and simulate the VE dynamics in real time.  The Robot's control can be made by means of a Socket interface, where a simple protocol is used to collect the Robots sensors and send commands to the Robot's actuators. There is also available a WS3DProxy java library, which can be used instead, providing the same functionality as the Socket interface, but by means of a Java library, which might be convenient in some situations.

In our example, we will be developing WS3DApp, a mind for the WS3D Robot using CST and WS3DProxy. The source code of WS3DApp and WS3DProxy can be found in GitHub.

Download the code:

  • CST Source Code - The Cognitive Systems Toolkit: (github), (zip)
  • WS3DApp Source Code - A CST Demo Application Controlling a creature in WS3D: (github), (zip)
  • WS3DProxy Source Code - A Java Proxy for sensing and controlling a WS3D simulation: (github), (zip)
  • WS3D Source Code - The WorldServer3D Virtual Environment: (github), (zip)