Introduction to Intelligent Robotics
Total Page:16
File Type:pdf, Size:1020Kb
Introduction to Intelligent Robotics Herman Bruyninckx and Joris De Schutter Katholieke Universiteit Leuven Departement Werktuigkunde Notes for the “Robotics” course (HB46) http://www.mech.kuleuven.ac.be/~bruyninc/hb46/ The dream of researchers in robotics is to create the ultimate human-like robot. Irrespective of whether they admit it or not, and irrespective of whatever moral implications and complications this might bring. But. this ultimate robot will not be there tomorrow! However, all of its basic building blocks are there already: mechan- ical skeletons, motors and sensors, computer brains, reasoning and control algorithms, . All of them have reached a state from which researchers all over the world can start constructing the “DNA” of the humanoid robot. All we need is time and a lot of effort to make it grow and reach its full potential. This course gives students the opportunity to discover this robot DNA, and meet the embryos it has already created. But be warned: many regions in the robot’s double helix are still under construction and the road is heavy. Have a nice trip! 7th edition—1 October 2001 c Copyright 1995–2001 H. Bruyninckx ° Contents 1 Introduction 1 5.4 Equivalent axis and equivalent angle of 1.1 When was the robot born? . 1 rotation .................. 69 1.2 Whatisrobotics?............. 2 5.5 Unit quaternions . 72 1.3 Where is the intelligent robot? . 4 1.4 What kind of robots? . 4 6 Pose coordinates 78 1.5 Conventions and notations . 7 6.1 Introduction................ 78 2 Model-based uncertainty 11 6.2 Homogeneous transform . 78 2.1 Introduction................ 11 6.3 Finite displacement twist . 81 2.2 Knowledge representation . 12 6.4 Time derivative of pose—Derivative of 2.3 Sources of uncertainty . 13 homogeneous transform . 81 2.4 Information . 14 2.5 Bayesian probability theory . 20 6.5 Time derivative of pose—Twists . 82 6.6 Representation transformation . 86 3 Geometry of motion 27 6.7 Second order time derivative of pose— 3.1 Introduction................ 27 Acceleration . 90 3.2 Rigid body motion . 27 3.3 SE(3): the Lie group of displacements . 28 7 Serial manipulator kinematics 94 3.4 se(3): the Lie algebra of velocities . 30 3.5 Exp and log: from se(3) to SE(3) and back 33 7.1 Introduction................ 94 3.6 SO(3) and so(3) . 34 7.2 Serial robot designs . 95 3.7 SE(2) and se(2) . 34 7.3 Workspace................. 97 3.8 Velocity and acceleration vector fields . 34 7.4 Link frame conventions . 98 3.9 Twists and wrenches . 35 7.5 321 kinematic structure . 100 3.10 Constrained rigid body . 38 7.6 Forward position kinematics . 101 4 Screws: twists and wrenches 40 7.7 Accuracy, repeatability, and calibration 104 4.1 Introduction................ 40 7.8 Forward velocity kinematics . 105 4.2 Points ................... 40 7.9 Inverse position kinematics . 109 4.3 Direction vectors . 41 4.4 Lines–Planes . 42 7.10 Inverse velocity kinematics . 112 4.5 Screws . 46 7.11 Inverse force kinematics . 113 7.12 Forward force kinematics . 114 5 Orientation coordinates 53 7.13 Singularities . 115 5.1 Introduction................ 53 5.2 Rotation matrix . 53 7.14 Redundancies . 118 5.3 Euler angles . 61 7.15 Constrained manipulator . 121 i 8 Parallel manipulator kinematics 127 10.9 Analytical form of serial chain dynamics 172 8.1 Introduction. 127 10.10Euler-Lagrange approach . 173 8.2 Parallel robot designs . 129 10.11Newton-Euler vs. Euler-Lagrange . 175 8.3 Coordinate conventions and transforma- tions.................... 130 11 Motion planning 178 8.4 321 kinematic structure . 131 11.1 Introduction . 178 8.5 Inverse position kinematics . 132 11.2 Major trade-offs in planning . 179 8.6 Forward force kinematics . 133 11.3 Simple interpolation . 182 8.7 Inverse velocity kinematics . 136 11.4 Paths with geometric constraints— 8.8 Forward position kinematics . 137 Potential fields . 187 8.9 Forward velocity kinematics . 141 11.5 Optimization of the timing along a given 8.10 Singularities . 142 path .................... 187 8.11 Redundancy . 143 11.6 Smooth paths . 188 11.7 Mobile robot path planning . 188 9 Mobile robot kinematics 147 11.8 Configuration space . 191 9.1 Introduction. 147 11.9 Force-controlled motion specification . 195 9.2 Rigid body pose in SE(2) . 149 9.3 Kinematic models . 151 12 Intelligent sensor processing 204 9.4 Forward force kinematics . 153 12.1 Introduction . 204 9.5 Inverse velocity kinematics . 154 12.2 Robotsensors. 205 9.6 Forward velocity kinematics . 155 12.3 State estimation and tracking . 207 9.7 Forward position kinematics . 156 12.4 Map navigation . 215 9.8 Inverse position kinematics . 157 12.5 Map building . 216 9.9 Motion operators . 157 13 Motion and force control 220 10 Dynamics 160 13.1 Control theory basics . 221 10.1 Introduction . 160 13.2 One-dimensional motion control . 223 10.2 Forward and Inverse Dynamics . 161 13.3 Velocity resolved control . 225 10.3 Tree-structure topology . 162 13.4 Acceleration resolved control . 226 10.4 Frames—Coordinates—Transformation . 162 13.5 Active and passive force feedback . 229 10.5 Dynamics of a single rigid body . 165 13.6 Hybrid control . 231 10.6 Mass, acceleration, and force projections 166 13.7 Impedance control . 235 10.7 Link-to-link recursions . 168 10.8 Dynamics of serial arm . 171 Index 239 ii Chapter 1 Introduction A large part of your life, you are moving around and manipulating objects: preparing a meal, typing a text, washing the dishes, building a house, assembling a bicycle, etc. Take a closer look at these actions, and you’ll notice that they require a huge number of skills: recognizing the objects; estimating where they are; discriminating between “obstacles” and the objects you are really interested in; planning what to do and how to do it; moving arms, hands, and fingers to the right places and in the correct way in order to bring the objects where you want them; in the meantime continuously adapting the motions to inputs from all of your senses (vision, touch, and hearing being the most relevant for manipulation tasks). You seldom pause to think about the utmost complexity of these “automatically” executed actions. Indeed, none of these actions is easy to automate. This text will teach why. It covers the fundamentals of how people have tried to reach this ultimate goal of the “ artificially intelligent machine”: the robot. The text attacks the problem from both the engineering side of the problem (i.e., those things for which engineers have come up with solutions that basically rely on the application of the laws of physics or the theorems of mathematics) and the artificial intelligence side (where human behaviour has been the major source of inspiration). The real breakthrough of “intelligent” robots will most probably only be achieved if the engineering and AI sides can meet and join their forces. Hence, the major goal of this text is to fill the gap between both approaches. Students with an engineering background will learn what “information” means, and “uncertainty,” and “reasoning;” other students will learn the principles of how machines move and how sensors make models of the real world. 1.1 When was the robot born? For economic or scientific purposes—or just for fun—mankind has, for centuries already, tried to make machines autonomously perform manipulative actions not unlike the ones mentioned in the previous paragraph, and to mimic the human behaviour as closely as possible. However, only since the advent of the hydraulic and electric motors, and especially of the electronic computer, this automation of human abilities has become realistically feasible. Hence, a whole new science of making “mechanical slaves” has come into existence. Because man’s imagination is always decades ahead of his capabilities, this science got its name long before it really became a scientific discipline worth the name: the robot appears on stage (literally) for the first time (1921) in the theatre play R.U.R. (Rosum’s Universal Robots) by the Czech writer Karel Capek,ˇ [2]. The Czech word robota means “regular forced labor of serfs—poor peasants on the land of their lords in a feudal society.”1 The word “Rosum” does not only represent the name of a person, but it also means “reason” in Czech as well. So, already in its 1Source: Czech Society For Cybernetics and Informatics, July 1994. 1 first confrontation with the world, the robot shows both sides of machine intelligence: cheap and versatile labour, but also potential misuse and ethical problems. It’s interesting to note that R.U.R.’s robots are the product of genetic engineering rather than mechatronic engineering: the robots are created from human genes from which all emotional factors have been removed (or rather, their creators were convinced they removed them all. ). Outside of the theatre, real industrial robots were developed in the fifties and sixties; the designs that populate most of the automobile assembly plants were invented in the late sixties. The major developments took place in the American car industry (especially General Motors), and in the nuclear industry. The real industrial robot looks quite different from the robot encountered in science fiction films—quite a disappointment in fact. However, recently there is a growing interest for developing humanoid 2 robots, especially in Japan. For example, after ten years of research, Honda Corporation in 1997 presented its first two-legged (“bi-ped”) walking robot, which looks very much like a human in a space suit.3 This robot comes closer to our intuitive notion of a robot, and that’s exactly the purpose of this (almost exclusively Japanese) research: make the machine look and act like a human, in order to decrease the threshold for humans to use robots.