Iterative Robot-Vision Calibration
A method of calibrating a robotic arm which includes perform iterative eye-in-hand and robot calibration, using a calibrated end of arm camera with known intrinsic parameters and a static target, to obtain eye-in-hand transformations and robotic parameters. The method further uses robotic parameters to estimate pose of end of arm, for eye-to-hand calibration, to obtain eye-to-hand transformations and calculates final error compensation based on the robotic parameters, eye-to-hand transformations, and eye-in-hand transformations. In one embodiment, the method calculates a robot positioning error map function, the robot positioning error map function used to adjust movement parameters for the robotic arm.
1 . A method of calibrating a robotic arm comprising:
perform iterative eye-in-hand and robot calibration, using a calibrated end of arm camera with known intrinsic parameters and a static target, to obtain eye-in-hand transformations and robotic parameters;
use robotic parameters to estimate pose of end of arm, for eye-to-hand calibration, to obtain eye-to-hand transformations;
calculate final error compensation based on the robotic parameters, eye-to-hand transformations, and eye-in-hand transformations; and
calculate a robot positioning error map function, the robot positioning error map function used to adjust movement parameters for the robotic arm.
2 . The method of claim 1 , wherein the iterative eye-in-hand and robot calibration comprises:
fixing robotic parameters and solving for eye-in-hand transformations;
fixing eye-in-hand transformations, and solving for the robotic parameters; and
determining when the robotic parameters and the eye-in-hand transformations have converged.
3 . The method of claim 2 , wherein the robotic parameters comprise Denavit-Hartenberg (DH) parameters.
4 . The method of claim 1 , wherein calculating the final error compensation comprises:
computing a robotic pose using the robotic parameters;
estimating the robotic pose using vision based on the eye-to-hand transformations and the eye-in-hand transformations; and
comparing the computed pose and the estimated pose to identify errors.
5 . The method of claim 4 , wherein the errors are identified in joint space.
6 . The method of claim 4 , wherein the errors are identified in Cartesian space.
7 . The method of claim 1 , wherein calculating the robot positioning error map function utilizes one or more of: a neural network, k-nearest neighbor algorithm, linear grid-based interpolation, or non-linear grid-base interpolation.
8 . The method of claim 1 , further comprising:
validating the robot and sensor calibration by comparing the pose from a validation image to the estimated pose and determining whether the robotic arm and/or cell should be recalibrated.
9 . The method of claim 8 , wherein the validating is triggered periodically.
10 . The method of claim 8 , wherein the validating is triggered when a movement of the robotic cell above a threshold is detected.
11 . The method of claim 8 , further comprising:
triggering a recalibration when validation metrics indicates that a difference between the calculated pose and the validation pose is above a threshold.
12 . An iterative calibration system for calibrating a robotic arm comprising:
a processing system configured to perform iterative eye-in-hand and robot calibration, using a calibrated end of arm camera with known intrinsic parameters and a static target, to obtain eye-in-hand transformations and robotic parameters;
the processing system further configured to use robotic parameters to estimate a pose of the calibrated end of arm, for eye-to-hand calibration, to obtain eye-to-hand transformations;
the processing system further to calculate final error compensation based on the robotic parameters, eye-to-hand transformations, and eye-in-hand transformations; and
the processing system further to calculate a robot positioning error map function, the robot positioning error map function used to adjust movement parameters for the robotic arm.
13 . The system of claim 12 , wherein the processing system implements an iterative eye-in-hand and parameter solving configured to fix robotic parameters and solving for eye-in-hand transformations, fix eye-in-hand transformations, and solving for the robotic parameters, and determine when the robotic parameters and the eye-in-hand transformations have converged.
14 . The system of claim 13 , wherein the robotic parameters comprise Denavit-Hartenberg (DH) parameters.
15 . The system of claim 12 , wherein the processing system implements a positioning error map calculation configured to calculate the final error compensation, the system comprising:
a parameter-based pose estimation configured to compute a robotic pose using the robotic parameters;
a vision-based pose computation configured to estimate the robotic pose using vision based on the eye-to-hand transformations and the eye-in-hand transformations; and
a comparator configured to compare the computed pose and the estimated pose to identify errors.
16 . The system of claim 15 , wherein the errors are identified in one of joint space and Cartesian space.
17 . The system of claim 12 , further comprising:
one or more of: a neural network, k-nearest neighbor algorithm, linear grid-based interpolation, or non-linear grid-base interpolation.
18 . The system of claim 12 , further comprising:
a validator configured to verify a calibration state by comparing the pose from a validation image to the estimated pose and determine whether the robotic arm and/or cell should be recalibrated.
19 . The system of claim 18 , wherein the validator is triggered one of:
periodically, upon detection a movement of the robotic cell above a threshold, when validation metrics indicates that a difference between the calculated pose and the validation pose is above a threshold.
20 . A robotic cell comprising:
a robotic arm;
an end of arm;
a static sensor coupled to the robotic cell;
a calibrated end of arm sensor coupled to the end of arm; and
an iterative calibration system comprising:
an iterative eye-in-hand and parameter solver configured to perform iterative eye-in-hand and robot calibration, using the calibrated end of arm sensor with known intrinsic parameters and a static target, to obtain eye-in-hand transformations and robotic parameters;
a parameter-based pose estimation configured to use robotic parameters to estimate pose of end of arm, for eye-to-hand calibration, to obtain eye-to-hand transformations;
a comparator to calculate final error compensation based on the robotic parameters, eye-to-hand transformations, and eye-in-hand transformations; and
position error map calculator configured to calculate a robot positioning error map function to adjust movement parameters for the robotic arm.