The research workflow uses arm movements, standing poses, and walking to update only the robot measurements those motions can actually reveal.
A humanoid robot does not know its exact geometry just because engineers built it from computer-aided design files. Assembly tolerances, wear, and replaced parts can shift a joint’s zero point or move a camera by a few millimeters.
Those small errors spread through the robot’s body. A wrong shoulder angle can move a hand away from its expected position. A camera mounted slightly off-angle can distort depth measurements or make a head-mounted vision system disagree with the robot’s body model.
A paper on arXiv presents OmniCalib, a research workflow for correcting some of these errors without checkerboards, AprilTags, laser trackers, or other external targets. It uses the robot’s own movements and sensors instead. The paper evaluates the method on one physical AGIBOT A3 Ultra humanoid.
The key idea is simple: do not ask one movement to calibrate the entire robot. Choose a movement that makes a particular group of errors visible.
Why one calibration motion is not enough
A humanoid is an articulated machine, not a rigid vehicle. Its cameras sit on moving links connected by dozens of joints. When the robot moves an arm, the camera’s motion depends on every joint in that chain.
That makes calibration an observability problem. In plain English, a parameter is observable when the available motion and sensor data contain enough information to estimate it reliably.
OmniCalib divides the robot into parameter groups and assigns each group a task:
- In-place arm movements let the robot’s wrist cameras see each other and let a chest depth camera observe the hands.
- Static double-support poses, with both feet planted, constrain the leg joints.
- Flat-ground walking provides motion for estimating the head cameras’ rotations.
The software then checks which parameters the data support. It writes back supported corrections and leaves weakly observed values at their original CAD settings.
That last step matters. An optimizer can always produce numbers, even when the motion does not contain enough information. OmniCalib is designed to avoid turning uncertainty in one part of the robot into a false correction somewhere else.
How the arm calibration works
For the arms, the system combines joint readings with depth images from the chest-mounted RGB-D camera. RGB-D means the camera records both color and distance.
As the robot moves its hands through space, the system compares the observed hand and arm surfaces with the robot’s geometric model. It uses a technique called iterative closest point, or ICP, which repeatedly aligns measured 3D points with nearby points on a model.
The paper reports recovery of all 14 injected arm joint offsets, with a maximum absolute error of 0.0060 degrees in that test. The injected offsets were as large as 0.58 degrees. This is an injection-recovery result: the researchers deliberately changed the calibration, then checked whether the method could recover the known change.
The same arm procedure also estimated camera mounting corrections relative to CAD. The reported correction was 9.81 millimeters and 0.929 degrees for the chest camera. The left wrist camera correction was 10.56 millimeters and 1.740 degrees; the right was 6.33 millimeters and 1.245 degrees.
Those figures show why calibration can matter operationally. A camera shift of several millimeters may be harmless for a casual image, but it can affect the geometric relationship between vision, reach, and control.
Why the legs need a different test
The researchers use four static poses with both feet planted to calibrate 12 lower-limb joint offsets. With both feet fixed, the distance and orientation between the feet should remain consistent across poses.
The robot also uses an inertial sensor on the pelvis. Together, foot consistency and gravity direction provide constraints on the leg joints.
The paper reports a root-mean-square recovery residual of 0.063 degrees and a maximum residual of 0.153 degrees for virtual offsets inserted into recorded data. The leg test also exposed a practical weakness: hip yaw was less accurately constrained than several other directions because standing poses do not strongly excite horizontal rotation.
That is an important engineering result. The method does not simply produce one accuracy number for “the legs.” Different joints remain easier or harder to identify depending on the motion.
The researchers also replayed calibrated and uncalibrated models in controlled tests. On recorded standing data, calibration reduced foot-height error from 2.396 millimeters to 2.074 millimeters. In a separate fixed-base simulation using the recovered correction, reported foot-position error fell from about 25–29 millimeters to 2.8 millimeters.
Those tests show that corrected joint zeros can improve geometry. They do not show that the whole robot will perform equally well during ordinary work.
What walking can—and cannot—calibrate
For the head cameras, OmniCalib uses visual motion from the cameras and legged odometry from the robot’s feet. It compensates for the changing torso and head links through the robot’s live transform tree before comparing the motions.
The head module estimates camera-to-link rotation, meaning which way each camera points relative to its mounting link. It does not claim to independently correct the cameras’ full positions or time offsets. Walking data contain too much contact, timing, and model error to verify those translations reliably, so the workflow retains the nominal CAD centers.
Across three walking sequences, the paper reports a mean camera-rotation error of 1.061 degrees against a Kalibr reference, with a standard deviation of 0.26 degrees. The best sequence measured 0.775 degrees.
Again, this is a research evaluation, not a field deployment. All experiments used one AGIBOT A3 Ultra. The paper does not establish that the workflow transfers to another humanoid, a remounted camera rig, or a production maintenance process.
What this means for operators
OmniCalib demonstrates a useful design pattern: calibration can be broken into safe, robot-native tasks instead of relying on one expensive fixture or one unrealistic whole-body motion.
The paper shows arm joint and camera corrections, leg joint recovery, and head-camera rotation estimation in a controlled research setup. It does not turn calibration into a push-button product, and it does not prove paid or scaled deployment.
For an operator, the practical next step is clear: before trusting any automated recalibration, verify which parameters the available motion can observe. A good system should say what it changed, what it could not measure, and which values it deliberately left alone.
