Calibration

Jean-Pierre Merlet drew attention to the difficult problem of hexapod calibration, mentioned in 2.2 above. We had done a little work on this which had led us to believe that a simple solution was available. However we had totally overlooked the effect of noise on the mathematics. It is quite essential for the project to be able to use a machine to calibrate itself through some simple measurement strategy. We want to avoid the expense of otherwise unnecessary precision machining, and in any case the required precision would be almost impossible to obtain. Over the past few months we have put a lot of unanticipated effort into solving this problem, thankfully with considerable success.

Though the hexapod mechanism is kinematically non-linear, the response to small parameter changes when static is linear. That is, if one of the top joints is moved by a small amount dx in the x direction, say, and the resulting z movement of a measurement probe is dz, then a movement of 2*dx will produce a response of 2*dz. Ignoring joint inaccuracies, there are 6*3 top joint coordinates, 6 closed leg lengths, and 3 platform joint spacings whose precise values must be known for proper control of the mechanism. We can associate a correction variable with each of these values. The coefficients relating the correction variables to changes in calibration probe positions can be calculated for a given platform position. When calibration measurements are made with the platform in that position, these are the coefficients of linear equations which could be written relating variables to measurements ignoring noise. When noise is taken into account we get inequalities with the same coefficients.

These coefficients and inequalities can be generated by the software model following a simulated calibration strategy, and the inequalities solved by a linear programming solver such as lp_solve. We have looked at many strategies, some which do not provide enough data for a solution even without noise, some which can be solved easily with a high level of noise. Generally, the better the solution the more expensive the calibration equipment necessary to realise it. We have been particularly looking for a method which references a simple plane, taking z measurements only, which we believe would be easy to realise. Using simple measurement probes mounted on the platform at each joint position, we have a strategy which successfully solves for all the variables except the platform joint spacings. However those spacings can easily be accurately measured, and the strategy works if the effects of very small platform joint errors are treated as noise. It requires two lengths of probe, and rotation of the platform about the z axis.

This is ongoing work, but it appears to provide a firm foundation for exploring calibration strategies and for actual calibration computations. The method is applicable to any parallel kinematic mechanism, and may prove an important achievement of the project.