Dora Calibration Node
Minimal eye-in-hand calibration node for a camera mounted on the robot gripper.
Inputs
image(configurable viaIMAGE_INPUT): image stream with metadata containingencodingandshapeorwidth/height.camera_info(optional):[fx, fy, cx, cy]float array with distortion in metadata.tcp_pose:[x, y, z, roll, pitch, yaw]fromdora_ulite6in mm/deg.
Controls (OpenCV Window)
qquitrrestart calibration (clear observations and start over)
Environment Variables
| Variable | Default | Description |
|---|---|---|
IMAGE_INPUT |
image |
Image input name |
CAMERA_INFO_INPUT |
camera_info |
Camera info input name |
POSE_INPUT |
tcp_pose |
Robot pose input name |
STATUS_INPUT |
status |
Robot status input name (used for command completion) |
COMMAND_OUTPUT |
robot_cmd |
Output name for robot command messages |
POSES_FILE |
config/calibration_poses.yml |
YAML file path for calibration poses |
POSE_UNITS |
m |
Units for poses file (m or mm) |
MOVE_SPEED |
(unset) | Move speed override (mm/s) |
OUTPUT_FILE |
calibration.npz |
Output calibration file (observations saved as {name}_observations.npz) |
METHOD |
TSAI |
Hand-eye method (TSAI, PARK, HORAUD, ANDREFF, DANIILIDIS) |
SQUARES_X |
4 |
ChArUco board squares X |
SQUARES_Y |
6 |
ChArUco board squares Y |
SQUARE_LENGTH |
0.04 |
Square length (m) |
MARKER_LENGTH |
0.03 |
Marker length (m) |
AUTO_RUN |
true |
Automatically iterate poses and capture |
WAIT_AFTER_MOVE |
2.0 |
Seconds to wait after a move before capture |
MOVE_HOME_ON_START |
true |
Move to calibration home when starting |
HOME_X |
200 |
Calibration home X (mm) |
HOME_Y |
0 |
Calibration home Y (mm) |
HOME_Z |
300 |
Calibration home Z (mm) |
HOME_ROLL |
180 |
Calibration home roll (deg) |
HOME_PITCH |
0 |
Calibration home pitch (deg) |
HOME_YAW |
0 |
Calibration home yaw (deg) |
MIN_CORNERS |
6 |
Minimum ChArUco corners required for pose |
LOG_INTERVAL |
2.0 |
Seconds between console detection logs |
AUTO_SOLVE |
true |
Automatically solve and save after last pose |
Notes
- Calibration runs automatically: moves through poses, captures, and saves results.
- For safe operation, keep a clear workspace around the robot.