Skip to main content

Creating a new Flow

A calibration Flow is the routine the Robot executes to collect calibration data. To create one, navigate to Robot Configuration > Calibration, start a new calibration, and open the Flow editor in the Calibration step (Step 3).

When designing the Flow, keep three guidelines in mind.

  • Aim for approximately 60 different joint poses as a minimum, since fewer poses lead to unreliable results.
  • Be aware of the environment so the Robot does not collide with surrounding equipment or with itself.
  • And cover as much of the joint-angle space as possible rather than concentrating all poses in one dedicated area, because the calibration is only as good as the variety of poses it has seen.

Robot Movements

The Flow is built from movements, and each movement ends in a pose where a calibration sample can be captured. An efficient way to reach 60 poses without teaching 60 individual points is to combine a few taught movements with grids and relative rotations. For example, 4 joint movements × a 4-point grid × 4 relative rotations already yields 64 poses. Relative rotations are especially useful because they vary all joints without any additional teaching.

Make sure the calibration board remains clearly visible to the camera at the end of every movement. If a pose cannot be reached safely, add intermediate movements to create a collision-free path rather than dropping the pose.

Calibration Samples

A movement alone does not capture any data. Add the “Add calibration sample” Node after each movement in the Flow; it takes a picture of the calibration board at the end of the move and stores it as a calibration sample.

While the Flow runs, monitor the live joint-coverage percentage, the per-joint indicators, and the RMSE feedback. The RMSE typically jumps up and down over the first samples; this is expected and it stabilizes as more poses are collected. If coverage stays low for individual joints, add movements that exercise those joints specifically.

Collecting samples: maximize joint coverage

With a device set up, you build a Flow that drives the Robot through measurement poses (using Add Calibration Sample Nodes) and run it to collect samples. The single biggest factor for fit quality is variation in joint space — not Cartesian space, and not raw sample count.

The optimizer can only pin down a joint's geometry from poses where that joint moves through a wide range. Aim for around 80 samples spread across many (more than four) clearly different joint configurations — for example by rotating the base or wrist 180° — even when the camera or mounting makes large Cartesian moves awkward. If the observability metrics below stay low, add more joint variety rather than more samples of the same kind.