Robot Control and Programming: Class Notes Dr
Total Page:16
File Type:pdf, Size:1020Kb
NAVARRA UNIVERSITY UPPER ENGINEERING SCHOOL San Sebastian´ Robot Control and Programming: Class notes Dr. Emilio Jose´ Sanchez´ Tapia August, 2010 Servicio de Publicaciones de la Universidad de Navarra 987‐84‐8081‐293‐1 ii Viaje a ’Agra de Cimientos’ Era yo todav´ıa un estudiante de doctorado cuando cayo´ en mis manos una tesis de la cual me llamo´ especialmente la atencion´ su cap´ıtulo de agradecimientos. Bueno, realmente la tesis no contaba con un cap´ıtulo de ’agradecimientos’ sino mas´ bien con un cap´ıtulo alternativo titulado ’viaje a Agra de Cimientos’. En dicho capitulo, el ahora ya doctor redacto´ un pequeno˜ cuento epico´ inventado por el´ mismo. Esta pequena˜ historia relataba las aventuras de un caballero, al mas´ puro estilo ’Tolkiano’, que cabalgaba en busca de un pueblo recondito.´ Ya os podeis´ imaginar que dicho caballero, no era otro sino el´ mismo, y que su viaje era mas´ bien una odisea en la cual tuvo que superar mil y una pruebas hasta conseguir su objetivo, llegar a Agra de Cimientos (terminar su tesis). Solo´ deciros que para cada una de esas pruebas tuvo la suerte de encontrar a una mano amiga que le ayudara. En mi caso, no voy a presentarte una tesis, sino los apuntes de la asignatura ”Robot Control and Programming´´ que se imparte en ingles.´ Aunque yo no tengo tanta imaginacion´ como la de aquel doctorando para poder contaros una historia, s´ı que he tenido la suerte de encontrar a muchas personas que me han ayudado en mi viaje hacia ’Agra de Cimientos’. Y eso es, amigo lector, al abrir estas notas de clase vas a ser testigo del final de un viaje que he realizado de la mano de mucha gente que de alguna forma u otra han contribuido en su mejora. Por ello estoy profundamente agradecido. Me gustar´ıa citar a cada una de las personas que han colaborado en la redaccion´ del texto, pero por falta de espacio me resulta imposible. No obstante, citare´ a algunos de ellos y seguro que todav´ıa me seguire´ olvidando de los mas´ importantes. As´ı que env´ıo un fuerte abrazo a Inaki˜ D´ıaz, Tim Smithers, Arthur Siro, Luis Zaldua,´ Jeff Diamond, Javi Mart´ın, Joan Savall, Jose Luis Olazagoitia, Janelcy Alferes, Belen´ Gisbert, Marc Oakley, Joaqu´ın Prada y a todos los alumnos que tienen paciencia de trabajar con estos apuntes. Solo´ me queda animaros a que los leais´ con carino˜ y me comuniqueis´ cualquier errata y metedura de pata para no dar mas´ la lata. c Emilio Jose´ Sanchez,´ Donostia-San Sebastian,´ 26 de junio de 2009 iii iv Contents I Introduction to Robotics 1 1 Introduction 3 1.1 Introduction . 3 1.2 A Little about the History . 3 1.3 The Technological Roots of Robotics . 5 1.4 First Approach . 6 1.4.1 Science Fiction Robots . 7 1.4.2 Toy Robots . 7 1.4.3 Real Robots . 8 1.5 Basic Terminology in Robotics . 15 1.5.1 Kinematic Chain . 15 1.5.2 Mechanism/Manipulator . 16 1.5.3 Degree of Freedom (DoF) . 17 1.5.4 End Point . 17 1.5.5 Cartesian Space vs. Joint Space . 18 1.5.6 Workspace . 18 1.5.7 Accuracy, Precision, Repeatability, Resolution . 19 1.6 Some Things to Think About . 21 2 Introduction to Industrial Robotics 23 2.1 Some Definitions of Industrial Robots . 23 v vi CONTENTS 2.1.1 Robotics Industry Association (RIA)’s Industrial Robot definition . 23 2.1.2 French Standards Association’s Industrial Robot definition . 23 2.1.3 International Federation of Robotics (IFR)’s Industrial Robot defini- tion . 24 2.2 Robot generations . 24 2.3 Industrial Applications . 25 2.3.1 Welding . 28 2.3.2 Surface Treatment and Painting/Spraying . 28 2.3.3 Cutting/Machining . 29 2.3.4 Assembly . 29 2.3.5 Disassembly . 30 2.3.6 Machine Tending/Handling . 30 2.3.7 Packaging/Palletizing . 30 II Industrial Robotics 31 3 Industrial Robot Programming 33 3.1 Introduction . 33 3.2 Levels of Robot Programming . 35 3.3 Robot Programming Methods . 36 3.3.1 On-line Programming Methods . 37 3.3.2 Off-line Programming Methods . 40 3.3.3 Robot Programming Architecture . 41 3.4 Examples of Robot Programming Languages . 41 3.5 Robot programming Language Architecture . 42 3.6 Robot Program Development Process: the six steps . 43 3.6.1 Step 1: Task Analysis . 44 3.6.2 Step 2: Identify Placements for Pe .................... 46 3.6.3 Step 3: Identify Subroutines . 48 3.6.4 Step 4: Robot Programming and Documentation . 50 CONTENTS vii 3.6.5 Step 5: Program Testing . 50 3.6.6 Step 6: Test the program on the real robot. 50 3.7 Some Things to Think About . 51 4 Robot Geometry 53 4.1 Dimensions and Degrees of Freedom (DoF) . 53 4.2 Types of Joints . 54 4.3 The Geometry of Robot Manipulators . 58 4.3.1 Serial Geometries . 58 4.3.2 Parallel Geometries . 63 4.3.3 Wrists . 66 4.3.4 Some Things to Think About . 69 5 Basic Components of Robots 71 5.1 Introduction . 71 5.2 Links . 71 5.3 Actuators and Motors . 73 5.3.1 Pneumatic Actuators . 73 5.3.2 Hydraulic Actuators . 74 5.3.3 Electric Actuators . 74 5.4 Reduction mechanisms . 83 5.4.1 Harmonic-Drive . 84 5.4.2 Cyclo-Drive . 85 5.4.3 Other reduction and Transmission mechanisms . 86 5.5 Sensors . 86 5.5.1 Internal Sensors . 90 5.5.2 External Sensors . 99 5.6 End-Effectors and Terminal Devices . 101 5.7 Some Things to Think About . 102 viii CONTENTS III Robot Mathematical Modelling and Control 103 6 Coordinate frames and homogeneous transformation 105 6.1 Introduction . 105 6.2 The Representation of Position in 3D Space . 106 6.3 The Representation of Orientation in Space . 108 6.3.1 Rotation Matrices . 108 6.3.2 Properties of the Rotation Matrix . 110 6.3.3 Basic 3D rotation matrices . 111 6.3.4 The Composition of Basic Rotation Matrices . 113 6.3.5 Formulation Singularity in Euler Angles . 114 6.3.6 Rotation Axis- Rotation Angle Representation . 116 6.3.7 Quaternions or Euler Parameters . 116 6.4 Homogeneous Coordinates . 117 6.4.1 Position and Orientation in Space . 117 6.4.2 Homogeneous Coordinates . 118 6.4.3 Homogeneous Transformation . 120 6.4.4 Inverse Homogeneous Transformation Matrix . 122 6.4.5 Basic Translation Homogeneous Transformation Matrix . 122 6.4.6 Basic Rotation Homogeneous Transformation Matrix . 125 6.4.7 Composition of Translation and Rotation Matrices . 128 6.4.8 Composition of Homogeneous Transformation Matrices . 131 7 Kinematics of Manipulators 137 7.1 Introduction . 137 7.2 Forward and Inverse Kinematics . 137 7.3 Geometric Parametres of Robotic Mechanisms . 138 7.3.1 Link Parameters . 138 7.3.2 Joint Parameters . 140 7.4 Denavit and Hartenberg method . 141 CONTENTS ix 7.5 Forward Kinematics Examples . 143 7.6 Inverse Kinematics . 156 7.6.1 Multiple Solutions . 157 7.6.2 Inverse Kinematics of a Serial Robot . 158 8 The Jacobian Matrix 169 8.1 Calculating the Jacobian Matrix . 170 8.2 Speed Propagation Method to Compute the Jacobian Matrix . 173 8.3 Static of Robotic Manipulators . 173 8.4 Force/Torque Propagation Method to Compute the Jacobian Matrix . 175 8.5 Singularities and Singular Configurations . 176 9 Path planning 179 9.1 Introduction . 179 9.2 Types of Trajectories in Kinematic Control . 184 9.3 Trajectory interpolation in joint-space . ..