Recommended Free Tools
To align robot commands with camera observations, estimate the rigid transform between the camera and the robot using robot poses and images of a stationary target. In MoveIt’s documented eye-in-hand workflow, each calibration sample pairs the robot’s base-to-end-effector pose with the camera’s camera-to-target observation. The resulting transform is one part of a teleoperation setup—not a guarantee of reliable operation on its own.
Choose the camera arrangement and define the frames
First determine how the camera is mounted. In an eye-in-hand setup, the camera is rigidly attached to the end effector. In an eye-to-hand setup, it is mounted relative to the robot base. MoveIt supports both arrangements, but its detailed calibration tutorial describes eye-in-hand, so the procedure below follows that case. See the MoveIt hand-eye calibration tutorial; its Rolling documentation can change and steps may differ across ROS releases and robot or camera packages.
For eye-in-hand calibration, identify these physical frame roles before collecting data:
- Camera optical frame: the sensor frame used for camera measurements. MoveIt cites ROS REP 103 for the optical-frame right-down-forward convention; verify the convention and frame actually used by your driver.
- End-effector frame: the robot link rigidly attached to the camera.
- Target/object frame: the coordinate frame of the calibration pattern observed by the camera.
- Robot base frame: the reference frame in which the target must stay stationary during collection.
Check the physical meaning and direction of every transform in the robot’s TF tree; frame names alone do not establish whether a transform is parent-to-child or child-to-parent. MoveIt’s described workflow does not require an initial camera-pose guess.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
Verify camera data before collecting poses
Make sure the image stream and its corresponding sensor_msgs/CameraInfo are live, correctly paired, and using the intended sensor coordinate frame. Intrinsic parameters should already be calibrated accurately. If they are not, use ROS’s camera_calibration package before attempting hand-eye calibration. A hand-eye solver cannot compensate for incorrect camera intrinsics or a mismatched frame.
Prepare a stationary, measurable target
The target must remain stationary relative to the robot base and visible from the camera at the sampled arm poses. MoveIt’s tutorial warns that a target must be flat for reliable camera localization. It may lie on a flat surface or be mounted on a board.
Rank #2
- 【Compatibility with the LeRobot Ecosystem & End-to-End Algorithms】Hiwonder SO-ARM101 robotic arm is fully integrated with the LeRobot framework to access community models, datasets, and simulations. Developers can easily train and deploy end-to-end imitation and reinforcement learning algorithms like ACT.
- 【Leader-Follower Teleoperation & VLA Development】Supports synchronous teleoperation via leader and follower arms. By capturing HD video alongside trajectory data, Hiwonder SO-ARM101 robotic arm quickly builds "vision-action" datasets, making it an ideal platform for VLA (Vision-Language-Action) model training.
- 【Dual-Camera Vision System】Equipped with both a gripper-mounted camera and an external camera, the robot arm system supports both precise manipulation and environmental awareness for accurate imitation learning.
- 【High-Performance Magnetic Encoder Bus Servos】Featuring 30KG high-torque & 12V High Voltage servos with magnetic feedback, the arm delivers smooth, stable motion, eliminating issues like power deficiency and jitter.
- 【Professional Visual PC Software】Integrated with servo scanning, status monitoring, and trajectory control, the BusLinker V3.0 debugging board simplifies device control and debugging.
The tutorial’s default generated example uses a 3-by-4 marker arrangement, 200 px marker size, 20 px marker separation, a one-bit marker border, and the DICT_5X5_250 ArUco dictionary. These are software defaults, not universal physical dimensions or required settings for every camera. You can generate and save the target image, then print it using the configured pattern. Measure the printed target’s marker width and spacing, and enter those physical measurements in meters. If you use a purchased board instead, its pattern, dictionary, measured geometry, and detector settings must agree; buying a board is optional.
Collect varied robot-and-camera pose pairs
For each sample, record the robot’s base-to-end-effector pose from robot kinematics and the camera-to-target pose estimated from the image. Move the arm between observations and vary its orientation. Repeatedly rotating around only one axis is not enough for the described setup; include rotations about at least two distinct axes.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute- Position the stationary target where the camera can detect it.
- Move the arm to a pose with the target visible, then capture the robot pose and corresponding camera observation.
- Repeat at different positions and orientations, ensuring the sample set includes rotation about at least two axes.
- Save joint states if you may need to reproduce the poses for recalibration.
MoveIt’s tutorial makes calculation available after five sample pairs and recommends collecting several more. It says improvement typically plateaus after about 12 or 15 samples; that is workflow guidance, not a universal minimum or an accuracy guarantee.
Solve the transform and export it carefully
The MoveIt tutorial provides AX=XB solver choices and identifies Daniilidis as the default, describing it as a good choice in most situations. Calculate the camera pose, then inspect the displayed result and updated TF. Saving the camera pose creates a launch file with a static transform publisher.
Rank #4
- FRAME KIT: Includes all necessary 3D printed PLA+ structural components for building the SO-101 Leader Arm - the human-controlled half of a teleoperation system
- PRECISION DESIGN: Optimized for smooth human manipulation with high-fidelity components that ensure consistent and repeatable performance in teleoperation applications
- ASSEMBLY REQUIRED: Mechanical assembly required - electronics not included. Compatible with SO-101 Leader Arm Electronics Kit sold separately
- VERSATILE APPLICATIONS: Suitable for teleoperation control systems, educational demonstrations, replacement parts for existing setups, or custom robotics projects requiring human input
- COMPATIBILITY: Works seamlessly with LeRobot SO-ARM100 specifications and can be paired with a follower arm to create a complete teleoperation system
Before using that output, confirm that the published static transform connects the intended parent and child frames, has the expected direction, and uses the intended units. A reversed transform or incorrect frame assignment can make otherwise plausible camera observations disagree with robot commands.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Validate against the robot and task
Check the exported transform on the actual robot and with the camera, target, and task geometry you intend to use. The MoveIt tutorial does not specify a numeric acceptance threshold, so set tolerance according to the task’s requirements rather than treating a solver result as proof of adequate accuracy. Validate any resulting teleoperation behavior separately: this calibration addresses the camera-to-robot frame relationship, not controller latency, network behavior, safety limits, or robot-specific operating procedures.
Quick Recap
Best Value
- 【Compatibility with the LeRobot Ecosystem & End-to-End Algorithms】Hiwonder SO-ARM101 robotic arm is fully integrated with the LeRobot framework to access community models, datasets, and simulations. Developers can easily train and deploy end-to-end imitation and reinforcement learning algorithms like ACT.
- 【Leader-Follower Teleoperation & VLA Development】Supports synchronous teleoperation via leader and follower arms. By capturing HD video alongside trajectory data, Hiwonder SO-ARM101 robotic arm quickly builds "vision-action" datasets, making it an ideal platform for VLA (Vision-Language-Action) model training.
- 【Dual-Camera Vision System】Equipped with both a gripper-mounted camera and an external camera, the robot arm system supports both precise manipulation and environmental awareness for accurate imitation learning.
- 【High-Performance Magnetic Encoder Bus Servos】Featuring 30KG high-torque & 12V High Voltage servos with magnetic feedback, the arm delivers smooth, stable motion, eliminating issues like power deficiency and jitter.
- 【Professional Visual PC Software】Integrated with servo scanning, status monitoring, and trajectory control, the BusLinker V3.0 debugging board simplifies device control and debugging.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




