Flash Example
tracking_sample.zip contains an example Flash movie (both Flash MX and Flash MX 2004) implementing the redhell tracking facility.
- trackingGridExample.fla (Flash MX2004) and trackingGridExampleMX.fla (Flash MX) are the flash applications using tracking.
This example provides a good starting point to add your designated functionality. In the actionscript file spacebox_logic_tracking.as the function processTrackingInfo() has to be adapted to your desired needs. It iterates through all nine areas and informs whether a person stands in an area or not. In this iteration the parameter area.id stores the particular area ID, the parameter area.taken indicates whether this area is taken area.taken = 1 or not area.taken = 0.
- simulationButton can be used to simulate the broadcast of tracking messages whenever the real tracking service is not available. This simulation button sends a message to the server and the server broadcast this message to all listening clients. That means one has to be online in order to be able to see any results. The spacebox_logic_tracking.as provides the method isAreaTaken(areaID); that returns true if the area is taken or false if not. To use this information one can do something like that:
var isArea1Taken = isAreaTaken(1);
trace("is area1 taken: "+isArea1Taken);
if (isArea1Taken) {
trace("ok");
//....
}
Tracking Process
The process of tracking persons in the red hell is described in more detail in the redHellTracking.pdf file.
The labview image processing process:
Tracking Messages
The area around the projector in the red hell is defined as a grid composed of nine elements:
The XML messages the managing platform is sending to all listening clients have the following structure and content:
<spacebox>
<trackingSimple>
<bodycount>2</bodycount>
<area><id>1</id><taken>0</taken></area>
<area><id>2</id><taken>0</taken></area>
<area><id>3</id><taken>1</taken></area>
<area><id>4</id><taken>0</taken></area>
<area><id>5</id><taken>0</taken></area>
<area><id>6</id><taken>0</taken></area>
<area><id>7</id><taken>0</taken></area>
<area><id>8</id><taken>1</taken></area>
<area><id>9</id><taken>0</taken></area>
</trackingSimple>
</spacebox>
This message example tells the clients that currently two persons are within the tracking area and that grid number 3 and number 8 are occupied.
Important to know
The tracking system is not running and available at any time. So if you need the tracking feature don't hesitate and send a mail to Mathias Ochsendorf.
System Setup
Hardware:
- Firewire Camera Basler
- Basler A301 - Firewire IEEE 1394 Camera
- Output: 640x480 15 fps
Software:
- Labview
- Camera Output Processing
- Image Comparison
- Redhell Service Management Platform based on OSGi
- Broadcast Tracking Information to all listening clients
|