Skip to main content
Measures one link’s real center of mass from motor torques and corrects the gravity feed-forward with it. You can also run it from the diagnostics dashboard (axol serve). To calibrate every joint at once, use tune.factory.

When to use it

The gravity feed-forward starts from the CAD masses and centers of mass. Cables, the end-effector and build differences can make a real link a few percent off. The position spring then has to carry the missing torque, so the joint sags under load by unmodeled torque / kp. Raising the gains won’t fix the sag. Correcting the model fixes it at every angle.

How it works

The joint sweeps back and forth at a constant speed, as in tune.friction. Averaging the forward and backward torques cancels friction, which leaves gravity. The tool fits the difference from the current model as a shift in the link’s center of mass.
  • The link’s mass stays at its CAD value. For a custom gripper much heavier than stock, set its mass first with tune.factory --mass.
  • One joint’s sweep can’t see every direction of the center of mass equally well. Directions it can’t see stay at their current value.
  • A fitted shift of more than 60 mm is rejected as bad data.

Sweep poses

Gravity can’t turn a joint whose axis is vertical, so the tool poses other joints to load the test joint: The clearance rules from tune.friction also apply. shoulder_2 sweeps only outboard of rest. shoulder_3 and wrist_1 sweep with shoulder_2 held 10° outboard, and are limited to ±90° in their loaded poses. If a sweep would still carry no gravity load, the tool refuses to fit it.

Order

Run from wrist_3 to shoulder_1. A shoulder sweep moves every link past it, so errors in uncalibrated wrist and elbow links end up in the shoulder’s fit. The tool prints a note when links further out are still uncalibrated. Run tune.friction --save on the joint first. The tool refits the friction offset Fo against the corrected model and saves it with the center of mass. The report prints the center-of-mass shift in mm, how well the model fits before and after, and the worst sag at rest before and after, at the joint’s configured kp.