====== Self-Contained Multisensorial Calibration ====== ====== Week 6 Calibration introduction ====== The goal of this lab is to teach you about self-contained calibration of the robots and refresh your knowledge about numerical optimization. The presentation can be found [[https://docs.google.com/presentation/d/1An423k6ZGZjcWtu1DNVEVk8Y6fMU3t2IXFA7XKe_k6o/edit?usp=sharing|here]] and additional scripts for the Levenberg-Marquardt algorithm [[https://drive.google.com/drive/folders/1RckdxQR2HWfzMXExA1Wd7cxwqN514A_x?usp=sharing|here]]. Calibration papers from our group: [[https://ieeexplore.ieee.org/document/9555803|J. Rozlivek, L. Rustler, K. Stepanova and M. Hoffmann, "Multisensorial robot calibration framework and toolbox," 2020 IEEE-RAS 20th International Conference on Humanoid Robots (Humanoids), 2021, pp. 459-466.]] [[https://www.sciencedirect.com/science/article/pii/S0736584521001307?via=ihub|K. Stepanova, J. Rozlivek, F. Puciow, P. Krsek, T. Pajdla, M. Hoffmann, Automatic self-contained calibration of an industrial dual-arm robot with cameras using self-contact, planar constraints, and self-observation, Robotics and Computer-Integrated Manufacturing, Volume 73, 2022.]] [[https://ieeexplore.ieee.org/document/8637801|K. Stepanova, T. Pajdla and M. Hoffmann, "Robot Self-Calibration Using Multiple Kinematic Chains—A Simulation Study on the iCub Humanoid Robot," in IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 1900-1907, April 2019.]] [[https://ieeexplore.ieee.org/document/6907178|A. Roncone, M. Hoffmann, U. Pattacini and G. Metta, "Automatic kinematic chain calibration using artificial skin: Self-touch in the iCub humanoid robot," 2014 IEEE International Conference on Robotics and Automation (ICRA), 2014, pp. 2305-2312.]] [[https://ieeexplore.ieee.org/document/9555806|L. Rustler, B. Potocna, M. Polic, K. Stepanova and M. Hoffmann, "Spatial calibration of whole-body artificial skin on a humanoid robot: comparing self-contact, 3D reconstruction, and CAD-based calibration," 2020 IEEE-RAS 20th International Conference on Humanoid Robots (Humanoids), 2021, pp. 445-452.]] ====== Week 7 Robot calibration framework ====== This lab is an introduction to a Matlab toolbox which provides a solution to the multi-chain calibration of a general robot by combining multiple calibration approaches. You will need a Matlab (version at least 2020b). You can install Matlab from [[https://download.cvut.cz/en/campus-wide-matlab/|CTU download page]]. You also need to install the Optimization toolbox and Symbolic toolbox (all is included in the campus-wide license). If you do not want to install anything, you can use [[https://matlab.mathworks.com|Matlab online]]. However, you still need to activate your Mathworks account as described on [[https://download.cvut.cz/en/campus-wide-matlab/|CTU download page]]. There is no hardware acceleration support in Matlab Online, so some 3D plots may be slow. ==== (Linux) Matlab installation tips ==== * If you get download error in the middle of installation, you can download full ISO * in the download page, select ''Get ISOs'' instead of ''Install products'' in ''I WANT TO'' drop box * The default path for installation (/usr/local/MATLAB) belongs to root, so you will probably have to run the installer with ''sudo''. However, several errors can occur: * licence problem -> do not forget to select correct user when prompted during the installation---insert your username (can be obtained from command ''whoami'') for normal run of Matlab or ''root'' if you want to run matlab with sudo (not recommended). * no installation window after ''sudo ./install'' -> run ''xhost +'' first and than repeat * programs fail to run because permission of files in ''/home/username/.matlab/R202*'' -> get to the folder ''.matlab'' (''cd ~/.matlab'') and run ''sudo chown -R username:username R202*'', which will change group of the Matlab to your username (can be obtained from command ''whoami'') * the ''*'' in ''R202*'' stands for your matlab version. If you downloaded it now, you will probably have ''R2022a'' We will use [[https://github.com/ctu-vras/multirobot-calibration|Multisensorial calibration toolbox]] developed in our group. To install it, you can follow the instructions in [[https://github.com/ctu-vras/multirobot-calibration/blob/master/README.md|README]]. The preferred (and the most easy) way to install is to download the [[https://github.com/ctu-vras/multirobot-calibration/releases/latest/download/install_MRC.m|installation script]] and run it in your Matlab (or Matlab online). Closing the GUI will reset the paths to the toolbox. It is a Matlab inner thing, which cannot be controlled. If you want to use the toolbox from code after you close the GUI, please run ''startup;'' in the Matlab command line. The GUI itself is not affected by the command at all, it will work with/without it. An introduction can be found in the presentation [[https://docs.google.com/presentation/d/1aFdBj8WVjFRKLjGEJCFA1kf9_VMm42yXRHqjU8P_hbE/edit?usp=sharing|here]]. Everything else is described in [[https://github.com/ctu-vras/multirobot-calibration/blob/master/README.md|README]]. We recommend to start with [[https://github.com/ctu-vras/multirobot-calibration/blob/master/README.md#examples|Examples]]. ===== HW 4 ===== * [[courses:hro:tutorials:hw:hw4|Calibrate robot kinematic parameters from self-contact and self-observation information]] * PDF with common mistakes is located {{ :courses:hro:tutorials:hro_hw4_common_mistakes.pdf |here.}}