curobo.examples.reference.robot_pose_calibration module

Interactive Pose Detector Demo with Viser.

Demonstrates PoseDetector (ICP) and SDFPoseDetector (mesh SDF) for robot pose estimation using an interactive 3D visualization.

Workflow: 1. Load Franka robot mesh at default joint configuration 2. Sample surface points and apply ground truth offset + noise → visualize as pointcloud 3. Use interactive control frame to set initial pose guess 4. “Global Calibrate” button → ICP with rotation sampling (no initial guess needed) 5. “Local Calibrate” button → SDF-based LM refinement from current frame pose

Usage:

python robot_pose_calibration.py python robot_pose_calibration.py –port 8081

load_robot(device='cuda:0')

Load Franka robot kinematics and default joint angles.

Return type:

tuple[Kinematics, Tensor]

Parameters:

device (str)

create_simulated_observation(
robot_mesh,
n_points,
pose_offset,
noise_std=0.002,
)

Create simulated observation by sampling mesh and applying pose + noise.

Return type:

Tensor

Parameters:
compute_pose_error(
estimated,
ground_truth,
)

Compute translation (mm) and rotation (degrees) errors.

Return type:

tuple[float, float]

Parameters:
main()