Hi all
I am new to robotics and working on a system with a ABB IRS140 robot.
I know the position of the calibration poses T_tcp with respect to base
and using a camera on the robot arm I use OpenCV to get the reference
point of the checkerboard for 6 distinct poses.
This seems to become a classic AX=XB issue ... but when I use the MATLAB
code from the side Calibration and Registration Techniques for Robotics
http://math.loyola.edu/~mili/Calibration and trying to use the tsai method
I do not get my T_cam_tcp correct compared to the CAD measures I have
from which I can kind of create such Transform (X, Y, Z translation
and X, Y, Z rotations) ... with my colleagues we come up with these
values ... X = -89, Y = 65, Z = 82, RotX = -90, RotY = 90, RotZ = 0
The camera is fixed on a flat piece of aluminium fixed to the flange.
The 6 T_tcp are
0.90725 0.23559 0.34842 0.66108
-0.36124 0.01218 0.93239 -0.09569
0.21542 -0.97178 0.09615 0.64942
0.00000 0.00000 0.00000 1.00000
0.91703 0.22225 0.33116 0.66327
-0.32445 -0.06714 0.94352 0.01049
0.23193 -0.97268 0.01054 0.61151
0.00000 0.00000 0.00000 1.00000
0.91162 0.26480 0.31438 0.68567
-0.28879 -0.13164 0.94830 0.03672
0.29250 -0.95527 -0.04353 0.60781
0.00000 0.00000 0.00000 1.00000
0.90130 0.40153 0.16256 0.60523
-0.12297 -0.12266 0.98480 0.03969
0.41536 -0.90760 -0.06117 0.55953
0.00000 0.00000 0.00000 1.00000
0.97106 0.21980 0.09346 0.69541
-0.07959 -0.07116 0.99428 -0.04072
0.22519 -0.97295 -0.05161 0.62395
0.00000 0.00000 0.00000 1.00000
0.93824 0.33307 0.09361 0.66027
-0.07050 -0.08083 0.99423 -0.02586
0.33872 -0.93943 -0.05236 0.56314
0.00000 0.00000 0.00000 1.00000
The 6 T_obj (obtained using OpenCV finding
the right corner on the checkerboard are
0.36258 -0.90250 -0.23243 0.03124
0.93192 0.34906 0.09842 -0.05223
-0.00770 -0.25229 0.96762 0.59633
0.00000 0.00000 0.00000 1.00000
0.33057 -0.90876 -0.25471 0.06487
0.94101 0.33804 0.01519 -0.00784
0.07230 -0.24470 0.96690 0.55205
0.00000 0.00000 0.00000 1.00000
0.29242 -0.92782 -0.23162 0.07337
0.94979 0.30998 -0.04261 -0.00716
0.11134 -0.20753 0.97187 0.53973
0.00000 0.00000 0.00000 1.00000
0.11954 -0.89560 -0.42849 0.04198
0.98538 0.15978 -0.05906 0.00085
0.12136 -0.41517 0.90161 0.52365
0.00000 0.00000 0.00000 1.00000
0.08518 -0.96539 -0.24651 0.05835
0.99388 0.09980 -0.04740 -0.05063
0.07036 -0.24097 0.96798 0.55213
0.00000 0.00000 0.00000 1.00000
0.07525 -0.93004 -0.35968 0.03576
0.99394 0.09896 -0.04794 -0.03678
0.08018 -0.35389 0.93184 0.50470
0.00000 0.00000 0.00000 1.00000
I even tried to use AX=XB with 5 poses
from 6, obtained X for each and then
tried to average the X Y Z and see how
they differ (using standard deviation as
metric) but results are not coherent ...
Is using AX=XB with the tsai method kind
of only valid for 2 or 3 poses ? I validated
the MATLAB code with the toy example
from Shiu paper with (A1, A2, B1, B2)
Any suggestions will be appreciated !
Best regards
Brahim in Singapore