Lección No. 4 El sonido es vibración
Lección 2 Qué dicen los sentidos?
The six optical trackers of the Haptic WorkstationTMare factory-calibrated. The Jacobian that transforms from this 6 degrees of freedom space into a cartesian space is already per- formed by the hardware. However, this cartesian space is relative to the configuration of the CyberForce exoskeleton at startup time. Basically, it means that the user has to start the Haptic Workstation in a predefined position in order to “calibrate” it. The problem is that it is impossible to reproduce perfectly this position at every startups, and moreover the trackers of the two exoskeletons are not in the same coordinate system.
The figure 4.4 summarize the situation after a normal startup.
x y z W x y z x y z Right CyberTrack CLeft CyberTrack C
Figure 4.4: The exoskeletons reference frames when starting up the device First, we can remark that the left and right coordinate systems CRight CyberTrack and
CLeft CyberTrackdo not have their origin at the same position. Then, we can see that their axes
are parallel together, and also parallel to the aluminium chassis of the Haptic WorkstationTM.
Finally, we can mention that the unit of these coordinate systems is not according the SI. We are satisfied with the orientation of the coordinate systems with y for up/down, and x for left right, because from a user point-of-view, it reminds the OpenGL camera orientation. Moreover, it means that we do not need to convert the orientation value of the CyberTrack, but only the position value.
Thus, the registration procedure consists in putting the two exoskeletons in the same orthogonal coordinate system W with SI units, which has been arbitrary set at the position shown on figure 4.4. It means that, for each exoskeleton, the goal is to solve the unknowns in the matrix presented in equation 4.1. α represents the scaling and t the translation transforming raw data into calibrated positions in the coordinate system W . This matrix has 6 DOF, so we can deduce that at least 6 correspondences PCx−→ PWare necessary to
find the 6 unknowns. As each position has already 3 dimensions ((x,y,z)), we only need to find two configurations of the exoskeleton that are easily reproducible without error and whose position in the real world is known (have been measured by us).
PCx= ⎡ ⎢ ⎢ ⎣ αx 0 0 tx 0 αy 0 ty 0 0 αz tz 0 0 0 1 ⎤ ⎥ ⎥ ⎦ × PW,where eachαx,αy,αz> 0 (4.1)
In practice, we found that the scaling parametersαx,αyandαzwhere close to 0.01 ±
5%. This let us think that the hardware calibration returns positions with a unit length that is the centimeter. Moreover, we found that the value ofαx,αyandαzwas not dependent
of the startup procedure. Thus, we can hardcode these values and the goal of CyberForce registration is only to get tx, tyand tz. This give us the opportunity to drop one of the two
calibration configurations of the exoskeleton.
To validate our registration, we use a PhaseSpace Motion Capture system. This system is composed of optical cameras and LEDs. Up to 128 LEDs could be tracked in a prede- fined coordinate system up to a refresh rate of 480 Hz. We calibrate the system using 4 cameras to track a single LED attached to the CyberForce into the same coordinate sys- tem than the Haptic WorkstationTM. This setup is shown on the picture of the figure 4.5.
Then, we measure pairs of positions gathered from the PhaseSpace and the calibrated Cy- berTrack. The goal of our calibration is of course to minimize the distance between each pair of positions. We try to move the hand into the complete workspace, and we also orient the hand in different positions. We aim to collect a pair each 10 ms during 5 minutes, but sometimes, occlusions prevent to optically capture the LED. Thus, we finally record “only” 23000 pairs. To interpret this great amount of information, we voxelize a virtual cube in the workspace, then we randomly pick a pair belonging to each voxel, and finally, we display the “difference vector” of this pair representing the difference between the CyberTrack and PhaseSpace positions. We perform this random picking several times. One of the result that we get is presented on figure 4.5.
The most noticeable conclusion is that the scaling parametersαx,αyandαzthat we
previously set to 0.01 are quite correct. If they were not, two difference vectors that are close should be pointing the more or less same direction, and this effect should affect all
difference vectors. Then, we visually did not remark any pattern affecting every difference vectors, which could came from a calibration error. Moreover, the mean length of these difference vectors is around 2 cm, with a standard deviation of 9 mm. We mention also
that an optical tracking system is by nature much more error-prone than the trackers of the exoskeleton.
4.2. HAPTIC WORKSTATIONTMCALIBRATION 39 0 0.2 0.4 0.6 0.8 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 X Axis Error Vectors in Workspace
Z Axiss Y axis s 0 100 200 300 400 500 600 700 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05 Measures Error length (m )
PhaseSpace Tracking System
Figure 4.5: Results of the CyberTrack calibration procedure, compared to motion capture data.
In practice, the results are satisfactory for our needs. The registration procedure is really fast, and we can achieve a praying hands posture even if is not easy with the four CyberGrasp and CyberForce exoskeletons. In this case virtual and real hands matches.