Self-Contained Calibration of an Elastic Humanoid Upper Body Using Only a Head-Mounted RGB Camera
Johannes Tenhumberg, Dominik Winkelbauer, Darius Burschka, Berthold Bäuml
TL;DR
The paper addresses the challenge of accurately calibrating an elastic humanoid upper body when external measurement systems are impractical. It proposes a self-contained calibration workflow that uses only a head-mounted RGB camera, simple end-effector markers, and a marker on a pole, coupled with an elastic forward-kinematics model and a virtual Cartesian noise term in a MAP framework. The key contributions are the end-to-end calibration of the full kinematic chain (including torso elasticity and camera intrinsics), an efficient configuration-collection strategy, and validation showing an average end-effector error of $3.9\mathrm{mm}$ and a worst-case of $9.2\mathrm{mm}$, comparable to external-tracking baselines. This approach enables faster, lab-free calibration with direct relevance to whole-body motion planning and manipulation in humanoid robots.
Abstract
When a humanoid robot performs a manipulation task, it first makes a model of the world using its visual sensors and then plans the motion of its body in this model. For this, precise calibration of the camera parameters and the kinematic tree is needed. Besides the accuracy of the calibrated model, the calibration process should be fast and self-contained, i.e., no external measurement equipment should be used. Therefore, we extend our prior work on calibrating the elastic upper body of DLR's Agile Justin by now using only its internal head-mounted RGB camera. We use simple visual markers at the ends of the kinematic chain and one in front of the robot, mounted on a pole, to get measurements for the whole kinematic tree. To ensure that the task-relevant cartesian error at the end-effectors is minimized, we introduce virtual noise to fit our imperfect robot model so that the pixel error has a higher weight if the marker is further away from the camera. This correction reduces the cartesian error by more than 20%, resulting in a final accuracy of 3.9mm on average and 9.1mm in the worst case. This way, we achieve the same precision as in our previous work, where an external cartesian tracking system was used.
