ServiceManualTracker

Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

ManualTracker

This service provides PoseData that can be controlled by a GUI. The GUI looks as follows:

Screenshot

All floating point parameters of PoseData can be either typed or set by a slider. The sliders' ranges can be adjusted by setting min and max values.

Position is straightforward, orientation is set as a rotation axis described by a (x, y, z) vector and an angle that can be set using a spinbox. The rotation is then transformed and sent as a standard DWARF unit quaternion.

The Update Rate can be set in Hz in a separate field. The semantics are as follows: rate > 0: the rate PoseData events are sent in Hz rate = 0: do not send any PoseData events rate < 0: send as many PoseData events as possible. This is fun. In addition, you can check the Immediate Update checkbox or the entry Immediate Update in the Control menu to send a PoseData event whenever you change any value in the GUI.

To reset all parameters to the initial values, click the entry Reset in the Control menu.

Needs & Abilities

As can be seen in ManualTracker.xml, the service has a single ability:

To offer ubiquitous services a possibility to recognize the fake PoseData, the ability carries the attribute RealData=false

The ability has two additional attributes, ThingID and ThingType that are initially not set. Once some string is typed into the form, the attributes get set (or changed): The service may then get reconnected to other services with matching needs and predicates.

Interaction with other Services

  • Data is sent to all other services interested in. Upon changing the ThingID and ThingType attributes, the ManualTracker may get reconnected to other services.

More Documentation

How-To

Compile it. Run it.

Installation

The ManualTracker depends heavily on the Qt toolkit (version 3 or higher), but no additional libraries are required. If you have a running DWARF installation, do a make install in the ManualTracker directory. This creates an application called ManualTracker which can be started on the command line.

Testing

Start ManualTracker, start some service that needs PoseData (for example ServicePoseDataReceiver?). Have fun with ServiceDIVE then.

Command Line Parameter

Three parameters can be used to describe an initial position and orientation of the ManualTracker? position, orientationAngle,orientationAxis. It is used like this: ./ManualTracker -Dposition=10,20,30 -DorientationAngle=90.0 -DorientationAxis=1,0,0

Known Bugs and Limitations

  • Right now, it is not possible to store the current state.
  • Due to threading problems, the framerate set in the ManualTracker is somewhat optimistic, usually you will get just 20 instead of 30 Hz. Just set a higher value to overcome this.
(-- ChristianSandor - 24 Jul 2003: This statement is overoptimistic itself smile I never got more than 35 Hz, even if I set the update rate to -1 (as fast as possible!). It would be very nice to have a manual tracke emit Pose with 60 Hz to simulate the ART system!)
  • It is not possible to unset the ThingID and ThingType attributes, you have to restart the service.

History

-- MartinWagner - 01 Jul 2003 -- FabianSturm? - 08 Nov 2004


Edit | Attach | Refresh | Diffs | More | Revision r1.15 - 23 Mar 2005 - 20:18 - NikolasDoerfler

Lehrstuhl für Computer Aided Medical Procedures & Augmented Reality    rss.gif