[IGSTK-Developers] calibration (followup to David and James's discussion)
David Gobbi
dgobbi at atamai.com
Thu Dec 1 16:21:28 EST 2005
Ziv Yaniv wrote:
> David Gobbi wrote:
> ...
>
>> The easiest way to do this, though I know James doesn't like it, is
>> to have a SetToolOrientation() method in the ToolTipCalibration. The
>> tip calibration won't use this information to compute the tip
>> position, but it will include this orientation in the transform that
>> it produces. That would be sufficient for providing an accurate tip
>> location and nominal orientation for the pointer.
>>
>> - David
>>
> This seems a reasonable approach, although it is ugly (giving a
> parameter to a method so that it only passes it on).
> Which brings me to the following scenario for getting the tool
> orientation based solely on pivot calibration.
> As we all know pivot calibration computes two translations
> simultaneously, the translation from the tool's tracking device origin
> to the tip and the transformation from the tracking systems
> origin to the location of the tool tip.
> To get an approximate orientation for our tool do the following:
> 1. pivot calibrate at location one.
> 2. pivot calibrate at location two.
> 3. place the tool so that its axis connects location one and
> two, subtract the two points the resulting vector is the
> direction of the tool axis in the tracking system coordinate
> system.
> Assumption: During this process the relationship between the
> tracking system and points one and two remains fixed.
>
> a. This is crude and ugly.
> b. I'm not sure if the tool reference frame can be seem for all
> three steps when using optical trackers.
> c. It fits right in with the SetToolOrientation approach.
Yeah, that does invole a lot of unecessary work... As you mentioned
earlier, for general-purpose use of IGSTK an orientation calibration
procedure wouldn't be necessary. We just need some way of saying "this
pointer tool is pointing along the +X axis" or "this pointer tool is
pointing along the -Z axis". So, like I've been saying all along, all
we really need is to take the 3D tip position from the tip calibration,
concatenate that with the pre-defined orientation of the pointer that we
are using, then use the result as the ToolCalibrationTransform.
- David
More information about the IGSTK-Developers
mailing list