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:
- 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:
- Parameters:
robot_mesh (curobo._src.perception.pose_estimation.mesh_robot.RobotMesh)
n_points (int)
pose_offset (curobo._src.types.pose.Pose)
noise_std (float)
- compute_pose_error(
- estimated,
- ground_truth,
Compute translation (mm) and rotation (degrees) errors.
- Return type:
- Parameters:
estimated (curobo._src.types.pose.Pose)
ground_truth (curobo._src.types.pose.Pose)
- main()¶