This node provides ROS service calls and topics to calibrate the rc_visard to a robot (aka hand-eye calibration). The calibration routine consists of several steps:
1. Move the robot to the pose (calibration grid must be visible in the rc_visard's view). 0. Send the robot pose to rc_visard (`set_pose`)
0. Trigger the calibration tranformation to be calculated (calibrate
).
After the calibration transform is calculated and tested, it should be saved to the rc_visard (save_calibration
).
For detailed instructions on the calibration routine consult the rc_visard manual: https://doc.rc-visard.com.
This package relies on git submodules for the cpr library which need to be initialized before building from source.
host
: The IP address or hostname of the rc_visard that should be calibratedgrid_width
: The width of the calibration pattern in metersgrid_height
: The height of the calibration pattern in metersrobot_mounted
Whether the camera is mounted on the robot or notThe following services are offered to follow the calibration routine:
reset_calibration
: Deletes all previously provided poses and corresponding images. The last saved calibration result is reloaded. This service might be used to (re-)start the hand-eye calibration from scratch.set_pose
: Provides a robot pose as calibration pose to the hand-eye calibration routine.calibrate
: Calculates and returns the hand-eye calibration transformation with the robot poses configured by the set_pose
service.get_calibration
save_calibration
: Persistently saves the result of hand-eye calibration to the rc_visard and overwrites the existing one. The stored result can be retrieved any time by the get_calibration service.remove_calibration
: Removes the stored hand-eye calibration on the rc_visard. After this call the get_calibration
service reports again that no hand-eye calibration is available.Using command line parameters: