moveit / moveit_calibration

Hand-eye calibration tools for robot arms.
BSD 3-Clause "New" or "Revised" License
142 stars 79 forks source link

Camera calibration without robotic arm #98

Closed bnespoulous closed 3 years ago

bnespoulous commented 3 years ago

I am currently trying to calibrate a camera without using a robotic arm. i have successfully installed moveit_calibration. I currently have the camera position in the world using the Vicon motion system.

On rivz, I open HandEyeCalibration. In the Geometric Context tab, for End-effector frame Robot-base frame, I can only select parts of the robot arm (but I don't have it physically).

Is there another way to calibrate a camera with moveit and without using a robot arm?

JStech commented 3 years ago

MoveIt Calibration is intended to perform hand-eye calibrations, so it's built with the assumption that you have an arm (the hand).

Are you trying to do an intrinsic camera calibration (focal length/distortion/etc.) or an extrinsic calibration between the camera and the motion capture system? For the first, I recommend kalibr.

For the second, I probably also recommend kalibr, as you're basically doing a multi-camera calibration. You'd have to get into the internals of the motion capture system somewhat, so you can calibrate your camera against (at least) one of the mocap camera feeds.

Alternatively, you could put mocap fiducials on your calibration target and capture target poses in the mocap and camera-to-target transforms and then input these to handeye. It'd be an eye-to-hand calibration where the mocap transforms are the "kinematic" transforms.