Mechanical calibration

Technical documentation
12/12/2012

  • Result of the experiment 3, corrected
    Differences between CAD model and calibrated model are stored in archive ik_diff2.zip.
    Differences were computed as follows:
    Generate poses in the workspace uniformly
    Compute IKT using CAD model
    Compute DKT using calibrated model
    Compute difference between generated pose and computed pose
    
  • Result of the experiment 3
    Differences between CAD model and calibrated model are stored in archive ikt_diff.zip.
    Differences were computed as follows:
    Generate poses in the workspace uniformly
    Compute IKT using calibrated model
    Compute DKT using CAD model
    Compute difference between generated pose and computed pose
    
The following datasets were captured with Redcam mounted on the robot.
  • Experiment 3 (14.12.2012)
    The valid data (without moving redcam base position) were captured and are saved in archives named 'both_arms*.zip'. In these archives the sparse and dense positions are saved except external axis measurement where only dense data are available (because data were captured in manual mode). The redcam base was connected to the turntable (at the same position during the whole experiment). Archives contain also graph structure (nodes, edges and path) which was used for planning and capturing the data. There is more archives because more then one graph was used.
    • dense_r*.csv
      The positions were captured as densely as system allowed during the whole experiment. Suffix (r1 or r2) characterizes to which robot arm the redcam was connected.
    • sparse_r*.csv
      The sparse positions were sampled few seconds (approx. 3 seconds) after motion was stopped, that is one measurement per target position.
    • ext_axis_dense_1.csv
      The positions were captured with redcam connected to clopema base link.
    • ext_axis_dense_2.csv
      The positions were captured with redcam connected to the floor.
    • Data capture timeline: (more images available in archive photos_experiment_3)
      • Redcam was connected to the second arm.
        Data saved in files sparse_r2 and dense_r2 in archive both_arms.zip were captured
      • Redcam was connected to the first arm.

        Data saved in files sparse_r1 and dense_r1 in archive both_arms.zip were captured
        Data saved in archive both_arms_1.zip were captured.
        Data saved in archive both_arms_2.zip were captured.
      • Redcam was connected to the second arm again.
        Data saved in archive both_arms_3.zip were captured.
      • Redcam was connected to the clopema robot base link.

        Data saved in archive both_arms_4.zip were captured.
      • Redcam was connected to the floor.

        Data saved in archive both_arms_5.zip were captured.
    • Photo documentation
      More photos and videos from the experiment are located in internal repository http://clopema.iti.gr/repository in folder: files_exchange/Robot/Smutny/photo/2012-12-12-Calibration
  • Experiment 2 (12.12.2012)
    The second arm was moving through 6 different points (A-F) as it is shown in the following graph:
    A-B-C-D-E-F-A-B-C-D-E-F-E-D-C-B-A-F-E-D-C-B-A
    

    that is repeating measurement twice and then twice in the reversed direction.
    • data_all.csv
      The positions were captured densely as system allowed during the whole experiment.
    • data.csv
      The positions were sampled few seconds after motion was stopped, that is one measurement per target position.
  • Experiment 1 (7.12.2012)
    The second arm was moving between two points (A-B-A).
    We used this experiment to estimate time delay needed for damping induced vibrations before data are captured (delay = 3s).
    • safe_time_measurement.csv
      The measurements are captured densely with (almost) constant sampling period.

Code for visualizing data in matlab:

data_file_name = 'data/data_all.csv';
data0 = dlmread(data_file_name,' ',1,0);
ind  = data0(:,end) == 0;
data0(ind,end) = -1 ;
data = data0 * diag([1,ones(1,6),1/11840*2*pi*ones(1,3),ones(1,3),pi]);

plot(data(:,1), [data(:,2:end)], '-');
xlabel 'time [s]';
ylabel '[rad]';
legend ('joint_s','joint_l','joint_u','joint_r','joint_b','joint_t','irc_a','irc_b','irc_c','err_a','err_b','err_c','motion')
title(['Motion ' data_file_name])
grid on

Files

data_all.csv Magnifier (429 KB) Vladimir Petrik, 12/12/2012 16:11

safe_time_measurement.csv Magnifier (101 KB) Vladimir Petrik, 12/12/2012 16:11

data.csv Magnifier (2.32 KB) Vladimir Petrik, 12/12/2012 16:11

12_12_14_series03.zip (282 KB) Vladimir Petrik, 12/14/2012 17:23

both_arms.zip (652 KB) Vladimir Petrik, 12/14/2012 18:33

both_arms_1.zip (25.9 KB) Vladimir Petrik, 12/14/2012 19:12

both_arms_2.zip (41.4 KB) Vladimir Petrik, 12/14/2012 19:43

both_arms_3.zip (34.1 KB) Vladimir Petrik, 12/14/2012 19:56

both_arms_4.zip (103 KB) Vladimir Petrik, 12/14/2012 20:20

both_arms_5.zip (127 KB) Vladimir Petrik, 12/14/2012 20:34

12_12_14_series02.zip (53.7 KB) Vladimir Petrik, 12/14/2012 20:39

12_12_14_series01.zip (79.1 KB) Vladimir Petrik, 12/14/2012 20:39

a.jpg (38.5 KB) Vladimir Petrik, 12/17/2012 16:33

b.jpg (33.5 KB) Vladimir Petrik, 12/17/2012 16:33

c.jpg (34.8 KB) Vladimir Petrik, 12/17/2012 16:33

photos_experiment_3a.zip (17.3 MB) Vladimir Petrik, 12/17/2012 16:43

photos_experiment_3b.zip (18.6 MB) Vladimir Petrik, 12/17/2012 16:43

both_arms_simulation.zip (532 KB) Vladimir Petrik, 01/08/2013 17:08

ikt_diff.zip (10.6 KB) Vladimir Petrik, 03/28/2013 11:32

ik_diff2.zip (10.3 KB) Vladimir Petrik, 04/22/2013 18:09