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, VisCamera > | cameras = new HashMap<String, VisCamera>() |
Classes | |
class | Item |
interface | Sensor |
class | VisCamera |
class | VisSonar |
class | VisSonarDummy |
class | VisTrack |
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 VisUeberwach.java.
org.hfbk.vis.visnode.VisUeberwach.VisUeberwach | ( | Node | node, | |
Vector3f | position | |||
) |
Definition at line 205 of file VisUeberwach.java.
References org.hfbk.vis.visnode.VisNode.node, and org.hfbk.vis.visnode.VisNode.radius.
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 VisUeberwach.java.
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 VisUeberwach.java.
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 VisUeberwach.java.
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 VisUeberwach.java.
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 VisUeberwach.java.
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 VisUeberwach.java.
void org.hfbk.vis.visnode.VisUeberwach.addPortrait | ( | String | path, | |
String | ip | |||
) |
attach a portrait image to the portrait camera's nearest track
path |
Definition at line 488 of file VisUeberwach.java.
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:
final float org.hfbk.vis.visnode.VisUeberwach.DVARIANCE_DT = 10f [package] |
rise of item spatial uncertainity in time
Definition at line 61 of file VisUeberwach.java.
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 VisUeberwach.java.
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 VisUeberwach.java.
Referenced by org.hfbk.vis.visnode.VisUeberwach.VisTrack.renderSelf().
int org.hfbk.vis.visnode.VisUeberwach.maxTrackId = 0 [package] |
Definition at line 202 of file VisUeberwach.java.
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 VisUeberwach.java.
Referenced by org.hfbk.vis.visnode.VisUeberwach.parseMsg().
final float org.hfbk.vis.visnode.VisUeberwach.DSCALE = .01f [package] |
Definition at line 454 of file VisUeberwach.java.
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 VisUeberwach.java.
Referenced by org.hfbk.vis.visnode.VisUeberwach.addPortrait(), and org.hfbk.vis.visnode.VisUeberwach.VisCamera.VisCamera().