visual3d:documentation:pipeline:signal_commands:computing_custom_digitizing_pointer_configuration
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
visual3d:documentation:pipeline:signal_commands:computing_custom_digitizing_pointer_configuration [2024/07/17 15:42] – removed sgranger | visual3d:documentation:pipeline:signal_commands:computing_custom_digitizing_pointer_configuration [2024/07/17 15:46] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Computing Custom Digitizing Pointer Configuration ====== | ||
+ | |||
+ | Users can construct their own digitizing pointer. The following steps demonstrate how to compute the location of the pointer tip relative to the markers attached to the rod. | ||
+ | |||
+ | This is especially useful for users that want to construct a pointer using an electromagnetic or inertial sensor, because it isn't obvious how to measure physically the location of the tip from the electromagnetic sensor housing. | ||
+ | |||
+ | The following file was collected by streaming data from a Polhemus Liberty system into Visual3D. | ||
+ | |||
+ | https:// | ||
+ | |||
+ | === Step1. Open the file in Visual3D === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Note that Visual3D displays the 6 degree of freedom information from the Liberty sensor as 3 TARGETS. This file contains two Liberty sensors, which translates to 6 targets (3 for each sensor). | ||
+ | |||
+ | Sensor 1 is attached to a pointer, so the movement of the pointer is defined by markers S1_1, S1_2, S1_3. | ||
+ | |||
+ | In this file the pointer tip has been placed on the ground, and keeping the tip in contact with the ground, the pointer is rotated about that point. | ||
+ | |||
+ | The location of the tip is a stationary point, which means that we can compute its location as a functional joint. | ||
+ | |||
+ | === Step 2. Create a hybrid model using the same movement trial === | ||
+ | |||
+ | A dialog will appear indicating that the file is already open in the workspace. Select the option to add a suffix to the filename. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Another dialog will appear stating that the markers are not stationary. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Remember that we have loaded a movement trial, so in order for the average location of the markers to have any meaning, we must select only 1 frame of this trial. | ||
+ | |||
+ | === Step 3. Assign the movement trial to the model file === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | === Step 4. Assign the frames for the static trial === | ||
+ | |||
+ | under the model menu select the option to " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | A warning will appear saying that the model has no Mass and default value of 1 will be used. This default value is fine because we are not computing kinetics from this data. | ||
+ | |||
+ | === Step 5. Create a functional joint definition for the tip (F_TIP) === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Note that there isn't a default definition for this landmark, so you should type F_TIP into the combo box as shown. | ||
+ | |||
+ | Select the Create button. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Enter the information above. The landmark will be created relative to the 3 targets (eg. liberty sensor 1) and the movement will be computed relative to the LAB. | ||
+ | |||
+ | === Step 6. Compute the functional joint === | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Select the Model Builder PostProcessing item on the Toolbar. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Switch to the Functional Joints tab and select the button "add motion files from Workspace" | ||
+ | |||
+ | Select the motion file. At this point you should be able to animate the motion file. | ||
+ | |||
+ | Specify the range of frames to be used for the functional joint calculation by selecting the buttons "Set START Event to Current Frame" and "Set END Event to Current Frame" | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Select " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | A landmark should appear in the animation viewer, and an instance of the functional joint should appear as a Landmark | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | edit the landmark. Note that the location of the tip is relative to the 3 markers. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Visual3D has selected the order of the 3 markers automatically based on a set of internal rules. There is no need to modify the default selection. | ||
+ | |||
+ | === Step 7. Specify the pointer configuration === | ||
+ | |||
+ | Switch to the Digitizing Landmarks Tab | ||
+ | |||
+ | Select the button " | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Populate the dialog as shown. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | The order of the markers and the offsets are extracted from F_TIP landmark definition above. | ||
+ | |||
+ | Note especially that the offset locations are the negative of the F_TIP landmark locations. This is because Visual3D has a subtly different mechanism for specifying landmarks relative to markers, and landmarks relative to segments. The digitizing pointer is treated as a segment. | ||
+ | |||
+ | Select the option "Save to config file". | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | **This config file can then be loaded for subsequent trials.** | ||
+ | |||
+ | |||
visual3d/documentation/pipeline/signal_commands/computing_custom_digitizing_pointer_configuration.1721230962.txt.gz · Last modified: 2024/07/17 15:42 by sgranger