The geometric calibration problem involves identifying kinematic parameters that relate joint encoder readings to end-effector poses. For a humanoid robot, the kinematic model can be expressed as:
\(\mathbf{p} = f(\mathbf{q}, \boldsymbol{\theta})\)
where \(\mathbf{p}\) is the end-effector pose, \(\mathbf{q}\) are the joint angles measured by encoders, and \(\boldsymbol{\theta}\) represents the geometric parameters to be identified.
When the robot makes contact with a plane, the contact points must satisfy the plane equation. For a 3-point contact, this provides three independent constraints that can be used to formulate the calibration equations. The measurement equation becomes:
\(\mathbf{0} = \mathbf{g}(\mathbf{q}, \boldsymbol{\theta}) + \mathbf{w}\)
where \(\mathbf{g}(\mathbf{q}, \boldsymbol{\theta})\) represents the constraint violations and \(\mathbf{w}\) is measurement noise.
Linearizing around nominal parameter values gives the standard observation equation:
\(\mathbf{y} = \mathbf{R_B} \boldsymbol{\delta\theta} + \mathbf{w}\)
where \(\mathbf{R_B}\) is the Jacobian matrix relating parameter errors to constraint violations, and \(\boldsymbol{\delta\theta}\) are the parameter corrections to be estimated.
Optimal posture selection is crucial for efficient calibration. The D-optimal criterion maximizes the determinant of the Fisher information matrix, providing the best parameter estimation accuracy for a given number of measurements. The Fisher information matrix for a set of postures is:
\(\mathbf{I_B} = \sum_{i=1}^{N} \mathbf{R_B}_i^T \mathbf{W} \mathbf{R_B}_i\)
where \(\mathbf{R_B}_i\) is the Jacobian for posture \(i\), \(\mathbf{W}\) is a weighting matrix, and \(N\) is the number of postures.
The IROC algorithm provides an efficient way to rank postures by their information content. The algorithm incrementally builds an optimal set by:
- Computing the information contribution of each candidate posture when added to the current optimal set
- Selecting the posture that maximizes the determinant increase
- Updating the optimal set and repeating until the desired number of postures is reached
This approach provides a deterministic ranking that avoids local optima issues common in traditional optimization methods. The algorithm's computational efficiency makes it suitable for real-time posture evaluation and selection.
The experimental setup uses TALOS making 3-point contacts between its gripper and a flat table while maintaining balance. The robot uses an admittance controller to establish and maintain stable contact. The control flowchart shows the state machine for contact detection and maintenance.
Fig. 1: Control flowchart for contact establishment and maintenance using admittance control.
Planar contact is achieved by ensuring all three fingers are in contact with the table, using admittance control to enforce zero moments at the wrist. Data collection occurs once stable 3-point contact is established, recording joint encoders and force sensor data.
Fig. 2: Experimental setup showing TALOS making 3-points contacts between its gripper and a flat table.