Navigation

  • Page 1

    NAVARRA UNIVERSITYUPPER ENGINEERING SCHOOLSan Sebasti ´anRobot Control and Programming:Class notesDr. Emilio Jos´e S ´anchez TapiaAugust, 2010

  • Page 2

                           Servicio de Publicaciones de la Universidad de Navarra 987‐84‐8081‐293‐1 

  • Page 3

    ii

  • Page 4

    Viaje a ’Agra de Cimientos’Era yo todav´ıa un estudiante de doctorado cuando cay ´o en mis manos una tesis dela cual me llam ´o especialmente la atenci ´on su cap´ıtulo de agradecimientos. Bueno,realmente la tesis no contaba con un cap´ıtulo de ’agradecimientos’ sino m ´as bien ...

  • Page 5

    iv

  • Page 6

    ContentsIIntroduction to Robotics11Introduction31.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.2A Little about the History . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31.3The Technological Roots of Robotics . . . . . . . . . . . . . . . . ...

  • Page 7

    viCONTENTS2.1.1Robotics Industry Association (RIA)’s Industrial Robot definition . . 232.1.2French Standards Association’s Industrial Robot definition . . . . . 232.1.3International Federation of Robotics (IFR)’s Industrial Robot defini-tion . . . . . . . . . . . . . . . . . . . . . . . ...

  • Page 8

    CONTENTSvii3.6.5Step 5: Program Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 503.6.6Step 6: Test the program on the real robot.. . . . . . . . . . . . . . 503.7Some Things to Think About . . . . . . . . . . . . . . . . . . . . . . . . . . . 514Robot Geometry534.1Dimensions and Degr...

  • Page 9

    viiiCONTENTSIIIRobot Mathematical Modelling and Control1036Coordinate frames and homogeneous transformation1056.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.2The Representation of Position in 3D Space. . . . . . . . . . . . . . . . . . 1066.3The Rep...

  • Page 10

    CONTENTSix7.5Forward Kinematics Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 1437.6Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1567.6.1Multiple Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1577.6.2Inverse Kinematics o...

  • Page 11

    xCONTENTS10.2.5 Speed Sensing and Control of a Joint System . . . . . . . . . . . . . 20710.2.6 Feedforward and Feedback Compensations . . . . . . . . . . . . . . 20810.3 Computed Torque Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 21110.3.1 Linear Dynamic Model of n-DoF Joint ...

  • Page 12

    CONTENTSxiBMobile Robot Samples309B.1Microbots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309B.2Legged Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309B.2.1AIBO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

  • Page 13

    xiiCONTENTS

  • Page 14

    List of Figures1.1A representation of a Rossum’s Universal Robot. . . . . . . . . . . . . . . .41.2First teleoperated device. It was designed for radioactive material handling.61.3Samples of Science Fiction Robots: HAL, R2D2, C3PO, T1000 (Terminator).71.4Samples of Toy Robots: Bender, R2D2. . ....

  • Page 15

    xivLIST OF FIGURES1.18 Hybrid mechanism/manipulator. . . . . . . . . . . . . . . . . . . . . . . . . 171.19 A manipulator and the human body analogy (left); squematic diagramof an arm (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.20 Accuracy versus precision. . ...

  • Page 16

    LIST OF FIGURESxv4.5Cylindrical robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.6Spherical robot.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.7Anthropomorphic robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.8Scara rob...

  • Page 17

    xviLIST OF FIGURES5.14 Robotic redutor mechanism simulation. . . . . . . . . . . . . . . . . . . . . 845.15 Components of a Harmonic-Drive. . . . . . . . . . . . . . . . . . . . . . . . . 855.16 Harmonic-drive working sequence. . . . . . . . . . . . . . . . . . . . . . . . 855.17 Schematic of a C...

  • Page 18

    LIST OF FIGURESxvii6.8Rotation around ˆyA axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.9Rotation around ˆzA axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.10 Rotation Axis- Rotation AngleRepresentation of orientation. . . . . . . . . . 1166.11 The r...

  • Page 19

    xviiiLIST OF FIGURES7.17 Example 1: Kinematic decoupling of a 5 DoF anthropomorphical robot. . . 1607.18 Example 1: one solution for the inverse kinematics of an anthropomorphicpositioner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1627.19 All inverse kinematic so...

  • Page 20

    LIST OF FIGURESxix10.3 Position and Force control loops.. . . . . . . . . . . . . . . . . . . . . . . . 19810.4 1-DoF Proportional Error position control. . . . . . . . . . . . . . . . . . . . 20110.5 Step response types of systems: ω2i > 0 → overdamped system, ω2i = 0 →critically damped...

  • Page 21

    xxLIST OF FIGURESiii.1Peg-in-hole task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245iii.22-DoF manipulator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246iii.33-DoF manipulator with multiple D-H solutions. . . . . . . . . . . . . . . . 247iii.4PUMA ...

  • Page 22

    LIST OF FIGURESxxiiv.2RPR manipulator.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272iv.3Planar arm with two joints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273iv.4SCARA robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273iv.5D-H...

  • Page 23

    xxiiLIST OF FIGURESB.2AIBO (SONY): http://www.sony.com.au/aibo . . . . . . . . . . . . . . . . . 309B.3SDR 3x (SONY): http://au.playstation.com/technology/sonyrobot.jhtml . 310B.4SDR 4x (SONY): http://au.playstation.com/technology/sonyrobot.jhtml . 310B.5ASIMO (HONDA): http://world.honda.com/ASIM...

  • Page 24

    List of Tables1.1Mechanical features of two PHANToM haptic devices.. . . . . . . . . . . . 143.1Computer programming vs. robot programming. . . . . . . . . . . . . . . . 343.2Specification of the positions needed in the program. . . . . . . . . . . . . . 464.1Comparison between serial and parell...

  • Page 25

    xxivLIST OF TABLESiii.1D-H table of an unknown robot. . . . . . . . . . . . . . . . . . . . . . . . . . 247

  • Page 26

    NotationCoorditane Systems{0}, fixed universal coordinated system, used by default.{e}, coordinate system attached to pe (Robot’s end-point).{i}, coordinate system attached to joint i.{1. . .n}, coordinates system attached to joint from 1to n.[ˆx0, ˆy0, ˆz0], axis of the coordinate system {...

  • Page 27

    xxviLIST OF TABLESRotation Matrices0pe, the vector pe is referenced to the system {0}. If leading superscript is missing, this isthe reference system by default.epe, the vector pe is referenced to the system {e}.ipe, the vector pe is referenced to the system {i}.0Re, the rotation matrix of the sy...

  • Page 28

    LIST OF TABLESxxviiEuler Anglesψe, orientation of the end point of the robot using Euler Angles.ψe =ψ1eψ2eψ3eIf roll, pitch and yaw angles are used, then. . .ψe =ψ1eψ2eψ3e =ψxeψyeψze =ψyawψpitchψrollBφ, the matriz that relates angula...

  • Page 29

    xxviiiLIST OF TABLESQuaternion (Euler Parameters)[e0, e1,e2, e3], Euler Parameters.e0 = cos(ϕ2 )e1 = ux sin(ϕ2 )e2 = uy sin(ϕ2 )e3 = uz sin(ϕ2 )e, the vector composed of e0, e1,e2, e3:e =e1e2e3Bq, the matrix that relates angular velocity with respect to the time-derivative of Eule...

  • Page 30

    LIST OF TABLESxxix0Te =0Re3x30pe3x10001This rule is always applied when a vector is rotated and translated using homogeneousvectors:0p4De=0Teep4DeBasic transformations:T rans (p0e), Translation around p0e. The homogeneus transformation that involves it is:T rans (p0e) =100010001p0e000...

  • Page 31

    xxxLIST OF TABLESq = q1 q2 . . .qnTθi, joint space coordinate (rotating DoF).di, joint space coordinate (translating DoF).pe, (lowercase) position of the end point of the robot:pe = pxe pye pzeTPe, (uppercase) position and orientation of the end point of the robot and in the case ofusing Euler A...

  • Page 32

    LIST OF TABLESxxxiVe =˙pxe˙pye˙pze ωxe ωye ωzeT˙ve, translational acceleration of robot’s end-point.˙ωe, angular acceleration of robot’s end-point.Forward and Inverse Kinematics (Position)f kin, Forward Kinematics.ikin, Inverse Kinematics.Denavit-Hartenberg parametersai−1, the leng...

  • Page 33

    xxxiiLIST OF TABLESJacobian and SingularitiesJq, jacobian of a serial manipulator or direct jacobian matrix (Jq = Identityin case ofparellel robots).Jx, jacobian of a parallel manipulator or inverse jacobian matrix (Jx = Identityin case ofserial robots).The jacobian relationships are:JxVe = Jq ˙...

  • Page 34

    LIST OF TABLESxxxiiim, mass.b, damper.k, stiffness.K, potential energy.U , kinetic energy.L = K − U , Lagrange function.Dynamics in joint-spaceMq(q), the actual robot mass matrix (nxn).Vcorq (q, ˙q), the actual robot coriolis force(nx1).Vcenq (q, ˙q), the actual robot centrifugal force (nx1)....

  • Page 35

    xxxivLIST OF TABLEStIi , tdi , the integral and derivate time constants of a PID controller of the i − thjoint.qrefi , the reference signal for the magnitude qi.qreali , the actual signal for the magnitude qi.qmeasi , the measured signal for the magnitude qi.qerri = qrefi − qmeasi , the error...

  • Page 36

    LIST OF TABLESxxxvv1 input speed in a two-port network.v2, output speed in a two-port network.AnalogyElectrical systemMechanical systemVoltagee1, e2Forcef1, f2Currenti1, i2Velocityv1, v2InductanceLMassmResistanceRDampingbReciprocalcapacitance1CStiffnesskTwo-port Network MatricesZ, impedance matri...

  • Page 37

    xxxviLIST OF TABLES

  • Page 38

    Part IIntroduction to Robotics1

  • Page 39

  • Page 40

    Chapter 1Introduction1.1IntroductionThe word robot represents a very general concept that is hard to define precisely, sincethis word can be used to name a great amount of machines.The aim of this chapter is to give an approximation to the concept of robot. Thusa brief history of robotics, the t...

  • Page 41

    4Chapter 1. IntroductionThe word robot was used for the first time in 1920 in a play entitled R.U.R. (Rosum’sUniversal Robots). This play was written by Karel Capek, a Czech playwright. In theoriginal Czeck, Robota means forced servitude. The name Rossum is an allusion to theCzech word rozum, ...

  • Page 42

    Section 1.3. The Technological Roots of Robotics5robots as intelligent machines that have positronic brains. These positronic brains areprogrammed by humans, who stamp into them the three laws of robotics, namely:First Law A robot must not harm a human being or, through inaction, allow one tocome...

  • Page 43

    6Chapter 1. IntroductionFigure 1.2: First teleoperated device. It was designed for radioactive material handling.Then, in 1956, George C. Devol and Joseph F. Engelberger founded ConsolidatedControls Corporation, which produced the first industrial robot to be installed in aGeneral Motors factory...

  • Page 44

    Section 1.4. First Approach7. . . a computer-controlled mechanical device that can be programmed to doa variety of tasks without human supervision.In this first approach, we will divide robots into three different categories: ScienceFiction Robots, Toy Robots, and Real Robots.1.4.1Science Fictio...

  • Page 45

    8Chapter 1. IntroductionThen, a question is arisen: when can a toy be thought as a robot? Not all toys thatmove around and make noises are robots. For most people, to be a robot, even a toy one,it is necessary to have arms, maybe legs, a head and eyes. In other words it is necessaryto have a more...

  • Page 46

    Section 1.4. First Approach9industrial robots are typically large powerful machines that can easily seriously injureor kill people if something goes wrong (safety).We now need to go back to our search for the definition of robot. Once again, it alldepends on what you are happy to call a robot. F...

  • Page 47

    10Chapter 1. Introductionhelping the patient move the impaired limb (mechatronic orthosis) or as a part of arehabilitation program for the impaired limb.Figure 1.7: Samples of biomedical robots for planning (left) and performing (right)surgery.Finally, we can also include autonomous wheelchairs i...

  • Page 48

    Section 1.4. First Approach11Figure 1.8: A picture of: Mars PATHFINDER and SOJOUNER on Mars; ROBICEN, aclimbing robot (CEIT), KISMET (MIT).Figure 1.9: Sample of Teleoperation device: SIMANTEL, CEIT.A teleoperated system usually consists of two robots: the Master robot and theSlave robot. The form...

  • Page 49

    12Chapter 1. IntroductionActuatorsEncodersMASTERActuatorsEncodersSensorsSensorsActuationMotor commandMeasurement: encoders and sensorsAction + force feedbackvideo signalControlleraudio signalRemotetaskMental reconstrucion of remote taskSLAVEMeasurement: encoders and sensorsMotor commandFigure 1.1...

  • Page 50

    Section 1.4. First Approach13The vast majority of human-machine interfaces have a unidirectional informationflow. The user receives information through the senses of sight and hearing, and mayinteract with the environment through the use of a peripheral device (e.g. a mouse).This interaction is ...

  • Page 51

    14Chapter 1. Introductionforces/torques on user’s limbs causing the modification of the body position or simplyvarying the stregh of user’s muscles, tendons and joints 5. Thus, kinesthetic hapticdevices enable the user the perception of virtual objects’ stiffeness and weight mainly,causing...

  • Page 52

    Section 1.5. Basic Terminology in Robotics15Figure 1.14: PHANToM haptic devices.ure 1.15). These devices—unlike the previous ones, that only interact with user’s hand—act directly on the concerned complete body limb. These devices are designed primarilyfor rehabilitation tasks in medicine o...

  • Page 53

    16Chapter 1. IntroductionClosed Chain when the last link is connected to the first link.Figure 1.16: Open kinematic chain (left) vs. closed kinematic chain (right).1.5.2Mechanism/ManipulatorA mechanism is a kinematic chain in which one of the links is fixed. This link is thereference for the re...

  • Page 54

    Section 1.5. Basic Terminology in Robotics17Figure 1.18: Hybrid mechanism/manipulator.1.5.3Degree of Freedom (DoF)It is the minimum number of independent coordinates with which we can determinethe arrangement of a mechanism. If serial manipulators are considered, it will corre-spond with the numb...

  • Page 55

    18Chapter 1. IntroductionPe =peψe=positionorientation(1.3)1.5.5Cartesian Space vs. Joint SpaceThe robot’s end-point can be determined by the values of the joint positions of the arm(q1, q2, q3, etc.) and the geometry of the elements of the robot arm that connect each pairof joints. Then we say...

  • Page 56

    Section 1.5. Basic Terminology in Robotics19SHOULDERELBOWWRISTUPDOWNUPDOWNEND POINTRIGHTLEFTWAISTXeLINKJOINTEND-POINTEND-EFFECTORMANIPULATOR/ARMq1q2q3q4q5q60ˆx0ˆzFigure 1.19: A manipulator and the human body analogy (left); squematic diagram ofan arm (right).1.5.7Accuracy, Precision, Repeatabil...

  • Page 57

    20Chapter 1. IntroductionResolution When a continuous signal is digitalizated, it can only reach a set ofpre-established values that depends on the number of bytes of the digital system.The resolution is the minimum value between two valid positions due to thedigitalization process. It depends on...

  • Page 58

    Section 1.6. Some Things to Think About211.6Some Things to Think About1. Identify one or two good examples of science fiction robots, toy robots, and realrobots. Explain for each case why you think it is a good example. And, in the caseof the real robot examples, think about how they are control...

  • Page 59

    22Chapter 1. Introduction

  • Page 60

    Chapter 2Introduction to Industrial Robotics2.1Some Definitions of Industrial Robotshe aim of this chapter is to provide the charateristic concepts and particularities ofrobotics applied to industry.To specify in a bit more detail what kind of robot we will be considering in this course,it is us...

  • Page 61

    24Chapter 2. Introduction to Industrial RoboticsIt then defines an Industrial Robot as follows:”A robot is a manipulator which is reprogrammable, servocontrolled, andversatile that can position and orient pieces and tools and other devices,following variable trajectories.”Comparing these two...

  • Page 62

    Section 2.3. Industrial Applications25Second Generation It acquires limited data from its environment and then makessimple decisions.Third Generation It can be programmed using natural language.But there are more classifications. Lets see the robot generations considered by theFrench Association...

  • Page 63

    26Chapter 2. Introduction to Industrial Robotics38%48%4%2% 4%4%Robots in Spain in 2008Distribution by applicationHandling and machine loading/unloadingWeldingMaterial applyingCutting and machiningAssembling and dis-assemblingOtherFigure 2.1: Robot applications.However, the main applications are w...

  • Page 64

    Section 2.3. Industrial Applications27Agriculture, hunting and forestryMining and quarryFood and drinking proccessingTobacco proccessingTextile products manufacturingSuitcases, wallets, belts and shoesWood and cork proccessingPaper manufacturingPublications, printing and reproductions of recorded...

  • Page 65

    28Chapter 2. Introduction to Industrial Robotics2.3.1WeldingOne of the most common uses for industrial robots is welding. Welding robots have fiveor even six axes, since two or three wrist axes are necessary for proper orientation ofthe welding tool. Welding robots are mostly used in welding car...

  • Page 66

    Section 2.3. Industrial Applications29Figure 2.5: Painting2.3.3Cutting/MachiningCutting can be done by using several technologies such as plasma cutting, water jetcutting, laser cutting, oxycutting. Among the machining processes, we can mentiondrilling, grinding, deburring,. . .Figure 2.6: Cuttin...

  • Page 67

    30Chapter 2. Introduction to Industrial RoboticsIt could be said that assembly is an easy task for humans, but quite complex forrobots. One sample is the peg-in-hole operation. In this case, it is very important to havea good sensor system. The SCARA robots are the most commonly used robots for t...

  • Page 68

    Part IIIndustrial Robotics31

  • Page 69

  • Page 70

    Chapter 3Industrial Robot Programming3.1IntroductionWhen we program, we identify and specify a series of basic actions which, whenexecuted in the specified order, achieve some specific task or realise some specificprocess. So, before we begin to program anything we need to clearly identify the...

  • Page 71

    34Chapter 3. Industrial Robot Programmingthis course, we will consider two types of basic robot actions: on the one hand, somecalculus as the computers; 1) typical calculations as with any computer program, and2) robot specific operations, i.e. individual joint movements. The end-point motion of...

  • Page 72

    Section 3.2. Levels of Robot Programming35the generation of the individual joint movements needed to realize some specified whole-arm motion or some specified end-point motion or action, also needs some kind ofcontrol.3.2Levels of Robot ProgrammingWe can distinguish four different types, or lev...

  • Page 73

    36Chapter 3. Industrial Robot Programmingpickup BLOCK-A by SIDE-A1 and SIDE-A3move BLOCK-A to LOCATION-2pickup BLOCK-B by SIDE-B1 and SIDE-B3putdown BLOCK-B on-top-off BLOCK-Awith SIDE-A5 coplanar-with SIDE-B6 andwith SIDE-A1 coplanar-with SIDE-B1 andwith SIDE-A2 coplanar-with SIDE-B2Here BLOCK-A...

  • Page 74

    Section 3.3. Robot Programming Methods37least, not until the final testing of the program. It involves writing a program using atext-based robot programming language.3.3.1On-line Programming MethodsProgramming by guiding or programming by teaching. This involves physicallyguiding (moving) the ro...

  • Page 75

    38Chapter 3. Industrial Robot Programming• It cannot be used in hazardous situations;• High accuracy and straight-line movements are difficult to achieve, as are any otherkind of geometrically defined trajectory, such as circular arcs, etc.• It is difficult to incorporate external sensor...

  • Page 76

    Section 3.3. Robot Programming Methods39Some teach pendants may also have a Joystick that allows the programmers to movethe robot arm, either in terms of individual joint movements, or in terms of the end-point,P e.The Teach-box typically has a set of buttons and allows particular configurations...

  • Page 77

    40Chapter 3. Industrial Robot Programmingcommand the necessary movement of the end-point. At other times, it is much easier tomove the end-point, Pe, of the robot arm.Although both these methods are still much in use, they both suffer from twoimportant disadvantages:• On-line programming needs ...

  • Page 78

    Section 3.4. Examples of Robot Programming Languages41• The sequence of operations and robot movements can be optimised or easilyimproved, once the basic program has been developed,• Previously developed and tested procedures and subroutines can be re-used,• External sensor data can be inco...

  • Page 79

    42Chapter 3. Industrial Robot Programming– AL, University of Stanford, USA (1974);– AML, IBM (1982);– LM; University of Grenoble (1989);– VAL-II, Univation (1983);– V+, Adept (1989);– RAPID, ABB (1994);– ARLA, ASEA (1979).• Object-Level programming languages:– LAMA, MIT AI Lab (...

  • Page 80

    Section 3.6. Robot Program Development Process: the six steps43program in order to have a graphical representation of how it works. This can be doneby flowcharts. So a flowchart is a collection of symbols, connected by arrows, whichshow the relationshionship among the different commands in the ...

  • Page 81

    44Chapter 3. Industrial Robot ProgrammingDCBAFigure 3.6: A simple assembly task.3.6.1Step 1: Analyze and decompose the task into a series of operationson the objects involvedThe goal of this first step is to analyse and decompose the task into a series of operationson the objects involved, and s...

  • Page 82

    Section 3.6. Robot Program Development Process: the six steps45This, of course, depends upon there being no change to this alignment when Block-B isput on top of Block-A. If this is done slowly, this will probably be the case. But we candefine the sequence of operations by a flowchart:program:d...

  • Page 83

    46Chapter 3. Industrial Robot Programmingproperly considered at this stage of the program development process. Changing the waythe task is to be done later on is always more expensive and more prone to errors.3.6.2Step 2: Identify and specify all the situations needed to program allthe movements ...

  • Page 84

    Section 3.6. Robot Program Development Process: the six steps47DPC0PA1PB2PB1PA0PB0P3P2P1P4P5P7P6P0Figure 3.8: Definition of a simple assembly task.It is a good idea to try to identify and specify situations that can be used to programdifferent robot actions. P6 is an example of this: it is used ...

  • Page 85

    48Chapter 3. Industrial Robot Programming3.6.3Step 3: Identify any types of repeated actions and specify them assubroutines with parameters.Just as in any kind of computer program, if the robot needs to perform the samesequence of movements and actions at different points in a program, it should ...

  • Page 86

    Section 3.6. Robot Program Development Process: the six steps49subroutine:GET-PUTRobot not in Q_initOPEN gripperYesNoNoYesCurr. Sit.=Q_init?GET?PUT?Gripper CLOSED?YesNoNothing in the gripperUnknown actionNoErrorSpeed lowAccuracy highYesMove to Q_getputGET?NoYesOPEN gripperCLOSE gripperMove to Q_g...

  • Page 87

    50Chapter 3. Industrial Robot Programmingperformed.The Move to action is also defined to be a low speed high accuracy movement. Otherlarge motions, to bring Pe to Qinit, for example, can be made with faster lower accuracymovements.This subroutine is not completely defined here, since it also ne...

  • Page 88

    Section 3.7. Some Things to Think About51know a lot about the history and performance of each of the robots you are programming.The less you know about the robots being programmed, the more robots you will needto test the program on.Usually you can divide a group of robots (ten, in this example) ...

  • Page 89

    52Chapter 3. Industrial Robot Programming

  • Page 90

    Chapter 4Robot Geometry4.1Dimensions and Degrees of Freedom (DoF)In this part of the course we will consider the different robot geometries that can beobtained by connecting different numbers of rigid elements with different numbers andtypes of joints. The relationship between the geometry of a r...

  • Page 91

    54Chapter 4. Robot GeometryIn 3D space, we thus need:• 3 coordinates to completely define position, and• 3 coordinates to completely define orientation, giving a total of 6 coordinates intotal.In 2D space, we need two coordinates of position and one of orientation, giving atotal of three in...

  • Page 92

    Section 4.2. Types of Joints55Obstacle. . . to avoid an obstacle in a 2D space. . . to increase workspaceTwo links alingned: a singular configuration. . . to increase workspaceFigure 4.1: Reasons to use extra DoFs or redundant robots.

  • Page 93

    56Chapter 4. Robot Geometry• Linear or displacement DoF, also known as translational or prismatic DoF (P).• Rotational or orientation DoF (R).Linear DoFRotating DoFFigure 4.2: Basic types of DoFs.There are seven different basic types of joint that could be used, at least in principle,to form ...

  • Page 94

    Section 4.2. Types of Joints57Spherical jointScrew jointCardanCylindrical jointPlanar jointRotational jointPrismatic jointFigure 4.3: Types of joints

  • Page 95

    58Chapter 4. Robot Geometry4.3The Geometry of Robot ManipulatorsRobot manipulators are formed from combinations of rigid elements, called links,connected by joints that allow two connected links to move relative to each other inone direction, or possibly more than one direction.By using different...

  • Page 96

    Section 4.3. The Geometry of Robot Manipulators59L 1L3L3L2L 1Figure 4.4: Cartesian robot• High accuracy in linear movements can be obtained.• It has a simple kinematics model.• There are no singular configurations.• Its parameters (stiffness, accuracy, repeatability, etc) are constant wi...

  • Page 97

    60Chapter 4. Robot GeometryL1L1L2aL2bFigure 4.5: Cylindrical robot• It can be programmed and controlled easily if cylindrical coordinates are used.• High accuracy in linear movements can be obtained.• It has a simple kinematics model.• It is suitable when there are no obstacles facing it ...

  • Page 98

    Section 4.3. The Geometry of Robot Manipulators61180L 2aL 2bFigure 4.6: Spherical robot.Advantages:• It can be programmed and controlled easily if spherical coordinates are used.• The workspace is big compared to the workspace of cylindrical and cartesian robots.• It can pick up parts from ...

  • Page 99

    62Chapter 4. Robot Geometry• It has high dexterity and great manoeuvrability. It can access zones behindobstacles.• It can follow complex trajectories.• It covers a large workspace compared to the small volume of this type of robots.• The rotational joints are maintained easily.• It can...

  • Page 100

    Section 4.3. The Geometry of Robot Manipulators63Disadvantages:• It is only suitable for tasks on horizontal surfaces.4.3.2Parallel GeometriesSerial manipulators usually have big workspaces with great dexterity. However, theirload capacity is quite small.To overcome this problem, it is also pos...

  • Page 101

    64Chapter 4. Robot GeometryFor a 3-DoF parallel robot, we could use the geometry shown below.Figure 4.11: Samples of 3-DoF parallel robots: Star Robot (left); Mianouwski’sThese robots have three motorized joints, which are again built as three prismaticjoints. The remaining joints are passive, ...

  • Page 102

    Section 4.3. The Geometry of Robot Manipulators65FeatureParallel robotSerial robotWorkspace↓↑Payload and weight ofthe robot↑↓Price of components↓↑State of artResearchVery developed, many industrialapplicationsAccuracy and repeata-bility↑↓ControlcomplexsimpleApplicationsIncreasingM...

  • Page 103

    66Chapter 4. Robot GeometryThis second one is the most common geometry of hybrid robots. The parallelogramcombination is used to replace the second link in an anthropomorphic robot arm. Thiscombination increases the robustness and the stiffness of the robot without increasingits weight. Thus the ...

  • Page 104

    Section 4.3. The Geometry of Robot Manipulators670ˆx0ˆyABCFigure 4.14: The drilling task needs the placement of robot’s end-effector and orientationas well.The robot will be at the right location only when it manages to place and orient theend-effector (the drill). In previous sections, we se...

  • Page 105

    68Chapter 4. Robot Geometry(roll)(yaw)wzˆwxˆ(pitch)wyˆFigure 4.16: Conventional Aeronautics TerminologyThus we have a Roll-Pitch-Yaw-wrist or RPY-wrist. A simplified representation ofthat wrist is given in figure 4.17:wxˆwzˆexˆezˆR -P -YFigure 4.17: RPY-wrist.In figure 4.18 samples of 3...

  • Page 106

    Section 4.3. The Geometry of Robot Manipulators69not produce a change of position of Pe. That is to say, the rotation and the translationwill not be coupled. In practice, however, this is hard to realize (and expensive). However,other samples of cheaper wrists, of which three axes intersect, can ...

  • Page 107

    70Chapter 4. Robot Geometry

  • Page 108

    Chapter 5Basic Components of Robots5.1IntroductionIn this part of the course we will briefly look at the technology and the basic componentsused in robotic arms, but without going into much detail. As we have seen from ourconsideration of the geometry of robot manipulators, they are formed from ...

  • Page 109

    72Chapter 5. Basic Components of RobotsResolver (Stator/Rotor)Motor statorBrakeHarmonic gearHarmonic gearHarmonic gearHarmonic gearHarmonic gearHarmonic gearHarmonic gearBrakeBrakeBrakeBrakeBrakeResolver (Stator)Resolver (Stator)Resolver Resolver (Stator/Rotor)Resolver (Stator)Resolver (Rotor)Res...

  • Page 110

    Section 5.3. Actuators and Motors73The links of robots are normally made of steel.5.3Actuators and MotorsThere are basically three different kinds of actuators or motors used in robots:Pneumatic, hydraulic, and electric.5.3.1Pneumatic ActuatorsThe pneumatic actuators use compressed air between 5 ...

  • Page 111

    74Chapter 5. Basic Components of RobotsFigure 5.3: Types of pneumatic actuators.Due to their characteristics, pneumatic actuators are often used as drivers for robots’end-effectors.5.3.2Hydraulic ActuatorsThe hydraulic actuators are quite similar to their pneumatic counterparts. However, wecan ...

  • Page 112

    Section 5.3. Actuators and Motors75low. Generally speaking, their output speed is too high compared to the output force (ortorque), which is too low. For that reason, reduction mechanisms are required and, inmany cases, an integral geared speed reducer is incorporated.They can burn up under overl...

  • Page 113

    76Chapter 5. Basic Components of RobotsBut the motor torque can be controlled as well. In this case, we have to control thecurrent of the armature:T = ktorii(5.2)Where Tis the output torque, ktor is the torque-constant of the motor, and ii is thecurrent of the armature.We can also control torque ...

  • Page 114

    Section 5.3. Actuators and Motors77ConditionitranetranPtran = itranetranLinear regionitranetranitran = 0Open0etran0.etran = 0Shortitran0itran0 = 0Table 5.1: The transistor only dissipates power in the linear region.to the actuator. This signal has a constant frequency. Thus, the actuator receives...

  • Page 115

    78Chapter 5. Basic Components of RobotsFigure 5.6: A PFM signal.is a very popular circuit for driving DC motors. Its name is due to the fact that it lookslike the capital letter ’H’ in classic schematics. The great advantage of an H-bridge circuitis that the motor can be driven forward or bac...

  • Page 116

    Section 5.3. Actuators and Motors79nism with power line frequency. So, the speed can be controlled by varying the frequency.Varying the speed by the frequency is not as easy as varying the speed by voltage.The advantages of this type of motor are:• There are no brushes (no-sparks, no-wearing)....

  • Page 117

    80Chapter 5. Basic Components of RobotsFigure 5.8: Full-stepper motor.Figure 5.9: Half-stepper motor.with it. Then, the current is switched from phase 1 to phase 2 and the rotor will move tobe aligned with phase 2, turning one step.But, in some cases, both phases can be energized simultaneously. ...

  • Page 118

    Section 5.3. Actuators and Motors81PM stepper motorVR stepper motorHB stepper motorFigure 5.10: Stepper motor: rotor types.A unipolar stepper motor has one winding, with a centre tap per phase. Sometimesthe unipolar stepper motor is referred to as a ”four-phase motor”, even though itonly has ...

  • Page 119

    82Chapter 5. Basic Components of RobotsDC motorTop coverBottom coverShaftPotentiometerPosition controllerFigure 5.12: A RC servomotor: internal parts (left), external appearance (right)They are very useful in many kinds of small robotics experiments because they aresmall, compact and inexpensive....

  • Page 120

    Section 5.4. Reduction mechanisms83The rotating field is obtained by placing three stator windings that are connected toa special driver. This driver can sense the rotor position and powers the proper windingin order to get a rotating stator magnetic field that must be perpendicular to the roto...

  • Page 121

    84Chapter 5. Basic Components of Robotsforces). This typically means that some kind of reduction mechanism is placed betweenthe motor or actuator and the joint it drives.For robot arms, reduction mechanisms should have special characteristics, since thespeeds are quite high with many peaks of acc...

  • Page 122

    Section 5.4. Reduction mechanisms85wave generatorflexisplinecircularsplineFigure 5.15: Components of a Harmonic-Drive.The number of teeth of the flexispline is two or three less than the teeth of thecircular spline.When the harmonic drive is assembled, the wave generator deforms the flexispline...

  • Page 123

    86Chapter 5. Basic Components of RobotsFigure 5.17: Schematic of a Cyclo-drive.Figure 5.18: Cyclo-drive animation.5.4.3Other reduction and Transmission mechanismsThe next table summarizes the most typical transmission mechanisms we can find. Mostof them can also be used as reduction mechanisms.5...

  • Page 124

    Section 5.5. Sensors87PictureInputOutputNameAdvantagesDisadvantagescircularcirculargears-High torque;-Non-slip;-Low-cost.-Backlash;-Heavy,notsuitable for highspeeds;-Noisy;-Increasedfriction.circularcircularcogged belt-Allowsgreatdistancesbetween axes;-Non-slip;-Low-cost.-Backlash;-Heavy,notsuita...

  • Page 125

    88Chapter 5. Basic Components of RobotsSensitivity Slope of the characteristic curve. If the sensitivity is constant, it is alsoknown as the gain of the sensor (figure 5.19).Sensitivity error The variation of the real slope from the ideal (theoretical) slope.Range The maximum and the minimum val...

  • Page 126

    Section 5.5. Sensors89 y (Measured variable)ideal curveresolutionFigure 5.20: Sensor resolution x (Output voltage) y (Measured variable)ideal curve (zero offset)actual curveoffsetyrealymeasuredlinearizedcurveFigure 5.21: Accuracy, offset and linearity for a given sensor

  • Page 127

    90Chapter 5. Basic Components of RobotsDead zone A band close to zero in which there is no output change even if there ischange in the output value (figure 5.23).Saturation If the measured value travels beyond the sensor ranges, the output will notfollow the changes of the measured values. In th...

  • Page 128

    Section 5.5. Sensors91 y (Measured variable)ideal curve curve with hysteresisFigure 5.22: Sensor hysteresis x (Output voltage) y (Measured variable)saturationsaturationdead zoneFigure 5.23: Dead zone and saturation for a given sensorTime x (Output Voltage)tolerance bandresponse timedecay tim...

  • Page 129

    92Chapter 5. Basic Components of Robots Frequency Sensitivitybandwidthy/ xxy21ΔΔFigure 5.25: Sensor bandwidthPositionanalog• Potentiometer• Resolver• Synchro• Inductosyn• LVDTdigital• OpticalEncoder(incrementala...

  • Page 130

    Section 5.5. Sensors93• Robust.The disadvantages are:• Low precision.• The measurement depends on the temperature (i.e., it is unstable from the thermalpoint of view).5.5.1.2Resolver and SynchroDiagrams of a typical resolver and a typical synchro are shown in the figure below.Both of them ...

  • Page 131

    94Chapter 5. Basic Components of Robots23NFigure 5.27: Scott-T transformer.∫Figure 5.28: Resolver-to-Digital converter.

  • Page 132

    Section 5.5. Sensors95low inertia and good dynamic response. Finally, notice they provide us with an absolutemeasurement.5.5.1.3InductosynThe inductosyn resembles a resolver. In fact, the operation is the same: one windingenergized with a sine wave; there are two windings where two 90o-phase volt...

  • Page 133

    96Chapter 5. Basic Components of Robots• The induced voltage increases in the secondary winding that is nearest to the sliderand decreases in the secondary winding that is furthest.• The result is a differential output voltage which varies linearly with the position ofthe core.The LVDT offers...

  • Page 134

    Section 5.5. Sensors97Figure 5.31: Encoder’s working principleangle of phase displacement (figure 5.32). Each set of slots is called ’channel’. So wedistinguish the outer set (channel A) from the inner set (channel B). This type of encoderis called quadrature encoder. The direction of rota...

  • Page 135

    98Chapter 5. Basic Components of RobotsClockwise sequenceCounterclockwise sequence.........00CHB10110100...CHAClockwise sequenceCHACHBTimeCounterclockwise sequenceCHACHBTimeFigure 5.33: Time diagram of a quadrature encoder.conditioner for the output signal.Absolute EncoderOne of the disadvantages...

  • Page 136

    Section 5.5. Sensors9900001000100110111010111011111101110001000101011101100010001100010º -22.5º - 45º - 67.5º - 90º - 112.5º -135º - 157.5º - 180º - 202.5º -225º - 247.5º -270º - 292.5º - 315º - 337.5ºFigure 5.34: Gray code used in absolute encoders.5.5.1.7TachometerTh...

  • Page 137

    100Chapter 5. Basic Components of Robots– Thermocouple...However, in robotics, the most common classification is based on the architecture:• Complex or multi-value sensors:– multi-axis force sensors,– touch or pressure sensitive arrays,– cameras and vision systems,– laser range find...

  • Page 138

    Section 5.6. End-Effectors and Terminal Devices101Simple sensors are more usually used to provide values in conditional statementsin a program. These are either movement commands or other action commands, whichmight take the following forms:move to CONFIG-1 while SENSOR-1 = 1;}ormove in direction...

  • Page 139

    102Chapter 5. Basic Components of RobotsThese extra end-effector DoFs have the effect of increasing the total number of DoFsof the robot manipulator arm, but they are not usually counted in the total. So, a robotmanipulator with 6 DoFs that is fitted with an end-effector which itself has 2 DoFs ...

  • Page 140

    Part IIIRobot Mathematical Modelling andControl103

  • Page 141

  • Page 142

    Chapter 6Coordinate frames andhomogeneous transformation6.1IntroductionBefore going on to consider robot control, we need to be able to formally describe andmodel the geometry and kinematics (movement) of robot manipulator arms. For this wefirst need some kind of coordinate system.In particular,...

  • Page 143

    106Chapter 6. Coordinate frames and homogeneous transformationxTyTzTxObyObzObxeyezexByBzBx0y0z0xwywzwFigure 6.1: Relationship among different coordinate systems related to robot.6.2The Representation of Position in 3D SpaceTo completely and un...

  • Page 144

    Section 6.2. The Representation of Position in 3D Space107xAzAyAPeA PeyA PezA PexFigure 6.2: Cartesian coordinates of a point.xAzAyAPeA PerA PezA PeFigure 6.3: Cylindrical coordinates of a point.xAzAyAPeA PeR=∥P e∥A PeA PeFigure 6.4: Spherical coordinates o...

  • Page 145

    108Chapter 6. Coordinate frames and homogeneous transformation6.3The Representation of Orientation in SpaceTo be able to define, in a simple way, the orientation of an object, or the end-point ofa robot arm, Pe with respect to some reference system of coordinate axes, we attach anew coordinate r...

  • Page 146

    Section 6.3. The Representation of Orientation in Space109or the system {B}.B Pe =B PexB PeyB Pez = Pe (ˆxB + ˆyB + ˆzB)(6.2)We can relate the two vectors APe and B Pe by:APe =ARBB Pe(6.3)whereARB =ˆxA ˆxBˆxA ˆyBˆxA ˆzBˆyA ˆxBˆyA ˆyBˆyA ˆzBˆzA ˆxBˆzA ˆyBˆzA ...

  • Page 147

    110Chapter 6. Coordinate frames and homogeneous transformationA ˆyB =−10Then, according to equation 6.4, the rotation matrix is:ARB = A ˆxBA ˆyB =0−110Applying equation 6.3, we finally get:AP =ARBB P =0−1102−3=32Having a rotation angle of θ, proves that the general expression for the...

  • Page 148

    Section 6.3. The Representation of Orientation in Space1116.3.3Basic 3D rotation matricesThe principle use of this rotation matrix is in the definition how to represent theorientation of an object (or coordinate system) that is rotated around just one of theaxes of the fixed reference frame, {A...

  • Page 149

    112Chapter 6. Coordinate frames and homogeneous transformationxAzAyAzBxByB22Figure 6.8: Rotation around ˆyA axis.xAzAyAzBxByB33Figure 6.9: Rotation around ˆzA axis.

  • Page 150

    Section 6.3. The Representation of Orientation in Space1136.3.4The Composition of Basic Rotation MatricesWe can combine the three basic rotation matrices defined above [Rot (ˆx, ψ1), Rot (ˆy, ψ2)and Rot (ˆz, ψ3)], to represent any orientation of the coordinate system {B} with respectto the...

  • Page 151

    114Chapter 6. Coordinate frames and homogeneous transformationthe following equations are true:A ˆxB = 1A ˆyB = 1A ˆzB = 1→ normal matrixA ˆxBA ˆyB = 0A ˆxBA ˆzB = 0A ˆzBA ˆyB = 0→ orthogonal matrix→ orthonormal matrix(...

  • Page 152

    Section 6.3. The Representation of Orientation in Space115The inverse problem, that is to say, to obtain the Euler Angles from a given rotationmatrix, requires a little work. Given the rotation matrix of system {B}, in reference to asystem {A}:ARB =r11 r12 r13r21 r22 r23r31 r32 r33(6....

  • Page 153

    116Chapter 6. Coordinate frames and homogeneous transformation6.3.6Rotation Axis- Rotation Angle RepresentationDue to the formulation singularity of the Euler Angles, other representation models aredefined that are based on 4 parameters. The fourth parameter is normally redundant.But when the Eu...

  • Page 154

    Section 6.4. Homogeneous Coordinates117Representation:e0 = cos(ϕ/2)e1 = ux sin(ϕ/2)e2 = uy sin(ϕ/2)e3 = uz sin(ϕ/2)(6.20)Quaternions behave as a vector in the 4D space and have the interesting propertythat:e| =e20 + e21 + e22 + e23 = 1(6.21)Quaternions can also be envisioned as an extension o...

  • Page 155

    118Chapter 6. Coordinate frames and homogeneous transformationxAzAyAzBxByBOBOAA OABA PeB PePeFigure 6.11: The relation between frames {A} and {B} involves both a translation plus arotation.series should be combined, extremely difficult. This problem can be overcome thanksto the...

  • Page 156

    Section 6.4. Homogeneous Coordinates119where whas any arbitrary nonzero value and, in effect, represents a scaling factor of theembedding of the 3D space in the 4D space.For example, a vectorP3De=abc(6.25)can be represented in homogeneous coordinates as a column vector:P4De=...

  • Page 157

    120Chapter 6. Coordinate frames and homogeneous transformationP4De=66123(6.30)where w = 3, etc.In homogeneous coordinates, null vectors are represented as P 4De= 0 0 0 wwithw = 0.The vectors of type abc0Twith a, b, c = 0can be used to represent directions,since they repres...

  • Page 158

    Section 6.4. Homogeneous Coordinates121and this can be used to represent the position and orientation of an object in 3Dspace, with respect to some reference system, or the relationship between two referencesystems, {B} and {A}, for example, in 3D space.If the matrix ATB represents the relationsh...

  • Page 159

    122Chapter 6. Coordinate frames and homogeneous transformation• Construct the homogeneous transformation matrix → ATB =0105−1 00−400120001• Calculate APe = ATBBPe → APe =7−3−116.4.4Inverse Homogeneous Transformation MatrixIn this cas...

  • Page 160

    Section 6.4. Homogeneous Coordinates123which we can write as:APe =ATBB Pe(6.38)where ATB represents a relation between the reference system {B} and the referencesystem {A}.Similarly, a vector Pe transformed by a basic translation matrix ATtransf with respectto reference system {A} will have vecto...

  • Page 161

    124Chapter 6. Coordinate frames and homogeneous transformationxAzAyAzBxByBOBOAA OAB=[ 6−38]PePeB=[−273]PeA=[4411]Figure 6.12: Translation of a frame.xAzAyAOAA OAB=[ 6−38]PePeIA=[10119]PeA=[4411]PeIFigure 6.13: Translation of a position with a fixed frame.

  • Page 162

    Section 6.4. Homogeneous Coordinates125AP Ie =AP IexAP IeyAP Iez1=ATtransfAPe =1000100016−38000144111=101191(6.42)and thus AP Iex = 10, AP Iey = 1, and AP Iez = 19.6.4.6Basic Rotation Homogeneous Tra...

  • Page 163

    126Chapter 6. Coordinate frames and homogeneous transformationHere ATB represents the relation between the reference system {B} and the referencesystem {A}.Similarly, a vector APe which is transformed by ATtransf to a new vector APe will bedefined by:APe =PexPeyPez1=ATtra...

  • Page 164

    Section 6.4. Homogeneous Coordinates127and thus Pex = 8, Pey = −4, and Pez = 12.6.4.6.2Composition of Basic Rotation Homogeneous Transformation MatrixFor example, a transformation matrix that represents a rotation of ψ1 around ˆx, followedby a rotation of ψ2 around ˆy, and finally a rotati...

  • Page 165

    128Chapter 6. Coordinate frames and homogeneous transformationIn conclusion, we can see that the basic rotation homogeneous transformationmatrices behave as the basic rotation matrices and no further explanation should beneeded. Despite that, in the following subsections we are going to analyse t...

  • Page 166

    Section 6.4. Homogeneous Coordinates129xAzAyAOAA OABzB3xB3yB3OB3z =zB4xB4yB4OB4Figure 6.16: Translation plus rotation of a frame: Rotation and translation are notcommutative.6.4.7.1Rotation and then TranslationIn the case where we first apply a rotation around on...

  • Page 167

    130Chapter 6. Coordinate frames and homogeneous transformationATB =Trans (P3x1) Rot (ˆy, ψ2)(6.56)andATB =Trans (P3x1) Rot (ˆz, ψ3)(6.57)6.4.7.2Translation and then RotationIn the case where we first apply a translation followed by a rotation around one of theprinciple axes of the fixed ref...

  • Page 168

    Section 6.4. Homogeneous Coordinates131APe =Trans (P3x1) Rot (ˆx, ψ1)B Pe =1008010−4001120001100000−1 001000001−34−111(6.62)which gives,APe =100800−1 −4010120001−34−111...

  • Page 169

    132Chapter 6. Coordinate frames and homogeneous transformationWe have also seen that when the complete or final transformation is composed ofa series of applied basic transformations, the composition of the total transformationmatrix depends upon the order in which the basic operations are appli...

  • Page 170

    Section 6.4. Homogeneous Coordinates133ATB =10000cos ψ1 − sin ψ1 00sin ψ1cos ψ100001cos ψ20sin ψ200100− sin ψ2 0cos ψ2 00001cos ψ3 − sin ψ3 00sin ψ3cos ψ30000100001(6.70)and thusATB =c3c2−s3c2s...

  • Page 171

    134Chapter 6. Coordinate frames and homogeneous transformation• If the transformed reference system {B} is obtained following a series of basicrotation and translation operations, all defined with respect to the movablereference system {B}, then the complete (or total) homogeneous transformati...

  • Page 172

    Section 6.4. Homogeneous Coordinates135ATB =rot(ˆzA, π/2)Trans({A}, [5 5 10]T )rot(ˆxA, −π/2) ==0−1 0010000010000110050105001100001100000100−1 000001=00−1 −510050−10100001

  • Page 173

    136Chapter 6. Coordinate frames and homogeneous transformation

  • Page 174

    Chapter 7Kinematics of Manipulators7.1IntroductionIn this part, we will study the kinematics of robot manipulator arms. In particular it willintroduce the problems of the forward and inverse kinematics of robot arms. It will alsointroduce and illustrate a systematic method for describing robot ar...

  • Page 175

    138Chapter 7. Kinematics of ManipulatorsFrom these definitions we can see that the forward kinematics problem, for anyparticular serial robot manipulator arm, has a unique solution, whereas, the inversekinematic problem for that same robot arm may have more than one solution. In thecase of paral...

  • Page 176

    Section 7.3. Geometric Parametres of Robotic Mechanisms139Thus, joint axis iis defined by a direction vector, around which link irotates relativeto link i − 1, and we can specify the relative location of the two axes involved, axis iandaxis i − 1, in terms of two parameters.In the same way j...

  • Page 177

    140Chapter 7. Kinematics of Manipulatorsdetermined by the physical form of the link.7.3.2Joint ParametersTwo links are connected by a joint. They therefore have a common joint axis (joint axis i).The link offset parameter is then defined as the distance along the common joint axisfrom the end of...

  • Page 178

    Section 7.4. Denavit and Hartenberg method141Joint TypeLink Offset (di)Joint Angle (θi)prismaticvariableconstantrotationalconstantvariableTable 7.1: List of variable parameters according to the type of DoF.7.4Definingthe LinkReferenceSystems(DenavitandHartenberg method)To be able to represent t...

  • Page 179

    142Chapter 7. Kinematics of Manipulators(b) The reference system {0} is then defined to be completely coincident with thereference system {1}, when the variable joint parameter, d1 or θ1, is zero.(c) Following this convention for link 0, we will always have a0 = 0and α0 = 0, and,• in the cas...

  • Page 180

    Section 7.5. Forward Kinematics Examples143Applying the Denavit and Hartenberg method to two connected links, link i − 1andlink i, connected by joint i, gives us the following definition of the reference systems{i − 1}and {i} fixed to the link i − 1and link i, respectively.The homogeneous...

  • Page 181

    144Chapter 7. Kinematics of ManipulatorsL0L 1L2L3PeFigure 7.4: Example 1: 3 DoF planar robot.link 0link 2link 3link 1Joint 2Joint 1Joint 3Figure 7.5: Forward Kinematics. First two steps: numbering the joints and numering thelinks.

  • Page 182

    Section 7.5. Forward Kinematics Examples145DH par.link iai−1αi−1diθi1L000θ12L100θ23L200θ3Table 7.2: DH parameters for example 1.Having numbered the joint axes and the elements, the third step is to define thereference systems fixed to each element, following the method of Denavit and H...

  • Page 183

    146Chapter 7. Kinematics of Manipulators1T2 =Trans (ˆx1, L1) Rot (ˆx1, 0)Trans (ˆz2, 0)Rot (ˆz2, θ2) =Trans (ˆx1, L1) Rot (ˆz2, θ2)(7.6)2T3 =Trans (ˆx2, L2) Rot (ˆx2, 0)Trans (ˆz3, 0)Rot (ˆz3, θ3) =Trans (ˆx2, L2) Rot (ˆz3, θ3)(7.7)The total relationship between the reference syst...

  • Page 184

    Section 7.5. Forward Kinematics Examples147DH par.link iai−1αi−1diθi1L000θ12L100θ23L200θ3eL3000Table 7.3: DH parameters for example 1, including the end-effector frame.slightly, including a new row (see table 7.3). This row is out of the scope of D-H method,but required to properly obtai...

  • Page 185

    148Chapter 7. Kinematics of Manipulatorsx0y0z0Xxeyezex3y3z3x1y1z1Xx2y2z2XL1L3Figure 7.7: Example 2: a three DoF robot with one prismatic joint.DH par.link iai−1αi−1diθi100L1θ120π/2d2−π/23π/200θ3eL3000Table 7.4: DH parameters for example 2.

  • Page 186

    Section 7.5. Forward Kinematics Examples149DH par.link iai−1αi−1diθi1000θ120-π/2L1θ2 − π/23L200θ3Table 7.5: First set DH parameters for example 3.0T1 =Trans (ˆz1, L1) Rot (ˆz1, θ1)(7.16)1T2 =Rot (ˆx1, π/2)Trans (ˆz2, d2) Rot (ˆz2, −π/2)(7.17)2T3 =Rot (ˆx2, π/2)Rot (ˆz3, ...

  • Page 187

    150Chapter 7. Kinematics of ManipulatorsL1L0L2L3Figure 7.8: Example 3: a 3DoF manipulator: three rotational joints, 2 axes intersectingaxes and 2 parallel axes.x0y0z0x1y1z1x2y2z2x3y3z3x0y0z0x1y1z1Xx2y2z2x3y3z3XFigure 7.9: Fir...

  • Page 188

    Section 7.5. Forward Kinematics Examples151x0y0z0x1y1z1Xx2y2z2x3y3z3x0y0z0x1y1z1XXx2y2z2x3y3z3XFigure 7.10: Second two solutions for example 3.DH par.link iai−1αi−1diθi1000θ120π/2L1θ2 + π/23L200θ3Table 7.7: Third s...

  • Page 189

    152Chapter 7. Kinematics of Manipulators7.5.0.4Example 4The next example is a cylindrical robot with 4 DoF (figure 7.11).L1L2d2d314Figure 7.11: Example 4: a cylindrical robot.Notice that we have put the reference system {1} at the bottom of element 1, so that itis coincident with system {0...

  • Page 190

    Section 7.5. Forward Kinematics Examples153x0y0z0x3y3z3x1y1z1L1=0d2x2y2z2Xx4y4z4d3L2Figure 7.12: Reference systems for example 4.DH par.link iai−1αi−1diθi1000θ1200d2 + L1030π/2d30400L2θ4e0000Table 7.9: DH parameters for example 4.

  • Page 191

    154Chapter 7. Kinematics of Manipulators0T4 =cos θ1 − sin θ1 00sin θ1cos θ1000010000110000100001d2 + L10001··100000−1 00100000110000100001d30001cos θ4 − sin θ4 00sin θ4cos θ...

  • Page 192

    Section 7.5. Forward Kinematics Examples155x0y0z0Xx1y1z1Xx4y4z4Xx2y2z2Xx3y3z3XFigure 7.14: Reference systems for example 5.DH par.link iai−1αi−1diθi100L0θ12L10−L3θ23L20−d30400−L4θ4Table 7.10: DH parameters for example 5.

  • Page 193

    156Chapter 7. Kinematics of ManipulatorsThe four homogeneous transformation matrices that represent the relations betweenthe four pairs of reference systems are thus given by:0T1 =Trans (ˆz1, L0) Rot (ˆz1, θ1)(7.27)1T2 =TransL1 0−L3TRot (ˆz2, θ2)(7.28)2T3 =TransL2 0−d3T(7.29)3T4 =Trans (...

  • Page 194

    Section 7.6. Inverse Kinematics157link length aiNumber of solu-tionsa1 = a3 = a5 = 0up to 4a3 = a5 = 0up to 8a3 = 0up to 16all= 0up to 16Table 7.11: Number of solutions for inverse kinematics.7.6.1Multiple SolutionsUnlike systems of linear equations, systems of nonlinear equations can have multip...

  • Page 195

    158Chapter 7. Kinematics of ManipulatorsSince computing closed form solutions is much cheaper, and also much faster, thancomputing iterative numerical solutions, many robot manipulator geometries satisfythis condition, though this typically make them mechanically and structurally morecomplicated ...

  • Page 196

    Section 7.6. Inverse Kinematics159x0y0z0Xx1y1z1Xx2y2z2x3y3z3x4y4z4x5y5z5xeyezeFigure 7.16: Example 1: Denavit frames associated with a 5 DoF anthropomorphicalrobot.7.6.2.1Kinematic DecouplingWhen we have to solve the inverse kinematic...

  • Page 197

    160Chapter 7. Kinematics of Manipulators0Te =0Re0Pe0001(7.32)Thus, we can easily obtain the coordinates of 0P4 from the robot’s end point (0Pe)by translating the end-point coordinates a given distance along a given axis. Inthe example, the translation is L4 (figure 7.15), along the ˆze (figu...

  • Page 198

    Section 7.6. Inverse Kinematics1617.6.2.2Positioner’s Inverse Kinematics, Geometric MethodThis method is suitable for robots with few DoFs (3 or less) and is normally used tosolve the positioner mechanism after decoupling the robot’s wrist. It consists of findinggeometric relationships in wh...

  • Page 199

    162Chapter 7. Kinematics of ManipulatorsL0+L1L 2Pe'xx0y0z0Xx1y1z1Xx2y2z2x3y3z3ze '≡ x4ye'≡− z4xe '≡− y4Xx0y0z0 ≡ z1x1y1123PeRPerPe'zPe'yL3PerFigure 7.18: Example 1: one solution for the inverse k...

  • Page 200

    Section 7.6. Inverse Kinematics163Notice that the angles θ2 and θ3 can be expressed as below:θ2 = β − α(7.36)θ3 = γ − π(7.37)Where α, βand γare auxiliary angles. Now let’s see how to calculate them. But firstwe need to define a couple of auxiliary distances:Pe r =P 2e x + P 2e ...

  • Page 201

    164Chapter 7. Kinematics of ManipulatorsNotice that there is not an ambiguity of the quadrant to which α, β, and γanglesbelong. Since they are geometrical angles so they always belong to the first quadrant.The next step is to combine these two latter expressions with the equations 7.40,7.36 a...

  • Page 202

    Section 7.6. Inverse Kinematics165x1y1z1Xx2y2z2Xx3y3z3Xx0y0z0 ≡ z1x1y1x0y0z0XARM-RIGHTELBOW-UPx1y1z1Xx2y2z2x3y3z3ARM-RIGHTELBOW-DOWNx0y0z0Xx0y0z0 ≡ z1x1y1x1y1z1x2y2z2...

  • Page 203

    166Chapter 7. Kinematics of Manipulatorswe have an uncertainty about the quadrant angle, then we have to first calculate thecosinus and then the sinus for each DoF in the wrist.The cosinus angle is calculated thanks to the dot product between ˆxi−1 and ˆxi:ˆxi · ˆxi−1 = ˆxiˆxi−1cos ...

  • Page 204

    Section 7.6. Inverse Kinematics1670T3 =0R30P3[0 0 0]1=[0 ˆx30 ˆy30 ˆz3]0P3[0 0 0]1(7.50)Then, from D-H method, we know that θ4 is the angle between ˆx3 and ˆx4 about ˆz4 (seefigure 7.21) with ˆx3 known (the first column of 0R3):cos θ4 = ˆx3 · ˆx4(7.51)x3y3z3≡ z4x4...

  • Page 205

    168Chapter 7. Kinematics of ManipulatorsFinally, we obtain the angle by means of arctan210:θ4 = arctan (sin θ4, cos θ4) =(7.56)(ˆyx3 (ˆzy3 ˆzze − ˆzye ˆzz3) + ˆyy3 (ˆzxe ˆzz3 − ˆzx3 ˆzze) + ˆyz3 (ˆzx3 ˆzye − ˆzxe ˆzy3) ,ˆxx3 (ˆzy3 ˆzze − ˆzye ˆzz3) + ˆxy3 (ˆzxe ˆ...

  • Page 206

    Chapter 8The Jacobian MatrixSo far we have considered only the location (position and orientation) of the end-point,Pe, of the robot with respect to the fixed base reference system and the joint positionneeded to achieve it.Sometimes we also need to consider and to control the rate of change of ...

  • Page 207

    170Chapter 8. The Jacobian Matrix˙q = ˙q1˙q2˙q3 · · ·˙qnT(8.3)and˙Pe =˙Pxe˙Pye˙Pze˙ψ1e˙ψ2e˙ψ3eT(8.4)As Jdepends upon the instantaneous values of ( ˙q1 ˙q2 · · · ˙qn), so Jwill be different foreach different set of values of (q1 q2 · · · qn) in other words, for each diff...

  • Page 208

    Section 8.1. Calculating the Jacobian Matrix171PxePyePzeψ1eψ2eψ3e=fkinx (q1, q2, q3 · · · qn)fkiny (q1, q2, q3 · · · qn)fkinz (q1, q2, q3 · · · qn)fkinψ1 (q1, q2, q3 · · · qn)fkinψ2 (q1, q2, q3 · · · qn)fk...

  • Page 209

    172Chapter 8. The Jacobian Matrixpoint position. However, the temporal derivatives of end-point position do not alwaysrepresent the end-point speed:˙Pxe˙Pye˙Pze˙ψ1e˙ψ2e˙ψ3e=vxevyevze˙ψ1e˙ψ2e˙ψ3e...

  • Page 210

    Section 8.2. Speed Propagation Method to Compute the Jacobian Matrix173where αe = 1 − cos ϕe and βe = sin ϕe.Therefore, the Jacobian Matrix that relates Cartesian velocity with articular speed is:veωe= J ˙q = B−1J∗ ˙q(8.15)8.2Speed Propagation Method to Compute the JacobianMatrixThis...

  • Page 211

    174Chapter 8. The Jacobian MatrixStartendv00=[0 0 0]T00=[0 0 0 ]TNoYesi=0⋯ni=0⋯nPrismaticjoint?i 1i1=Rii1⋅ii ˙i1⋅zi1i1vi1i1=Rii1 vii ii∧Pi1i[ veeee]= Je[ ˙q]i1i1=Rii 1⋅iivi1i1=Rii1 vii ii...

  • Page 212

    Section 8.4. Force/Torque Propagation Method to Compute the Jacobian Matrix175where τis the vector of force/torque applied by every actuator, and fe and ne are theforce and torque exerted on the end-point.Notice that the Jacobian Matrix given in equation 8.16 is the same as the JacobianMatrix in...

  • Page 213

    176Chapter 8. The Jacobian MatrixIn other words, the above equations imply the extraction of the fz value (if the DoF isprismatic) or nz (if the DoF is rotational).After obtaining τ1 · · · τn, the Jacobian matrix is obtained as the matrix form of theequations for τ1 · · · τn. The summar...

  • Page 214

    Section 8.5. Singularities and Singular Configurations177Startendfee=[fxfyfz ]Tnee=[nxnynz ]TNoYesi=0⋯ni=0⋯nPrismaticjoint?i =nii ⋅ zii[]= JTe[ feenee]fii=Ri1i⋅fi1i1=fi1inii=Ri1i⋅ni1i 1Pi 1i∧fi1ii =fii⋅ zii[]= JT0[ fe0ne0][]=[ JfTe...

  • Page 215

    178Chapter 8. The Jacobian Matrix• Workspace Boundary Singularities, which occur when the robot manipulator isfully extended or folded onto itself so that Pe is at or near the boundary of the robotworkspace. In such configurations, one or more joints will be at their limits of rangeof movement...

  • Page 216

    Chapter 9Path planning9.1IntroductionFrom the inverse kinematics of a robot manipulator arm we can know what jointvalues we need for any particular location of Pe. Thus, to make Pe follow some specifiedtrajectory in Cartesian space (a straight line or circular arc, for example), we must firstca...

  • Page 217

    180Chapter 9. Path planningRobot programmeTask specificationTrajectory generationReference valuegenerationLow level controlInitial and end locations of PeType of trajectoryTime for completion or speed requirementsJoint trajectories and speed joint profilesSequences of reference values of each joi...

  • Page 218

    Section 9.1. Introduction1816. Sample each continuous joint trajectory qj(t) (and ˙qj(t), j = 1. . .n), to generate asequence of discrete reference values for each joint, qj(kT )(and ˙qj(kT ), j = 1. . .n),where Tis the sampling period used, and kis the sampling number.To illustrate these six s...

  • Page 219

    182Chapter 9. Path planningq1q2qs =q0qf =q62D Joint spaceq1q5q4q3q2Sampled trajectory points in joint spaceFigure 9.4: Sampled trajectory (joint space).Step 4 involves fitting a smooth continuous curve to these joint space sample point...

  • Page 220

    Section 9.1. Introduction183q1q2qs =q0qf 2D Joint spaceSampled joint space trajectoryFigure 9.6: Sampling, in time, the trajectory (joint space).q1q2q1 joint reference values in time ttq1 joint reference values in timeFigure 9.7: Joint reference values for the ev...

  • Page 221

    184Chapter 9. Path planning9.2Types of Trajectories in Kinematic ControlThe trajectory of Pe, the motion of the Robot End-point location in Cartesian space, fromP(s)eto P(f )e, can be generated by three different types of joint space trajectories. Only thelast of which can be used to produce full...

  • Page 222

    Section 9.2. Types of Trajectories in Kinematic Control185y0x0Pes Pef 2D Cartesian spaceqtq1sq1f 2D Joint spaceActual generated trajectory of Pe q2sq2f Figure 9.10: Point to point trajectories and simultaneous joint motion.y0x0Pes Pe...

  • Page 223

    186Chapter 9. Path planningTo achieve this type of coordinated synchronous trajectory, the kinematic controllerhas to first analyse the motion of all the joints needed to produce the motion of Pe tofind which joint which needs the most time. All other joints are then programmedto take the same ...

  • Page 224

    Section 9.3. Trajectory interpolation in joint-space187tqjqj1 =qjs qji−1qjiqjf qj2Figure 9.13: Time sampling in the Joint Space.many parameters as samples. This option would lead to a very complicated (and complex)interpolator that would demand a lot of resou...

  • Page 225

    188Chapter 9. Path planningtqjt˙qjt¨qjFigure 9.14: Linear interpolator.where t(i−1) < t < t(i)and T = t(i) − t(i−1).The choice of t(i), that is, the travelling time for each q(i), can be made according toone of the following criteria:• The concerned joint must arrive at its goal a...

  • Page 226

    Section 9.3. Trajectory interpolation in joint-space189three, so it is a cubic polynomial (interpolator) with 4 parameters (figure 9.15).As happend with linear interpolators, a cubic interpolator is defined for each intervalthat is defined by two adjacent sampled points. The resulting curve is...

  • Page 227

    190Chapter 9. Path planninga = q(i−1)jb = ˙q(i−1)jc =3T 2q(i)j− q(i−1)j− 2T ˙q(i−1)j− 3T ˙q(i)j(9.8)d = − 2T 3q(i)j− q(i−1)j+1T 2˙q(i)j+ ˙q(i−1)jT = t(i) − t(i−1)An additional criterion for via-point velocities is given by Craig in “Introduction toRobotics”:˙q(...

  • Page 228

    Section 9.3. Trajectory interpolation in joint-space191tqjt˙qj¨qjtaj−ajvjqji−1qjiFigure 9.16: Trapezoidal interpolator.It is called “trapezoidal” due to the shape of its speed profile (time derivative of theinterpolator presented in the previous para...

  • Page 229

    192Chapter 9. Path planningτ =vjajT = s(i)jq(i)j− q(i−1)jVj+ τvj =maximum speed(9.11)aj =maximum accelerations =sgn q(i)j− q(i−1)jNotice that the velocity at via points are zero (null) for the proposed interpolator. Thisfeature is only useful when the complete trajectory is defined by ...

  • Page 230

    Chapter 10Control of robot manipulators10.1IntroductionControl when the consequence or result of an action is always be the same, despite anyperturbations or disturbances that affect the action. Therefore, one of the concepts ofcontrol we will use in this course can be characterised as follows: C...

  • Page 231

    194Chapter 10. Control of robot manipulatorsIn robotics, there are two types of traditional controllers: one for position control andthe second one to control the force that is applied by the end-effector. This will yield tocontrollers that have two feedback loops (figure 10.1).ControllerRobotFo...

  • Page 232

    Section 10.1. Introduction195differential equation is:f = m ˙v + bv + kvdt(10.1)While for the resistor, inductance and capacitor circuit, the differential equation is:V = L ˙I + RI +1CIdt(10.2)When comparing these last equations, we have a formal correspondence betweenvoltage and force, current...

  • Page 233

    196Chapter 10. Control of robot manipulators10.1.2.2Force ControlForce control is a new paradigm that is being introduced into industrial robot controlloops when robots have to perform tasks that require physical interaction with theirenvironment. Notice that this is the case of the majority of a...

  • Page 234

    Section 10.1. Introduction197Impedance consists of two components, that which is physically intrinsic to themanipulator and that which is given to the manipulator by active control. It is thegoal of Impedance Control to mask the intrinsic properties of the arm and replacethem with the target impe...

  • Page 235

    198Chapter 10. Control of robot manipulators• noise in sensors,• flexible joints and links,• sensor dynamics,• environment dynamics,• etc.10.2Linear Position Control of a Single JointThe robot control algorithms usually have cope with multiple inputs-outputs of non-linear systems. This...

  • Page 236

    Section 10.2. Linear Position Control of a Single Joint199• ωL is the angular speed at the reductor output.• rm is the radio of the input gear.• rL is the radio of the output gear.10.2.1.1Resisting torquesAccording to figure 10.3, it is cleared depicted that there are only two resisting t...

  • Page 237

    200Chapter 10. Control of robot manipulators(τL)L = η(τL)m(10.8)ωm = ηωL(10.9)Subtituting (τL)L and ωL in equation 10.3, using the equations 10.8 and 10.9 yields:(τL)m =1ηJL˙ωmη+ BLωmη(10.10)Now we have to notice that the total commanded motor torque (τcom) required isdivided betw...

  • Page 238

    Section 10.2. Linear Position Control of a Single Joint201Sensorref imimeas i+­1Jmi s2 Bmi siIikikp ierr iFigure 10.4: 1-DoF Proportional Error position control.If we use Proportional Error (PE) control to control the position of each joint, we willhave a negative feedback c...

  • Page 239

    202Chapter 10. Control of robot manipulatorskφi Kpi (θrefi − θmeasi ) = Jmi¨θmi + Bmi˙θmi(10.20)where: kpi is the constant of proportionality between Ii and θerri .We can combine the constants kφiand kpi to obtain kpei, and without loss ofgenerality, we can substitute the expression (...

  • Page 240

    Section 10.2. Linear Position Control of a Single Joint20300 . 511 . 522 . 533 . 5400 . 20 . 40 . 60 . 811 . 21 . 41 . 61 . 82Time Responsei2 0Bmi= 0, i20i2=0i2 0Figure 10.5: Step response types of systems: ω2i > 0 → overdamped system, ω2i = 0 →critically damped sys...

  • Page 241

    204Chapter 10. Control of robot manipulators• IfB2mi4kpi= Jmi(10.26)Ωi is equal to zero, equation 10.23 becomes more symplified in,∆θi = Ci12 e−Bmi2Jmit(10.27)In this case, the joint system is said to be critically damped, and it means that itsresponse time, tr, has reached its minimum ...

  • Page 242

    Section 10.2. Linear Position Control of a Single Joint205the total torque, τmi − gi does not depend only on time,t, but the angular position of joint.(How do we convert this model into a linear model, which is what we need?)We can also see from equation 10.30 that when the control torque τmi...

  • Page 243

    206Chapter 10. Control of robot manipulatorsIn a SCARA-type geometry, the third (vertical prismatic) joint would need a PIcontroller to deal with the effects of the mass of the third element, wrist, and any object.But in this case the direction of movement is always vertical, which means the same...

  • Page 244

    Section 10.2. Linear Position Control of a Single Joint207The block diagram of a PID-controlled joint system thus takes the form shown infigure 10.6.Sensorref imimeas i+­1Jmi s2 Bmi sm iIm ikikp i⋅err ierr ikI i∫ err i dtkd id err idtFigure 10.6: 1-DoF PID posi...

  • Page 245

    208Chapter 10. Control of robot manipulatorsSpeed sensorref i˙m imeas i+­1Jmi sBmim iPIDerr i˙meas i∫ dtkv i⋅˙meas ikp i⋅meas i˙ref iFigure 10.7: 1-DoF PID position control.to be defined by the actual position error value.In other words, when position er...

  • Page 246

    Section 10.2. Linear Position Control of a Single Joint209Sensorref imimeas i+­1Jmi s2 Bmi sm ikp i kI iskd i⋅serr id i+­Figure 10.8: Basic PID control algortimh.Thus, the proposed approach in this section is to keep the robot’s behaviour stabledespite having low ...

  • Page 247

    210Chapter 10. Control of robot manipulatorsa compensation block to the basic PID control scheme (figure 10.9). This kind ofcompensation is know as feedforward compensation6.Sensorref imimeas i+­1Jmi s2 Bmi sm ikp i kI iskd i⋅serr i+d i++­Jmi s2  Bmi sfeed...

  • Page 248

    Section 10.3. Computed Torque Algorithm211Sensorref imimeas i+­1Jmi s2 Bmi sm ikp i kI iskd i⋅serr i+d i++­G m i feedbackFigure 10.10: Feedback compensation.10.3Nonlinear Position Controller: Computed Torque Algo-rithm10.3.1Linear Dynamic Model of n-DoF ...

  • Page 249

    212Chapter 10. Control of robot manipulatorseach other. In other words, the basic control of a 6 DoF robot arm is not treated as a 6-input/6-output control problem, and we do not use multi-input/multi-output controllerdesign principles to design and implement this basic level of control.In this t...

  • Page 250

    Section 10.3. Computed Torque Algorithm213¨qrefiq˙q+m=Mq⋅qVcorq,˙qi⋅˙qjVcenq,˙qi2FfricVq,˙qFfricCq,sgn˙qGqm Mqd+­KdKp˙qcomp= Vcorq,˙qi⋅˙qj Vcenq,˙qi2 FfricVq,˙q FfricC...

  • Page 251

    214Chapter 10. Control of robot manipulatorsDeriving both sides of the equation we have:...qerr + Kd ¨qerr + Kp ˙qerr + KI qerr = 0(10.41)This equation is again a set of nlinear differenctial equations decoupled.10.4Adaptive Position Control of Joint SystemsIn this section, we will briefly loo...

  • Page 252

    Section 10.4. Adaptive Position Control of Joint Systems215If it is important to have different PID gains for different kinds of movements (one setfor slow, accurate movements, and a different set for fast, less accurate movements), wecan extend the table to include this extra dimension.Using suc...

  • Page 253

    216Chapter 10. Control of robot manipulators10.4.2Model Reference Adaptive Control (MRAC)In Model Reference Adaptive Control (MRAC), we use a mathematical model of thejoint system to define the ideal behaviour of the joint. The output of this model is thencompared, in real time, with the actual ...

  • Page 254

    Section 10.5. Some Things to Think About217tation of the algorithm that decides how each of the three PID gains should be modified.This clearly has to calculate appropriate changes to make, but it has to do this in realtime.Until a few years ago, this typically required more computational power ...

  • Page 255

    218Chapter 10. Control of robot manipulators¨qrefiq˙q+m=Mq⋅qVcorq,˙qi⋅˙qjVcenq,˙qi2FfricVq,˙qFfricCq,sgn˙qGqm Mqd+­KdKp˙qcomp= Vcorq,˙qi⋅˙qj Vcenq,˙qi2 FfricVq,˙q Ffri...

  • Page 256

    Part IVExercises219

  • Page 257

  • Page 258

    Exercises iKinematic structures andprogrammingExercise i.1Figure i.1 shows a table with fur pieces on top, and nearby there are boxes to classifyand store them.How many degrees of freedom are required to do this work? Which robot geometrywould be appropriate to do this? (There maybe be more than ...

  • Page 259

    222Exercises i. Kinematic structures and programmingExercise i.2Scorbot ER VII robot (Figure i.2) is a versatile system for educational use. Due to its speedand repeatability, it is highly suited for both stand-alone operations and integrated use inautomated work cell applications such as robotic...

  • Page 260

    223Exercise i.3RT3300 (Seiko, inc) cylindrical robots have been geometrically designed to reach into andout of constrained workspaces. Notice that this robot is a common example of the SCARAgeometry. The fast rotary motion of cylindrical robots is combined with the precisionlinear motion of carte...

  • Page 261

    224Exercises i. Kinematic structures and programmingExercise i.4Which geometry do these robots have?Figure i.5: Which geometries?.Exercise i.5Develop and specify a program for the last 3 programming levels (robot level, object level,and task level) of a robot manipulator with 6 DoF. This robot ha...

  • Page 262

    225SolutionsSolution to exercise i.1To analyze how many degrees of freedom the robot should have to develop this task, agood strategy is to imagine that the initial position of the robot’s end-effector is set onemeter above the table and then try to perform a generic task:1. Go down to the tabl...

  • Page 263

    226Exercises i. Kinematic structures and programmingFigure i.7: Scorbot’s DoFs.Figure i.8: Scobot’s kinematic chain.

  • Page 264

    227Solution to exercise i.3We will have to proceed the same way we did in the previous exercise. First we need toidentify which movements the robot has by looking at the picture of the robot and thedimension diagram. Upon a simple inspection of the photo of the robot, we may find thesearch for t...

  • Page 265

    228Exercises i. Kinematic structures and programmingFigure i.10: RT3300’s kinematic chain.Figure i.11: Anthropomorphic Robot, sample 1.

  • Page 266

    229structure. We also have another degree of freedom on the wrist: a roll movement.Therefore, this is a SCARA robot with 4 DoFs.Figure i.12: SCARA Robot.c) This image, once again, represents an anthropomorphic robot, with 6 rotationalmovements. The first 3 are the positioner and the last 3 const...

  • Page 267

    230Exercises i. Kinematic structures and programmingSolution to exercise i.5First of all, we have to define the points we want the robot to reach. These points aredepicted in the following figure.Figure i.14: Programming example points.Then, we have to remember that there are four robot program...

  • Page 268

    231ROBOT LEVEL:Go to point X0 with high velocityGo to point X1 with high velocityOpen the gripperGo to point XB0 with low velocityClose the gripperIf the block has not been picked up by the gripper, error and endIf the block has been picked up by the gripper, continueGo to point X1 with low veloc...

  • Page 269

    232Exercises i. Kinematic structures and programmingOBJECT LEVEL:Pick up block-BPut block-B at XB1Pick up block-APut block-A at XA1Pick up block-BPut block-B at XB2Align block-A with block-CAlign block-B with block-AEndTASK LEVEL:Stack a tower in order block-C, block-A, block-B without moving blo...

  • Page 270

    Exercises iiTransformations in space(homogeneous transformation)Exercise ii.1Obtain the rotation matrix after doing the following operations to go from the referencesystem {0} (fixed) to the system {e} (mobile):1. Rotate an angle of 90oaround ˆz02. Rotate an angle of 45oaround ˆxe3. Rotate an ...

  • Page 271

    234Exercises ii. Transformations in space (homogeneous transformation)Exercise ii.4Obtain the rotation matrix after doing the following operations to go from the referencesystem {0} (fixed) to the system {e} (mobile):1. Rotate an angle of 90oaround ˆx02. Move 5 units along ˆx03. Rotate an angl...

  • Page 272

    2352. It rotates an angle of 45oaround ˆx03. It movers 1 unit along ˆyexeyezey0z02 unitsvideo cameraFigure ii.1: Robot with camera: initial configuration.If we know that the range of vision of the camera is 60 degrees, is the end effectorwithin or without this range after doin...

  • Page 273

    236Exercises ii. Transformations in space (homogeneous transformation)Exercise ii.8Obtain the matrix that represents the rotation of an angle of 45oaround an axis set bythe vector u = [1 1 2]T. Obtain equivalent roll, pitch and yaw angles around the main axisof the reference system (fixed) that ...

  • Page 274

    237SolutionsSolution to exercise ii.1The first thing we have to do to solve this exercise is to calculate the transformationmatrices following the instructions according to the theory:1. Rotate an angle of 90oaround ˆz0T1 = Rot (ˆz0, 90o) =cos 90o− sin 90o00sin 90ocos 90o00001000...

  • Page 275

    238Exercises ii. Transformations in space (homogeneous transformation)(a) Rotate an angle of 90oaround ˆz0T1 = Rot (ˆz0, 90o) =cos 90o− sin 90o00sin 90ocos 90o0000100001(b) Rotate an angle of 30oaround ˆz0T2 = Rot (ˆz0, 30o) =cos 30o− sin 30o00sin 30oco...

  • Page 276

    239T2 = Rot (ˆy0, 45o) =cos 45o0sin 45o00100− sin 45o0cos 45o00001(c) Rotate an angle of 30oaround ˆzeT3 = Rot (ˆze, 30o) =cos 30o− sin 30o00sin 30ocos 30o0000100001After doing this, we will have to multiply the three matrices to obtain thetr...

  • Page 277

    240Exercises ii. Transformations in space (homogeneous transformation)After doing this, we will have to multiply the three matrices to obtain thetransformation matrix. We put the matrix of the first movement in the middle ofthe equation, and then let’s see what we have. The next instruction is...

  • Page 278

    241T4 = Rot (ˆx0, 90o) =10000cos 90o− sin 90o00sin 90ocos 90o000017. Move 2 units along ˆzeT5 = T rasl (ˆze, 2) =1000010000120001The transformation matrix is:0Te = T4 · T2 · T1 · T3 · T5 =0−1 03100000120001Solution...

  • Page 279

    242Exercises ii. Transformations in space (homogeneous transformation)3. Move 1 unit along ˆyeT4 = T rasl (ˆye, 1) =1000010100100001The transformation matrix is:0Te = T3 · T2 · T1 · T4 =100000.7071−0.7071 1.414200.70710.70712.82840001To calcu...

  • Page 280

    243Solution to exercise ii.7To obtain B TC we will proceed applying the properties of homogeneous transformationmatrices:B TC = B TA · ATU · U TCNotice that homogeneous transformation matrices are not orthonormal, they cannotbe inverted by transposing it. Then we invert this matrix by using the...

  • Page 281

    244Exercises ii. Transformations in space (homogeneous transformation)ˆu =1√61√62√6TNow, we can apply the equations:A = 1 − cos ψ = 1 − cos 45o = 0.2929and B = sin ψ = sin 45o = 0.7071aRb =0.7559−0.52850.386300.62620.7559−0.191 0−0.191 −0.38630.902400001...

  • Page 282

    Exercises iiiForward KinematicsExercise iii.1In the robotized environment shown in figure iii.1, the location of the gripper W TT is notknown precisely. By usiing pressure sensors and using force control, the robot tries toinsert the piece 1 into the hole 2. Finally the robot introduces the tool...

  • Page 283

    246Exercises iii. Forward KinematicsExercise iii.2For the 2-element manipulator shown in figure iii.2 the transformation matrices 0T1 and1T2 have been calculated.Figure iii.2: 2-DoF manipulator.Assuming the reference systems shown in figure iii.2 3, the product of thesetransformations is:...

  • Page 284

    247Figure iii.3: 3-DoF manipulator with multiple D-H solutions.DH par.link i − 1 →link iai−1αi−1diθi0 → 100L1θ11 → 20π2d202 → 300L2θ3Table iii.1: D-H table of an unknown robot.Exercise iii.5Figure iii.4 represents a PUMA robot. If this robot has all its joint angles equal to ze...

  • Page 285

    248Exercises iii. Forward KinematicsFigure iii.4: PUMA manipulator.Figure iii.5: 3R non-planar robot.Figure iii.6: Planar robot RPR.

  • Page 286

    249matrices 0T1, 1T2, and 2T3 that define the forward kinematics of the manipulator.Figure iii.7: RRP manipulator.Exercise iii.9Draw the reference systems for the 3 joints of the RRR manipulator shown in figureiii.8. Obtain the geometric characteristic parameters for this robot and the threetra...

  • Page 287

    250Exercises iii. Forward KinematicsExercise iii.10Solve the forward kinematic problem of the SCARA manipulator shown in figure iii.9:Figure iii.9: SCARA manipulator.Exercise iii.11Solve the forward kinematic problem of a cilindrical robot with 4DoF in figure iii.10.Figure iii.10: Cylindrical r...

  • Page 288

    251Figure iii.11: MALIBA manipulator.Exercise iii.13Solve the forward kinematics of the SCORBOT robot with 5 DoF shown in figure iii.12using the Denavit and Hartenberg method. Obtain its characteristic parameters and thetransformation matrices i−1Ti, including the one related to the end effect...

  • Page 289

    252Exercises iii. Forward KinematicsFigure iii.12: SCORBOT robot.

  • Page 290

    253Figure iii.13: RT3300 robot.

  • Page 291

    254Exercises iii. Forward KinematicsSolutionsSolution to exercise iii.1There are two ways to go from {B} to {G}:• 1stway: B TW · W TT• 2ndway: B TS · S TG · GTTequating between both expressions, it yields:B TW · W TT = B TS · S TG · GTTWhen {G} and {T } are coincident, we can say that G...

  • Page 292

    255DH par.link i − 1 →link iai−1αi−1diθi2 → e00L20You can get the complete solution with Matlabusing the following coding:syms c1 s1 c2 s2 l1 l2T02=[c1*c2 -c1*s2 s1 l1*c1;...s1*c2 -s1*s2 -c1 l1*s1;...s2 c2 0 0;...0 0 0 1]T2e= [l2; 0; 0; 1]T=T02*T2eSolution to exercise iii.3After setti...

  • Page 293

    256Exercises iii. Forward KinematicsDH par.link i − 1 →link iai−1αi−1diθi1 → 2090o−L190o2 → 3L2000Figure iii.16: 3-DoF manipulator 3rdand 4thsolutions.Third configuration:DH par.link i − 1 →link iai−1αi−1diθi1 → 2090oL190o2 → 3L2000Fourth configuration:DH par.link ...

  • Page 294

    257L1L23ˆz3ˆxd2Pe0ˆz0ˆx1ˆx1ˆz2ˆz2ˆxθ1θ3Figure iii.17: Solution to an unknown robot.Solution to exercise iii.5If we develop the PUMA robot of the figure and do the Denavit and Hartenberg table weobtain figure iii.18.Figure iii.18: PUMA DoFs and D-H coordinate systems.Denavit-Hartenberg...

  • Page 295

    258Exercises iii. Forward KinematicsDH par.link i − 1 →link iai−1αi−1diθi0 → 10−90o090o1 → 2a20d202 → 3a390o090o3 → 40−90od404 → 5090o005 → e00d60So, the distance between the reference systems {0} and {6} is:px = a2 + a3py = d3pz = a1 − d4Solution to exercise iii.6To s...

  • Page 296

    259DH par.link i − 1 →link iai−1αi−1diθi0 → 1000θ11 → 2L190o0θ22 → 3L200θ33 → eL3000You can get the complete solution with Matlabusing the following coding:syms theta_1 theta_2 theta_3 L_1 L_2symsthetadot_1thetadot_2thetadot_3T01=[cos(theta_1) -sin(theta_1) 0 0;...sin(theta_1...

  • Page 297

    260Exercises iii. Forward KinematicsL11ˆx1ˆz0ˆz0ˆx2ˆz2ˆx3ˆz3ˆxθ3Figure iii.20: D-H coordinate systems for a planar robot RPR.DH par.link i − 1 →link iai−1αi−1diθi0 → 1000θ11 → 2L190od202 → 30−90o0θ3You can get the complete solution with Matlabusing the following codin...

  • Page 298

    261T3e=[1 0 0 L_3;...0 1 0 0;...0 0 1 0;...0 0 0 1]T0e=simple(T01*T12*T23*T3e)Solution to exercise iii.8To solve this exercise we first have to draw the robot, after that we will have to set thereference systems (figure iii.21), do the Denavit and Hartenberg table and then obtainthe transformat...

  • Page 299

    262Exercises iii. Forward Kinematicssyms theta_1 theta_2 d_3 L_1 L_2symsthetadot_1thetadot_2ddot_3T01=[cos(theta_1) -sin(theta_1) 0 0;...sin(theta_1) cos(theta_1) 0 0;...0 0 1 L_1;...0 0 0 1]T12=[cos(theta_2) -sin(theta_2) 0 0;...0 0 -1 0;...sin(theta_2) cos(theta_2) 0 0;...0 0 0 1]T23=[1 0 0 L_2...

  • Page 300

    263DH par.link i − 1 →link iai−1αi−1diθi0 → 100L1θ11 → 2090o0θ22 → 3L200θ3You can get the complete solution with Matlabusing the following coding:syms theta_1 theta_2 theta_3 L_1 L_2symsthetadot_1thetadot_2thetadot_3T01=[cos(theta_1) -sin(theta_1) 0 0;...sin(theta_1) cos(theta_...

  • Page 301

    264Exercises iii. Forward KinematicsL00ˆz0ˆx1ˆz1ˆx2ˆz2ˆx3ˆz3ˆx4ˆz4ˆxezˆexˆL4L1L2d3Figure iii.23: D-H coordinate systems for a SCARA manipulator.You can get the complete solution with Matlabusing the following coding:syms theta_1 theta_2 d_3 theta_4syms L_0 L_1 L_2 L_3 L_4syms thetadot...

  • Page 302

    2650 0 0 1]T4e=[1 0 0 0;...0 1 0 0;...0 0 1 L_4;...0 0 0 1]T04=simple(T01*T12*T23*T34*T4e)Solution to exercise iii.11To solve this exercise we first have to draw the robot, after that we will have to set thereference systems (figure iii.24), do the Denavit and Hartenberg table and then obtainth...

  • Page 303

    266Exercises iii. Forward Kinematicssymsthetadot_1 thetadot_4syms ddot_2ddot_3T01=[cos(theta_1) -sin(theta_1) 0 0;...sin(theta_1) cos(theta_1) 0 0;...0 0 1 0;...0 0 0 1]T12=[1 0 0 0;...0 0 -1 0;...0 1 0 d_2;...0 0 0 1]T23=[1 0 0 0;...0 0 -1 -d_3;...0 1 0 0;...0 0 0 1]T34=[cos(theta_4) -sin(theta_...

  • Page 304

    2671ˆz0ˆz0ˆx1ˆx2ˆz2ˆx3ˆx3ˆz4ˆz5ˆz6ˆz7ˆz4ˆx5ˆx6ˆx7ˆx0L1L2L3L4L5L6LFigure iii.25: D-H coordinate systems for MALIBA manipulator.syms theta_1 theta_2 theta_3 theta_4 theta_5 theta_6syms L_0 L_1 L_2 L_3 L_4 L_5syms thetadot_1 thetadot_2thetadot_3syms thetadot_4 thetadot_5thetadot_6T01...

  • Page 305

    268Exercises iii. Forward Kinematics0 0 0 1]T56=[cos(theta_6) -sin(theta_6) 0 0;...0 0 -1 -L_5;...sin(theta_6) cos(theta_6) 0 0;...0 0 0 1]Solution to exercise iii.13To solve this exercise we first have to draw the robot, after that we will have to setthe reference systems (figure iii.26), do t...

  • Page 306

    269Where:L0 + L1 = 388mm.L2 = 280mm.L3 = 43mm.L4 = 230mm.L5 = 111mm.Solution to exercise iii.14To solve this exercise we first have to draw the robot, after that we will have to setthe reference systems (figure iii.27), do the Denavit and Hartenberg table (taking intoaccount the dimension lines...

  • Page 307

    270Exercises iii. Forward KinematicsDenavit-Hartenberg table:DH par.link i − 1 →link iai−1αi−1diθi0 → 100L0θ11 → 200d202 → 3090od303 → 4090oL0θ44 → e00L50

  • Page 308

    Exercises ivInverse KinematicsExercise iv.1In a 3R planar robot, given the desired position and orientation for the hand, we knowthat there are two possible groups of values that the joint angles can take. Deduce howmany solutions there will be if we add another joint to the manipulator, in such ...

  • Page 309

    272Exercises iv. Inverse KinematicsExercise iv.3Given the description of the reference system {i} of the ithjoint of a manipulator inrelation to the {i − 1}system (matrix i−1Ti), obtain the expressions for the four Denavitand Hartenberg parameters: ai−1, αi−1, di and θi as a function of...

  • Page 310

    273Figure iv.3: Planar arm with two joints.Figure iv.4: SCARA robot.

  • Page 311

    274Exercises iv. Inverse Kinematics0Re =ˆxexˆyexˆzexˆxeyˆyeyˆzeyˆxezˆyezˆzezExercise iv.8Solve the inverse kinematics for a spherical robot of three degrees of freedom.

  • Page 312

    275SolutionsSolution to exercise iv.1If we add another joint, we will get a planar robot with redundant degrees of freedom.That is way there will be infinite solutions to this exercise.Solution to exercise iv.2In this exercise we are asked to do the inverse kinematics. The first step is to solv...

  • Page 313

    276Exercises iv. Inverse Kinematics0 0 0 1]T12=[1 0 0 0;...0 1 0 0;...0 0 1 L_1;...0 0 0 1]T2e=[1 0 0 0;...0 0 1 d_2;...0 -1 0 0;...0 0 0 1]T04=simple(T01*T12*T2e)And now we can obtain the inverse kinematics parameters:L0 + L1 = Pezd2 =P 2ex + P 2eyθ1 = arctan−PexPey→ cos θ1 =PeyP 2ex +P 2e...

  • Page 314

    277=cos θi− sin θi0ai−1cos αi−1 · sin θi cos αi−1 · cos θi − sin αi−1sin αi−1 · disin αi−1 · sin θisin αi−1 · cos θicos αi−1cos αi−1 · di0001==r11 r12 r13 r14r21 r22 r23 r24r31 r32 r33 r340001θi = arctansin...

  • Page 315

    278Exercises iv. Inverse KinematicsDH par.link i − 1 →link iai−1αi−1diθi0 → 1000θ11 → 2L190od202 → 30−90o0θ3And now we can obtain the inverse kinematics parameters (figure iv.7):θ1 = α + βθ1 = arctanPeyPex± arccosL1P 2ex + P 2eyd2 =P 2ex + P 2ey2− L21θ3 = ...

  • Page 316

    279Solution to exercise iv.5The workspace reachable by the robot will look like this:Figure iv.8: Workspace of a planar arm with two joints.Solution to exercise iv.6To calculate the inverse kinematics of this robot, we must first calculate the forwardkinematics problem to obtain the 0Te matrix a...

  • Page 317

    280Exercises iv. Inverse KinematicsDH par.link i − 1 →link iai−1αi−1diθi0 → 100L0θ11 → 2L100θ22 → 3L20−d30You can get the complete forward kinematics solution with Matlabusing thefollowing coding:syms theta_1 theta_2 d_3 L_0 L_1 L_2symsthetadot_1thetadot_2ddot_3T01=[cos(theta_...

  • Page 318

    281L22 = L21 + R2 − 2L1R cos β → cos β =L21 + R2 − L222L1R→ β = arccosL21 + R2 − L222L1RR2 = L21 + L22 − 2L1L2 cos γ → cos γ =L21 + L22 − R22L1L2θ2 = 2π − γγ = π − γθ2 = 2π − π + γ = π ± arccosL21 + L22 − R22L1L2And now we can obtain the values of the unkn...

  • Page 319

    282Exercises iv. Inverse KinematicsSolution to exercise iv.7To calculate the inverse kinematics of this robot, we must first calculate the forwardkinematics problem to obtain the 0Te matrix and, after that, obtain the parametersneeded to do the inverse kinematics.1ˆz0ˆz0ˆx1ˆx2ˆz2ˆx3ˆx3ˆz...

  • Page 320

    2830 0 0 1]T12=[cos(theta_2) -sin(theta_2) 0 0;...0 0 -1 0;...sin(theta_2) cos(theta_2) 0 0;...0 0 0 1]T23=[cos(theta_3) -sin(theta_3) 0 L_2;...sin(theta_3) cos(theta_3) 0 0;...0 0 1 0;...0 0 0 1]T3e=[1 0 0 L_3;...0 1 0 0;...0 0 0 1]T0e=simple(T01*T12*T23*T3e)And now we can obtain the inverse kin...

  • Page 321

    284Exercises iv. Inverse Kinematics3ˆz2ˆz2ˆx2ˆy1ˆz1ˆx3ˆxL13L3dFigure iv.13: D-H coordenate systems of a spherical robot.1LPz −22yxPPr+=2L2ˆx2ˆz1ˆx2ˆy1ˆy3d2133212212221sinsinarctan22arctanLLPddLLPPPLPPPLPzzyxzyxz−−=→+−=+−+=+=+−=ααπαπθα2ˆx2ˆz1ˆx2ˆy2L3d22yxPPr+=1...

  • Page 322

    2850ˆy2133212212221sinsinarctan2323arctanLLPddLLPPPLPPPLPzzyxzyxz−−=→+−=+−+=+=+−=ααπαπθα2132312212221sinsinarctan22arctanLLPdLdLPPPLPPPLPzzyxzyxz+−=→−−=+−−=−=+−=ααπαπθα1ˆy1ˆx1ˆz0ˆx3ˆz′eyPexP2L2ˆx2ˆz1ˆx2ˆy1ˆy1LPz −22yxPPr+=2L2ˆx2ˆz1ˆx2ˆy...

  • Page 323

    286Exercises iv. Inverse Kinematics

  • Page 324

    Exercises vJacobianExercise v.1Knowing the following expressions that solve the forward kinematics of a robot, calculatethe corresponding jacobian matrix.px = −l3 cos θ1 sin θ3 + (l2 + d2) sin θ1py = −l3 sin θ1 sin θ3 − (l2 + d2) cos θ1pz = l3 cos θ3 + l1NOTE: Only positions will be ...

  • Page 325

    288Exercises v. JacobianFigure v.1: RR planar manipulator.Exercise v.4Let’s consider again the 2R planar robot used in the previous exercise (figure v.2). Wewant to move the end of the second arm over the ˆxaxis at a constant velocity v, as isshown in the figure. Obtain the velocities of joi...

  • Page 326

    289Figure v.2: RR planar manipulator with an end-point frame.τ2 = 0.5N − mand τ3 = 0.1N − m, what are the maximum forces and torques that the endeffector can exert?Exercise v.8Calculate the jacobian matrix of a cylindrical robot of 3 DoF using the force propagationmethod. Calculate the velo...

  • Page 327

    290Exercises v. JacobianFigure v.3: RRR planar manipulator.

  • Page 328

    291SolutionsSolution to exercise v.1The Jacobian matrix is composed of velocity expressions. To obtain a velocity expressionwe have to derive the position equation,˙px = [L3 sin θ1 sin θ3 + (L2 + d2) cos θ1] · ˙θ1 + sin θ1 · ˙d2 + [−L3 · cos θ1 cos θ3] · ˙θ3˙py = [−l3 sin θ3...

  • Page 329

    292Exercises v. JacobianT12=[cos(theta_2) -sin(theta_2) 0 L_1;...sin(theta_2) cos(theta_2) 0 0;...0 0 1 0;...0 0 0 1]T23=[1 0 0 L_2; 0 1 0 0; 0 0 1 0;0 0 0 1]T0e=simple(T01*T12*T23)v_0=[0; 0; 0]omega_0=[0; 0; 0]R10=transpose(T01(1:3,1:3))P_1=T01(1:3,4)omega11=R10*omega_0+[0; 0; thetadot_1]v11=R10...

  • Page 330

    293˙θ1˙θ2=vx cos θ12sin θ1L1+sin θ12L2+cos θ12L2sin θ1L1 sin θ12+cos θ12 cos θ2L1+cos θ12L2sin θ1L1+sin θ12L2+cos θ12L2· vxSolution to exercise v.5τ1τ2=− sin θ1L1 − sin θ12L2 cos θ1L1 + cos θ12L2 0− sin θ12L2cos θ12L20·fx00τ1 = fx · (− sin θ1L1 −...

  • Page 331

    294Exercises v. JacobianP_1=T01(1:3,4)omega11=R10*omega_0+[0; 0; thetadot_1]v11=R10*(v_0+cross(omega_0,P_1))R21=transpose(T12(1:3,1:3))P_2=T12(1:3,4)omega22=R21*omega11+[0; 0; thetadot_2]v22=R21*(v11+cross(omega11,P_2))R32=transpose(T23(1:3,1:3))P_3=T23(1:3,4)omega33=simple(R32*omega22+[0; 0; the...

  • Page 332

    295v_0=[0; 0; 0]omega_0=[0; 0; 0]R10=transpose(T01(1:3,1:3))P_1=T01(1:3,4)omega11=R10*omega_0+[0; 0; thetadot_1]v11=R10*(v_0+cross(omega_0,P_1))R21=transpose(T12(1:3,1:3))P_2=T12(1:3,4)omega22=R21*omega11+[0; 0; thetadot_2]v22=R21*(v11+cross(omega11,P_2))R32=transpose(T23(1:3,1:3))P_3=T23(1:3,4)o...

  • Page 333

    296Exercises v. JacobianR23=(T23(1:3,1:3))P_3=T23(1:3,4)f_2=R23*f_3n_2=simple(R23*(n_3)+cross(P_3,f_2))R12=(T12(1:3,1:3))P_2=T12(1:3,4)f_1=R12*f_2n_1=simple(R12*(n_2)+cross(P_2,f_1))tau1=n_1(3)tau2=n_2(3)tau3=n_3(3)Once we have the Jacobian Matrix, we can finish the exercise:vx = d3 cos θ1 · ...

  • Page 334

    Part VAppendix297

  • Page 335

  • Page 336

    Appendix ARobot HistoryA.1IntroductionThe Robot concept is very ancient. It may surprise us. But mankind has always beenfascinated by machines and devices capable of moving themselves, constructed toimitate the motions of human beings and animals. The ancient Greek culture namedthem as automatos....

  • Page 337

    300Appendix A. Robot HistoryFigure A.1: The return of Hephaestus to Olympus.Book XVIII, Fabrication of weaponsAnother reference, in Greek mythology, is the Giant of Talus (figure A.2 2). This giantautomaton was given to Europa, Queen of Crete, by Zeus. In this case, we can read itsdescription in...

  • Page 338

    Appendix Section A.3. Middle ages301Figure A.2: Death of Talus.Figure A.3: Fryer Bacon’s speaking head.A.3Middle agesThere are few documented references in the XIII century, such as the iron man of St.Albert the Great (1204-1282) or the fryer Roger Bacon’s (1214-1294) brozen head thatwas able...

  • Page 339

    302Appendix A. Robot HistoryFigure A.4: Cock of the Strasbourg Cathedral.Figure A.5: Vauncanson’s duck: a diagram of its interior and a replica of it at Le Muse ´ede Automates de Grenoble.one and presented it to Francois I of France during a banquet: it crossed the hall, haltedbefore the king,...

  • Page 340

    Appendix Section A.4. XVIII-XIX centuries303Figure A.6: Von Kempelen’s chess player.Figure A.7: Droz’s dolls at the Art and History Museum in Neuchˆatel, Switzerland.Figure A.8: Maillert’s automaton and two of its drawings

  • Page 341

    304Appendix A. Robot HistoryA.5XX Century: Robot TimelineThis section reviews the most important events in XXth century related to robotics 5.1921 The term “robot” is first used in R.U.R.(Rossum’s Universal Robots), a play byCzech writer Karel Capek.1926 Fritz Lang’s movie Metropolisfeat...

  • Page 342

    Appendix Section A.5. XX Century: Robot Timeline305and make UnimationInc . the world’s robot pioneer.1956 Robby the robot is featured in Forbidden Planet—and later appears in morethan a dozen movies and TV shows.1959 A prototype Unimate arm from Unimation is installed in a General Motors Corp...

  • Page 343

    306Appendix A. Robot History1976 NASA provides Mars landers with robot arms for its Viking I and II missions.1977 Asea Brown Boveri Ltd. introduces microcomputer-controlled robots.1977 Unimation purchases Vicarm. Scheinman later starts Automatix Inc.1977 Star Warsstars an android, C3PO, and a mob...

  • Page 344

    Appendix Section A.5. XX Century: Robot Timeline3072000 At RoboCup 2000, three humanoid robots meet for the first time: JohnnyWalker from the University of Western Australia, the Mk-II from Japan’s Aoyama GakuinUniversity, and Pino from Kitano Symbiotic Systems Project.

  • Page 345

    308Appendix A. Robot History

  • Page 346

    Appendix BMobile Robot SamplesB.1MicrobotsFigure B.1: Samples of Micro-robots: Sumo Fighter (MAZO),line-tracking (PIONERO),Microrobotics Club of TECNUN.B.2Legged RobotsB.2.1AIBOFigure B.2: AIBO (SONY): http://www.sony.com.au/aiboB.2.2SDRThe AIBO’s specifications are summarized in the next tabl...

  • Page 347

    310Appendix B. Mobile Robot SamplesFigure B.3: SDR 3x (SONY): http://au.playstation.com/technology/sonyrobot.jhtmlFigure B.4: SDR 4x (SONY): http://au.playstation.com/technology/sonyrobot.jhtmlCPU64 bit RISC processor (x2)Main Recording Device64MB DRAM (x2)Operating SystemAperios (Sony's...

  • Page 348

    Appendix Section B.2. Legged Robots311Figure B.5: ASIMO (HONDA): http://world.honda.com/ASIMOFigure B.6: Specifications of ASIMO.

  • Page 349

    312Appendix B. Mobile Robot SamplesFigure B.7: Evolution of ASIMO

  • Page 350

    Appendix CRobotic WristsExtracted from a work of Javier Mart´ın 1.1J. Martin, J. Savall, ”Mechanisms for Haptic Torque Feedback”, World Haptics Conference. March 21,2005, Pisa, Italy.313

  • Page 351

    314Appendix C. Robotic WristsDoFsWorkspacedexteritySingularconfigurationsComplexityandactuatorar-rangementSamplesPicture3Wideandhomogen.WhentherollsDoFsarealignedSmallcomplexity.Thefirstac-tuatorhastomovetheothers.It’sthemostcommon.Roll-Pitch-Roll.PHANToM,PumaRollRollPitch3Wideandhomogen.,but...

  • Page 352

    Appendix DGlossaryBased on information extracted from University of North Texas 1.-A-Accuracy (precisi ´on)-The precision with which a computed point can be attained, ormeasured. The more precise the measurements of joint angles will enable a finer degreeof accuracy with a robot.Active Complian...

  • Page 353

    316Appendix D. GlossaryArticulated Manipulator (manipulador articulado)- A manipulator with an armthat is broken into sections (links) by one or more joints. Each of the joints represents adegree of freedom in the manipulator system and allows translation and rotary motion.Articulation (articulac...

  • Page 354

    317Cartesian Manipulator (manipulador cartesiano)- An arm with prismatic jointsthat allows movement along one or more of the three- axes in the x, y, z coordinatesystem.Cartesian-Coordinate Robot (robot cartesiano) - A robot whose manipulator-armdegrees of freedom are defined by Cartesian coordi...

  • Page 355

    318Appendix D. GlossaryControllability (controlabilidad)- The property of a system by which an input signalcan take the system from an initial state to a desired state along a predictable path withina predetermined period of time.Controller System (controlador)- The robot control mechanism. Usual...

  • Page 356

    319gripping device, paint gun, drill, arc welding device, etc. See Wrist, and Sensor.Error - The difference between the actual response of a robot to a command issued.Exoskeleton (exoesqueleto)- An articulated mechanism whose joints correspondto those of a human arm. When attached to the arm of a...

  • Page 357

    320Appendix D. GlossaryFrame (sistema coordenado)- A coordinate system used to determine a position andorientation of an object in space, as well as the robot’s position within its model.-G-Gantry (p ´ortico/puente gr ´ua)- An adjustable hoisting machine that slides along a fixedplatform or ...

  • Page 358

    321Hydraulically Driven Robot (robot hidr´aulico)- Robots that use hydraulic servovalves that operate on petroleum-based hydraulic fluid. The hydraulic system includesa hydraulic power supply as well. These robots can provide very high repeatability andaccuracy. This type of robot is mechanical...

  • Page 359

    322Appendix D. GlossaryInverse Kinematics (cinem´atica inversa)- procedures that determine where theend-effector needs to be placed to reach a particular point in space. The proceduresuse mathematical algorithms along with sensors to determine the desired location of thepoint in space, and the n...

  • Page 360

    323Laser - Acronym for light amplification by stimulated emission of radiation. It is adevice that produces a coherent monochromatic beam of light which is extremely narrowand focused but still within the visible light spectrum. This is commonly used as anon-contact sensor for robots. Robotic ap...

  • Page 361

    324Appendix D. GlossaryMobile Robot (robot m ´ovil)- A robot mounted on a movable platform. The robot isthen able to move about its work environment by several different means such as wheels,legs, flying, etc. The motions of the robot are controlled by the robot’s control system.See Industria...

  • Page 362

    325-0-Off-Line Programming System (sistema de programaci ´on off-line)- A programmingenvironment without the needed to use the robot.On-Line Programming (programaci ´on on-line)- A means of programming a robotusing the robot in order to record the trajectories that must be performed latter by t...

  • Page 363

    326Appendix D. Glossarythe sizing of the structural members, power transmission system, and actuators. Theload placed on the actuators depends on the configuration of the robot, amount of timesupporting the load, and inertial and velocity related forces. This is also called the loadcapacity. See...

  • Page 364

    327Potentiometer (potenci ´ometro)- An encoding position sensing device for ma-nipulators that produces a voltage proportional to the shaft position to measurejoint displacement. Its uses are limited due to poor resolution, linearity, and noisesusceptibility.Power Cylinder (cilindro (hidr´aulic...

  • Page 365

    328Appendix D. GlossaryReliability (fiabilidad)- The percentage of time during which a robot can be expectedto be in normal operation (not out of service for repair or maintenance). Also called therobot’s uptime.Repeatability (repetibilidad)- The specification of how accurately a manipulator ...

  • Page 366

    329Servo-controlled Robot (robot servo-controlado)- The control of a robot throughthe use of a closed-loop Servo-system, in which the position of the robot axis is measuredby feedback devices and is stored in the controller’s memory. See Closed-Loop System,and Servo-system.Servo-system (servo-s...

  • Page 367

    330Appendix D. Glossary-T-Tachometer (tac ´ometro)- A sensing device capable of sensing the speed at which ashaft is rotating. Generally used to determine revolutions per minute. May be used inconjunction with contouring systems as a supplemental control for governing feed-rates.See Sensor.Tacti...

  • Page 368

    331Tool (herramienta)- A term used loosely to define a working apparatus mounted tothe end of the robot arm, such’ as a hand, gripper, welding torch, screw driver, etc. SeeArm, Gripper, and End-Effector.Tool Frame (sistema coordinado solidario a la herramienta)- A coordinate systemattached to ...

  • Page 369

    332Appendix D. Glossarycommands to the robot’s controller, the human voice is broken down into speechpatterns and interpreted by the robot as commands.-W-Work Envelope (envolvente del espacio de trabajo)– The edge of workspace. SeeWorkspace.Work-piece (pieza de trabajo)- Any part which is bei...

  • Page 370

    Index(MRAC), 216Jacobian Matrix, 169Absolute encoder, 98absolute error, 19Accuracy, 19, 88active on-line programming, 38actuator, 315–317, 319, 321, 327admittance control, 196AGVs, 8android, 306Approximation-point, 47arc welding, 319Arm, 16automatic guided vehicles, 8Automaton, 299automaton, 30...

  • Page 371

    334INDEXhomogeneous transformation matrix, 120homogeneous translation matrix, 122Hybrid Manipulators, 16Hybrid Stepper Motor, 80Hysteresis, 88I, Robot, 4, 304Impedance control, 196Incremental Encoder, 96Index channel, 97Industrial mobile robots, 8Industrial Robot, 23, 24Industrial robot, 53indust...

  • Page 372

    INDEX335R.U.R, 4R.U.R., 304Range, 88Reachable Workspace, 18redundant robots, 54Repeatability, 19Repeatability error, 19Reproducibility, 19Resolution, 19, 88Resolution error, 19Response time, 90Robot, 3, 6robot, 304, 315–332Robot subsystems, 6Robota, 4robotic, 323–325roll, 67Roll-Pitch-Roll mo...

  • Page 373

    336INDEX

  • Page 374

    Bibliography[1] B. Appelhof.Design of haptic interface technology.Master’s thesis, Dept ofMechanical Engineering, University of Twente, 2001.[2] A. Barrientos, L. F. Pe ˜n´ın, C. Balaguer, and R. Aracil.FUNDAMENTOS DEROB ´OTICA. Mc Graw Hil, 1997.[3] J.J. Craig. INTRODUCTION TO ROBOTICS, ME...

x