ServicePoseDataAngleInterpreter

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

-- ChrisKulas? - 22 Apr 2003

PoseDataAngleInterpreter

This service receives PoseData, extracts corresponding Euler angles and maps these to InputDataAnalogLimited? values to mimic slider like behavior with e.g. an inertial tracked device.

The user may specify the desired angle to map and which angle range is to be mapped between the slider range 0 and 1.

The service does include auto calibration and can work with any arbitrary angle range even beyond 360 degrees.

Needs & Abilities

As stated in the PoseDataAngleInterpreter.xml file, the service has the following Needs and Abilities.

  • Ability: InputDataAnalogLimited? (SvcProtPushSupplier?)

Interaction with other Services

  • IntersenseTracker? is the main PoseData emitting service to be used in conjunction with this service
  • ManualTracker may be used to generate alternative PoseData events
  • InputDataAnalogLimited? events are e.g. needed by MenuDisplay, thus this service has to be started to control e.g. the PieMenu with a gyroscopic device

More Documentation

How-To

This describes how to set up and run a PoseDataAngleInterpreter.

Installation

No special packages are required. If you have a running DWARF installation, do a make install in the PoseDataAngleInterpreter directory. This creates an application called PoseDataAngleInterpreter which can be started by command line.

Testing

Start a PoseDataAngleInterpreter, start some service that emits accepted PoseData (for example ManualTracker?) and finally start a service which needs InputDataAnalogLimited? (for example MenuDisplay). Populate the menu with starting the DummyListProvider. Highlight items by turning the ManualTracker? dial.

Command Line Parameter

You can use the following command line parameter:

  • -Dangle=<x|y|z>: select the angle which should be extracted and mapped (default: z)
  • -Drange=<int>: angle range which is used by the service (default: 90). Angle 0 always maps to analog 0 whereas the top range value maps to 1 with the values in-between mapped accordingly

Known Bugs and Limitations

Angle y cannot be used due to interpreter limitations. PoseData items have to be configured in such a way to work with angle x or angle z.

History

  • initially written by ChrisKulas? with much appreciated assistance by BernhardZaun?
  • used by ProjectArchie


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

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