Architecture
This page describes the architecture of the SensorRAUM project. You will get an insight on some of the development decisions and an overview of the development process to create a virtual world which is driven by sensor data collected using sensor nodes.
Building a virtual environment
The first steps of the SensorRAUM projects were to analyse possible candidats for a 3-D visualization platform. You could use pure rendering or game engines (e.g. Ogre, Crystal Space or Irrlicht)
and implement the needed functionality to visualize and interact with sensor nodes. As these engines are often very complex, have no predefined interaction schemes and do not support easy object manipulation by users which would lead to a rather static framework we decided not use them. But in order to built a framework for an user-friendly an intuitive user interface for wireless sensor networks which supports state-of-the-art visualization a powerful render engine is needed but should be hidden from the users (and developers). This lead to the analysis of 3D virtual environments.
Immersive 3D virtual spaces (metaverses) are 3D environments where users interact with each other. A well know example is SecondLife. In SecondLife users can explore, meet with other users, socialize, take part in individual and group activities, create and trade items (virtual property). The user interface SecondLife is somehow user-friendly and it is easy to create objects and add autonomous behavior to these by using a scripting language (Linden Scripting Language). But SecondLife has specific economical, technical and conceptual disadvantages for the planned implementation within industrial business processes. The reasons we didn't use SecondLife were the monthly fee, land owning costs, limited communication protocols (limit on how many requests per owner and sim) and the main reason that you can't use SecondLife offline. But there is an alternative which doesn't have these limitations and is open source: Open Croquet
 |
Croquet is an open source software development environment for creating and deploying deeply collaborative multi-user online applications on multiple operating systems and devices. Derived from Squeak, it features a peer-based network architecture that supports communication, collaboration, resource sharing, and synchronous computation between multiple users on multiple devices. Using Croquet, software developers can create and link powerful and highly collaborative cross-platform multi-user 2D and 3D applications and simulations - making possible the distributed deployment of very large scale, richly featured and interlinked virtual environments. Read more on Croquet capabilities
|
Development process
The following figure details the development process with Croquet. To create an virtual image of an object you need to analyse real world objects and transfer their appearance in the 3D world. You can do this within the Croquet environment using Squeak (implementation of the powerful Smalltalk programming language) or using the (basic) built-in editor. A more powerful alternative is to build a 3D model using a 3D graphics application (e.g. 3ds Max or Blender) and import the model in Croquet. There are various types of 3D content files supported yet. After creating an 3D copy of the objects or an entire world you can easily embed the model in the 3D environment. From this point on you are working directly in the 3D environment and can define object preferences and interaction patterns.
The goal of the SensorRAUM project is to have a virtual environment for a better sensory perception in industrial business processes. To project the state of real world objects into the virtual world you need to gather real-world data from assets and business processes using sensor nodes which are embedded in the real word collecting data. We used mPart sensor nodes from Particle Computer in our demonstrator. MParts support temperature, light, infrared, vibration, proximity, 3-axis acceleration, air pressure, microphone, PIR motion detection, infrared based location sensors. If you embed sensor nodes into everyday objects you will gain a lot of sensory information. In order to visualize the information you need to analyse and process the data and derive important contexts from the information. The mGate from Particle Computer collects all the sensor data and delivers them to the Croquet environment where they are interpreted and visualized accordingly.
For examples see the development section.