====== How To Move A HDT MK2 Arm ====== **Author:** Sangsin Park Email: \\ **Date:** Last modified on 05/15/2017 \\ **Keywords:** forward and inverse kinematics \\ {{ hdt_arm:hdt_mk2_arm.jpg }} \\ The HDT arm has 14 degrees of freedom (DOF). Especially, 3 DOFs, 3 DOFs, 1 DOFs, 3 DOFs, and 4 DOFs are located in a torso, a shoulder, an elbow, a wrist, and a hand, respectively. ^BODY PART ^DOFs ^ | Torso | 3 | | Shoulder | 3 | | Elbow | 1 | | Wrist | 3 | | Hand | 4 | | Total | 14 | \\ ===== Coordinate Frames of the HDT Arm ===== First of all, I consider 10 DOFs except the hand's DOFs. {{ hdt_arm:hdt_fig1.jpg }} \\ ===== Standard DH parameters of the HDT Arm ===== Standard DH parameters and link lengths are shown in tables. {{ hdt_arm:hdt_tab1_dh.jpg }} \\ {{ hdt_arm:hdt_tab2_length.jpg }} \\ ===== Verification of the DH parameters ===== I verify the DH parameters with a Matlab robotics toolbox. We can download its toolbox from [[http://petercorke.com/wordpress/toolboxes/robotics-toolbox | this website]]. {{ hdt_arm:hdt_fig2.jpg }} \\ {{ hdt_arm:hdt_fig3.jpg }} \\ ==== Matlab Code ==== clear, close all L1 = 0.1272; L2 = 0.08; L3 = 0.3638; L4 = 0.2495; L5 = 0.318; L6 = 0.2244; L7 = 0.0741; L8 = 0.2; % Standard DH % L(1) = Link([0 L1 0 pi/2]); % L1 L(2) = Link([0 0 L2 -pi/2]); % L2 L(3) = Link([0 0 L3 pi/2]); % L3 L(4) = Link([0 L4 0 -pi/2]); % L4 L(5) = Link([0 0 0 pi/2]); L(6) = Link([0 L5 0 -pi/2]); % L5 L(7) = Link([0 0 0 pi/2]); L(8) = Link([0 L6 0 -pi/2]); % L6 L(9) = Link([0 0 L7 pi/2]); % L7 L(10) = Link([0 0 L8 0]); % L8 hdt_arm = SerialLink(L, 'name', 'HDT ARM'); hdt_arm.plot([pi pi/2 0 0 -pi/4 0 0 0 -pi/2 0]);