TALOS Whole-body Plane-constrained Calibration

Thanh D. V. Nguyen1,2, Vincent Bonnet1, Pierre Fernbach2, David Daney1, Florent Lamiraux1
1LAAS-CNRS, CNRS, Université Paul Sabatier, Toulouse, France 2TOWARD S.A.S, Toulouse, France

Abstract

This paper presents a novel methodology for whole-body geometric calibration of large humanoid robots using only embedded sensors and a single plane. The approach leverages an admittance controller to establish stable 3-point contacts between the robot's gripper and a flat surface, enabling data collection for calibration without external measurement systems. We introduce the IROC algorithm, an efficient combinatorial optimization method that automatically selects optimal calibration postures by maximizing the determinant of the Fisher information matrix. The algorithm provides a deterministic ranking of postures based on their information content and can determine the minimal number of postures required for effective calibration. Experimental validation on the TALOS humanoid robot demonstrates significant improvements in positioning accuracy, with end-effector errors reduced by a factor of 2.3. The method is particularly suitable for routine calibration procedures in robotics laboratories and offers a practical solution for maintaining accurate geometric models of complex anthropomorphic systems.

Experimental setup showing TALOS making contacts

Contributions

The main contributions of this paper are:

  • Plane-constrained calibration methodology: A practical approach for whole-body geometric calibration using only embedded sensors and a single flat surface, eliminating the need for external measurement systems.
  • IROC algorithm: An efficient combinatorial optimization method that automatically selects optimal calibration postures by incrementally ranking configurations based on their information content.
  • Experimental validation: Comprehensive validation on the TALOS humanoid robot, demonstrating significant improvements in positioning accuracy with end-effector errors reduced by a factor of 2.3.
  • Practical implementation: A complete calibration pipeline including admittance control for stable contact establishment and automated posture optimization for minimal experimental burden.

Methodology

Calibration Model

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.

The IROC Algorithm

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:

  1. Computing the information contribution of each candidate posture when added to the current optimal set
  2. Selecting the posture that maximizes the determinant increase
  3. 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.

Experimental Setup

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.

Control flowchart for contact establishment
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.

Experimental setup showing TALOS making contacts
Fig. 2: Experimental setup showing TALOS making 3-points contacts between its gripper and a flat table.

Results

Calibration Results

The calibration process was performed using 31 optimal postures selected by the IROC algorithm. After calibration, the residual errors were significantly reduced. The absolute position errors decreased from \(9.19 \pm 11.64\) mm to \(2.88 \pm 3.89\) mm, and the orientation errors decreased from \(1.12 \pm 1.34\)° to \(0.31 \pm 0.41\)° for roll, and from \(1.02 \pm 1.20\)° to \(0.33 \pm 0.42\)° for pitch.

Identified geometric parameters
Fig. 3: Values of the translational and rotational identified parameters.

Figure 3 shows the identified geometric parameters. Translational parameters varied from -6 to +6 mm, while rotational parameters ranged from -1.5° to +1.5°. Notably, 50 parameters were set to zero as they were not identifiable due to the kinematic structure, with joint offsets being the largest rotational parameters.

Cross Validation Results

Cross-validation was performed using nine random postures not used in calibration. The TALOS robot executed these postures with both nominal and calibrated models. The results showed significant improvements when using the calibrated model.

Position validation results Roll validation results Pitch validation results
Fig. 4: Comparison of residual values during validation: (a) position along z-axis, (b) roll angle, (c) pitch angle.

The mean absolute errors decreased by an average factor of 2.3: position error from 9.89 mm to 4.54 mm, roll error from 1.18° to 0.56°, and pitch error from 0.98° to 0.34°.

Citations

If you use this work in your research, please cite:

@techreport{nguyen2025humanoid,
  title={Humanoid Robot Whole-body Geometric Calibration with Embedded Sensors and a Single Plane},
  author={Nguyen, Thanh D V and Bonnet, Vincent and Fernbach, Pierre and Daney, David and Lamiraux, Florent},
  year={2025},
  institution={HAL},
  url={https://hal.science/hal-05169055}
}

Related Work

@inproceedings{bonnet2023,
  title={Geometric calibration of humanoid robots: A necessary step for accurate whole-body motion},
  author={Bonnet, Vincent and Nguyen, Thanh D V and Lamiraux, Florent and Daney, David},
  booktitle={IEEE-RAS International Conference on Humanoid Robots},
  year={2023}
}
@inproceedings{villa2022,
  title={TALOS whole-body geometric calibration using a single point contact},
  author={Villa, Francesco and Bonnet, Vincent and Nguyen, Thanh D V and Lamiraux, Florent and Daney, David},
  booktitle={IEEE-RAS International Conference on Humanoid Robots},
  year={2022}
}