Virtual Collaborative Robot Calibration

Executed trajectories were computed using DH_FS parameters.

DH_FS:
r1
-0.0046456515 0.4500000000 -1.5714096167 0.1497773811
4.7135088503 0.0000000000 3.1410852985 0.6146460518
-0.0002414119 0.0001494833 -1.5698438599 0.2001397531
0.0008198870 -0.6399634132 1.5707999045 -0.0003928188
4.7064508530 0.0005427830 1.5717426511 0.0317761853
0 0.2 0 0
r2
0.0022302827 0.4500000000 -1.5720895449 0.1497530369
4.7122626620 0.0000000000 3.1425122143 0.6149867234
-0.0015917884 0.0009092202 -1.5705250951 0.2003036703
-0.0006673158 -0.6399975277 1.5715816546 -0.0003528611
4.7091574742 -0.0087658930 1.5418430872 0.0308784491
0 0.2 0 0

Virtual camera parameters, used for dots to image projection, are:

    hand_eye.frame_id_ = "r1_tip_link";
    hand_eye.child_frame_id_ = "calib_camera_virtual";
    hand_eye.stamp_ = ros::Time::now();
    hand_eye.setOrigin(tf::Vector3(-0.015108, 0.069109, 0.319900));
    hand_eye.setRotation(
            tf::Quaternion(-0.005462, 0.005427, 0.001245, 0.999970));

    tf::Transform targ_t(tf::createQuaternionFromRPY(0, 0, M_PI),
            tf::Vector3(0, 0, 0));
    hand_eye *= targ_t;

    cam_info.header.frame_id = "calib_camera_virtual";
    cam_info.distortion_model = "plumb_bob";
    cam_info.width = 1280;
    cam_info.height = 960;
    cam_info.D.resize(5, 0);

    cam_info.K.elems[0] = 1003.190533;
    cam_info.K.elems[1] = 0.000000;
    cam_info.K.elems[2] = 649.355980;
    cam_info.K.elems[3] = 0.000000;
    cam_info.K.elems[4] = 1003.190533;
    cam_info.K.elems[5] = 459.660300;
    cam_info.K.elems[6] = 0.000000;
    cam_info.K.elems[7] = 0.000000;
    cam_info.K.elems[8] = 1.000000;
    cam_info.D[0] = -0.341564;
    cam_info.D[1] = 0.191750;
    cam_info.D[2] = -0.000234;
    cam_info.D[3] = 0.000048;
    cam_info.D[4] = -0.074981;
    cam_info.R.elems[0] = 1.000000;
    cam_info.R.elems[1] = 0.000000;
    cam_info.R.elems[2] = 0.000000;
    cam_info.R.elems[3] = 0.000000;
    cam_info.R.elems[4] = 1.000000;
    cam_info.R.elems[5] = 0.000000;
    cam_info.R.elems[6] = 0.000000;
    cam_info.R.elems[7] = 0.000000;
    cam_info.R.elems[8] = 1.000000;
    cam_info.P.elems[0] = 1003.190533;
    cam_info.P.elems[1] = 0.000000;
    cam_info.P.elems[2] = 649.355980;
    cam_info.P.elems[3] = 0.000000;
    cam_info.P.elems[4] = 0.000000;
    cam_info.P.elems[5] = 1003.190533;
    cam_info.P.elems[6] = 459.660300;
    cam_info.P.elems[7] = 0.000000;
    cam_info.P.elems[8] = 0.000000;
    cam_info.P.elems[9] = 0.000000;
    cam_info.P.elems[10] = 1.000000;
    cam_info.P.elems[11] = 0.000000;

Archives description

Dataset no. 1

First dataset was generated using ground truth DH equal to DH_FS.

Dataset no. 2

Ground truth DH for experiment no. 2:

r1
0.003676 0.449014 -1.569296 0.153628
4.711572 -0.000361 3.143077 0.614624
0.002031 0.000092 -1.576261 0.203609
0.001364 -0.640128 1.567479 -0.001446
4.709760 0.001223 1.567194 0.031053
0.000994 0.200219 0.001005 -0.000521
r2
-0.002700 0.448496 -1.572362 0.149874
4.712887 0.003033 3.142216 0.609956
-0.003803 -0.000065 -1.573279 0.198036
-0.001809 -0.636728 1.573234 0.001225
4.710906 -0.000850 1.569195 0.029890
0.001003 0.201179 0.004522 -0.002237

DH parameters were generated using normal distribution with mean values equal to DH_CAD and std equal to:

std_d = 0.002;
std_alpha = 0.0025;
std_a = 0.002;
std_theta = 0.0025;

virtual_1-no-images.zip - Dataset no. 1 (1.15 MB) Vladimir Petrik, 10/29/2013 10:56

virtual_2-no-images.zip - Dataset no. 2 (771 KB) Vladimir Petrik, 10/29/2013 13:12

measurement_poses.zip (19.1 KB) Vladimir Petrik, 11/18/2013 16:14

measurement_poses_cad.zip - Reachable positions (constraint aware IKT exist) (35.4 KB) Vladimir Petrik, 11/19/2013 13:02