org.hfbk.vis.visnode.VisUeberwach Class Reference

Inheritance diagram for org.hfbk.vis.visnode.VisUeberwach:

Inheritance graph
Collaboration diagram for org.hfbk.vis.visnode.VisUeberwach:

Collaboration graph
List of all members.

Public Member Functions

 VisUeberwach (Node node, Vector3f position)
VisNode addSonar (Vector3f pos, float heading, float elevation)
VisNode addCamera (Vector3f pos, float heading, float elevation, String ip)
void parseMsg (String[] msg)
void addPortrait (String path, String ip)

Package Functions

void trackOne (Sensor s)
void renderSelf ()

Static Package Functions

static Vector3f lerp (Vector3f a, Vector3f b, float t)

Package Attributes

final float DVARIANCE_DT = 10f
final float NEW_COST = 5f
final float EXIT_VARIANCE = 100
int maxTrackId = 0
final float SCALE = .1f
final float DSCALE = .01f
HashMap< String, VisCameracameras = new HashMap<String, VisCamera>()


class  Item
interface  Sensor
class  VisCamera
class  VisSonar
class  VisSonarDummy
class  VisTrack

Detailed Description

surveillance item tracker.

uses measurements by (maybe different) attached sensors to create a most-likely model of item positions and movement.

the tracker tries to assign sensor events to unique items, whose identity is preserved under motion and temporal dissapearance ("occlusion").

the virtual Sensors are usually baked by real sensors whose data is feed via messages (for example by UDP). any sensor data should be feed to the parseMsg method to get dispatched to the Sensors added as child objects.

different Sensor types have two main characteristics: 1) a function that assigns any history of an item a propability that it matches this sensors measurement. 2) a method to update the current state of an item according to the measurement result.

thus every item is updated by the data from those sensors that most likely collect data on them.

if none of the known items give an explanation for some measurements, a new item is introduced.

if none of the Sensors give an information about an item for a while, the item is dropped, maybe depending on its last state. this accounts for example people inside a room, that are unlikely to dissapear far away the doors.

messages: [scale,sonar<id>, <distance>,<speed>] [scale,sonar1,10,0]


Definition at line 58 of file

Constructor & Destructor Documentation

org.hfbk.vis.visnode.VisUeberwach.VisUeberwach ( Node  node,
Vector3f  position 

Definition at line 205 of file

References org.hfbk.vis.visnode.VisNode.node, and org.hfbk.vis.visnode.VisNode.radius.

Member Function Documentation

static Vector3f org.hfbk.vis.visnode.VisUeberwach.lerp ( Vector3f  a,
Vector3f  b,
float  t 
) [static, package]

simple linear interpolation

Definition at line 211 of file

void org.hfbk.vis.visnode.VisUeberwach.trackOne ( Sensor  s  )  [package]

add information of a Sensor given by id

should be invoked everytime a Sensors value changed significantly.

usually one Track get updated or a new one is created on base of the Sensors measurement data.

Definition at line 229 of file

References org.hfbk.vis.visnode.VisNode.add(), org.hfbk.vis.visnode.VisNode.children, org.hfbk.vis.visnode.VisUeberwach.Sensor.getCost(), org.hfbk.vis.visnode.VisUeberwach.NEW_COST, and org.hfbk.vis.visnode.VisUeberwach.Sensor.update().

Referenced by org.hfbk.vis.visnode.VisUeberwach.VisSonar.receive(), and org.hfbk.vis.visnode.VisUeberwach.VisSonarDummy.renderSelf().

Here is the call graph for this function:

Here is the caller graph for this function:

VisNode org.hfbk.vis.visnode.VisUeberwach.addSonar ( Vector3f  pos,
float  heading,
float  elevation 

Definition at line 406 of file

References org.hfbk.vis.visnode.VisNode.add().

Here is the call graph for this function:

VisNode org.hfbk.vis.visnode.VisUeberwach.addCamera ( Vector3f  pos,
float  heading,
float  elevation,
String  ip 

Definition at line 412 of file

References org.hfbk.vis.visnode.VisNode.add().

Here is the call graph for this function:

void org.hfbk.vis.visnode.VisUeberwach.parseMsg ( String[]  msg  ) 

dispatch an external message to our Sensors.

Definition at line 459 of file

References org.hfbk.vis.visnode.VisNode.children, org.hfbk.vis.visnode.VisUeberwach.DSCALE, and org.hfbk.vis.visnode.VisUeberwach.SCALE.

void org.hfbk.vis.visnode.VisUeberwach.renderSelf (  )  [package, virtual]

visualise tracked items. uncertainity is displayed by growing bubbles loosing opacity. items are color coded to their id's.

Implements org.hfbk.vis.visnode.VisNode.

Definition at line 476 of file

void org.hfbk.vis.visnode.VisUeberwach.addPortrait ( String  path,
String  ip 

attach a portrait image to the portrait camera's nearest track


Definition at line 488 of file

References org.hfbk.vis.visnode.VisNode.add(), org.hfbk.vis.visnode.VisUeberwach.cameras, and org.hfbk.vis.visnode.VisNode.children.

Here is the call graph for this function:

Member Data Documentation

final float org.hfbk.vis.visnode.VisUeberwach.DVARIANCE_DT = 10f [package]

rise of item spatial uncertainity in time

Definition at line 61 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.VisTrack.renderSelf().

final float org.hfbk.vis.visnode.VisUeberwach.NEW_COST = 5f [package]

costs for introduction of a new item. compares to Sensor's getCost() values.

Definition at line 63 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.trackOne().

final float org.hfbk.vis.visnode.VisUeberwach.EXIT_VARIANCE = 100 [package]

global variance for which an item is finally declared lost

Definition at line 65 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.VisTrack.renderSelf().

int org.hfbk.vis.visnode.VisUeberwach.maxTrackId = 0 [package]

Definition at line 202 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.VisTrack.VisTrack().

final float org.hfbk.vis.visnode.VisUeberwach.SCALE = .1f [package]

Definition at line 454 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.parseMsg().

final float org.hfbk.vis.visnode.VisUeberwach.DSCALE = .01f [package]

Definition at line 454 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.parseMsg().

HashMap<String, VisCamera> org.hfbk.vis.visnode.VisUeberwach.cameras = new HashMap<String, VisCamera>() [package]

Definition at line 482 of file

Referenced by org.hfbk.vis.visnode.VisUeberwach.addPortrait(), and org.hfbk.vis.visnode.VisUeberwach.VisCamera.VisCamera().

The documentation for this class was generated from the following file:
Generated on Tue Apr 7 18:00:08 2009 for visclient by  doxygen 1.5.1