Specifications

165
interpolation driver instead.
AnyFolder Drivers = {
AnyKinEqSimpleDriver HandMotionXY = {
};
}; // Drivers folder
We can now fill contents into the HandMotionXY driver that will guide the hand through space:
AnyFolder Drivers = {
AnyKinEqSimpleDriver HandMotionXY = {
AnyKinLinear &Jnt = ..KinematicMeasures.WristPos;
MeasureOrganizer = {0,1};
DriverPos = {0.4,-0.5};
DriverVel = {0.2,0.5};
DriverAcc = {0.0,0.0};
Reaction.Type = {Off,Off}; // The muscles must do the work
};
}; // Drivers folder
The first of the red lines above refers to the WristPos kinematic measure. It simply specifies that this is the
measure we want to drive. Notice, however that this measure has three components, namely the x, y and z
coordinates. But we only want to drive two of them. The MeasureOrganizer handles that problem. It lines up
the coordinates of the measure in a row for driving. MeasureOrganizer = {0,1} means that the vectors of
driver specifications, such as DriverPos and DriverVel, refer to the x (number 0) and y (number 1)
coordinates of the measure.
The values we suggest for DriverPos and DriverVel have been found by inspection of the graphs depicted
above showing the development of the measure coordinates when we used the shoulder and elbow drivers.
This is good practice because it is so easy to specify wrist positions that the arm cannot reach and thereby
provoke a kinematic incompatibility that may be difficult to find in more complex cases.
To conclude, the special feature about kinematic measures is that you can drive them. In AnyBody, you can
drive anything that you can measure, and this is really a unique facility. If something went wrong for you
along the way, you can download a commented version of the final result here
.
Driving models by motion capture marker trajectories
One very common use of kinematic measures is to impose a measured movement on a model. The
measurement can for instance be in terms of optical marker trajectories or joint angles measured by
goniometers. In this tutorial we shall focus on optical markers.
Marker trajectories are recorded by a motion capture (MOCAP) system. It comprises multiple synchronized
video cameras observing a set of spherical markers attached to a moving body and software to compute the
marker coordinates in space by triangulation of the simultaneous pictures recorded by the cameras.
Different types of MOCAP systems produce output on different formats. AnyBody needs to read the marker
trajectories from text files on the following format:
Time x y z
0.00000000000 0.84147098599 -0.54030230550 0.00000000000
0.00100100100 0.84142823805 -0.54036887714 0.00000000000
0.00200200200 0.84129997953 -0.54056856433 0.00000000000
0.00300300300 0.84108613608 -0.54090127577 0.00000000000
0.00400400400 0.84078658373 -0.54136685730 0.00000000000
0.00500500500 0.84040114917 -0.54196509307 0.00000000000
0.00600600600 0.83992961007 -0.54269570542 0.00000000000
0.00700700700 0.83937169543 -0.54355835492 0.00000000000
0.00800800800 0.83872708599 -0.54455264021 0.00000000000