Exercise 1b: Differential Kinematics of the ABB IRB 120

Similar documents
Robotics & Automation. Lecture 06. Serial Kinematic Chain, Forward Kinematics. John T. Wen. September 11, 2008

Differential Kinematics

MEAM 520. More Velocity Kinematics

Robotics I Kinematics, Dynamics and Control of Robotic Manipulators. Velocity Kinematics

Robot Dynamics Instantaneous Kinematiccs and Jacobians

8 Velocity Kinematics

The Jacobian. Jesse van den Kieboom

Lecture «Robot Dynamics» : Kinematics 3

DYNAMICS OF PARALLEL MANIPULATOR

Robotics I. Classroom Test November 21, 2014

Position and orientation of rigid bodies

(W: 12:05-1:50, 50-N202)

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings:

Lecture «Robot Dynamics»: Kinematics 2

Lecture Schedule Week Date Lecture (M: 2:05p-3:50, 50-N202)

Case Study: The Pelican Prototype Robot

ECE569 Exam 1 October 28, Name: Score: /100. Please leave fractions as fractions, but simplify them, etc.

Robot Dynamics Lecture Notes. Robotic Systems Lab, ETH Zurich

Given U, V, x and θ perform the following steps: a) Find the rotation angle, φ, by which u 1 is rotated in relation to x 1

Exercise 2: Dynamics of the ABB IRB 120

Video 1.1 Vijay Kumar and Ani Hsieh

DYNAMICS OF SERIAL ROBOTIC MANIPULATORS

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 2: Rigid Motions and Homogeneous Transformations

Lecture Note 7: Velocity Kinematics and Jacobian

Robotics & Automation. Lecture 17. Manipulability Ellipsoid, Singularities of Serial Arm. John T. Wen. October 14, 2008

Example: RR Robot. Illustrate the column vector of the Jacobian in the space at the end-effector point.

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik. Robot Dynamics. Dr.-Ing. John Nassour J.

Lecture Note 7: Velocity Kinematics and Jacobian

Ch. 5: Jacobian. 5.1 Introduction

Inverse differential kinematics Statics and force transformations

Screw Theory and its Applications in Robotics

Interpolated Rigid-Body Motions and Robotics

Multibody simulation

Advanced Robotic Manipulation

Homogeneous Transformations

Robot Dynamics II: Trajectories & Motion

Video 3.1 Vijay Kumar and Ani Hsieh

Robotics I June 11, 2018

ME 115(b): Homework #2 Solution. Part (b): Using the Product of Exponentials approach, the structure equations take the form:

Minimal representations of orientation

DYNAMICS OF PARALLEL MANIPULATOR

Lecture Note 4: General Rigid Body Motion

In most robotic applications the goal is to find a multi-body dynamics description formulated

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Rigid Object. Chapter 10. Angular Position. Angular Position. A rigid object is one that is nondeformable

Robotics I. February 6, 2014

Robotics: Tutorial 3

Dynamics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Dynamics Semester 1, / 18

Nonholonomic Constraints Examples

General Theoretical Concepts Related to Multibody Dynamics

Lecture 10. Rigid Body Transformation & C-Space Obstacles. CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University

Lecture «Robot Dynamics»: Dynamics and Control

ROBOTICS Laboratory Problem 02

Lecture Note 8: Inverse Kinematics

Generalized Forces. Hamilton Principle. Lagrange s Equations

1.053J/2.003J Dynamics and Control I Fall Final Exam 18 th December, 2007

Robotics I. Test November 29, 2013

Robotics I. Figure 1: Initial placement of a rigid thin rod of length L in an absolute reference frame.

Robotics, Geometry and Control - Rigid body motion and geometry

Lecture Notes Multibody Dynamics B, wb1413

The Principle of Virtual Power Slide companion notes

Kinematics of a UR5. Rasmus Skovgaard Andersen Aalborg University

Lecture Note 12: Dynamics of Open Chains: Lagrangian Formulation

Chapter 2 Coordinate Systems and Transformations

Chapter 3 + some notes on counting the number of degrees of freedom

Kinematics. Basilio Bona. October DAUIN - Politecnico di Torino. Basilio Bona (DAUIN - Politecnico di Torino) Kinematics October / 15

Numerical Methods for Inverse Kinematics

Lecture Note 8: Inverse Kinematics

Robotics I Midterm classroom test November 24, 2017

Lecture Note 5: Velocity of a Rigid Body

Kinematics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Kinematics Semester 1, / 15

Advanced Robotic Manipulation

Rigid Body Motion. Greg Hager Simon Leonard

Lecture «Robot Dynamics»: Dynamics 2

RECURSIVE INVERSE DYNAMICS

6. 3D Kinematics DE2-EA 2.1: M4DE. Dr Connor Myant

Kinematics. Chapter Multi-Body Systems

Kinematics of moving frames in Chrono::Engine

Robotics I. June 6, 2017

Multibody simulation

Week 3: Wheeled Kinematics AMR - Autonomous Mobile Robots

Kinematic Isotropy of the H4 Class of Parallel Manipulators

Introduction to Robotics

Kinematics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Kinematics Semester 1, / 15

1 Introduction. Control 2:

ME751 Advanced Computational Multibody Dynamics. September 14, 2016

PLANAR KINETIC EQUATIONS OF MOTION (Section 17.2)

ME451 Kinematics and Dynamics of Machine Systems

Dynamics. describe the relationship between the joint actuator torques and the motion of the structure important role for

Lecture 38: Equations of Rigid-Body Motion

1 HOMOGENEOUS TRANSFORMATIONS

Lecture 37: Principal Axes, Translations, and Eulerian Angles

MECH 576 Geometry in Mechanics November 30, 2009 Kinematics of Clavel s Delta Robot

, respectively to the inverse and the inverse differential problem. Check the correctness of the obtained results. Exercise 2 y P 2 P 1.

Reduced-order Forward Dynamics of Multi-Closed-Loop Systems

13 Path Planning Cubic Path P 2 P 1. θ 2

q 1 F m d p q 2 Figure 1: An automated crane with the relevant kinematic and dynamic definitions.

FREEFLYING ROBOTS - INERTIAL PARAMETERS IDENTIFICATION AND CONTROL STRATEGIES

DIFFERENTIAL KINEMATICS. Geometric Jacobian. Analytical Jacobian. Kinematic singularities. Kinematic redundancy. Inverse differential kinematics

Transcription:

Exercise 1b: Differential Kinematics of the ABB IRB 120 Marco Hutter, Michael Blösch, Dario Bellicoso, Samuel Bachmann October 5, 2016 Abstract The aim of this exercise is to calculate the differential kinematics of an ABB robot arm. You will practice on the derivation of velocities for a multibody system, as well as derive the mapping of between generalized velocities and end-effector velocities. A separate MATLAB script will be provided for the 3D visualization of the robot arm. 1 Introduction The following exercise is based on an ABB IRB 120 depicted in figure 1. It is a 6-link robotic manipulator with a fixed base. During the exercise you will implement several different MATLAB functions, which you should test carefully since the next exercises will depend on them. To help you with this, we have provided the script prototypes at bitbucket.org/ethz-asl-lr/robotdynamics_exercise_1b together with a visualizer of the manipulator. 1

Figure 1: ABB IRB 120 with coordinate systems and joints Throughout this document, we will employ I for denoting the inertial world coordinate system (which has the same pose as the coordinate system P0 in figure 1) and E for the coordinate system attached to the end-effector (which has the same pose as the coordinate system P6 in figure 1). 2 Differential Kinematics Exercise 2.1 In this exercise, we seek to compute an analytical expression for the twist I w E = [ Iv T E Iω T E] T of the end-effector. To this end, find the analytical expression of the end-effector linear velocity vector I v E and angular velocity vector I ω IE as a function of the linear and angular velocities of the coordinate frames attached to each link. Hint: start by writing the rigid body motion theorem and extend it to the case of a 6DoF arm. Solution 2.1 2

P Figure 2: Linear velocity of a point in a rototranslating frame. Consider the coordinate frames shown in Fig.2. Frame 0 is fixed with respect to the inertial frame I, while frame 1 has a linear velocity I v 01 and angular velocity Iω 01 with respect to frame 0. Thus, one has: Iv I1 = I v I0 + I v 01 = I v 01 Iω I1 = I ω I0 + I ω 01 = I ω 01 (1) Consider a point P that is fixed with respect to frame 1. The linear velocity I v IP of point P with respect to the fixed frame I is given by: Iv IP = I v I1 + I ṙ 1P + I ω I1 I r 1P. (2) If point P is fixed in frame 1, it is I ṙ 1P = 0. With this result in mind, consider now a planar two link robot arm with two revolute joints. The coordinate frames are chosen as in Fig.2. Reasoning as before, the linear velocity at the end of the kinematic chain can be found by propagating the linear velocity contributions from the fixed frame I. Hence, one has: Iv I1 = I v I0 + I ω I0 I r 01 Iv I2 = I v I1 + I ω I1 I r 12 (3) Iv IE = I v I2 + I ω I2 I r 2E 3

Figure 3: The kinematic structure of a planar two link robot arm. Combining these results with the fact the frame 0 is fixed with respect to frame I (i.e. I ω I0 = 0, I v I0 = 0), the end-effector linear velocity is given by: Iv IE = I ω I1 I r 12 + I ω I2 I r 2E (4) This result can be extended to the case of the ABB IRB 120, yielding: Iv IE = I ω I1 I r 12 + I ω I2 I r 23 + + I ω I5 I r 56 + I ω I6 I r 6E = I v 12 + I v 23 + + I v 56 + I v 6E (5) The end-effector rotational velocity I ω IE is obtained by summing the single joint velocity contributions: Iω IE = I ω I0 + I ω 01 + I ω 12 + + I ω 56 + I ω 6E (6) 4

Exercise 2.2 This exercise focuses on deriving the mapping between the generalized velocities q and the end-effector twist I w E, namely the basic or geometric Jacobian I J e0 = [ IJ T P IJ T R] T. To this end, you should derive the translational and rotational Jacobians of the end-effector, respectively I J P and I J R. To do this, you can start from the derivation you found in exercise 1. The Jacobians should depend on the minimal coordinates q only. Remember that Jacobians map joint space generalized velocities to operational space generalized velocities: Please implement the following two functions: Iv IE = I J P (q) q (7) Iω IE = I J R (q) q (8) 1 function J P = jointtoposjac(q) 2 % Input: vector of generalized coordinates (joint angles) 3 % Output: Jacobian of the end effector translation which maps joint 4 % velocities to end effector linear velocities in I frame. 5 6 % Compute the translational jacobian. 7 J P =... ; 8 9 end 10 11 function J R = jointtorotjac(q) 12 % Input: vector of generalized coordinates (joint angles) 13 % Output: Jacobian of the end effector orientation which maps joint 14 % velocities to end effector angular velocities in I frame. 15 16 % Compute the rotational jacobian. 17 J R =... ; 18 19 end Solution 2.2 The translation and rotation Jacobians can be evaluated starting from the results that were obtained in the previous exercises. By combining the analytical expressions of the linear and angular end-effector velocities, one has: Iv IE = I v 01 + I v 12 + + I v 56 + I v 6E = I ω 1 I r 12 + I ω 2 I r 23 + + I ω 5 I r 56 + I ω E I r 6E = I ω 1 ( I r I2 I r I1 ) + I ω 2 ( I r I3 I r I2 ) + + I ω 5 ( I r I6 I r I5 ) = ( I ω 0 + I ω 01 ) ( I r I2 I r I1 ) + ( I ω 1 + I ω 12 ) ( I r I3 I r I2 ) +... + ( I ω 5 + I ω 56 ) ( I r IE I r I6 ) (9) Since the joints are of the revolute type, the relative motion between frames k 1 and k will be defined by I ω k 1,k = I n k θk, where I n k is a vector expressed in I frame which defines the current rotation direction of joint k and θ is the rate of change in the angular position of joint k. Recalling that the composition rule of angular velocities is: Iω k = I ω k 1 + I ω k 1,k, (10) 5

one has: Iv IE = ( I ω 0 + I ω 01 ) ( I r I2 I r I1 ) + ( I ω 1 + I ω 12 ) ( I r I3 I r I2 ) +... + ( I ω 5 + I ω 56 ) ( I r IE I r I6 ) = ( I n 1 θ1 ) ( I r I2 I r I1 ) + ( I n 1 θ1 + I n 2 θ2 ) ( I r I3 I r I2 ) +... + ( I n 1 θ1 + + I n 6 θ6 ) ( I r IE I r I6 ) Expanding and reordering the terms in the last equation, one has Iv IE = I n 1 θ1 ( I r IE I r I1 ) + I n 2 θ2 ( I r IE I r I2 ) +... + I n 6 θ6 ( I r IE I r I6 ), which, rewritten in matrix from, gives Iv IE = [ In 1 ( I r IE I r I1 )... In 6 ( I r IE I r I6 ) ] θ 1. θ 6 = I J P (q) q, (11) (12) (13) where I J P (q) is the translation Jacobian matrix that projects a vector from the joint velocity space to the cartesian linear velocity space. Using the results obtained by solving Exercise 1, and taking into account that I ω I0 and I ω 6E are both equal to zero, one has Iω IE = I ω 01 + I ω 12 + + I ω 56 = I n 1 θ1 + I n 2 θ2 + + I n 6 θ6 = [ In 1 I n 2... In 6 ] q = I J R (q) q, (14) where J R (q) is the rotation Jacobian matrix that projects a vector in the joint velocity space to the Cartesian angular velocity space. 1 function J P = jointtoposjac(q) 2 % Input: vector of generalized coordinates (joint angles) 3 % Output: Jacobian of the end effector orientation which maps joint 4 % velocities to end effector linear velocities in I frame. 5 6 % Compute the relative homogeneous transformation matrices. 7 T I0 = gettransformi0(); 8 T 01 = jointtotransform01(q(1)); 9 T 12 = jointtotransform12(q(2)); 10 T 23 = jointtotransform23(q(3)); 11 T 34 = jointtotransform34(q(4)); 12 T 45 = jointtotransform45(q(5)); 13 T 56 = jointtotransform56(q(6)); 14 15 % Compute the homogeneous transformation matrices from frame k to the 16 % inertial frame I. 6

17 T I1 = T I0*T 01; 18 T I2 = T I1*T 12; 19 T I3 = T I2*T 23; 20 T I4 = T I3*T 34; 21 T I5 = T I4*T 45; 22 T I6 = T I5*T 56; 23 24 % Extract the rotation matrices from each homogeneous transformation 25 % matrix. 26 R I1 = T I1(1:3,1:3); 27 R I2 = T I2(1:3,1:3); 28 R I3 = T I3(1:3,1:3); 29 R I4 = T I4(1:3,1:3); 30 R I5 = T I5(1:3,1:3); 31 R I6 = T I6(1:3,1:3); 32 33 % Extract the position vectors from each homogeneous transformation 34 % matrix. 35 r I I1 = T I1(1:3,4); 36 r I I2 = T I2(1:3,4); 37 r I I3 = T I3(1:3,4); 38 r I I4 = T I4(1:3,4); 39 r I I5 = T I5(1:3,4); 40 r I I6 = T I6(1:3,4); 41 42 % Define the unit vectors around which each link rotates in the... precedent 43 % coordinate frame. 44 n 1 = [0 0 1]'; 45 n 2 = [0 1 0]'; 46 n 3 = [0 1 0]'; 47 n 4 = [1 0 0]'; 48 n 5 = [0 1 0]'; 49 n 6 = [1 0 0]'; 50 51 % Compute the end effector position vector. 52 r I IE = jointtoposition(q); 53 54 % Compute the translational jacobian. 55 J P = [ cross(r I1*n 1, r I IE r I I1)... 56 cross(r I2*n 2, r I IE r I I2)... 57 cross(r I3*n 3, r I IE r I I3)... 58 cross(r I4*n 4, r I IE r I I4)... 59 cross(r I5*n 5, r I IE r I I5)... 60 cross(r I6*n 6, r I IE r I I6)... 61 ]; 62 63 end 64 65 66 function J R = jointtorotjac(q) 67 % Input: vector of generalized coordinates (joint angles) 68 % Output: Jacobian of the end effector orientation which maps joint 69 % velocities to end effector angular velocities in I frame. 70 71 % Compute the relative homogeneous transformation matrices. 72 T I0 = gettransformi0(); 73 T 01 = jointtotransform01(q(1)); 74 T 12 = jointtotransform12(q(2)); 75 T 23 = jointtotransform23(q(3)); 76 T 34 = jointtotransform34(q(4)); 77 T 45 = jointtotransform45(q(5)); 78 T 56 = jointtotransform56(q(6)); 79 80 % Compute the homogeneous transformation matrices from frame k to the 81 % inertial frame I. 82 T I1 = T I0*T 01; 7

83 T I2 = T I1*T 12; 84 T I3 = T I2*T 23; 85 T I4 = T I3*T 34; 86 T I5 = T I4*T 45; 87 T I6 = T I5*T 56; 88 89 % Extract the rotation matrices from each homogeneous transformation 90 % matrix. 91 R I1 = T I1(1:3,1:3); 92 R I2 = T I2(1:3,1:3); 93 R I3 = T I3(1:3,1:3); 94 R I4 = T I4(1:3,1:3); 95 R I5 = T I5(1:3,1:3); 96 R I6 = T I6(1:3,1:3); 97 98 % Define the unit vectors around which each link rotates in the... precedent 99 % coordinate frame. 100 n 1 = [0 0 1]'; 101 n 2 = [0 1 0]'; 102 n 3 = [0 1 0]'; 103 n 4 = [1 0 0]'; 104 n 5 = [0 1 0]'; 105 n 6 = [1 0 0]'; 106 107 % Compute the rotational jacobian. 108 J R = [ R I1*n 1... 109 R I2*n 2... 110 R I3*n 3... 111 R I4*n 4... 112 R I5*n 5... 113 R I6*n 6... 114 ]; 115 116 end 8