KINEMATIC AND DYNAMIC CALIBRATION OFHYDRAULICALLY ACTUATED MANIPULATORSbyMASOUD KHOSHZABAN- ZAVAREHIB.Sc. (Mechanical Engineering), Sharif University of Technology, Tehran, Iran, 1986A THESIS SUBMITTED IN partial FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFMASTER OF APPLIED SCIENCEinTHE FACULTY OF GRADUATE STUDIES(Department of Mechanical Engineering)We accept this thesis as conformingto the required standardTHE UNIVERSITY OF BRITISH COLUMBIADecember 1992©Masoud Khoshzaban- Zavarehi, 1992this thesis in partial fulfilment of the requirements for an advancedUniversity of British Columbia, I agree that the Library shall make itfor reference and study. I further agree that permission for extensiveIn presentingdegree at thefreely availablecopying of this thesis for scholarly purposes may be granted by the head of mydepartment or by his or her representatives. It is understood that copying orpublication of this thesis for financial gain shall not be allowed without my writtenpermission.(Signature)Department of ['A •z_k\f, sIN \ C Er IN• (NICx. t(A_. The University of British ColumbiaVancouver, CanadaDate \ 2, yI ") 2DE-6 (2/88)ABSTRACTImportant industries such as construction, mining, and forestry make use of heavy-dutyhydraulic machinery with manipulators usually controlled manually by expert humanoperators. The hand controls that operate most articulated machines today do not takeadvantage of recent developments in robotics and control technology. There are thousandsof industrial hydraulic machines in existence that can potentially benefit from improvedcomputer-assisted controls such as the ones which are under development at UBC.To control such manipulators properly, however, precise link parameters should beknown in advance in order to obtain inverse kinematics, Jacobians, and inverse dynamicsused in various control algorithms. Accurate measurement of link parameters is madepossible by using calibration techniques. The theme of this thesis involves calibration(measurement) of kinematic and dynamic parameters of hydraulic manipulators.In the category of kinematic calibration, we have presented and experimented witha new algorithm and instrumentation for automatic measurement of the geometricparameters of such robotic manipulators when forming mobile closed-chains. Thecontribution of the work proposed here, in the face of a large literature in kinematiccalibration, is that there is no need for joint and end effector sensing of the manipulator.Instead, an external linkage-type sensing instrument, called "calibrator" has beenintroduced. One end of the calibrator is attached to the manipulator endpoint, whilethe other end is attached to a passive task fixture which is a spherical joint fixed tothe machine's chassis. A special hierarchical identification algorithm using iterativeleast-squares technique has been developed based on link-by-link movement of themanipulator, starting from the end effector. By using the joint angle sensory data fromiiAbstractthe calibrator, all the geometric parameters of the moving link, as well as the kinematicsof the actuator and the task fixture, were identified for a Caterpillar 215B excavator.In the area of dynamic calibration of hydraulic machines, a new methodologyfor the dynamics of a complex hybrid open-closed chain hydraulic manipulator wasderived based on the Newton-Euler formulation. It was shown by simulation thatneglecting the dynamics of the minor links (hydraulic actuators) may dramaticallyunderestimate the forces/torques applied to the joints/links. By measuring the jointpositions and the oil pressures inside the hydraulic actuators and applying the proposeddynamic equations, we attempted to calibrate the dynamic parameters (inertias, frictionforces/torques, and transducer offsets) of both major and minor links of a typical hydraulicmanipulator, the UBC Caterpillar 215B excavator. Simulation results showed that withthe current accuracy of the sensors and transducers, it was not possible to obtain agood estimate of the parameters. The poor estimates of the individual parameters ofthe UBC hydraulic manipulator confirmed the simulation indications. Nevertheless,the estimated torques/forces obtained from the calibrated parameters appeared to becloser than the ones calculated from the existing nominal model to the actual measuredtorques/forces of the actuators. Although the formulation was much more mathematicallyand computationally involved, the complete model predicted the actuator forces/torquesbetter than both reduced and nominal models.There are a number of potential advantages of the calibration techniques developedin this work over the existing methods in the literature. The techniques have thepotential of being industrially feasible, fast, inexpensive, automatic with minimum humaninvolvement and engineering supervision, and ready to apply on-site.iiiTable of Contents ABSTRACT^ iiLIST OF TABLES^ viiLIST OF FIGURES^ ixACKNOWLEDGMENTS^ xii1 GENERAL^ 11.1 Introduction ^ 11.2 Robot Calibration 21.2.1 Calibration Levels ^ 31.2.2 Calibration Steps 41.3 Motivation and General Objective^ 41.4 Scope of Present Work ^ 61.5 Contributions ^ 82 A HEAVY-DUTY HYDRAULIC MANIPULATOR^ 102.1 Introduction ^ 102.2 The Experimental Machine ^ 102.3 Link Specifications ^ 122.3.1 Geometric Parameters ^ 132.3.2 Inertial Parameters 162.4 Actuator Specifications ^ 182.4.1 Geometric Parameters 192.4.2 Inertial Parameters^ 202.5 Sensors^ 20iv3 KINEMATIC CALIBRATION^ 223.1 Introduction ^ 223.2 Previous Work 223.3 Problem Statement^ 263.3.1 Endpoint Sensing Problem ^ 263.3.2 Mobility Problem ^ 273.3.3 Joint Sensor Problem 303.4 Model ^ 313.4.1 Geometric Parameters ^ 323.4.2 Nongeometric Parameters 373.4.3 Manipulator Kinematics ^ 383.4.4 Actuator Linkage Kinematics 433.5 Measurement ^ 443.5.1 The Calibrator 453.5.2 Measurement Procedure ^ 473.6 Identification ^ 483.6.1 Differential Relations ^ 483.6.2 Jacobian Calculation 493.6.3 Iterative Parameter Estimation ^ 503.6.4 Identifiable versus Unidentifiable Parameters ^ 523.7 Simulation Results and Discussion ^ 563.7.1 Effect of Actuator Drift 583.7.2 Effect of Joint Sensor Accuracy^ 603.7.3 Effect of Joint Flexibility ^ 603.8 Experimental Results and Discussion ^ 623.8.1 Major Links ^ 623.8.2 Improving the Major Link Identified Parameters^ 673.8.3 Minor Links ^ 714 DYNAMIC CALIBRATION^ 794.1 Introduction ^ 794.2 Previous Work 814.3 Estimation Procedure ^ 844.3.1 Newton-Euler Formulations for a Major Link ^ 844.3.2 Newton-Euler Formulations for Chained Links 884.3.3 Newton-Euler Formulations for a Minor Link ^ 904.3.4 Global Newton-Euler Equations for a Hydraulic Manipulator ^ 964.3.5 Estimating the Link Parameters^ 994.4 Simulation Results and Discussion 1004.4.1 Complete Model versus reduced Model^ 1014.4.2 Identifiability of Dynamic Parameters 1064.4.3 Effect of Sensor Accuracy ^ 1074.5 Measurement Procedure ^ 1114.6 Experimental Results and Discussion ^ 1135 CONCLUSION^ 1205.1 Kinematic Calibration Issues ^ 1215.2 Dynamic Calibration Issues 1225.3 Further Issues ^ 124REFERENCES^ 126viLIST OF TABLESTable 1^Nominal inertial parameters for the major links. ^ 18Table 2^Nominal D-H parameters for the UBC hydraulic machineand calibrator. ^ 56Table 3^Nominal kinematic parameters for the minor links of theUBC hydraulic machine. ^ 57Table 4^Identified D-H parameters — simulation for the effects ofactuator drifts. ^ 59Table 5^Identified D-H parameters — simulation for the combinedeffects of sensor accuracy and actuator drift. ^ 61Table 6^Identified D-H parameters — simulation for the combinedeffects of joint flexibility and actuator drift^ 61Table 7^Identified D-H parameters for the UBC hydraulic machineand calibrator. ^ 63Table 8^Distance error comparison between the nominal andidentified models. ^ 66Table 9^Reidentified D-H parameters for the UBC hydraulicmachine and calibrator. ^ 70Table 10^Distance error comparison between the previouslyidentified and the re-identified models. ^ 71Table 11^Identified versus nominal parameters for minor links. . . ^ 76Table 12^Error parameters for the minor links of the manipulator. ^ 77Table 13^Hypothetical dynamic parameters of a hydraulic machinefor simulations^ 106viiTable 14^Identified dynamic parameters of a hydraulic machine withsensor errors (complete model). ^ 109Table 15^Identified dynamic parameters of a hydraulic machine withsensor errors (reduced model)^ 110Table 16^^Identified dynamic parameters of the UBC hydraulicmanipulator (complete model) 115Table 17^Identified dynamic parameters of the UBC hydraulicmanipulator (reduced model)^ 116LIST OF FIGURESFigure 1Figure 2Figure 3Figure 4Figure 5Figure 6Figure 7Figure 8A hybrid position/force feedback controller. ^ 2Schematic of a typical excavator with "bucket"^ 11Schematic of a modified excavator having "grapple"instead of "bucket". ^ 12Plan view of the excavator with grapple, showing theswing parameters^ 13Schematic diagram of the "boom"^ 14Schematic diagram of the "stick". 15Schematic Diagram of the "grapple". ^ 16Local coordinate frame attached to the C.G. of link i. .^. 17Nominal geometric parameters for the stick's actuator. ^ 20Establishing link coordinate systems based on themodified D-H parameters. ^ 33The kinematics of a cylindrical hydraulic actuator. ^ 44The calibrator designed for machine calibration. ^ 45Figure 9^Nominal geometric parameters for the boom actuators.. . 19Figure 10Figure 11Figure 12Figure 13Figure 14^The combined hydraulic machine and the calibrator duringthe kinematic calibration process^ 47Figure 15^Establishment of the coordinate systems for the links ofthe closed-chain. ^ 53Figure 16^Experimental trajectories of the manipulator links used insimulations when only Link 3 (stick) is active. ^ 57ixFigure 17^Experimental trajectories of the manipulator links used insimulations when only Link 2 (boom) is active. ^ 58Figure 18^Experimental trajectories of the manipulator links used insimulations when only Link 1 (swing) is active. ^ 59Figure 19^Comparison of the stick endpoint distance to the taskframe. ^ 66Figure 20^Errors in the simulated and actual sensor outputs forJoints 4 to 6. ^ 68Figure 21^Errors in the simulated and actual sensor outputs forJoints 7 and 8. ^ 69Figure 22^Trajectory components of the stick endpoint for thenominal and the re-identified models^ 72Figure 23^Trajectory components of the grapple endpoint for thenominal and the re-identified models^ 73Figure 24^Absolute error components of the stick endpoint for there-identified model. ^ 74Figure 25^Absolute error components of the grapple endpoint for there-identified model. ^ 75Figure 26^Coordinate origins and location vectors for dynamicidentification. ^ 85Figure 27^Forces, torques, and location vectors applied to a majorlink from the adjacent links. ^ 88Figure 28^Modeling a hydraulic actuator as a cylinder and a piston. ^ 91Figure 29^Forces and torques acting on the various elements of theith hydraulic actuator. ^ 91Figure 30^Simulated trajectory of the "swing". ^ 102Figure 31^Simulated trajectory of the "boom". 103Figure 32^Simulated trajectory of the "stick". ^ 104Figure 33^Comparison of the simulated forces obtained from"complete" and "reduced" models^ 105Figure 34^Measurement and identification procedure for dynamiccalibration. ^ 112Figure 35^Experimental trajectories for the UBC manipulator used toidentify dynamic parameters. ^ 114Figure 36^Position trajectories of the three links of the UBCmanipulator (experimental) . ^ 118Figure 37^Comparison of the torques/forces obtained from nominal,complete, and reduced models. ^ 119xiACKNOWLEDGMENTSI would like to thank my supervisors, Dr. F. Sassani from Department of Mechanical Engineering, and Dr.P. D. Lawrence from Department of Electrical Engineering, for their fruitful guidance and encouragementthroughout the course of this thesis. Their technical and financial support are sincerely appreciated. I mustexpress my special gratitude to our research engineers, Mr. Simon Bachmann, who designed, built, andinstalled the mechanical parts of the calibrating instrument, and Mr. Dan Chan, who did everything fromsetting up the electronics and assisting us in running the experiments 10 correcting the manuscript of thisthesis. Finally, I would like to thank my wife, Manzar, and appreciate her patience, without her continuousencouragement and heartful support and faith this work was not possible.This research was done under a grant from NSERC Centers of Excellence, IRIS-PRECARN Project C6.xiiChapter 1GENERAL1.1 IntroductionSatisfactory performance and ability to control any piece of machinery depends largelyupon having accurate information, or model, about that system and its various structuralcomponents, including its kinematics and dynamics. It becomes crucial when such apowerful model-based controller as the one in Figure 1 takes on the control which leadsto performance superior to control not based on carefully-constructed machine models.The information necessary to construct a model for this type of controller may comefrom the data supplied with the equipment by the manufacturer or can be determinedfrom experiments. However, not a single machine in the world is perfectly built norremains unchanged forever / . Even for the most sophisticated robots being used in researchlaboratories, one should never rely totally on nominal design specifications supplied by themanufacturers since the final product may vary slightly due to manufacturing tolerances,mounting errors, misalignment, and possible shipping/handling damages. Besides, someother external and internal factors may affect the machine characteristics such ascomponent modifications or changes, link and joint flexibility and compliance, overloads,backlash in gear train, fluid compressibility (in hydraulic actuators), temperature changes,friction effects, wear, aging, etc. Machine calibration is a process that is used to correctFor example, it is common in the forestry industry for a distributor to substantially modify a basemachine with a variety of non-standard links and instruments.Trajectoryplanner^ XdInverse^InverseKinematics Dynamics••X dXdJ - 1 JAJ^T-MManipulator MKFeedbackcontrolFigure 1: A hybrid position/force feedback controller.these parameter changes in order to improve the accuracy of the machine's model suchthat the desired performance in its control is achieved.1.2 Robot CalibrationThe theme of this work is to make a (hydraulically actuated) robotic manipulator build aninternal model of its own structure, that is, to calibrate itself, autonomously. Autonomousrobot calibration is defined as an automated process that determines the model parametersby only using the robot's internal sensors [4]; however, we may add some accessoriesin the form of external sensors and links for convenience and special purposes. Thistype of robot calibration results in some modifications in the robot position/force controlsoftware rather than suggesting changes to the design of the robot or its control system.By the above description, robot calibration would be a discrete event and as such isdifferent from, for example, adaptive control (of robots) where model identificationis carried continuously and controller parameters are adjusted in accordance with theidentified changes [31].1.2.1 Calibration LevelsRobot calibration may be divided into the following three major levels:1. calibration of kinematics, which is needed to obtain good estimates of linklengths and of locations of joint axes through measuring the robot joint anglesand the corresponding endpoint position and orientation,2. calibration of dynamics, which is necessary to build appropriate inertial modelsof mass, center of mass, and moment of inertia for the robot links; thisinvolves measuring joint/link external torques and forces while moving the linkswith different velocities and accelerations. This level of calibration requiresa knowledge about the kinematics of the manipulator obtained from Level 1calibration,3. calibration of actuators, which is required to construct accurate models ofactuators for joint torque control; in the case of hydraulic actuators, the calibrationproblem is to find accurate parameters used in the mathematical relationshipsbetween the input currents (or voltages) to the servovalves and the output oilpressures and flows in the actuators.For the purposes of our research, we have considered only the first two levels in thiswork, i.e., kinematic and dynamic calibration of robotic manipulators in general, andhydraulic manipulators in specific. Level 3, i.e., hydraulic calibration of actuators israther more involved and will be left for future work.31.2.2 Calibration StepsIn general, the calibration process at any level consists of four steps:1. modeling, in which a number of suitable functional relationships between differentinputs and outputs of the system should be established,2. measurement, which is the data collection process from the actual robot thatrelate the inputs of the model to the outputs.3. identification, which is the mathematical process of using the data collected toidentify the coefficients in the model,4. correction, in which the new (or corrected) model is implemented in theposition/force control software of the machine.As far as the subject of this research is concerned, we will address the first three stepsof calibration in the following chapters and leave the latter for a future investigation.1.3 Motivation and General ObjectiveImportant industries such as forestry, mining, agriculture, and construction make use ofheavy-duty equipment controlled by human operators. Examples of such equipment areexcavators, cranes, combine harvesters, log-loaders, and feller-bunchers. However, thehand controls that operate most of these articulated machines today are inefficient, needexperienced operators, and do not take advantage of recent developments in robotics andcontrol technology, which in turn, do not let us make use of the ultimate capabilitiesof such powerful machines.Over the past four years, an engineering team in the University of British Columbia(UBC) has implemented a new set of controls using a computer to assist the operator4in coordinating a log-loader converted version of a Caterpillar 215B excavator, with itsbucket replaced by a grapple. Some significant improvements in task time and accuracyfor novice operators have already been reported [33]. Now, the capability to specifynew machine designs that take advantage of novel sensor/vision technology, computerhardware and software advances, and new efficient controllers is under development.There are virtually thousands of industrial machines in existence today that couldbenefit from improved computer-assisted controls. Significant productivity improvementsin building the next generation of such fully computerized machines as well as retrofittingexisting equipment with coordinated controls is expected in the near future. The UBCteleoperation project is now investigating conversion of these types of industrial machinesinto task-oriented human-supervisory control system with a minimal change in the originaldesign.As was discussed earlier, in order to apply new control strategies (similar tothe one shown in Figure 1) to such converted hydraulic machines and obtain betteroverall performance, a key element is the ability to accurately and rapidly identifythe machine parameters including the kinematics and dynamics of their manipulators 2 .In brief, the objective of this research is to develop some convenient and efficientcalibration tools, both in algorithm and hardware, for autonomous accurate measurementof kinematic and dynamic parameters of a wide range of existing industrial hydraulicmechanisms. However, the tool thus developed will be applicable for machines rangingfrom anthropomorphic dimensions to machines such as large grapple yarders, log-loaders,feller-bunchers, excavators, and cranes.Since the identified parameters of a single machine may vary from time to timebecause of aging and some other external factors, recalibration of that machine through2^In Figure 1, for example, computing inverse kinematics A and Jacobian J requires kinematicparameters, and calculating inverse dynamics M -1 requires both kinematic and dynamic parameters.5the developed algorithms can guarantee the required efficient performance.1.4 Scope of Present WorkThroughout this research, it has been attempted to generalize, as far as possible, themethodology introduced and developed for calibration of robotic manipulators althoughour primary interest has been focussed on heavy-duty hydraulic manipulators and thesimulations, experiments, and verification of our theoretical work have all been done ona typical mobile hydraulic system, i.e., an excavator. This machine, in its original form,is being used extensively in forestry and construction industries and incorporates manyaspects of an industrial robot; therefore, we can easily extend our derivations and resultsto a large number of robotic systems as well as all other mobile hydraulic machines likefeller-bunchers and log-loaders.This thesis is organized as follows: Chapter 2 introduces the candidate machine, aCaterpillar 215B excavator, which has been used as our experimental testbed at UBC. Itsbucket has been replaced by a grapple to hold logs firmly and move them from one placeto another. The kinematics of this machine, including its nominal geometric parameters,and also the nominal inertial parameters for its major and minor links have been listedin that chapter. There, it will be explained that such hydraulic manipulators, unlikeconventional robots, are of closed-chain types and need special care and formulationwhen modeling them.Kinematic parameters of a robot connect the robot's joint angles as inputs to itsendpoint position and orientation as outputs through a highly nonlinear relationship.Differential calculus is employed to obtain a suitable form of equations to solve forthe unknowns. Then, to calibrate those parameters, the robot should assume a number6of different configurations, and the joint angles and the corresponding position andorientation of the endpoint should be measured at each position. Usually, the number ofdata points thus obtained well exceeds the number of unknown parameters to be identifieddue to unavoidable noise that exists in any measurement process. Finally, the unknownkinematic parameters will be determined by using an iterative least-squares technique.However, some problems will arise in the design of heavy-duty hydraulic manipulatorswith coordinated controls. Since these machines are generally supposed to work innatural unstructured environments such as forests and mines, which are hazardous to theirsensitive instrumentation (especially the sensors), they may be unable to use conventionaljoint angle resolvers. The problem of kinematic calibration of such manipulators will bediscussed in Chapter 3. A novel external linkage, termed "calibrator", which consistsof a number of links and joints with sufficient joint-angle sensors, is introduced and thekinematic equations for the new model thus obtained are written using the concept ofclosed mobile kinematic chains. This helps us to eliminate the measurement of endpointposition and orientation [41 which is time consuming, expensive, and usually not veryaccurate. Later in this chapter, the simulation and experimental results obtained from theUBC excavator will be discussed and the two conventional (using joint angle sensors)and proposed methods will be contrasted.Dynamic calibration of hydraulic manipulators is another issue in this investigation.Almost any link in such a typical machine forms a closed kinematic chain with the twoother proximal links because they are interconnected through hydraulic actuators whichusually consist of cylinders and pistons. The problem of formulating the dynamics ofmanipulators with such closed-chains has been a major issue in the field of robotics inrecent years. By using Newton-Euler formulation, one can obtain a linear relationshipbetween the vector of inertial parameters and the joint torques.7In Chapter 4, we have successfully derived a linear formulation for the dynamics ofhydraulic manipulators including the coupled dynamics of their actuators. An optimaldigital filter has been applied to the joint angle readings to calculate noiseless velocitiesand accelerations. These quantities are used as variable coefficients in the dynamicequations of motion. Later, we have shown, through simulation and experiment, thatignoring the dynamics of minor links would produce large errors in the identified inertialparameters, and therefore, would give inaccurate estimates of the control forces and/ortorques.Finally, in Chapter 5, conclusions obtained from simulations and experiments of theproposed calibration methods are outlined. Some suggestions and guidelines for futurework are also presented.1.5 ContributionsA number of contributions to the field of robot calibration may be found in thisinvestigation that can be summarized as follows:In the kinematic calibration context,1. the kinematic relationships were formulated in order to obtain a model forcalibration, independent of joint angle variables, thus eliminating the need tomeasure them via resolvers;2. the need for measuring the endpoint position and orientation through complicatedhardware and software as well as joint angles was removed by designing andintroducing an external sensing linkage to the existing manipulator and fixing itsother free end to the ground in order to obtain a closed mobile kinematic chain;83. a special hierarchical algorithm was developed for the combined mobile systemthat identifies the kinematic parameters of the major links one by one from themost distal link to the base link of the manipulator;4. we also could calibrate the geometric parameters of minor links, i.e., the hydraulicactuators;5. the whole process was tested for the first time on a hydraulic manipulator.In the dynamic calibration context,1. the dynamics of a class of closed kinematic chains formed by a cylinder-and-piston hydraulic actuator and two robot links was investigated, and a model wasdeveloped to include the inertial and friction effects of the former. Obtainedthrough the Newton-Euler formulation, this model describes a linear relationshipbetween the dynamic parameters of the coupled major and minor links and thevector of control forces/torques, and has all the dynamic properties of an openchain model;2. experiments were carried out for the first time on a hydraulic machine, usingthe combined model, to identify the enhanced vector of unknown inertial andfriction parameters.Throughout this work, it is assumed that a robotic manipulator is made up of rigidmechanical links and one-degree-of-freedom joints.9Chapter 2A HEAVY-DUTY HYDRAULIC MANIPULATOR2.1 IntroductionA wide range of heavy-duty hydraulic machines have been designed and built aroundthe world. They are being used in various industries to pick up and move, carry, push,or pull heavy objects, dig or fill holes, etc. To perform those functions properly, theyusually have manipulators which are actuated hydraulically.Although different in appearance and/or function, many aspects of hydraulic machinesare similar to those of industrial robots (in fact, some heavy-duty robots take advantageof hydraulic manipulators as their arms). For example, they are mobile and they haverigid links connected to each other by revolute or prismatic joints. One major differenceis that for conventional robots with revolute joints, the rotary actuators are usuallymounted on the joints, while for hydraulic manipulators, the joints are usually free andthe command forces are applied directly to the links by cylindrical hydraulic actuators.These manipulators form a hybrid class of open- and closed-kinematic-chain robots whichoffer higher loading capacities and more rigidity [21.2.2 The Experimental MachineCalibration of the kinematic and dynamic parameters of the Caterpillar 215B excavatorwas studied in this work. This typical machine is used in such primary industries as10forestry, mining, and construction. It is basically modeled as a large system consisting oftwo subsystems: a complex hydraulic actuation system, and a rigid multibody mechanism[41]. It is a mobile three-degree-of-freedom (3—DOF) manipulator with an additionalmovable end effector, namely the bucket. Its schematic diagram is shown in Figure 2.The bucket is used both to excavate and to carry loads.Figure 2: Schematic of a typical excavator with -bucket".The main structure of the machine, including the cabin, rotates about the verticalaxis 1 called the swing axis (Figure 2), and is actuated by a hydraulic motor througha gear train. Boom and stick are two other links whose axes of rotation are nominallyparallel to each other (axes 2 and 3 in Figure 2). The swing, boom, and stick serve toposition the bucket. The bucket itself rotates about axis 4 which is in the same planeas the boom and stick. These three links are powered by hydraulic cylinders. The useof hydraulic cylinders, however, restricts the motion of the links due to the added jointangle limitations [33].11For picking up, holding, handling, and placing heavy objects such as logs, one mayreplace the bucket by a grapple. Figure 3 shows the same excavator with a grapple asits end effector. Here, axes 4, 5, and 6 determine the orientation of the end effector;but, only the latter (axis 6) is hydraulically powered. The other two can pivot freely;therefore, the manipulator has six degrees of freedom, four of which are powered DOF's.Figure 3: Schematic of a modified excavator having "grapple" instead of "bucket".2.3 Link SpecificationsThe links of the manipulator consist of: 1) swing, 2) boom, 3) stick, and 4) grapple. Theyare called major links. These links, like many ordinary robots, are serially connected toeach other by revolute joints and form an open kinematic chain. To the first 3 joints,i.e., joints 1, 2, and 3, are attached position resolvers to measure the relative angulardisplacement of the two adjacent links. There is some slight flexibility and deflection12a 34 [cm]d 11 [cm]grapplestick4boom0 2Figure 4: Plan view of the excavator with grapple, showing the swing parameters.due to the material and weight of the links and joints. However, it is so small that, forour working accuracy, we can assume them to be basically rigid.As was mentioned earlier, each link has its own nominal kinematics and dynamics. Inthe following, we will give some relevant data for the geometric and inertial parametersof the links which are necessary for control purposes. The parameter values are obtainedfrom the manufacturer specification sheets, or are measured (estimated) manually. Anumber of illustrations and tables have been included for more clarification.2.3.1 Geometric Parameterscabin (swing): It is the first link of the manipulator which holds the cabin andthe boom and swivels about a vertical axis connected to the base. A plan view of themachine with special emphasis on the swing is shown in Figure 4. The distance betweenthe boom axis and the swing axis is shown as well. This, however, is not very accuratesince there was no readily available data from the manufacturer for the values of a andd, and it was difficult to measure them by tape very accurately. We, however, still keepthem for reference.13boom cylinder rod pinThe swing is actuated by a rotary hydraulic motor through a gear train; therefore,there exists some backlash in the system. This feature causes the swing to behaveexactly like a conventional robot link; i.e., the control torque can be applied directly tothe link's axis of rotation.Boom: the boom is the anatomical equivalent to the upper arm of the human body.It is the second link in the machine which is attached to the cabin at one end, and to thestick at the other end. The two connecting joints are revolute, nominally horizontal, andparallel to each other. The shape and some nominal values of the geometric parametersof the link are shown in Figure 5.stick cylinder rod pinLit = 5.190 [m] , L2 = 2.000 [m] , L3 = 3.790 [m] ,^= 2.443 [m]y = 37.0 [Deg.]Figure 5: Schematic diagram of the "boom".The boom is powered by a cylindrical hydraulic actuator which consists of a pairof cylinders (attached to the cabin) and a piston (connected to the boom). It is capableof generating a high force to handle heavy loads. There is no torque, except friction,applied to the boom axis. Instead, there is a large force at the boom piston rod pin14stick cylinder rod pin boom pinbucket cylinder rod pin(not used)bucket linkage pin (not used)due to the hydraulic pressure and the weight of the actuator. There is, however, anotherforce at the stick cylinder rod pin due to the pressure inside the stick's actuator (notshown in the figure).Stick: the third major link in the manipulator is the stick which holds the grapplethrough a revolute joint while connected to the boom through another joint. It is similarto the forearm of the human body. A schematic diagram of this link, along with somenominal values of the geometric parameters, is shown in Figure 6.grapple pinL = 1.800 [m] , L2 = .720 [m] , L3 = 2.425 [m] , y = 35 [Deg]Figure 6: Schematic diagram of the "stick".Like the boom, it is actuated by a cylindrical hydraulic jack. The pressure force inthe cylinder is applied through the piston rod pin (shown in Figure 6). This force is alsoapplied to the boom through a cylinder rod pin (shown in Figure 5). Two more pin holesexist in the stick which are usually used for connecting the bucket attachments. Thebucket and its corresponding linkages, however, were not used in calibration experiments.Grapple: the grapple is the forth and last element of the hydraulic manipulator and15stick pin (unactuated).1-- grapple pin(unactuated)L =1.134 [m]grappleis used as the end effector of the manipulator. It is analogous to the human hand. Asshown schematically in Figure 7, it has three degrees of freedom around its three axes ofrotations which, on the whole, determine the orientation of the endpoint. However, onlyjoint 6 is powered hydraulically in this machine and the other two joints are unattachedand free to rotate around their corresponding axes. In this sense, the grapple can becompared to a 2—DOF pendulum.Joints 4 and 5 are not actuated, and Joint 4 in this link is connected to the stickwhile joint 6 grabs the objects within its fingers.Figure 7: Schematic Diagram of the -grapple".2.3.2 inertial ParametersIn the case of geometric parameters, the required data may be obtained from themanufacturer or can be measured manually, although manual measurement may not beaccurate for such parameters as joint twist angles. When dealing with inertial parameters16of a manipulator's links, such as masses, centers of masse, and moments of inertia,we find that it is much more challenging to have relevant estimates of even a few ofthose parameters.Generally, it is very difficult, and in some cases impossible, to detach the links andmeasure the inertial parameters by precision instruments. The manufacturers of suchhydraulic machines usually cannot provide accurate estimates of the links' centers ofmass or the moments of inertia. We need more comprehensive data on such parameters.The only inertial data available for the UBC excavator are tabulated in Table 1[41]. They are gross estimates of the actual parameter values obtained either fromthe manufacturer or from a number of rough measurements. Figure 8 shows a localcoordinate frame which is attached to the center of gravity of a general link i and is inthe direction of the principal moments of inertia of the link.Figure 8: Local coordinate frame attached to the C.G. of link i.17Table 1 Nominal inertial parameters for the major links.parameters swing(link 1)boom*(link 2)stick**(link 3)grapple(link 4)M (kg) 8031 1830 688 -k; , x (m) -1.05 -2.30 -0.90 -1(1, y (m) 0.04 -0.2 -0.10 -k; , , (m) -0.50 0.00 0.00 -kw , , (m) 0.35 2.90 0.90 -k;+1 , y (m) -0.12 -0.20 -0.10 -ki ,. 1 ,. (m) 0.50 0.00 0.00 -Ixx (kg-m2) 8000 100 10 -Iyy (kg-m2) 8000 15400 600 -.^Izz (kg-m2 ) 15700 15400 600 - * Includes boom, boom hydraulic lines, boom cylinders and rod end pins, stick cylinder and head end pin** Includes stick and stick hydraulic lines.— data not available.2.4 Actuator SpecificationsThe hydraulic actuators, as well as the major links, have their own kinematics anddynamics although these do not have direct contributions to load manipulation; hence,we refer to them as minor links. There exist two different types of hydraulic actuators inour manipulator. The swing, as was mentioned earlier, is powered by a rotary hydraulicmotor which applies a direct torque to its axis of rotation (like conventional robots). Theboom and the stick, on the other hand, are actuated by hydraulic jacks.A typical hydraulic jack is powered by hydraulic oil and consists of a cylinder anda single- or double-action piston. The actuator interconnects two adjacent manipulatorlinks by forming a closed-chain. The triangular mechanism thus obtained will have oneprismatic and three revolute joints and is almost rigid, although the hydraulic oil iscompressible and the hydraulic hoses have some compliance, and the joints and links18AB = l c = 1.447 [m]BC = I (variable)CD = I bo = 2.000 [m]DA = I St = 0.625 [m]may be deflected slightly under load.Some relevant information about a number of geometric and inertial parameters ofsuch links obtained from the manufacturer or direct measurements is given below.2.4.1 Geometric ParametersHydraulic-Motor (and the gear train): it rotates the cabin about the swing axisthrough a gear train with a reduction ratio of 307:1. There is no other geometricspecification available. However, we do not need more data on this actuator.Boom's actuators: two identical hydraulic jacks are used to actuate the boom. Theyare symmetrically located on the sides of the boom and connected to the lower link(cabin). Figure 9 shows a schematic diagram and the nominal geometric specificationsfor one of the actuators.Figure 9: Nominal geometric parameters for the boom actuators.19B^CAAB = I c = 1.799 [m]BC = I^(variable)CD = I st = 0.720 [M]DA = I bc= 2.444 [m]Figure 10: Nominal geometric parameters for the stick's actuator.Stick's actuator: it is a single hydraulic jack with its cylinder connected to theboom. The geometry and nominal parameters for this actuator are given in Figure 10.2.4.2 Inertial ParametersThere is no existing manufacturer data available for the inertial parameters of theactuators, such as mass, center of mass, and moment of inertia for the cylinder or pistonindividually. The combined link-plus-actuator parameter values may be found in Table 1.2.5 SensorsThree different types of sensors have been installed on the various elements of themachine to obtain the required data for calibration purposes. These are:1. Pressure transducers, to measure the pressures at the cylinders. Their accuracyis ±0.5% of the full scale (from 0 to 5000 psi);202. Linear transducers, to measure the piston movement of the hydraulic actuators.Their accuracy is within ±2 millimeters in the workspace;3. Resolvers, which are used to track the position of each link with respect to theits previous link. The accuracy of the resolvers is ±-0.1°.A VME bus computer system is used on-board to control the manipulator automaticallyand to sample data at a maximum rate of 50 Hz. The system has1. a 12 bit A/D card to sample the pressure transducers,2. a 12 bit A/D card to sample the linear transducers.3. a 14 bit R/D (Resolver to Digital) card to read the resolvers.21Chapter 3KINEMATIC CALIBRATION3.1 IntroductionAs discussed in Chapter 1, robot calibration is essential for model-based control ofrobots and teleoperators since the kinematic and dynamic parameters are used to builda robot model, which, for control purposes, should be as close as possible to the actualsystem in order to obtain good estimates of the applied torques and/or forces. Up tonow, autonomous calibration of robot dynamics has basically been achieved, althoughthe kinematics must be assumed to be given (see, for example, [1]). Thus, in order toidentify the inertial parameters in a truly autonomous system, one needs first to calibratethe kinematics of the manipulator.Our emphasis in this chapter is to introduce and develope a method to measure thekinematic parameters of a robot in general, and a hydraulic teleoperator in particular,with minimum human involvement.3.2 Previous WorkKinematic calibration is a process by which all kinematic model parameters of the robotmanipulator are identified given a set of pose measurements. It consists of finding amore accurate geometrical relationship than the nominal one between the joint sensorreadings and the actual position of the end effector; then, the robot positioning software22is changed according to this new relationship identified. Typically, researchers haveviewed the manipulator as a positioning device, i.e., an open-loop kinematic chain. Inthis way, by changing the position of the end effector in a three—dimensional (3D) spaceand measuring its position and orientation as well as the robot joint angles, calibrationis made possible.The measurement of a 3D trajectory with high accuracy, high bandwidth, and largedisplacement is still difficult to achieve. In the past, the task of kinematic calibrationinvolved labor-intensive apparatus and procedures. Especially machined calibrationfixtures with precision points were employed, for example, by Hayati and Roston [12] andVeitschegger and Wu [38] which required that the operator manually guide an insertiontool. Whitney et al. [40] used a model including nongeometrical errors, such as geartrain backlash, joint and link flexibility, gear runout, etc., and a least squares numericalsearch algorithm on measurements obtained from a manually operated theodolite. Thisprocedure, using theodolites, is very accurate and applicable over a wide range of robotworkspace; however, it is not automatic, and therefore, it is tedious, time consuming,and requires much human involvement and experience. Also, its error model is highlynonlinear and, unfortunately, the definition of geometrical parameters to be identified(six for each link) is rather unusual and is related to the measuring instruments. Juddand Knasinski [15] also used theodolite for their measurements and considered mainlynongeometrical errors. They proposed error models that can be used for identificationwith a common least-squares procedure. Roth et al. [31] gave an overview of robotcalibration discussing modeling, measurement, identification, and correction issues, butno mathematical or experimental developments and results were presented.A number of investigators have considered applying computer-directed dataacquisition systems for automatic robot calibration. For example, Puskorius and23Feldkamp [29] used a stereo camera system mounted on the end effector of theirrobot. This method, however, has a fairly low accuracy compared to other methods,and the cameras mounted on the end effector can interfere with robot operations [29].Stone and Sanderson [35] employed an ultrasonic range sensor to measure the positionand orientation of the endpoint in real-time. This type of sensor is fairly accurate andautomatic. Along each Cartesian axis, the resolution reached 0.1 mm and sampling ratewas about 50 Hz [35]. One drawback of this system is its very limited workspacearea of operation making it unsuitable for general endpoint tracking [1]. The otherdisadvantage is the sensitivity of sound speed in the air to temperature and humidity.Because of changes in outdoor conditions, sensor calibration will be required several timesduring measurements, or robot calibration should be done in a very carefully controlledlaboratory. Also, since the sonic source is fixed to the moving object, problems canoccur with reflection of the ultrasonic waves on the machine structure. As a result,this method is not suitable for calibration of heavy-duty hydraulic manipulators in anuncontrolled outdoor environment.More sophisticated instruments for endpoint tracking have also been developed. Onesuch instrument is a laser tracking system which appears to have sufficient bandwidth,large displacement, and high accuracy, with resolution of 1:100,000 reported [20]. Butcurrently such a method can only be used for linear motions of the end effector. Variousresearch is in progress to develop 3D measurement laser systems, but motion speedseems to be limited [20].Infrared 3D measurement systems have been used by Hollerbach and Bennett [13]and An et al. [1]. These are based on a stereoscopic analysis, using two cameras, of thelocation of six infrared light-emitting diodes (IRED's) on a 2' x 2' square frame fixed tothe endpoint. Each diode can be sampled at 400 Hz, and the spatial resolution is 1:400024with accuracy of about 1 mm at a distance of 2 meters. By switching on and off ofthese diodes sequentially, six fixed points of the end effector can be located accordingly,allowing the absolute position and orientation of the square frame to be calculated. Thewhole system needs accurate calibration by itself, and is sensitive to light reflections aswell ( hence not suitable for outdoors). Also, the low resolution directly influences theaccuracy so that, according to the authors, the calibrated parameters were not as accurateas the nominal ones [1].All of the techniques already discussed have been used for robot kinematic calibration,and have some important common features. They may be summarized as follows:1. They have been applied to conventional robots and therefore are suitable for suchsystems. A more convenient method for kinematic calibration of large hydraulicmanipulators should be devised in order to take the calibration problems of suchsystems into account.2. They require the position and orientation of the endpoint to be measured byan external measurement system which is usually complicated, expensive, andneeds engineering supervision. The extra equipment often introduces someserious problems and difficulties to the calibration procedure such as bandwidth,accuracy, workspace limitations, inconsistency in data readings, and need fora highly controlled environment for the calibration process (e.g., well-equippedlaboratories). Besides, these types of sensors, by themselves, should be calibratedvery accurately just before or during the robot calibration procedure itself.3. They definitely need robot joint sensors to measure the joint angles simultaneouslyin real-time.A number of problems may arise, however, in applying such existing calibration methods25to hydraulic manipulators. These will be discussed in the next section.3.3 Problem StatementAlthough heavy-duty hydraulic manipulators and teleoperators have many similarities toconventional robots, including joints and links, and the same control strategies applicableto robots, due to several reasons they cannot be simply calibrated in the same way as therobots are. If we look at an industrial hydraulic machine which is going to be used asan efficient computerized teleoperator, we will easily find some or all of the difficultiesthat one should face in the early stages of the calibration process. For example, thecylindrical actuators of hydraulic manipulators form minor closed-chains with the majorlinks (see Figures 9 and 10). In order to calculate the dynamic forces applied to themanipulator links, we have to identify the kinematics of the minor closed-loops as well.Below are given some other problems one faces in the calibration of such manipulators.3.3.1 Endpoint Sensing ProblemThe calibration procedure must be economic and industrially feasible, at least, at thelevel of modifications to be done on the machine since hydraulic machines are oftenmodified in the field. It means that calibration should be able to be performed on sitewith minimum human supervision and specialized skill. Therefore, any type of sensitivemeasurement instrument which may be affected by the ambient conditions or needhighly skilled operators should be avoided. Secondly, calibration must be done withina reasonable time. It is not feasible to take several days to calibrate a single hydraulicmachine. Hence, those calibration techniques that make use of endpoint sensors, whichthemselves require calibration right before the actual calibration procedure, are unlikely26to be practical (for example, IRED's or camera systems). Thus, none of the calibrationtechniques discussed in Section 3.2 are in fact suitable for our purposes.Fortunately, a number of investigators (e.g., [4] and [5]) have recently developed anew method which provides the basic requirements for calibration of hydraulic machines.If the manipulator is viewed as a closed-chain device to interact at its both ends withthe environment, it is not necessary to monitor and sense the endpoint, and autonomouscalibration is then made possible. As Bennett and Hollerbach state, "if a manipulatoris formed into a mobile closed kinematic chain, then its joint angle readings alone areenough to identify the kinematic parameters" [5]. It means that when the endpoint of amanipulator is attached to a known task fixture, and the manipulator assumes a numberof poses, there will be enough consistency equations [5] to solve for the kinematicparameters.As an example, suppose that the end effector of a four-degree-of-freedom (4–DOF)robot is attached to a fixed ball joint (a 3–DOF task) that provides a mobile chain. Then,if the closed-loop assumes n different configurations, the joint angle readings alone aresufficient to write 3n loop position equations in order to identify all of the kinematicparameters as well as the transformations from the robot base to the contact point (task).This technique is quite general and is equally applicable to both conventional robotsand hydraulic manipulators.3.3.2 Mobility ProblemNow, imagine that we have an n—DOF manipulator which forms a closed kinematicchain when its endpoint is attached to an t—DOF task fixture. In order for the chain tohave a general spatial mobility, we know from classical kinematics thatn t > (3.1)27For example, in order for the closed-chain to have a total mobility of 1, with a 0—DOFtask fixture (or simply "task"), the robot must be redundant; i.e., it should have at least7 degrees of freedom. It happens when the robot hand is locked to another robot handor to the ground. In this case, by moving only one joint (or link) at a time, all otherjoints assume a new position and orientation in the space spontaneously. If this robothad more than 7 DOF's, the number of links that could be moved arbitrarily would beequal to the mobility of the closed-chain.According to inequality (3.1), a 3—DOF point contact task fixture can be employedas a constraint only if the manipulator has at least 4 DOF's. Hydraulic machines usuallyhave 4 to 6 DOF's (see Figures 2 and 3); therefore, a passive' point contact can be usedas the task fixture. For instance, when the 6—DOF experimental machine shown in Figure3 is attached to a ball joint, the degree of mobility (DOM) in the closed-chain thus formedwill be (6+3)-6=3. It means that three links of the manipulator can be moved arbitrarilywhile the other three should assume spontaneous configurations in the space. Now, if the4—DOF excavator in Figure 2 forms a closed-chain with the same task, then the DOMfor the system will be (4+3)-6=1. Here, only one link is free to move and the remaininghave to follow particular trajectories in the space. For a conventional robot, this probablydoes not cause any significant problem since the links are rather light and the drivenjoints can be back-driven (e.g., in direct drive arms) or freed up using a clutch (e.g., inthe case of gear-driven servos) while the driving joints are moving in the workspace.In the case of heavy-duty hydraulic manipulators, however, the situation is quitedifferent. They usually have very heavy links and the hydraulic power cannot be easilyturned off by detaching the oil hoses from the actuators, or by turning off the hydraulicpumps. Even if we did so, tremendous forces/torques would be required to hold the heavy1^By passive we mean that the task may not have any sensor attached to it and therefore, its coordinatesneed not be sensed during the calibration process.28links in position. This is the case for the excavator of Figure 2. For the experimentalmachine in Figure 3, as was mentioned in Chapter 2, only four links out of six (i.e., links1, 2, 3, and 6) are hydraulically powered, and the other two links, i.e., links 4 and 5, arefree. Therefore, if only one powered link should move at a time, in order to maintainthe mobility of the closed-chain, we need at least (6+1)4(4-3)+31=3 free links in theloop. Having already two free links belonging to the manipulator, the chain requires atleast one extra link to maintain mobility.In general, suppose that a manipulator has n DOF's, and its endpoint is attached to atask fixture with t DOF's. If we wish to have a m—DOM closed-chain, from inequality(3.1), the degrees of freedom required for the task fixture would bet = (6 + rn) — n^ (3.2)When the manipulator has p hydraulically actuated links, which naturally cannot movefreely in the closed-chain, the DOF's of the manipulator will decrease by p; thereforet^(6 + nt) — (n — p)^ (3.3)But we wish to move d powered links simultaneously in the closed-chain, with d s in. Itmeans that the DOF's of the manipulator, i.e., n-p, will increase by d, ort = (6 +^— [(n — p) d]^ (3.4)Usually, the task fixtures have 3 or less DOF's, i.e., t s 3. Therefore, in order to maintainm DOM's for the closed-chain while moving d powered links, we may need 1 more linksto be attached to the task fixture, which can be obtained from Eq. (3.4),/ = (6 + nt) — [(n — p) d t]^ (3.5)withd < ni^ (3.6)29According to Eq. (3.5), we thus need at least 1 extra link for the UBC experimentalmachine and 3 links for the excavator. These additional serial links need not be heavyat all, and should be attached to the endpoint from one end, and to the task from theother end. Of course, any new link introduced to the closed-chain must have its ownjoint sensor (e.g., resolver for a revolute joint and linear transducer for a prismatic joint).In this way, the problem of mobility for the hydraulic manipulators can be solved withminimum provisions and expenses.3.3.3 Joint Sensor ProblemAnother major problem with a hydraulic manipulator is the attachment of jointsensors. A hydraulic machine is normally built to work in highly unstructured hazardousenvironments such as forests, mines and mountains. If it is converted to a computer-coordinated teleoperator (or telerobot), then in order to control the machine, joint positioninformation in real-time will be needed. However, joint angle sensing systems on thesemachines, including the joint sensors, the connections to the sensors, and the wireslinking them to controlling computers are vulnerable to mechanical damage (e.g., shock,vibration, abrasion, etc.) and electrical defects (e.g., welding repairs, short circuits dueto moisture, etc.) in hostile environments. Such sensors and their decoding electronicsalso introduce substantial extra cost and complexity to the system. Therefore, someother sensing systems would be desirable in place of traditional joint sensors used inconventional robots.Mulligan et al. [26J suggest a convenient model-based vision system mounted ina safe place on the cab. It eliminates the use of the joint sensors by taking real-timeimages of the links and comparing them to a predefined kinematic model of the linksand computing the relative angular and/or linear positions of the joints accordingly.30The model can be established by calibrating the manipulator applying the closed-chainsconcept. In this case, the manipulator links need not have any joint sensors; instead, thejoint sensors of the attached links, which provide mobility for the closed-chain, can beemployed in the calibration process. We name this extra serial linkage "the calibrator"[17] because it actually calibrates the manipulator by using its own sensors. We stillmay assume our proposed method of calibration to be autonomous since the only humaninvolvement in the whole process is limited to attaching one end of the calibrator tothe end effector and the other end to the ball joint which is fixed to the ground, orpreferably, to the machine's base.For a manipulator with unsensed joint angles, we require a special identificationalgorithm to solve for the unknown parameters. In the following sections, we show thatthe closed-chain kinematic equations for a manipulator contain joint position variableswhich are not sensed except for the calibrator's; the joint positions should somehow beeliminated from the model formulations. It requires that the manipulator be remodeledand a new calibration procedure be introduced.3.4 ModelAs mentioned in Chapter 1, the goal of the kinematic calibration is to improvethe accuracy of the kinematic model of the manipulator. In this section, we willconstruct a global model for error identification2 . This model depends on the choice ofparameters used to describe the manipulator geometry and on the possible considerationof nongeometric errors. The error model is written in a linearized form so that it canbe directly exploited in the identification process.This expression is used because the nonlinear model can be substituted by a difference equation whichreflects the error in the parameters. See Eq. (3.31).313.4.1 Geometric ParametersGeometric parameters are those that reflect all aspects of the apparent geometry thatexists between two successive rigid links. Using the geometric parameters, one mustlocate the link and its corresponding coordinate frame with respect to its preceding link.A number of different approaches exist for developing a geometric model of themanipulator. For example, the Complete and Parametrically Continuous (CPC) modelingconvention has been proposed by Zhuang and Roth [42] which introduces eight redundantlink and joint parameters for a revolute joint. The kinematic model obtained by usingCPC parameters is almost linear when the manipulator assumes a series of particularposes. Nevertheless, this model has not become popular among other researchers partlybecause of the number of parameters used and the redundancy in parameters.The most common method for defining the geometric parameters of a manipulator isthe procedure proposed by Denavit and Hartenberg [6] which is based on homogeneoustransformation matrices. This procedure consists of establishing coordinate systems oneach joint axis. If Joint i has the axis of rotation (or translation) zi_i, and Joint i+1 hasthe axis of rotation (or translation) zi, the coordinate frame of Link i can be determinedand established according to the following three rules [8]:1. The axis lies along the axis of motion of the ith joint.2. The xi axis is normal to the 41 axis, and pointing away from it.3. The yi axis completes the right-handed coordinate system as required.The basic Denavit-Hartenberg (D-H) representation of a rigid link depends on fourgeometric parameters (in contrast with the eight CPC parameters) associated with eachlink. These four parameters describe any revolute or prismatic joint. For the time being,32joint i+1^link i+1XIjoint iFigure 11: Establishing link coordinate systems based on the modified D-H parameters.we shall assume axis^to be the axis of movement for link i+/. Referring to Figure11, the four basic D-H parameters are defined as:Oi the joint angle from the xi..1 axis to the x'i axis measured about the 4_1 axisaccording to the right-hand rule.di the distance from the origin of the (i-1)th coordinate frame to the intersection ofthe 41 axis with the x'i axis along the^axis.ai the offset distance from the intersection of the 41 axis with the x'i axis to theorigin of the ith coordinate frame along the x'i axis. Naturally, ai is the lengthof the common normal between the zi_i axis and the z'i axis.ai the offset angle from the 41 axis to the z'i axis measured about the x'; axisusing the right-hand rule.Using the definition of D-H parameters for each link, a homogeneous transformationmatrix can be defined which relates the ith coordinate frame to the (i-1)th coordinate33frame. A homogeneous transformation matrix is a 4x4 orthogonal matrix whose 3x 3upper-left submatrix reflects the orientation of the ith coordinate frame with respect tothe (i-1)th coordinate frame, and the first three elements of its fourth column indicate thexyz position of the ith frame origin with respect to the origin of the (i-1)th frame. Thefirst three elements of the fourth row of this matrix are zero and the fourth element ofthis row is set to 1. The 4x4 homogeneous transformation "Ai from link i to link i-/can be defined by the D-H convention given in Figure 11 as:= T rans(zi_ i , di) Rot(zi_ i , 0i) Trans(xi, a i) Rot(xi, ai) (3.7)where the notation Rot(xi, 0i) indicates a rotation about an axis xi by an angle 0i, andTrans(xi, aj) indicates a translation along an axis xi by distance ai.One major problem may arise, however, with the basic D-H parameter definitionwhen two successive revolute joints in a general manipulator are nominally parallel[10]. In the case when the axes of the joints are exactly parallel, there are theoreticallyan infinite number of common normals with the same length between the two joints.The D-H parameter ai can represent any of those lines. Now, if there exists a slightmisalignment in the plane formed by the 41 and zi joint axes, the length of the commonnormal ai can assume virtually any positive value which is not continuous as the axesbecome misaligned. In this case, small geometrical errors do not lead to small variationsof the parameters and therefore, the coefficients in the geometric model do not varyproportionally with the degree of the misalignment. This may create a serious numericalinstability in the identification algorithm.A number of investigations have already been conducted to modify the D-Hparameters so that the two consecutive parallel links can be treated as a special casewith different formulations (see, for example, [10], [11], [40], and [39]). Because of its34convenience and simplicity, we have chosen the modification suggested by Veitscheggerand Wu [39] and shown in Figure 11.Suppose that the two axes of rotation 41 and zi are nominally parallel but witha slight misalignment. Then, with the basic D-H coordinate definition, we may stillmaintain the z'i joint axis parallel to the 41 axis and establish the i'th coordinate frameas before. Now, we realize that the actual zi axis has been slightly twisted aboutthe virtual y'i axis (which is not shown) by an angle Without this link twist, thenonparallelism must be compensated by artificial modification to the values of the lengthai and the offset di of the ith link even if they were initially correct.As stated earlier, the four basic D-H parameters are theoretically necessary andsufficient to define any coordinate frame, and the twist angle seems to be a redundantparameter. However, this parameter will only be used for successive nominally parallelrotational joint axes, and in this case, it is substituted for the joint offset length di if weconstruct the coordinate frames from lower links to higher ones, or di,' if vice versa.Hence, we are allowed to fix the dependent translation di (or di,1) and to consider in theidentification algorithm that it keeps its nominal value and is thus error free. In othercases, the twist angle ,L3i is simply set to zero. The homogeneous transformation matrix"Ai defined in Eq. (3.7), thus, may be modified as:1-1 Ai = T ran .s(zi_ i , d i ) Rot(zi_ i , i ) xTrans(xi, ai) Rot(xi, 64) Rot(y i ,/ii )^(3.8)If we expand the right hand side of Eq. (3.8) using the homogeneous transformationmatrices and D-H parameter definition explained earlier, we will get350^0^00^1^0^00^0^1^di0^0^0^1cos Oi^— sin Oi^0^0sin Oi^cos Oi^0^00^0^1^00^0^0^1 1^00^10^00^00^ai0^01^00^1x0 0 cos /1,^0^sin /I, 00^cos ai^— sin ai^00^sin ai^cos ai^0^0 ^1^0^—sin^0^cos00(3.9)0^0^0^1 0^0^0 1or in concise form- C13.00— Sa.Sf3.S0^—Ca.S0 S73.00+ Sa.C13.S0 a.00 -A = C,3.S0+ Sa.S,13.00^Ca.00—Ca.S,13^SaSa.03.00C a.0a.SO (3.10)0 0 0 1where C and S stand for cos and sin functions respectively. In Eq. (3.10), all thesubscripts and superscripts have been omitted for convenience. Note the orthogonalityof the columns in Eq. (3.10). Also note that for nonparallel revolute joints, the twistangle is equal to zero and we get the familiar homogeneous transformation matrix [8]- CO —Ca.S0 Sa.S0 a.00 -A SO0Ca.00Sa—Sa.CO a.S0 (3.11)0 0 0 1It should be mentioned that for a revolute joint, the joint variable is 0 while for aprismatic one, 0 is constant and d becomes the joint variable. Since the manipulator withwhich we are dealing has revolute joints, from now on we can assume without losinggenerality that the joint variable is 0 and proceed to derive the equations for revolutejoints. Of course, the method developed here can easily be extended to the manipulatorswith prismatic joints.363.4.2 Nongeometric ParametersAs depicted in the previous section, geometric parameters can be affected by errorsin their nominal values. But other error sources are present in a manipulator structure.A number of researchers have called them nongeometric parameters or nongeometricerror sources (see, for example, [31], [4], and [30]). The nongeometric parameters arefocussed at a joint and reflect errors between the true and measured joint angles. Theerror sources that are suspected to have the most significant effect on the accuracy ofour measurement in this work are joint flexibility, link flexibility, looseness and play ofthe joints in hydraulic manipulators arising from lifting heavy loads, joint angle offset,and temperature effect.According to the results presented in the literature (e.g., [40] and [15]), flexibilityin the joints and in the links of conventional robots, among the other nongeometricparameters, causes the highest error (between 8% to 10%) in the endpoint position andorientation. Link flexibility is usually less than joint flexibility. There is unfortunatelyno significant research on the effects of joint/link flexibility in hydraulically actuatedmanipulators. It is reasonable, however, to assume that the error due to joint flexibilityshould not exceed the amount claimed for the conventional robots, because the hydraulicactuators form closed chains with the machine links, and therefore, the joints and links areusually stronger and more rigid compared to those of robots [2]. Modeling of joint andlink flexibility is quite involved and requires detailed analysis of the structural elementsforming the manipulator, which is out of the scope of this work and therefore will notbe considered here. However, we will see in the following sections that joint flexibilityin the calibrator is responsible for much of the errors in the identified parameters.Looseness and play in the joints, like backlash, are probably some of the mostdifficult error sources to identify. Fortunately, the contribution of backlash to the global37error is only between 0.5% to 1.0% [30], and we expect the same amount of contributionfor the joint looseness and play -3 . These parameters are rather random and hard to model.The joint angle offset is one of the easiest nongeometric parameters to identify andis related to the actual joint angles O'i and the measured D-H joint angles Oi by6); — 0, + o icin (3.12)From the nongeometric parameters, we will consider only the joint angle offset in theglobal kinematic model since its modeling is simple and the error in the identifiedparameters will be dramatic if it is neglected.Thermal expansions can affect the manipulator mechanical structure. However, inthe accuracy range we are working with, temperature does not contribute any significanterror to the identified parameters. Of course, the accuracy of the resolvers may beaffected by temperature changes as well. The net effect is a slight drift in joint anglereadings which normally changes nonlinearly with the temperature. However, the wholecalibration process can be carried out in a span of a few minutes during which drastictemperature changes are unlikely to occur. The result is that the readings of the resolversmay have a different but constant drift. This drift is inherently included in the joint offsetangles of Eq. (3.12) and will be identified in the calibration process.3.4.3 Manipulator KinematicsA manipulator is formed when a number of individual links are subsequentlyconnected to each other through revolute or prismatic joints. For two consecutive linksi and i+1, the homogeneous transformation matrix 41'41, which specifies the locationof the (i+/)th frame with respect to the (i-1)th coordinate system, is the product of the3^Although we have found that these nongeometric parameters have contributed much more errors thanexpected to our measurements (see Section 3.8).38and[0 pll I)'A, [0,0,0,11 T^(3.17)two successive coordinate transformation matrices "Ai and iAi,/,=^Ai. iAi+ ,^ (3.13)For multiple chained links of a manipulator, the homogeneous matrix °T,,, whichspecifies the location of the nth coordinate frame with respect to the base coordinatesystem, is the chain product of successive coordinate transformation matrices of "Ai,and is expressed as [8]°T„ = • . n-1 A, = H Ai (3.14)i=Or0 Tn —[ Xn0Yn0Zn0 Pn1 {011^°N0: 1 (3.15)where 0=[0, 0, 0], and[xn) yt, Zn ] = RttPn =orientation (or rotation) matrix of the nth coordinate systemestablished at link n with respect to the base coordinate system.It is the upper left 3 x3 partitioned matrix of °Tn.position vector which points from the origin of the basecoordinate system to the origin of the ith coordinate system.It is the upper right 3x 1 partitioned matrix of °Tn.By combining Eqs. (3.14) and (3.15) using Eq. (3.8), we will get [5]Rn H Hot ( zi_ , Oi ) Rot (xi, ) Rol (yi,^(3.16)i=i39where the first three elements of the column vector [0, 0, 0, 1] T are the coordinatesof the origin of the nth link frame with respect to itself. From Eqs. (3.16) and (3.17)we see that the rotation matrix °11„ and the position vector pn are functions of thelink kinematic parameters 0,, Oiqff, o„ ai, and d, (or 3,) for i=1 n. From the aboveparameters, only 0, varies significantly in time and the others are almost time invariantand can be assumed constant. Thus, we may define a row vector that contains all ofthese constant kinematic parameters as^- 1 = [0,?-11 , ai, ai, d,^(or /i)]^(3.18)Therefore, from Eqs. (3.16) and (3.17) we obtain^° R„ = G(0, 0)^ (3.19)and^Pit = f(ti, Cb)^(3.20)where the underlined general variable x is a row vector of the kinematic parametersxi's from 0 to n.Now, if a general N—DOF manipulator forms a closed kinematic chain by attachingits endpoint to a passive point task (or a ball joint), we realize from Eq. (3.16) thatthe rotation matrix °RN which determines the orientation of the endpoint with respect tothe base coordinate frame is unknown, since the point task is passive; but, the endpointposition vector pN in Eq. (3.17) is fixed in space when the manipulator assumes anyarbitrary configuration j. Therefore, when the closed-chain is at the jth configuration,by rewriting Eq. (3.17) for the subchain from the Nth link to the (i+ /)th link, wemay obtain [17] the position of the endpoint (point task) with respect to the ith linkcoordinate system as[ i Pjiv , I]T =^4.-1.guik [0,0,0, (3.21)40iFY Ni-1)^i-rzN. cos Oz — — 1 siy„ . sin OjiSj Sin a:X N • •N . COS 0Y + di(3 .24a)(3.24b)(3.24c)and for the subchain formed from the Nth link to the ith link,—1 J I]^ft.^- Ak [0, 0, 0, 1[ T (3.22)From Eq. (3.20), we know that the endpoint position vector Hpii with respect to theith link coordinate frame is generally a function of the joint angle variables Oki and linkparametric vectors (Oen, k, ak, dk, 13k) for k=i N. The homogeneous transformationmatrix "Ati contains the ith joint angle variable^which we assume to be unknown(or unmeasured). Using Eq. (3.8), we can rewrite Eq. (3.22) asT{ i'piN , 1] =T ralis(zi_ i , di).Rot (zi_ 1 , 0!) x(NTrans(xi, ai).Rot(xi, a ).Rot(xi, fli) ftk =--- /+,[0, 0, 0, 1} Tk —(3.23)The vector equation (3.23) consists of three algebraic equations for the Cartesiancomponents of the position vector Hpii. If we expand the first two matrices of theright hand side of Eq. (3.23), and name the three scalar components of the resultantvector of the remaining terms as s, sy , and sz, we obtain the following three algebraicequationsThe s vector is a function of the joint variables 0,,/ to ON and link parameters tp, toN . To eliminate 01 from Eqs. (3.24a and b), we square these equations and add themtogether to get simple relations for the jth measurement point asPIN1 2 i-1 s 2—1 y2 N + (3.25a)41i s +^(3.25b)where the superscript j has been dropped for clarity.Eqs. (3.25) are the kinematic model for a general manipulator and will be used inthe identification process. From these equations we learn that• the components of the s vector contain the higher link joint variables 0,+11 to OW,some of which may change with j during the identification process; They musttherefore be sensed while the other unsensed joints in the whole chain, exceptthe ith joint, must be kept fixed. Given a manipulator without any joint anglesensors, we need an extra linkage, the calibrator, with sensed joints to providethe sensory information to be used in Eqs. (3.25).• the components of the s vector also contain all the unknown parameters of thecurrently moving link as well as a number of unidentified parameters for thedistal links (including the calibrator parameters).• the calibration procedure, therefore, must start from the most distal link ofthe original manipulator by moving it while locking the other links of themanipulator. Note that the joint angle of the currently moving link does notappear in the proposed kinematic model (Eqs. (3.25)).• since for a closed kinematic chain with a point task fixture, the task positionvector components in Eqs. (3.25) are fixed but unknown, they should be identifiedalong with the manipulator link parameters.• from Eq. (3.25a), however, only the norm of the task position vector in the xyplane (not its x and y components) with respect to the (i-1)th link coordinateframe can be identified.42• the z component of the task (endpoint) position vector with respect to the (i-1)thcoordinate frame in Eq. (3.25b) is dependent on the ith link offset length d,, andtherefore, only their difference can be identified at the ith identification stage.• since at each stage of calibration, the number of unknown parameters in Eqs.(3.25) well exceeds the number of equations, different manipulator poses andmeasurements are required to determine these parameters robustly if there issome random noise in the sensor readings. For example, link i should assumeMi different poses (then j=1, 2, ^ M,).3.4.4 Actuator Linkage KinematicsEvery individual cylindrical hydraulic actuator forms a 1—DOM closed kinematicchain with the adjacent manipulator links. In Figure 12, joint D, which connects themanipulator's (i-1)th link to the ith link, is a simple revolute joint whose movementis always known through a sensor or, in our case, through the proposed identificationtechnique, i.e., Eqs. (3.25). The cylinder and the piston joints A and C, however, canbe simple revolute joints if the axes of A, C, and D are parallel to each other. Whenthere is a slight misalignment between any two of them, the joints for the actuator mustbe ball joints in order to allow motion and to prevent excessive stresses. In every case,a local base coordinate frame can be established on joint A (or C) and attached to thecylinder (or piston). Then, by applying Eqs. (3.25) to the endpoint C (or A) one mayidentify the D-H parameters for this closed-chain by measuring the changes in length Ip .If joints A and C are 3—DOF ball joints, the triangle ACD will become a spatialclosed-chain, and as a result, two more joint angle sensors will be required to identifythe geometric parameters. In the case that all joints are parallel, the triangle ACD willalways be on a single fixed plane, and Eqs. (3.25) can be simplified to the well-known43AB^C0link i-1AB=l cBC = I PCD = I uDA = IFigure 12: The kinematics of a cylindrical hydraulic actuator.triangle equation for the jth measurement point, as1p = 1/1 .71^1 — 21 u 11 cos^lc (3.26)where= 0^,d off^(3.27)and 0, is the measured or previously identified angle for the ith joint. From Eqs. (3.26)and (3.27), only the joint angle 0, and the link displacement 1p needs to be known ormeasured in order to identify the constant parameters.3.5 MeasurementAs discussed in Section 3.5.3, Eqs. (3.25) constrain us to follow a special hierarchicalmeasurement procedure and identification algorithm somewhat different from the standardcalibration methods that exist in the literature (see Sections 1.2 and 3.2), sinceconventional robots usually have their own joint sensors which can easily be used44chassis (ground) grapplestick07tball joint^ hree-linkcalibrator05for calibration purposes. In contrast, we have assumed that the hydraulic manipulatorlacks such sensors. By reformulating the standard kinematic equations, we have deriveda special model that requires some other sensing device, like the proposed calibrator, toidentify the manipulator kinematic parameters.Figure 13: The calibrator designed for machine calibration.3.5.1 The CalibratorThe minimum number of calibrator links needed to form a mobile closed-chain maybe calculated from Eq. (3.5). However, since the manipulator joint angles are not sensedand the task fixture is assumed to be passive, the calibrator shown in Figure 13 musthave at least three orthogonal4 joint axes in order to identify all the kinematic parametersof a general n—DOF manipulator; therefore 1=3. For the hydraulic machine describedThey should be orthogonal because with parallel joint axes, the workspace of the manipulator'sendpoint in the closed-chain will be limited to certain planes, and not all the link parameters can beidentified then.45in Chapter 2 and shown in Figure 3, the number of DOF's is n=6, out of which fourlinks (1, 2, 3, and 6) are hydraulically actuated (see Section 2.3); i.e., p=4. Only onelink at a time is allowed to move; therefore, d=1. The task selected is a ball joint,i.e., t=3. Using Eq. (3.5), the degrees of mobility for the combined system will bem=3+[(6-4)+1+3]-6=3. Without losing generality, we may lock joints 5 and 6 of themanipulator for the convenience of our experiment; in this case, the manipulator willhave three powered links 1, 2, and 3 (p=3) and one passive link 4 (n=4). If we freezeall links except link 4, then d=0, and the degree of mobility will be reduced to 1. If link4 is fixed and one of the powered links moves, d=1 again and the degree of mobilityfor the closed-chain will be 1.Theoretically, one degree of mobility in the closed-chain is sufficient for calibrationpurposes. In practice, however, because of the size of the heavy-duty manipulators andtheir workspace, and also because of the magnitude of forces and torques applied bythem, we need to build strong and relatively large calibrators for machine calibration.This may cause the calibrator to be rather heavy, especially since the joints and links arerequired to be as rigid as possible to avoid introducing any additional bias and disturbanceto the kinematic model we have developed 5. It is thus better to have more than onedegree of mobility in the closed-chain by increasing the number of sensed links in thecalibrator. Usually 2 DOM's are enough if all of the calibrator joints are orthogonal.Another advantage of having a more than 1—DOM closed-chain is that the workspacefor the calibrator will be enhanced, which is crucial for any identification process ingeneral, and especially for the identification of the calibrator parameters. This is becausethe planes or spatial surfaces that the joints describe would then be increased andtherefore, more points in the 3D workspace can be measured accordingly. The netIn fact, these large torques caused our first prototype of the calibrator joints and links to deflect and,in some cases, to break.46result is that the system of nonlinear equations which are to be solved for the unknownparameters will become well-conditioned.In our experiments, we chose to use the grapple (i.e., joint 6 in Figure 7) as anadditional joint by attaching a resolver to its axis of rotation. This provision does notlimit the generality of the method. From now on, we assume that the calibrator consistsof four links (r=4), i.e., links 5, 6, 7, and 8 in Figure 13.Figure 14: The combined hydraulic machine and the calibrator during the kinematic calibration process3.5.2 Measurement ProcedureThe measurement process, which consists of reading the joint sensors of the calibratorwhile the manipulator links assume different poses, although simple, requires strictadherence to the following procedures:1. Attach one end of the calibrator to the manipulator endpoint (the grapple) and theother end to a ball joint installed on a stationary point of the machine, as shown47in Figure 14. Also, install the linear position sensors on the cylindrical actuators.2. Start the measurement process by moving the most distal link of the manipulator(the nth joint) to Mn different poses while freezing all other links, and read thecalibrator joint angles [On+1, ^, On+d in to [0n+1, ^ Oni-r]M" as well as thedisplacements of the actuator pistons.3. Freeze the currently moving link and start moving the next proximal link i andcollect the data for that link as in step 2; i.e., read the calibrator joint angles [On+1,^ , On+,.] 1, to [On+i„ On .fr imi and the linear displacement for the piston.4. Repeat step 3 until i=1; i.e., until the first link of the manipulator have beenmoved and the calibrator joint angle data [On+1, n+r]i 1 to [011+11 0n+rr 1 Iand actuator linear displacements have been recorded.3.6 Identification3.6.1 Differential RelationsSimilar to Eq. (3.20), the direct kinematic model of Eqs. (3.25) gives a nonlinearrelationship for the endpoint alternate position vector i-1vivi.vpx2 +py2)1/2, pz iT m termsof the vectors of kinematic parameters and joint variables 0 as1 11:11 = [N/13 + 14, Pzi = (3.28)Orr = f (0,^p') = [0, Or^ (3.29)where the subscripts and superscripts have been omitted for simplicity, and^=[AT nof f ,T a TqT T d 7^The row vector a T , for example, represents the D-Hparameters (ai, ai+ i, ^, aN). The calibration is based on iteration of the linearized48^direct kinematics (3.29) around initial estimate vectors O and^of real vectors 0 and,. This method is common among many researchers (for example, [29], [38], and [1]).From differential calculus, the first variation At- of the endpoint location correspondingto variations in the link parameters (so, AO off, Act, A/3, Ad, Ad, Ap') is given byOf^Aoof fOr at9 "1 '1- ao^—^OaAo+aa^Of^Of ,Ti; 1+ as ^-0 + V`A (3.30)or in a more compact form asAO^-A0 0 fAr , Of^Of^Of[ Of Of Of Of ActA/3 =COQao^ao off^da (9,3 Op'Oa ad AdAd(3.31)This method of solving for Or is usually called Newton's iteration method [14]. Eachmatrix J, = 4f in Eq. (3.31) represent a Jacohian with respect to the particular kinematicparameter vector w. The first Jacobian in Eq. (3.31) is simply the normal manipulatorJacobian. In order to solve Eq. (3.31) for the parameter variations, one should first findthe Jacobian matrices for the equation.3.6.2 Jacobian CalculationThe derivation of the Jacobians may be performed in a variety of ways. The moststraightforward method is to calculate the Jacobians either analytically or numerically. Byusing symbolic manipulation softwares, one may obtain the exact closed-form solutionsfor the Jacobians. This can be done once for a particular kinematic chain and storedfor subsequent uses.In this work, however, we have chosen to calculate the Jacobians numerically byapplying the finite-difference technique. This method of determining Jacobians has been49=^hfi(x^hey) — .1i(x) discussed in detail in [14]. Here, we briefly mention that for a function f of a singlevariable x, the finite-difference approximation to f '(x) is given bya^f(x + h)- f(x) ^ (3.32)where h is a small quantity named step size, and la-f (x)1.0(h) for h sufficiently small.In the case when we have a multivariable function F : M , it is reasonable to usethe same idea to approximate the (i,j)th component of the Jacobian J(x) by the forwarddifference approximation(3.33)where ei denotes the jth unit vector. This is equivalent to approximating the jth columnof J(x) bya =F(x hey) — F(x)(3.34) where again II — (J(x)) II= 0(h) for h being sufficiently small. It can easily beshown [14] that if the finite-difference step size h is chosen properly, the quadraticconvergence of the Newton's method is retained. Also, for most problems, Newton'smethod using analytic derivatives of the Jacobians and Newton's method using properlychosen finite differences are virtually indistinguishable [14].3.6.3 Iterative Parameter EstimationThere are at most four D-H parameters and two position parameters to be identifiedfor each link. It means that, theoretically, we need three data points to use in Eqs. (3.29).However, in order to reduce the noise effect from the measurements, a large number ofmanipulator poses and configurations for each link (preferably in the whole workspace)are required to determine those parameters robustly. Combining all the Jacobians and50error vectors Ar, in Eq. (3.31) for M poses of the ith link into a single equation,we obtainor more compactly-^-Ai'ArmCiC 2C AIAcbi (3.35)b, = D• 0c, (3.36)An estimate of the parameter errors is provided by minimizingwhich givesS (i) — Di^(bi — Di Acpi) (3.37)wherer (3.38)= ri,mcas — ri,comp (3.39)But, from Eq. (3.31), ri, meas =ri is always equal to zero (since the kinematic chain isclosed), therefore(3.40)Finally, the guess at the parameters is updated as4 fly^( old^(3.41)Since this is a nonlinear estimation problem, this procedure is iterated until the variationsA oi approach zero and the parameters 0, have converged to some stable values ([10], [1],[4], and [5]). Of course, at each iteration step, the Jacobians and ri, comp are evaluatedfrom Eq. (3.34) and (3.29) with the current parameters.51In practice, however, during the course of the iterative search, an intermediatesingular parameter set may be found which makes the matrix (Di TDi) singular eventhough the real mechanism may not have a physical singularity. Simulations ([5] and[17]) show that this situation is very common when the initial guess is not close tothe true solution. Since this singularity is a part of the numerical algorithm, it may beavoided by the modified minimization criteriaLS' = LS + A:AO ?' AO (3.42)where the index i has been omitted for simplicity. LS' minimizes both the endpointtracking error it and the variation in kinematic parameters z . In brief, this criteriais minimized [14] by using the singular value decomposition (SVD) of the matrix D,zeroing singular values that are less than p percent of the maximum singular value, andthen implementing the generalized (pseudo) inverse from the SVD matrices. The valueof p implicitly gives A, and it is set to a high value (e.g., 5%) initially and reducedonce convergence occurs.Minimizing LS' in Eq. (3.42) for the ith link gives [14]= (DTD + AI) D T Or (3.43)Iterative applications of Eq. (3.43) result in the Levenberg-Marquardt algorithm [14].The free parameter A determines the trade-off between a straight Newton iteration anda much slower gradient descent technique.3.6.4 Identifiable versus Unidentifiable ParametersFigure 15 shows the coordinate frames from the base link to the last link of theclosed-chain formed by the manipulator and the calibrator. The manipulator links consistof the cabin, the boom, the stick, the grapple swing, and the grapple itself (i.e., links521 to 5). Links 6, 7, and 8 belong to the calibrator. Because of the limitations statedin Section 3.5.1, we require a 4—link calibrator to have 2 DOM's in the closed chain.We, therefore, consider link 5 as part of the calibrator. This assumption is made for theconvenience of our experiments and will have no effect on the generality of the proposedmethod. Only joints 5, 6, 7, and 8 are sensed in the identification process, and althoughjoints 1, 2, and 3, belonging to the manipulator, have joint sensors, they are used forreference purposes. Joint 4 is the only joint that remains unsensed all the time.Z 0 x7z 78 8Y 7z 88Y 8Y 3Figure 15: Establishment of the coordinate systems for the links of the closed-chain.The measurement process starts from the last link of the manipulator (Link 4 inour case) and proceeds towards the proximal links. The identification method is alsoa hierarchical process that begins from the same link (i.e., link 4 which connects thegrapple to the stick) and proceeds inwards. The following is a discussion about theparameters that can be identified at each stage.53When moving Link n (4): Eqs. (3.25) indicate that theoretically all the kinematicparameters for the calibrator and for the nth link can be identified simultaneously at thisstage. In practice, however, there are some severe limitations in selecting identifiableparameters. One problem is that, having a closed kinematic loop, it is impossible todetermine the actual link lengths only by measuring the joint angles. At least one lengthmeasure is required as a scale factor; otherwise, there will be a trivial solution whichwill satisfy any set of joint angle data. Also, oN and 43N (N=8 in our case) determinethe orientation of the last link which can be taken arbitrarily. Anyhow, dn cannot beidentified at this stage because, according to Eq. (3.25b), it is linearly dependent on the zcoordinate of the endpoint (ball joint) position vector with respect to Link n-1 coordinatesystem. As a result, only pz, „—dn is identifiable at this stage.Another problem is that matrix D in Eq. (3.43), which contains the link parametersfrom the Nth link to the nth link is usually nonsingular but ill-conditioned since the nthlink of the manipulator can move only on a single plane resulting in a limited rangeof movements. Thus, although all the kinematic parameters from Link N to Link nare theoretically identifiable, some may be quite sensitive to measurement noise. Infact, since in the Levenberg-Marquardt search algorithm, all the singular values lessthan p percent of the maximum singular values are set to zero to obtain convergence,certain parameters will be close to being linearly dependent upon the other parametersfor a particular joint angle data set. We and a number of other researchers [41 haveexperienced this situation during the simulations.Fortunately, the calibrator can be calibrated once in a laboratory and be kept in asecure place for later use. Therefore, its parameters are known in advance and there isno need to constantly recalibrate the calibrator when the main objective is to calibratea manipulator. Consequently, we have decided to fix some parameters belonging to the54calibrator whose identified values are suspected to be poor. Here is the list of identifiableparameters from Link 8 to Link 4:Link 8: No parameter is identifiable,Link 7: 07°ff.Link 6: 06°ff.Link 5: 05°ff, 05, a5, d5.Link 4: 04, a4.When moving Link i: At this stage, the other links of the manipulator, includingthe adjacent higher link i+1, are locked, but the fixed angle Ofixi+) between Link iand Link i+1 is to be identified. Also, as was stated in the case of the nth link, diis linearly dependent on 13,, i; therefore it cannot be identified at this stage. However,di+i is identifiable now if the two joints i and i-/ are not nominally parallel. A list ofidentifiable parameters for the (i+1)th and ith links is given below:Link i+1: Ofixi+i (which is locked), d1+1 (if Joint i is not parallel to Joint i-/),Link i : ai, ai,^(if Joint i is parallel to Joint i-/).In the case of the particular machine shown in Figure 15, we can identify the followingparameters:Link 3: 0fix3, a3, a3, /33.Link 2: 02, a2, /32, d2.When moving Link 1: The D-H parameters of the first link in any manipulator aredetermined with respect to the base coordinate frame 0. This reference frame, however,can be located anywhere on the first joint axis zo; thus d1 may be taken arbitrarily (forexample, d1=0). Also, the base coordinate frame can have any direction on the first jointaxis zo. On the other hand, the orientation of the task coordinate frame on the ball jointcan be freely chosen because the task is unsensed. We may take z task parallel to zo with55xo perpendicular to ztask; therefore 0P)', task=0. In this way, the identifiable parametersfor the second and the first links at this stage will be:Link 2 : x2 (which is locked), d2 (if joint / is not parallel to Joint 0).Link 1: 01, al.Task : 0/4, task, Pz, task•3.7 Simulation Results and DiscussionTo examine the suitability and effectiveness of the proposed method for general calibrationpurposes, a number of simulations have been performed on the nominal model of theUBC hydraulic machine and calibrator. The D-H parameters of the machine and thecalibrator for the major and minor links are given in Tables 2 and 3 respectively.Table 2 Nominal D-H parameters for the UBC hydraulic machine and calibrator.Joint No. ooff(deg.)0,(deg.)a(m)d(m)/3(deg.)0 0.0* 0.0* -2.160 0.840 -1 - -90.0 0.340 0.000* -2 27.81 0.0 5.180 -0.110 0.03 80.61 0.0 1.800 0.0001 0.04 42.9 -90.0 0.000 10.0001 -5 0.0 90.0 0.000 1.134 -6 0.0 -90.01 0.0001 0.000 1 -7 0.0 90.01 0.0001 2.9941 -8 89.31 0.0* 3.5051 .0821 0.0** arbitrary parameter.1- unidentifiable parameter (fixed).manipulator fixed-joint angle B.undefined parameter.56-27.9100^200^300^0No. of Poses100^200No. of Poses300-27.5io -27.615.0 -27.71 -27.8ti-2.746 0 - 3 Swinbo(1.)72)p1.373ti100^200^300No. of Poses100^200^300No. of Poses200(d) Grapple1150100(I)50ti60504030(c) StickTable 3 Nominal kinematic parameters for the minor links of the UBC hydraulic machine.Minor Link doff 11 lu 4(actuator) (deg.) (m) (m) (m)Swing-Boom unknown 0.625 2.000 1.423Boom-Stick unknown 2.444 0.720 1.799Figure 16: Experimental trajectories of the manipulator linksused in simulations when only Link 3 (stick) is active.For obtaining data, Joint 4 (which belongs to the manipulator and is unsensed) waslocked with an arbitrary angle of 04=42.9°, which was measured manually. Then, eachjoint of the machine, from Joint 3 to Joint 1, was moved successively one at a time, andthe joint angles of the manipulator (joints 1, 2, 3, and 5) were read from the correspondingresolvers (Figures 16 to 18). Then, using the nominal D-H parameters of the machineand the calibrator in Table 2, the absolute joint angles of the calibrator for joints 6, 7, and57-2.746 x10 3 Swin81'45,1) 80.8oh 80.6 -11'80.4 ^80.20 100^200^300No. of Poses100^200No. of Poses(c) Stick 504540353025300e•-■^ .•••••■0.0 „,':13 -20......,73 "Cf01.373^ 26-30.4•C4 a'•—, •.....^-40o o0,^ r,- 10 (b) Boom-50 ^0100^200^300No. of Poses100^200^300No. of PosesFigure 17: Experimental trajectories of the manipulator links usedin simulations when only Link 2 (boom) is active.8 were simulated by numerical inverse kinematics techniques. In the following section,effects of various factors on the final identified parameters will be discussed.3.7.1 Effect of Actuator DriftNo actuator is perfect. Hydraulic actuators frequently have leakage, and the viscosityof hydraulic oil changes with temperature. As a result, there will be a drift at theendpoint of each link which is actuated by a hydraulic jack (see Figures 16(b), 17(c),18(b), and 18(c)).In the identification algorithm developed, Eq. (3.25), it is assumed that the localposition vector H pN is fixed as long as the ith joint is moving and joint angle data is58100^200^300^400No. of Poses100^200^300^400No. of Poses-100 ^0-27.30(c) Stick81.8810 400100^200^300^400No. of Poses100^200^300No. of Poses(b) Boom(a) Swing -26.87,C5 -26.9-270-27.1-27.2500-50tiFigure 18: Experimental trajectories of the manipulator links used insimulations when only Link 1 (swing) is active.Table 4 Identified D-H parameters — simulation for the effects of actuator drifts.Joint No. No. orIterationsofix(deg.)a(deg.)a(m)d(m)11(deg.)0 - - 0.0* -2.160 0.908 -1 5 - -90.0 0.306 0.000* -2 11 -27.0 0.0 5.188 -0.110 0.03 6 80.7 0.0 .1 797 0.000t 0.0+ at the respective stage of calibration.* arbitrary parameter.t not identified (fixed).being obtained from the calibrator. However, because of the drift effects, this assumptionmay not be valid anymore. Table 4 shows the identified parameters for the manipulator59and the calibrator under such a condition. Comparing these with the parameters inTable 2, we see that the normal drift of the hydraulic actuators does not contribute anysignificant error to the identified kinematic parameters, and the proposed identificationprocedure is fairly robust to this phenomenon. The maximum error belongs to do (0.068m) which is identified as the last parameter, and which therefore, carries the numericaland measurement errors from the previously calculated parameters of the distal joints.This is the limit of the accuracy in the identified parameters one can expect for thisparticular machine.3.7.2 Effect of Joint Sensor AccuracyThe error in the identified parameters may also be affected by joint sensor accuracy,which is ±-0.1° . Table 5 shows the identified parameters considering both sensor accuracylimitations and actuator drifts. As evident from the table, the accuracy of the calibratorsensors proportionally altered a and /3 parameters. It is shown [17] that with the accuracyof the calibrator sensors within ±0.05°, one should expect a maximum relative error of2.5% in al, while the relative error in al due to actuator drift and actual joint sensoraccuracy of AA° is about 10%. This indicates that about half of the error obtained hereis due to the sensor accuracy. As a result, the sensor accuracy factor further reduces theoverall accuracy of the identified parameters and we should not expect more accurateresults when identifying the actual system.3.7.3 Effect of Joint FlexibilityJoint flexibility and misalignment of joint sensors may contribute considerable errorto the identified parameters. In Section 3.4.2, we mentioned that joint flexibility hasthe highest effect amongst the nongeometric parameters (about 10% of the total error60Table 5 Identified D-H parameters — simulation for thecombined effects of sensor accuracy and actuator drift.Joint No. No. orIterationsofix(deg.)a(deg.)a(m)d(m)li(deg.)0 - 0.0* 0.0* -2.161 0.913 -1 7 - -90.1 0.298 0.000* -2 14 -26.8 0.2 5.199 -0.100 -0.23 6 80.7 0.0 1.796 0.000t 0.0+ at the respective stage of calibration.* arbitrary parameter.t not identified (fixed).Table 6 Identified D-H parameters — simulation for thecombined effects of joint flexibility and actuator drift.Joint No. No. orIterationsOfix(deg.)(I(deg.)a(m)d(m)3(deg.)0 - 0.0* 0.0* -2.163 0.758 -1 12 - -96.7 0.513 0.000* -2 20 -31.1 13.4 4.992 0.728 -7.43 8 83.2 -0.7 1.770 0.000t 0.0+ at the respective stage of calibration.* arbitrary parameter.t not identified (fixed).in conventional robots). If the joints are not rigid enough, or there is some backlashor looseness in the joints, the identified parameters may not be even as good as thenominal ones. To examine these effects, using the simulated data, we have added tothe sensor readings of the calibrator a few degrees in the form of a random variable atsome certain positions of the joints which we suspect to be under high stresses due tothe calibrator's weight. The random variable is given by a normal distribution functionwith zero mean and the standard deviation of 1. Table 6 gives the magnitudes of theidentified parameters for this case.61From the table, we realize that the error is dramatically higher than the previouscases and propagates from the last link to the first link very rapidly. As a result, thejoints of the calibrator must be designed very accurately and must be built using highquality material in order to be as rigid as possible. Otherwise, we should not expect asignificant improvement in the parameters from the calibration process.It is also worth noting that the number of iterations required to identify the unknownparameters for a particular joint increases dramatically as the data gets noisier and theassumed kinematic model deviates from the actual system (compare Tables 4 to 6 witheach other).3.8 Experimental Results and Discussion3.8.1 Major LinksInitial values for the major link D-H parameters are listed in Table 2 as joint numbers1, 2, ..., 8, and were obtained from the nominal design parameters or by manual tapemeasurements (see Chapter 2). The initial values for the location of the endpoint (task)with respect to the (i-1)th coordinate frame, i.e., "pN in Eqs. (3.25), were found usingthe nominal D-H parameters in direct kinematics relationships. These values serve in thesearch algorithm as initial estimates. Then, by using the calibrator sensory data obtainedfrom link-by-link movements of the machine, the new D-H parameters for the links wereidentified successively. The results of the calibration for the link trajectories of Figures16 to 18 are presented in Table 7.A number of different initial conditions were tried, but the iterations always endedup with the same results shown in Table 7 but with different iteration indices, indicatinga global minimum. From the table, we realize that the number of iterations increases62Table 7 Identified D-H parameters for the UBC hydraulic machine and calibrator.Joint No. No. orIterationsow(deg.)a(deg.)a(m)d(m)13(deg.)0 - 0.0* 0.0* -2.122 0.623 -1 8 - -84.5 0.011 0.000* -2 18 -31.31 -4.7 5.485 0.001 -2.03 11 84.21 -3.6 1.868 0.0001 -1.34 20 40.71 -92.5 0.069 0.0001 -5 - 8.6 95.0 -0.028 1.137 -6 - 4.2 -90.0t 0.0001 0.000t -7 - 0.7 90.01 0.0001 2.994t -8 - 89.31 0.0* 3.5051 .0821 0.0*+ at the respective stage of calibration.* arbitrary parameter.t unidentified parameter (fixed).manipulator fixed-joint angle 9/h .undefined parameter.rapidly as the identification proceeds from Link 3 to link 2 although the number ofunknown parameters to be identified is the same for both links (6 parameters). It meansthat the error in the identified parameters of the previous links do not allow the kinematicequations for the lower links to converge rapidly even though the initial parameters forthose links are close to actual ones. This error comes from inconsistent noisy sensorydata. Therefore, the number of iterations can be interpreted as an indirect measure forvalidating the accuracy of the experimental data if the nominal parameters are closeto the actual ones (compare these with the number of iterations in Table 4). For thefourth and the fifth links, however, more iterations are required to get the solution, sincethe number of unknown parameters is 10. In the case of the first link, although thenumber of unknown parameters is the same as that of the second or the third link, themore straightforward offset length d is to be identified instead of the twist angle d in63E (AtaSkpO2=1 (3.44)RMS =trigonometric functions.The calibration indicates that neighboring joint axes 2 and 3 are not exactly parallel,and that joint axes 1 and 2, and 3, 4, and 5 are not perpendicular to each other respectively.The joint axes 4 and 5 also do not intersect (a4=.069 m and a5=-0.028 m). However,the identified values seem to have exaggerated the magnitudes of the real parameterseven though we are aware that the machine parameters are not perfect at all, and, forinstance, the joint axes are not quite parallel or perpendicular to each other. Therefore,it may be concluded that there should be sources of noise and disturbance in the systemwhich have not been modelled in the kinematic equations. The effects of a number ofsuch error sources have already been simulated in Section 3.7.In comparing the calibrated parameters to the initial (nominal) parameters, onestatistical measure is the root mean square (RIVE) position error of the manipulator endeffector with respect to the task coordinate frame, defined as [1]where the summation is over M arm positions, andtask jtask j^task jPn^Pn,meas^P71,Comp (3.45)and taskIr., i n meas and taskpin, comp are the measured and computed position vectorsrespectively. Another measure is the percent variance accounted for (VAF), essentially ascaled version of the mean squared error [1]E (A task p o 2J=1) 2task J task —Pn,ateas^P^,z, asVAF = x 100%^(3.46)where task—p11,111(11.5 is the mean of all the measured data.64Unfortunately, we did not have appropriate measurement devices to determine theexact position and orientation vectors of the arm's end effector with respect to the taskframe. Consequently, the only remaining independent measurement method was usingthe absolute distance between the two points even though this method in general does notreflect the endpoint location accuracy, and in some cases can be completely misleading 6 .In order to evaluate the accuracy of the identified parameters, we manually tape-measured 19 absolute distances from the grapple endpoint and the stick endpoint to theball joint (task frame). At the same time, we read the joint angle sensor outputs for themanipulator and for the calibrator. Then, using the nominal and the identified models,we calculated jjpjj for both models. The results of such distance measurements for thestick endpoint are shown in Figure 19. Also, the RMS and VAF distance errors for thenominal and identified parameters are listed in Table 8.We may note from the figure that the distance error for the nominal model is less thanthat of the identified model and decreases for the identified model when the manipulatorstretches its arms. Also, from Table 8, the RMS and VAF parameters from the manipulatorside (using the manipulator sensory data) for the nominal model are much better and moreconsistent than those for the identified model. The RMS and VAF from the calibratorside, on the other hand, appear to act in favor of the identified parameters since theseparameters have been obtained from the sensory data of the calibrator and should thus bemore compatible with the calibrator than with the manipulator. These evidences indicatethat the nominal parameters should be closer than the identified parameters to the actualparameters. Also, we learn from the simulation results in Section 3.7 and from Figure19 that the sources of the errors in the calibrated parameters are most probably flexiblejoints and/or misaligned sensors of the calibrator.6^For example, two lines with equal lengths in a plane may be 90 ° apart.65--- Measurement + Nominal Model * Identified Model65.554.543.532.520^2^4^6^8^10^12^14^16^18^20No. of PosesFigure 19: Comparison of the stick endpoint distance to the task frame.Table 8 Distance error comparison between the nominal and identified models.sensorreadings from manipulator side from calibrator sideend link -4 stick grapple stick grapplenominal model RMS=.036 mVAF=99.86%RMS=.066 mVAF=99.74%RMS=.026 mVAF=99.92%RMS=.038 mVAF=99.91%identifiedmodelRMS=.162 mVAF=98.32%RMS=.217 mVAF=98.69%RMS=.021 mVAF=99.95%RMS=.038 mVAF=99.91%Applying Eqs. (3.44) and (3.46) to find the RMS for the end point position (notdistance) error of the identified model relative to the nominal model, we get:RMS=0.212 m for the stick endpoint from the manipulator side,RMS=0.256 m for the grapple endpoint from the manipulator side,66RMS=0.542 m for the stick endpoint from the calibrator side,RMS=0.000 m for the grapple endpoint from the calibrator side.These values for the RMS parameter are better indications of the end point position errorsthan those in Table 8. Since the RMS for the stick endpoint from the calibrator side isabout twice the RMS for the stick from the manipulator side, one may suspect that oneor more joints/sensors in the calibrator may not have been working properly.In the next section, we consider the nominal model to behave like the actual system,and will correct the identified parameters by comparing the simulation and experimentaloutputs of the calibrator sensors, omitting the portions of the data that are suspectedto be corrupted by bad sensor readings and/or joint flexibility, and reidentifying thekinematic parameters.3.8.2 Improving the Major Link Identified ParametersIn order to find which joint in the calibrator is more flexible and which sensoris misaligned or not working properly, we have simulated the outputs of the calibratorsensors, this time using the sensory data from the manipulator joints. The arm trajectoriesare the same as those used before to obtain the current identified model. Figure 20(a),for example, shows the joint angles of the stick when the first, the second, and the forthjoints of the manipulator have been locked. The simulated versus experimental jointangles for Links 4 to 6 have been given in Figures 20(b) to (d), and those for Links7 and 8 are shown in Figures 21(a) and (b). There is good agreement between thesimulated and the actual sensor readings for Joints 7 and 8 (Figure 21) as those jointsare located at the elbow of the calibrator arms (Figure 13) where there is almost notorque or moment acting on them.67(a)I I :1‘!I /%1 ,,, -..... ./^s s ./". • sII I ■ ■II I / l / 1/lII, II^Y0Ii'4-50^100^150No. of Poses20o50^100^150No. of Poses(d) — Exeeriment --- Simulation50250200(c — Exeeriment^--- Simulation50^100^150^200^250No. of Poses(b) — Exeeriment --- Simulation60504030No. of PosesFigure 20: Errors in the simulated and actual sensor outputs for Joints 4 to 6.68-2000^50^100^150No. of Poses200^250(h) — Experiment --- Simulation-504?S -100a)00oo -1500ti(a) — Experiment^--- SimulationNo. of PosesFigure 21: Errors in the simulated and actual sensor outputs for Joints 7 and 8.Now, by inspecting Figures 20(c) and (d), we find that there is a large discrepancybetween the actual and the simulated sensor readings for Joints 5 and 6. Joint 6 isconnected to a relatively long yoke frame of aluminum which bends under appliedmoments, and Joint 5 actually belongs to the grapple which is always hydraulicallypowered. A relatively large moment from Joint 6 is still required to rotate Joint 5 aboutits axis although we have assumed that this joint is free to rotate at all times. Bycomparing Figures 20(c) and (d) with Figure 20(a), we see that the regions in which theerror gets larger correspond to higher stick angles, i.e., when the stick moves inwardsand passes a certain amount. In such a region, because of a certain spatial configurationthe arms make, the joint moments increase very rapidly. On the other hand, when thestick moves outwards, the two arms of the calibrator will stretch in the space and, asa result, the moment due to the gravity forces of the calibrator links will be gradually69Table 9 Reidentified D-H parameters for the UBC hydraulic machine and calibrator.Joint No. No. orIterationsooff(deg.)0(deg.)a(m)d(m)11(deg.)0 - 0.0* 0.0* -2.122 0.699 -1 8 -86.2 0.401 0.000* -2 17 -31.2 -2.1 5.312 -0.059 -3.43 11 77.5* 0.2 1.848 0.000t -2.84 20 41.91 -92.5 0.069 0.0001 -5 - 8.6 95.0 -0.028 1.137 -6 - 4.2 -90.01 0.0001 0.0001 -7 - 0.7 90.01 0.000t 2.9941 -8 - 89.31 0.0* 3.5051 .0821 0.0*at the respective stage of calibration.* arbitrary parameter.t unidentified parameter (fixed).t manipulator fixed-joint angle 0;r".undefined parameter.relieved. This corresponds to the low error regions in the figures.We removed the erroneous portions of the sensor readings from all the sensorydata and re-identified the manipulator parameters as listed in Table 9. From the results,the D-H parameters appear more reasonable and closer to the real parameters of thesystem. There is a slight improvement in the endpoint position with respect to the basecoordinate frame. The error in a has been largely reduced while the error in 11 hasincreased. This seems to suggest a trade-off between these two sets of parameters. Also,the length parameters have become closer to the actual values. In particular, the errorsin ai and di have considerably been reduced compared to the previously identified aland di parameters in Table 7.We have recalculated the RMS and VAF parameters for the corrected model. Theresults are listed in Table 10 for the absolute distance of the stick and the grapple endpoints70Table 10 Distance error comparison between the previously identified and the re-identified models.sensorreadings from manipulator side from calibrator sideend link —› stick grapple stick grapplereidentifiedmodelRMS....101 mVAF=98.87%RMS=.125 mVAF=99.07%RMS=.021 mVAF=99.95%RMS=.038 mVAF=99.91%previousmodelRMS=.162 mVAF=98.32%RMS=.217 mVAF=98.69%RMS=.021 mVAF=99.95%RMS=.038 mVAF=99.91 %from the task frame. The RMS parameter values for the end point position error of there-identified manipulator model relative to the nominal model are given below:RMS=0.153 m for the stick endpoint from the manipulator side,RMS=0.205 m for the grapple endpoint from the manipulator side,RMS=0.373 m for the stick endpoint from the calibrator side,RMS=0.000 m for the grapple endpoint from the calibrator side.The improvement in the parameter values of the re-identified model is evident from thetable and from the RMS values given for position errors.We have also simulated the stick and the grapple endpoint trajectories for a numberof different manipulator poses using the nominal and the re-identified models. Figures22 and 23 show the xyz components of the stick and the grapple endpoints respectively.From the figures, the re-identified model behavior is now very similar to that of thenominal model. The error components of the stick and the grapple endpoints for there-identified model with respect to the nominal model are shown in Figures 24 and 25respectively.3.8.3 Minor LinksTo calibrate the kinematic parameters of the minor links, i.e., the actuator parameters71(a) — Nominal Model^--- Identified Model(b) — Nominal Model^--- Identified Model100^200^300^400^500^600^700^800No. of Poses-100(c) —Nominal Model100^200^300^400^500^600^700^800No. of Poses100^200^300^400^500^600^700^800No. of PosesFigure 22: Trajectory components of the stick endpoint for the nominal and the re-identified models.72I8a0U(c) — Nominal Model^--- Identified Model(a) — Nominal Model^--- Identified Model100^200^300^400^500^600^700^800No. of Poses(b) — Nominal Model^--- Identified Model100^200^300^400^500^600^700^800No. of Poses100^200^300^400^500^600^700^800No. of PosesFigure 23: Trajectory components of the grapple endpoint for the nominal and the re-identified models.730.15c).1a) 0.05g^0Uk -0.05-0.1100^200^300^400No. of Poses500^600^700^8000.40.3a) 0.2E 0.1U0 -^-0.1 ^0 (b)100^200^300^400^500^600^700^800No. of Poses1 -0.05 -.a.o -0.1-0.15-0.2 ^0 100^200^300^400^500^600^700^800No. of PosesFigure 24: Absolute error components of the stick endpoint for the re-identified model.74700 800500 600200^300^400No. of Poses100bEa)o 0.20.40.38 0.1700 800600100^200^300^400^500No. of Poses0.30.20.108-0.1 --0.20.05a^0 --0.05N -0.1 --0.15 ^0 100^200^300^400^500^600^700^800No. of PosesFigure 25: Absolute error components of the grapple endpoint for the re-identified model.75Table 11 Identified versus nominal parameters for minor links.minorlinktype ofmodeltype of0•eff(deg.)/i(m)lc(m)/u(m)swing toboommeasured - unknown 0.625 1.447 2.000identified02 meas -78.6 0.658 1.434 1.974'2, comp -56.9 0.545 1.210 2.000*boom tostickmeasured - unknown 2.444 1.799 0.720identified 3,mess 10.3 2.725 2.116 0.72403, comp 5.0 2.444* 1.801 0.766* unidentified parameter (fixed).shown in Figure 12, we will employ Eqs. (3.26) and (3.27) to solve for a simple planartriangle although we know that the triangle is actually a spatial mechanism which needsa more complicated model similar to Eqs. (3.16) and (3.20). In Eqs. (3.26) and (3.27),the link joint angle th and the piston displacement 1p are required to identify the ithminor link parameters. //, can be measured by a linear transducer. Oi, however, maybe measured by link joint sensors, or in our case, by computing Eqs. (3.25) for eachlink position successively. The identified parameters for the two minor links of themanipulator are listed in Table 11.When we tried to use the computed joint angles 04 comp in the identification algorithm,we realized that the method is not stable, and that there is no global minimum for the setof parameters used. This is partly because the joint angles 644 comp have been obtainedfrom the identified parameters of the manipulator links which are erroneous to someextent, and which therefore carry the errors in those parameters as well as the errorsin the calibrator sensors to the new sets of equations used to identify the minor linkparameters. This causes the single set of equations (3.26) for M data points to become76inconsistent and, as a result, unstable. Also, in Section 3.6.4, we mentioned that at leastone length parameter is required to have a nontrivial solution for a set of closed-chainparameters. Although the incremental piston lengths measured by the linear transducermay serve as the length requirement, they cannot guarantee a global minimum when thelength/joint angle data is noisy and inconsistent. By fixing one of the length parameters,we can guarantee that there will always be a global minimum towards which the systemof equations converges.From Table 11, we realize that the identified parameters obtained using measured(sensed) joint angles 0 meas are generally closer to the actual parameters than those usingcomputed joint angles 04 comp . On the other hand, our ultimate goal in calibrating theminor link parameters is to find the piston displacements /pi according to Eq. (3.26) fordifferent joint angles For this reason, we used both identified models and simulated / pifor a number of different manipulator poses and measured the actual piston displacementsat the same time. The RMS and VAF parameters for the two sets of minor links aregiven in Table 12.Table 12 Error parameters for the minor links of the manipulator.Swing-Boom Boom-Stick02, meas 02, comp 03, meas 03, compRMS (m) 0.0004 0.003 0.002 0.027VAF% 99.99 99.91 99.98 97.12As indicated by the table, both RMS and VAF parameters for Swing-Boom linkageare very good. In particular, when using the joint angle sensory data (02, meas), the resultsare excellent, which indicates that there is almost no error in the identified parameters.The RMS and VAF parameters for Boom-Stick linkage, on the other hand, are an order77of magnitude worse than those for Swing-Boom closed-chain. That is because the axisof rotation of the stick was not completely parallel to the boom axis (see Table 9 forthe identified parameters), and as a result, the stick's actuator had to rotate about threedifferent axes while the stick was stretching in or out. In fact, since the base of thelinear transducer was mounted on the cylinder and its sensor was mounted on the piston,because of the twist action of the piston with respect to the cylinder, it was anticipated inadvance that the sensory data would not be quite reliable, and that we should not expectvery good results from the identification process. However, the identified parametersobtained from 0i3, meas are still reliable enough to be used in the dynamic calibrationpart of this thesis.78Chapter 4DYNAMIC CALIBRATION4.1 IntroductionThe design of a hydraulically actuated manipulator is based on the concept of hybridopen- and closed kinematic chain mechanism. Because of its closed mechanism, thisgroup of manipulators has several advantages over the conventional open-chain type[2]. They generally have smaller positioning errors due to the non-cantileverlikeconfiguration and consequently have greater positioning ability, as compared to theopen-chain type. Therefore, they are basically assumed to be rigid links in dynamicformulations. Furthermore, these types of mechanisms provide higher force/torque andgreater payload handling capability for the same number of actuators.There are several reasons why one may be interested in knowing the exact values ofthe dynamic parameters for such a manipulator. As discussed in Chapter 1, the degreeof uncertainty in inertial parameters and joint friction torques/forces is an importantfactor in judging the robustness of model-based control strategies such as feedforwardcontrol, computed torque technique, and resolved acceleration position/force control [1].For simulation purposes, one must have those parameter values as accurate as possiblein order to better analyze the behavior of the actual machine under control. Unlikeconventional robots, the joint friction in heavy-duty hydraulic manipulators has beenshown [33] to be comparable to the applied hydraulic torques/forces to the joints andthus cannot be neglected in dynamic equations. Also, for machine diagnostics and79safety-checks, especially for heavy-duty teleoperators, a good knowledge of link centersof mass, for example, can determine whether the machine is about to tip over. Usually,accurate values of the dynamic parameters of the links of a hydraulic manipulator areunknown even to the manufacturer (see Chapters 1 and 2). Thus, it is usually up to themanipulator programmer to devise a method for obtaining good estimates of the linkinertial and friction parameters.Unfortunately, these parameters cannot be measured manually as easily as kinematicparameters because a "manual method" is not industrially feasible. For instance,imagine that a link of a heavy-duty machine be completely disassembled, weighedfor mass, counterbalanced for center of mass, and swung for moment of inertia [3].Besides requiring a lot of time and intensive human involvement, this procedureintroduces considerable measurement difficulties. Counterbalance points have to bereferred somehow to the joint axes, while some components of inertia are difficult todetermine by pendular motion [1].CAD modeling of the links [21] is another approach where densities of materialscan be combined with computerized geometric information' to estimate the inertialparameters. Again, this method requires intensive human involvement, and is subjectto modeling errors [13].The approach we present in this work, in contrast, emphasizes a hydraulic manipulatorcalibrating itself, i.e., automatic calibration of all the inertial parameters (the mass, thecenter of mass, and the moment of inertia) of each rigid body major or minor link, andall the friction forces/torques and the pressure transducer offsets of each joint using directpressure sensing of the hydraulic actuators. The Newton-Euler dynamic equations arethen used to express the measured forces in each hydraulic cylinder and the measuredIt is usually only available to the manufacturers.80torques at each actuated joint in terms of the product of the measured movements ofthe rigid body major and minor links and the unknown link inertial parameters and thegeneralized friction forces. The only required sensing is one component of either thejoint torque or the actuator force, measured from oil pressure transducers. This lackof full force/torque sensing makes it impossible to find all the inertial parameters ofthe major and minor links. These missing parameters, however, have no effect on thecontrol of the arm since they do not appear in the dynamic formulations. The proposedalgorithm was tested on the UBC experimental hydraulic manipulator. The simulationand experimental results are given in this chapter.4.2 Previous WorkTo incorporate the dynamic behavior of a robot arm into the control system, a largenumber of researchers have utilized a rigid body model as the basis for identifyingthe dynamic parameters of the mechanism. For dynamic calibration of open-chainmanipulators, Mayeda et al. [24] lumped the inertial parameters of each link into thecoefficients of a closed-form Lagrangian dynamics formulation. By sensing torques fromonly one joint at a time, they could identify the coefficients of the equations. The inertialparameters for each link, however, are redundant and susceptible to numerical problemsin estimation. On the other hand, their link-by-link estimation algorithm becomes noisierfrom transmission of dynamic effects of distant links to the proximal measuring joints.Also, for efficient dynamics computation, the recursive dynamics algorithms require thelink parameters explicitly as initial estimates.Mukerjee and Ballard [25] suggested an identification procedure for rigid robots todeduce the inertial and friction parameters from the measured reaction forces at the joints81by incorporating full force-torque sensors at each joint. Instrumenting each robot linkwith full force-torque sensing seems impractical for industrial hydraulic manipulatorsand even for conventional robots, and is actually unnecessary given joint torque sensingabout the rotation axes. Also, they did not address the issue of unidentifiability of someinertial parameters such as the mass and the center of mass for the first link of the robot.Khali et al. [16] used a Lagrange formulation in presenting an identification modelfor link inertial parameters. They addressed the unidentifiability of some parameters, andused it to regroup the dynamic parameters and simplify computation.Armstrong et al. [3] measured the inertial properties of a PUMA 560 robot bycounter-balancing the disassembled parts. This is an alternative approach to inertialestimation problem, but as mentioned before, it is very tedious and impractical forhydraulic machines. Also, the cross terms of inertia matrix cannot be identified in thisway.Khosla [18] developed a link estimation algorithm using Newton-Euler formulation.Working with CMU DDArm II, he was also able to verify the algorithm by experiments.Slotine and Li [34] developed a manipulator control algorithm which included on-lineadaptation for rigid body link and load inertial parameters obtained from Lagrange-Eulerformulation. Deriving closed-form equations for hydraulic actuator dynamics throughLagrange-Euler formulation is a difficult task, and computing the lengthy equations thusobtained is time consuming and may not be applicable for on-line control purposes. Sincethe inertial parameters of the links do not change significantly once the manipulator isassembled or reassembled, an off-line procedure as discussed in this chapter would bepreferred in practice. Only the load parameters need to be estimated on-line.An et al. [1] applied the Newton-Euler equations and presented an experimentalmethod of estimating load and link inertial parameters of the MIT DDArm using a rigid82body model. They measured motor currents to obtain joint torques, and measured jointpositions to derive joint angular velocities and accelerations. However, they did notinclude the joint friction torques in their linear formulations in terms of the vector oflink inertial parameters. Our identification procedure in this thesis is very similar to theirwork except that we have enhanced the unknown inertial vector by accounting for theminor link parameters, pressure transducer offsets, and joint friction forces/torques.Seeger and Leonhard [32] presented an off-line procedure for estimating the frictionforces and inertial parameters in small sets of the robot workspace using test motionsthat allowed to reduce the general model to a few identifiable parameters. The frictiontorque at each joint was modelled as a function of joint velocity and position that wereidentified at a set of fixed positions by measuring the input current (representing thegravitational and frictional loads) at several constant velocities.There has not been as much previous work done in the more challenging area ofdynamic calibration of closed-chain mechanisms, especially on hydraulically actuatedmanipulators. The reason is that although closed link mechanisms have various practicaladvantages, the theory of their dynamics has not been as extensively studied as that ofthe open chains partly because of their highly coupled dynamics.Luh and Zheng [22] proposed to replace the inverse dynamics problem of closedkinematic chains with the computed dynamics of the open link tree structure mechanismssubjected to unknown additional joint torques using the Lagrange multipliers. Kleinfingerand Khalil [19] also developed a comparable computational scheme. Solving for Lagrangemultipliers, however, added more difficulties to the complicated closed-form formulations.Do and Yang [7] employed the Newton-Euler approach to study the inverse dynamics ofa class of platform-type of manipulating structures. Applying the Lagrangian approach,Nguyen and Pooran [28] derived the dynamics of 2—DOF and 3—DOF closed-chain83manipulators.Nakamura and Ghodoussi [27] proposed a computational scheme of the dynamicsof the closed link mechanisms with revolute joints. The method did not require thecomputation of the Lagrangian multipliers, but needed the Jacobian matrix of the functionwhich described the passive joint angles in terms of the actuated ones. No experimentalimplementation of the method was reported nor were explicit derivations for prismaticjoints presented either.4.3 Estimation Procedure4.3.1 Newton-Euler Formulations for a Major LinkTo derive equations for identifying the unknown inertial and friction parameters ofeach link, the coordinate systems in Figure 26 are used to relate different coordinateframes and vectors. 0 is assumed to be an inertial or base coordinate system, which isfixed in space with gravity pointing along the —z axis. P is the force reference coordinatesystem at the ith joint of the manipulator, and is rigidly attached to the ith major link. Qrepresents the principal axis of the rigid body link located at the center of mass of theith major link. We arbitrarily choose the x axis of Q to be along the largest principalmoment of inertia, and the z axis along the smallest one. In the following derivations,all vectors are initially expressed in the base coordinate system 0.We may transfer all the external forces f,,j and torques^from neighboring jointsj's exerted on the ith link in Figure 26 to the force coordinate system P and replace themby a resultant force f, and a resultant torque n, at that joint,f, (4.1)84Link i+/Figure 26: Coordinate origins and location vectors for dynamic identification.2.,ni => ni,i + s x fwwhere the operator "x" denotes vector cross-product.(4.2)The mass, location of the center of mass, moments of inertia, and orientation ofthe body (a rotation PRQ from the principal axes Q to the force reference frame P) arerelated to the motion of the link and the external forces and the torques applied on thelink by the Newton-Euler equations:f nig = inr^ (4.3)n—cxf=I-E., x (L.))^(4.4)where the indices have been dropped for convenience, andm = the mass of the link,85g = the gravity vector = [0, 0, —9.81 misec2],r = the acceleration of the center of mass of the link,c = the location of the center of mass relative to the force coordinate frame P,I = the moment of inertia tensor about the center of mass,w = the ith link absolute angular velocity vector,cv = the ith link absolute angular acceleration vector.To formulate an estimation algorithm, the force and torque at P must be expressed interms of the product of known (or identified) geometric parameters and unknown inertialparameters. The acceleration of the center of mass, r, is related to the acceleration ofthe force reference frame p by [36]P-----P-1-,1)xcd-wx(wxc)^(4.5)Substituting (4.5) into (4.3), givesf^— log^x Inc w x(wx rnc)^(4.6)and substituting (4.6) into (4.4) givesn =^w x (Iw)+ mcx(wxc )+inc x (w x (L.) x c)) Inc x — rnc x g^(4.7)Although the terms c x^x c) and c x^x (w x c)) are quadratic in the unknownlocation of the center of mass c, they can be eliminated [1] by expressing the momentof inertia tensor about the force coordinate origin, I, instead of about the center of massI. To do so, we may rewrite Eq. (4.7) in a matrix form asn =^w x (1w) + rn RcTc) 1 — (cc1)1 ,1)-f-w x (in Rcrc)1 — (ccr) w)^x p — me x g^(4.8)86where 1 is a 3 x 3 identity matrix. Using the three-dimensional version of the parallelaxis theorem [36]I = 1 + In Rcr c) 1 — (cci],^(4.9)Eq. (4.8) is then simplified as [1]n = Li; w X (LA)) + !Tic x - rtic x g^(4.10)One may realize that all the vectors are now expressed in the force coordinate systemP, so that the quantities c and I are constant.In order to formulate the above equations as a system of linear equations in a matrixform, the following notations are used:0 —wz wy Cxw x c = wz 0 cy = [w x lc^(4.11)— WY 0 CzIxxixyIxx -lxyWx^Wy^WE 0^0 0IW = 0^Wx^0 Wy^WE 0 Ixz =_- [ow] Ixz (4.12)0^0^wx 0^WyIyy YYIyz [gzzzwhereIXX= I = Ix yixzIXY^IX'liyy^yz (4.13)Iy z^izzUsing the definitions in (4.11) and (4.12), Eqs. (4.6) and (4.10) can be rewritten asa single matrix equation in the force coordinate frame P as [1] - g] [Wx]^[4-0x]Px]^[0]3x6[01 3x1^[(g - ji) x] 3 ,(3^[64.41)]^[wx][c.,,](4.14)87cylinder rodlink ior in a linear compact formwi = Ai ¢i^ (4.15)where wi is a 6 element wrench vector at point P combining both the external forceand torque vectors applied to the ith major link, A, is a 6 x 10 matrix containing theknown kinematics of the link, and (pi is the vector of the 10 unknown inertial parametersfor the ith major link.Figure 27: Forces, torques, and location vectors applied to a major link from the adjacent links4.3.2 Newton-Euler Formulations for Chained LinksThe ith major link in Figure 27 is attached through revolute joints Pi and Pi,/ tothe (i-1)th and the (i+1)th major links respectively. It is actuated by the ith hydraulicjack (minor link) via a spherical joint Pi, p , and actuates the (i+1)th link by the (i+1)thhydraulic jack through another spherical joint P,,,. All the forces and torques applied to88this link in Figure 27 belong to the neighboring joints and are expressed in the ith linkforce coordinate frame Pi. They can be obtained from the forces and torques expressedin their own force coordinate frame by simple rotation matrices Ri's. For example, theforce and torque at the neighboring joint Pi +1 are obtained from that joint's force f1+1and torque ni.fi as=^fi+1^ (4.16)^n o+ , — —R, n i+ ,^ (4.17)Replacing the force ei,i+1 and the torque n' 0+1 in Eqs. (4.16) and (4.17) with a forceand a torque at the origin of the ith link force coordinate frame Pi, we getor more compactlyfi,i+i^[ ^• 0[si x] R, R, [Wi i+i — — Ti wi+,(4.18)(4.19)whereRi the rotation matrix rotating the (i+1)th link force coordinate system to the ithlink force coordinate frame,si a vector from the origin of the ith link force coordinate frame to the (i+1)thlink force coordinate system,w1,l the wrench (vector of forces and torques) at the ith joint due to the forcesand torques applied at the jth major (or minor) joint, expressed in the P, forcecoordinate frame,Ti a 6x 6 wrench transmission matrix.89Using Eqs. (4.19) and (4.15) for the resultant of all the external forces and torquesacting on the ith link at point Pi, we getwi,i = Ai Oi^wp,^we, Ti wi+ ,,i+ ,^(4.20)where the superscripts and subscripts P and stand for the piston and the cylinderrespectively, and wp, for example, is the ith actuator (minor link) force applied at JointPi,p and with respect to the Pi,p force coordinate frame.^The same formula can be applied to^in Eq. (4.20), up to the last link'swrench vector^Rewriting w i,i in Eq. (4.20) in terms of the link parameters fromi to n, we will getW^ (/)j^T^ri we')^(4.21)whereH T k^ (4.22)k=iand Vi,i=1 (1 is a 6x6 identity matrix). Since there is no hydraulic cylinder attachedto the last link n, wc„ = 0.In Eq. (4.21), all the matrices V and T contain the already known kinematics ofthe corresponding links, and the vectors contain the inertial parameters of the majorlinks, which should be identified. The wrench vectors w p , and w t., for minor links,however, must be determined in terms of their corresponding unknown inertial vectors.To accomplish this, a proper model for the hydraulic actuator is required.4.3.3 Newton-Euler Formulations for a Minor LinkThe ith hydraulic actuator in Figure 28 consists of a cylinder and a piston withhydraulic oil inside the cylinder. We may consider the piston and its attachments as90Link i-1 Link ioil int A hTNCylinderoil outA r^47)Pistoni,pRodpiston rodcylinder^411Figure 28: Modeling a hydraulic actuator as a cylinder and a piston.one separate link, and the cylinder, its attachments, and the hydraulic oil inside it asanother separate link2 . By following the same methodology used to obtain the major linkdynamic equations, we can find the wrench vectors vcr (.,_ and wp , in terms of hydraulicforces at both ends of the piston head in Figure 29.z •f n •91, PX • -41 111--)-1,PFigure 29: Forces and torques acting on the various elements of the ith hydraulic actuator.Although the center of gravity for the oil volume inside the cylinder slightly changes with thedisplacement of the piston head, we take it to be constant since the weight of the oil is much lessthan that of the cylinder.91In Figure 29, the cylinder and piston force coordinate frames are attached to pointsPi-1,c and Pi,p respectively, with their x axes along the center-line of the assembly. Thez axes for both of the coordinate frames can arbitrarily be taken parallel to the z axisof the ith major link since the rotation about the center-line is allowed and redundant(because of the spherical joints). Furthermore, the torques at both ends of the actuatorare due to pure friction effects for the same reason. As a result, we may only maintainthe frictional torques n„ ,_, a ri,c and n, = np ,ric about the main axes of rotation z,— Psand set the others equal to zero; i.e.,n x^=^= n yp, = 0^(4.23)Now, using the same concept in Eq. (4.20) for the cylinder and the piston links of theith actuator shown in Figure 29, we obtainw,„ =^0'; + ri) W Pet^ (4.24)wherewpci=the wrench vector of forces and torques applied on the piston head at point 1 3 1 , p ,and with respect to the P i , p, force coordinate frame.Tik=a transmission matrix for the ith actuator which transmits the P,, p, forcecoordinate frame to the P ,p( force coordinate frame,Ai c=the kinematics matrix for the cylinder of the ith actuator defined in Eq. (4.14),oic=the unknown inertial matrix of the cylinder.On the other hand, we can apply the same equation as (4.24) for the piston of the ithactuator to havew =A i^ — Ti wpc,^ (4.25)92zi„ =[ 0 0 0 0[0 0^1^0— 7; 0 lAii) oPi^(4.30)Combining Eqs. (4.24) and (4.25) to eliminate wp ,,, we get= A z` . (p`i ri^— wp ,)^(4.26)whereTi:/`^PY1 (4.27)is a transmission matrix from Pi,p force coordinate system to^force coordinateframe. Rewriting (4.26) in a matrix form givesfx -fyfx-fyfz [^[0]0 Act [11s,,x]^[1][0 0(4.28)n, _CI-1 pi/where [1] is a 3x3 identity matrix, [0] is a 3x3 zero matrix, and1 . =^]^1 0 1'^[1xj^[1] .11 0 0 0 0 0O 1 0 0 0 0O 0 1 0 0 0O 0 0 1 0 0O 0 —si 0 1 00 Si 0 0 0 1(4.29) s'1 is simply the absolute distance between the cylinder and piston pins at each timeand can be computed from Eq. (3.26).In order to obtain the force components of the wrench vector w p ,, first consider thefifth row of the matrix equation (4.28) to find93Then, consider the sixth row of the equation to obtain0 0 0 01 0 0 04,--si-r[Ai^n z,ifypi =40[0 (4.31)Now, in obtaining an equation for L we may note from Eq. (4.25) that the first rowof the transmission matrix Tic/P is simply equal to [1 0 0 0 0 0 because thereis no rotation between P,,p and P,,1, force coordinate frames. Also, the first element ofthe wrench vector wp is^r pc =^"^.off^(4.32)where^o r, 8^h,^—1 r.f^(4.33)andAh = the area of the piston on the head side,A, = the area of the piston on the rod side,Ph = the hydraulic pressure on the piston head side,Pr = the hydraulic pressure on the piston rod side,ffrk = the friction force in the opposite direction of motion of the piston, andf off = the net offset force due to the offset readings of the pressure transducers.Then, consider the first row of the matrix equation (4.25) to obtainhp^[1 0 0 0 0 0 [A i:^(4.34)Substituting Eqs. (4.30), (4.31), and (4.34) in Eq. (4.25) and rearranging for w i„ , we get^wp, = V: A: Wi. — f:^ (4.35)94where 0 0 0 0^0^0 1 0 0 0^0^00 0 0 0^0 7^1 0 1 0 0^0^-sir0 0 0 0 — ^0 0 0 1 0 40 0 0 1^0'^0 0 0 0 1^o'^0o o o o^0^o o o 0 o^0^00000 0^00000^0^0v: (4.36)Ai[^00 $ $2x20(4.37)I 20X (4.38)and^Tyres^ •ric^foil —0^ (4.39)0fru--tip ,Using Eqs. (4.37) and (4.38) in Eq. (4.26), we can write for the wrench vector w eT: wp ,where(4.40)v i = {16x6 (4.41)Substituting (4.35) for wp , in (4.40) and rearranging, we finally obtainT:where(4.42)1^0^0^0^(1^0^0^0^0^0^0^0^-^—..^0^0^0^0^0^t0^1^0^0^0 1^s —7v:' 0^0^1^0^4-^0^0^0^(1^0^17^0 (4.43)0^0^0^0^d^0^0^0^0^0^d^00^0^0^0^0^0^0^0^0^0^0^00^0^0^0^0^0^0^0^0^0^0^095Equations (4.35) and (4.42) are written in terms of the known kinematics of ahydraulic actuator, the unknown vectors of cylinder/piston inertial parameters and frictionforces, and the measured values of cylinder pressures.4.3.4 Global Newton-Euler Equations for a Hydraulic ManipulatorUsing Eqs. (4.35) and (4.42) in Eq. (4.21) for the net forces and torques applied atthe ith joint, and rearranging the equation after some manipulations and simplifications,one may obtainW, , , =^V,,j^0J+n,,j Tji) V") Vi, j -1T^_ 1 V") A' O fJ=i^>..:1/4 (V,^— Vi (4.44)i=iwhere V,,i_1=-0. A representative term in the third summation in Eq. (4.44) can berewritten as V, j _, (T j TI; — 'Ir). However, the subtraction in the parentheses1is simply equal to zero (except for j=i) since both terms represent a transmission ofPj43 force coordinate frame to Pf_i force coordinate system through different paths ofthe closed-chain (T1 TPJ through the ith joint path, and T'1 via the ith hydrauliccylinder-piston actuator).We may redefine the terms within the remaining summations asUtd Vt AiZ i , = (V, r V' + VI^J r_ , V") A (4.45)96and rewrite Eq. (4.45) in a more compact form asOr= X io^• X'Psn _— Lio fb (4.46)W fa = [ • •^X „ LJdie _(4.47)whereUi,^Z 6 X 3 0 (4.48)= [0/ I(Ti o x(4.49)T1 6 x 6 =TZ (4.50)Eq. (4.47) is linear in the unknown parameters, but the left-hand side contains a fullforce-torque vector, i, at each major joint. In a hydraulic manipulator, each individuallink is powered either by a rotary actuator (e.g., cabin rotation) or by a cylinder-pistonactuator (e.g., boom or stick). For a joint with a rotary actuator, there is no hydraulicjack (f = D, and usually only the torque about the joint axis zi can be measured (wedefine it as Ti). For a major link which is powered by a hydraulic jack, there is notorque on the joint in the zi direction except the friction torque (we define it as r" .Consequently, from the six elements of the wrench vector only the last elementcan be considered in the identification process, and therefore, only the sixth (last) rowof Eq. (4.47) will be used for identification purposes. Furthermore, from Eq. (4.39),97fric (4.53)ToffJiT12 x 1OP. Oc (4.54)II ( j —1friclipifricTi cu ff J= [ fric17'35x 1only the first element fiPress is sensed (measured), and the other elements are unknownfrictions and transducer offsets (Eq. (4.39)) which have to be identified. If we assumeconstant dry friction at the joints, thenfric)^sign ()1/;rel ^{ fricfric^ c(or Ti (or T jr -.1^fr i (4.51 . ) where Virgil is the relative velocity between any two successive major or minor links.By multiplying both sides of Eq. (4.47) by [0 0 0 0 0 1], maintaining the measuredforce or torque at the left-hand side, and including all the unknown friction and offsettorques and forces in the vector of unknown inertial parameters, we finally get•cb;{,near ^jjJ i • •^K id^• •^Ki,„ (4.52)fimeas •where^is the torque (for rotary actuator) or the force (for cylinder-piston actuator)applied to the ith joint (link), Ki, is a 1 x 12 row vector (with rotary actuator) or a 1 x 35row vector (for cylinder-piston actuator), and yi is a 12x 1 or 35x 1 column vector ofcombined unknown link inertial parameters, joint frictions and transducer offsets definedasfor a rotary actuator, andfor a cylinder-piston actuator.Equation (4.52) gives the pressure force for the ith link. If the manipulator has atotal number of n links, we will getK 1 , 1 1( 1 , 2 • •^• K I ,n Kn,,, -0 K2,2 • • K 2 ,„_ K2,,, 1/ '2falC S •••• • (4.55)0 0 • • K11- 1,1f — I K ,, — , ,11 'n —10 0 0 K -98or more compactlyfimas K^(4.56)This equation is linear in the unknown parameters. For the UBC hydraulic manipulatorwith a cabin (a rotary actuator), a boom, and a stick (cylinder-piston actuators), teasis a 3 x / generalized measured force/torque vector, K is a 3x(12+35+35) matrix ofknown kinematics, and is a (12+35+35)x1 vector of unknown dynamic parameterswhich should be identified.4.3.5 Estimating the Link ParametersEquation (4.56) represents the dynamics of the manipulator for one sample point. Aswith kinematic identification in Chapter 3, Eq. (4.56) is augmented using m data points:f =f(1)f(m)measK =K(1)•••K(m)(4.57)Unfortunately, one cannot apply simple least-squares estimationOestlatate — (KT K)^KT f^(4.58)because KT K is not invertible due to rank deficiency from restricted degrees of freedom atthe proximal links and the lack of full force-torque sensing. Some dynamic parameters arecompletely unidentifiable, while some others can only be identified in linear combinations.Two different approaches have been used by other researchers (e.g., [1]) to solve theabove rank deficient problem. The simplest is ridge regression [23] which makes KT Kinvertible by adding a small number ,\ to the diagonal elements= (KT K + I KT f (4.59)The estimates are nearly optimal [23] if A«Amin KT K, where Amin is the smallestnon-zero eigenvalue of KT K . This method has partly been explained in Chapter 3.99Another approach expresses the dynamics in terms of a reduced set of dynamicparameters that are independently identifiable and allow the application of direct least-squares technique in (4.58). This reduced set can be generated, for example, byexamination of the closed form dynamic equations for linear combinations of parametersusing Lagrange-Euler formulation. For the complete model of the hydraulic manipulatorintroduced in Eq. (4.56), however, it is difficult to obtain a closed form solution.Another technique is singular value decomposition (SVD) of matrix K, which is a lesscomplicated method, yielding [9]K = UEVT (4.60)where 1,1=diaglo- i l, and U and VT are orthogonal matrices. For each column of Vthere is a corresponding singular value o-i which, if not zero, indicates that the linearcombination of parameters, V i T II), is identifiable. The unidentifiable parameters will havezero singular values associated with them [1]. Since K is a function only of the geometryof the manipulator and the commanded movement, it can be generated exactly bysimulation before conducting any experiments. For completely unidentifiable parameters,the corresponding columns of K can be deleted without affecting f. For parametersidentifiable in linear combinations, all columns except one in a linear combination canalso be deleted. The resulting smaller K T K matrix is now invertible, and Eq. (4.58)can be used to estimate the reduced set of parameters. In the work presented here, forexample, we have used a built-in function in a MATLAB program which automaticallyreduces a rank deficient matrix to a full rank matrix using SVD technique.4.4 Simulation Results and DiscussionThroughout this chapter, we have assumed that the manipulator consists of the following100links only: "swing" (cabin), "boom", and "stick", with the grapple detached from themanipulator since it is neither sensed nor controlled by any actuator. Also, from theresults obtained in Chapter 3, we have learned that the nominal kinematic parameters forthe major and minor links are more accurate than the identified parameters. Consequently,we have used the nominal parameters of the links to build the various elements of theK matrix in Eq. (4.56). The joint angles of the major links are simply measured byresolvers attached to each joint. The angular velocity and acceleration of each link, then,can be derived through successive differentiations of the angular position.4.4.1 Complete Model versus reduced ModelBy complete model we mean a model of the manipulator links that includes thedynamics of the actuators. By reduced or incomplete model we mean a dynamic modelcomprised the manipulator's major links only. Other researchers (e.g., [33] and [41])have considered only the reduced model of hydraulic actuators primarily because therehas been no complete model available to them. They have also assumed that the dynamicsof the minor links do not have any significant effects on the performance of the wholesystem. The purpose of this simulation is to demonstrate the effect of neglecting theminor link dynamics on the predicted pressure forces/torques.Figures 30 to 32 show simulated trajectories for the swing, the boom, and the stickof the UBC hydraulic manipulator. We used these trajectories to build the K matrix ofEq. (4.56). The hypothetical dynamic parameters for the major and minor links of themanipulator (the complete model) are given in Table 13. The values of these parametersattempted to be as close as possible to those of the UBC hydraulic machine, given inTable 1. The values for friction torques and forces are not known for that machineand therefore are set equal to zero in the Table. By using Eq. (4.56), we obtained101 ti^200000 -20ti-400 0.5^1^1.5^2^25^3^3.5^4^4.5^5Time (sec.)0.4 b)0.3 -0.2 -0.10.5^1^1.5^2^2.5^3^3.5^4^4.5Time (sec.)^0.4^ (c0.2 -0 -4)-02 -QoC.)-0.4loft^0^0.5^1^1.5^2^2.5^3^3.5^4^4.5Time (sec.)Figure 30: Simulated trajectory of the "swing".1020ob -10-og -20c.1O -30o -40ti-500^0.5^1^1.5^2^2.5^3^3.5^4^4.5Time (sec.)(b)0.5^1^1.5^2^2.5^3^3.5^4^4.5^580-0.1-0.2-03-0.4 ^0 Time (sec.)^0.4 ^<9co^0.2• 0-0.2^o -0.4 ^0 0.5^1^1.5^2^2.5^3^3.5^4^4.5^5Time (sec.)Figure 31: Simulated trajectory of the "boom".1033.5 4 4.5 51.510.500^0.5^1^1.5^2^2.5^3Time (sec.)150^ (a)ao100'2.^50ti0.5^1^1.5^2^2.5^3^3.5^4^4.5^5Time (sec.)0.5^1^1.5^2^2.5^3^3.5^4^4.5^5Time (sec.)Figure 32: Simulated trajectory of the "stick".104x104^(1a) Swin : — Complete Model --- Partial Model-----------Cc) Stick: — Complete Model --- Partial Model1^1.5^2^2.5^3^3.5^4^4.5^5Time (sec.)2 x1040 --2 --4-6 •8 ^0 0.50.5^1^1.5^2^2.5^3^3.5^4^4.5^5Time (sec.)2 x105 Cb) Boom: — Complete Model --- Partial Model----------------------1.5 -0.5^1^1.5^2^2.5Time (sec.)3^3.5^4^4.5^50.5 ^0Figure 33: Comparison of the simulated forces obtained from "complete" and "reduced" models.105Table 13 Hypothetical dynamic parameters of a hydraulic machine for simulations.param.Link 1 Link 2 Link 3swing cylinder piston boom cylinder piston stickm 8031* 100* 100t 1830* 100* 100t 688*.^mc, 8433* 50* 50* 4209t 50* 50* 6191MC Y -321* 0* 0* 366t 0* 0* 69tmcz 4016* 0* 0* 0* 0* 0* 0*I, 8000* 10* 10t 100* 10* 10* 101.Imo, 0* 0* Ot Ot Ot 0* OfIn 0* Ot 0* 0* Ot Ot 0*1,, 8000* 100* 100* 15400* 100t 100* 600*I, 0* 0* Ot 0* Ot 0* 0*IQ 157001 100* 100t 15400* 100t 100* 600tTfric 04 - - - - 04T or fff 0* - - 0* - - 0*/nc - 0* - - 0* -nefi* - Of - - of - -nofric.. - - 0* - - 0* -—: parameter not defined.*: unidentifiable parameter. t: linearly identifiable parameter. 1: fully identifiable parameter.Units: m (Kg), me (Kg.m), I (Kg.m2), f (N), T (N.m), n (N.m).the forces/torques for the three links of the manipulator with and without consideringthe minor link dynamics (Figure 33). From the figure, we realize that a large error inforce/torque prediction results, especially for the proximal links, if we simply ignore thedynamics of the minor links in heavy-duty hydraulic manipulators.4.4.2 Identifiability of Dynamic ParametersThere are three categories of dynamic parameters: fully identifiable, identifiable inlinear combinations, and completely unidentifiable. Into which category a parameter falls106depends on the manipulator's particular geometry [1]. As stated in Section 4.3.5, wemay use singular value decomposition of the simulated K matrix, Eq. (4.60), for theUBC hydraulic manipulator (shown in Figure 3, without the grapple) to classify thoseparameters. For a complete model, the 31 unidentifiable parameters in Table 13 aremarked with "*", the 24 linearly identifiable ones are marked with "f", and the 27 fullyidentifiable parameters are marked with "t".From the table, we realize that some link parameters are unidentifiable because ofthe restricted motion of the corresponding links and the lack of full force-torque sensingat each joint. For the first link (cabin), rotation is only possible about its z axis; therefore,it is obvious that Ito /9„ and lyy are unidentifiable because they have no effect on jointtorque. Since the gravity vector is parallel to the z axis, cz is also unidentifiable. If onlytorque about the z axis can be sensed, then all inertial parameters for link 1 becomeunidentifiable except /zz. In a multi-link manipulator, however, some parameters can onlybe identified in linear combinations because they appear in linear combinations with otherparameters. As we will see in the following sections, this partial identifiability and thedifficulty of analysis become worse as the number of major and minor links are increased.4.4.3 Effect of Sensor AccuracyThe accuracy of the sensors used to measure the angular positions of major links iswithin ±0.1°, and the accuracy of the pressure transducers is within ±25 psi (see Section2.5). For a rotary hydraulic actuator, the applied torque TPre3 on the output shaft canbe determined [33] fromTv' = by (Pp — P,) (4.61)wherePp = hydraulic pressure on the pressure side [psi],107Ps = hydraulic pressure on the suction side [psi],Cq = flow coefficient (a constant) = 0.089, andRg = gear ratio = 307:1.Using Eq. (4.61) to estimate the net torque error for the cabin's rotary actuator, we obtain:cabin: ±[0.089*307*(25+25)] = ±1400 N.mUsing Eq. (4.33) to estimate the net force errors for the boom's and the stick's actuators,we get:boom: ±[{(piston head area: 31.8)*25+(rod end area: 19.92)*25}*.453*9.81] = ±5700 Nstick: ±[(23.75*25+14.13*25)*.453*9.81] = ±4200 NWe added uniform random noise models with maximum amplitudes within theaccuracy range of the resolvers (±-0.1°) and pressure transducers (calculated above) tothe values shown in Figures 30 to 33. Then, we re-identified the dynamic parameters forthe manipulator of Table 13. These parameters, as denominators, are tabulated in Table14 for the complete model and in Table 15 for the reduced model.Comparing the calibrated parameters for the complete model in Table 14 (thedenominators) with the original parameters in Table 13, we see that almost all theidentified parameters contain large errors. This indicates that the dynamic parameters arevery sensitive to the accuracy of the position and force/torque sensors. To show this, wecalibrated the parameters when the accuracy of the pressure transducers were assumed tobe five times better than the current one ( i.e., within ±5 psi). Those calibrated parametersare also shown as numerators in Tables 14 and 15 for complete and reduced modelsrespectively. The error in this case, however, is much less (10 to 100 times) than theerror for the accuracy of ±25 psi. Although some parameters still contain considerableerrors, some others, such as friction forces/torques, are now close to the actual ones andtherefore are reliable. Obviously, if no noise is injected to the sensors, the error in sensor108Table 14 Identified dynamic parameters of a hydraulic machine with sensor errors (complete model).param.Link 1 Link 2 Link 3swing cylinder piston boom cylinder piston stickm 0* 5.4e5 1.3e5 0* 3600 -1370027e-g- 0*-4.1e61 -2.1e61 -479001mcx 0* -28000-5.10-74000 -3.9e53.20-1200 1500 -75001.5e5-14e51.- -161001 157001mcY 0* -3.8e5 -7700-37302.0e5 805500138-5201-5600..".10 -2.7e51 1.0e5mcz 0* 0* -4.6e53.4-0 0-1800 400 12009T0(-11-467001 251001/xx 0* 0* 3.9e5 0* 0* 0* -4200-Tgin0.-5.6e61I 0* 0* -2.9e52.0e6-1.9e5-i71-0-34006200 0*-1.3e51 807001Ix., 0* -1.0e5-7570 0*-6.0e5-5.7e61 01-19002-§50.-900-102001Iyy 0* 0* 0* 0* 48004710 0* 0*/yx 0* 0* -38900 5.0e5 4200 0* 600-T10 -4.2e61 -380001 -167001ix., -77600 0* 1.4e5 0 * -7600 0 * 78004.I0 -1.2e6f -610001 -1.3e51rfric -198 _ - 38100-Th;-51 -15055201 54001T or f°8 -322 - _ 9.8e6 - - -90011401 -4.2e71 -12900145300 -800-173001 --9.4e5nafric -72800 _ 36_-248001 -1.3e6n fn'P - - 0* - - 540 -82501-: parameter not defined.*: unidentifiable parameter. t: linearly identifiable parameter.^fully identifiable parameter.Units: m (Kg), me (Kg.m), I (Kg.m2), f (N), r (N.m), n (N.m).Note: Numerator and denominator data for transducer accuracy within ±5 psi and ±25 psi respectively.109Table 15 Identified dynamic parameters of a hydraulic machine with sensor errors (reduced model).parameter swing boom stickm (Kg) 0* 1400380tmcx (Kg.m) 0* 1900 540284001* 200*MCY 0* 160 241400* 440*mc 0* -34840*Ix, (Kg•m2) 0* -5403100 1.kg 0* 310 -1203600* 800*In -70 -14040* 1900*1,, 0* 0* 0*./.,,z 0* 220 -50-3900* 500*izz 16500 700 63021400t 28300t 810*Tfric (N.m) -13 9 191100* 100* -10WT°8 or fff 17 -7600 -114450* -3.3e51 -6500**: unidentifiable parameter. t: linearly identifiable parameter. $: fully identifiable parameter.Note: Numerator and denominator data for transducer accuracy within ±5 psi and -.L-25 psi respectively.readings tends to zero and again we obtain the same error-free parameters for the majorand minor links as the ones tabulated in Table 13.By comparing the identified parameters in Table 15 with the original parameters in the2nd, 5th, and the 8th columns of Table 13, one may realize that the error in the individualparameters of the reduced model is much less than that of the corresponding parameters110for the complete model. This justifies our previous claim that the identifiability andthe difficulty of analysis become worse as the number of (major and/or minor) linksare increased. In fact, although matrix K is nonsingular for both complete and reducedmodels, it is still ill-conditioned. Some parameters, especially for the complete model,are very sensitive to measurement noise although they are theoretically identifiable. Sincein SVD technique, all the singular values less than a specific amount are set to zero toobtain convergence, certain parameters happen to be close to being linearly dependentupon the other parameters (especially for the complete model in which the links act oneach other through open- and closed-chains). Typically, the friction torques/forces whichare external and totally decoupled parameters, and also the inertial parameters for thelast link (the "stick" can move faster than the other links) have been identified moreaccurately than the other parameters.The simulation results, however, imply that we should not expect better or indeedeven fair estimates of the dynamic parameters with the current accuracy of the pressuretransducers (±25 psi) for the UBC hydraulic machine.4.5 Measurement ProcedureTo calibrate the dynamic parameters of a manipulator, we first specify a number ofdifferent trajectories for the manipulator links in the form of joint positions (dd), velocities(Od), and accelerations (fi(j). Measurement procedure consists of moving various linksof the manipulator on the specified trajectories and measuring the vector of actualjoint positions, velocities, and accelerations, and calculating the vector of actuatortorques/forces. The latter is done by measuring the oil pressures inside the hydraulic111actuators3 .In our experiment, joint position is measured by a resolver, and joint velocity andacceleration are calculated by successive differentiation of the joint position since thereis no tachometer or accelerometer attached to manipulator. As a result of successivedifferentiations, a significant amount of noise can be generated, especially for the angularacceleration, which deteriorates the accuracy of the parameter estimates. partially filteringout the velocity and acceleration outputs will reduce the noise level, but we may losethe higher frequency dynamics of the system. To overcome this noise problem, wehave used a dynamic programming (optimal) filter [37] for smoothing and estimating thederivatives of the joint positions. The method, in brief, uses a least-squares estimate ofthe experimental data and weighting factors applied to the first and second derivatives(see [37] for more details).The obtained joint trajectories are then fed into a numerical algorithm which computesthe matrix of manipulator kinematics, K. The K matrix along with the measured vectorof applied torques/forces is used in another numerical algorithm to give the vector ofunknown dynamic parameters. The whole measurement and identification algorithm isshown in Figure 34. -MCIift of fdldt0dldt ^►- ►K• inematicsKfRobot KIMLfiFigure 34: Measurement and identification procedure for dynamic calibration.In fact, the transducers are somewhere between the servovalves and the hydraulic actuators, andmeasure the pressures inside the actuators through hydraulic hoses, which naturally have complianceand therefore, introduce more error to the already erroneous pressure readings.1124.6 Experimental Results and DiscussionLink estimation was implemented on the UBC hydraulic manipulator shown in Figure3 (without the grapple). As discussed in Section 4.1, the ideal rigid body dynamicswith friction forces/torques and pressure sensor offsets is a good model for this arm. Aset of insufficient and inaccurate data obtained from the manufacturer specifications isavailable for the manipulator (Tables 1 and 13). They can serve as a point of comparisonfor the estimation results.For the estimated results presented, 1664 data points were sampled at the frequencyof 50 Hz while the manipulator was executing 5 sets of different trajectories shownin Figure 35. The velocities and accelerations were calculated and filtered for the datapoints. We then applied both the proposed complete dynamic model and the existingreduced dynamic model to calibrate the identifiable parameters of the UBC hydraulicmanipulator (the identifiable and unidentifiable parameters were obtained through singularvalue decomposition of matrix K in the previous section).Typical results are shown for the complete model in Table 16 and for the reducedmodel in Table 17. Parameters that cannot be identified because of constrained motion ofthe links or lack of full force/torque sensing are denoted by "0*". For example, the firstnine parameters of the first link (cabin) are not identifiable because this link has only onedegree of freedom about its z axis. These nine parameters, however, contribute nothingto the dynamic equations of motion of the manipulator and thus can be arbitrarily set tozero. The fully identifiable parameters are marked by "t", and the linearly identifiableparameters are denoted by "t" in Tables 16 and 17. From the tables, it can be seenthat there is a sizeable discrepancy between the nominal parameters in Table 13 and theidentified parameters. Most of the estimated parameters are even far from being realistic.113150100obau5000CA0-50 --1000,^ . 200^400^600^800^1000^1200^1400No. of Posesa) CABIN1600^18000-10-20-30-40-500 200 400 600 800^1000No. of Poses1200 1400 1600 18001500au 10050Cc) STICK200^400^600^800^1000^1200^1400^1600^1800No. of PosesFigure 35: Experimental trajectories for the UBC manipulator used to identify dynamic parameters.114Table 16 Identified dynamic parameters of the UBC hydraulic manipulator (complete model).param.Link I Link 2 Link 3swing cylinder piston boom cylinder piston stickm 0* 5.2e51 -6.5e5t 0* 3840* -602001 0*mcx 0* -2.1e6* 2.1e6* 1.5e6t 3300* -3300* -351001MC Y 0* 88400* 41000* -7.7e5t 10300* -6900* -24800tmcz 0* 0* -1.1e6* 0* 2100* 22700* 430*/xx 0* 0* 5.2e5t 0* 0* 0* -4100tIn' 0* -2.3e6t -2.7e6t 5800t 0* -10900t1, 0* -1.1e6t 0* -7.8e5* Ot 235001 -12100*/yy 0* 0* 0* 0* -2.5e5t 0* 0*/yz 0* 0* -8.8e5t 9.4e5* -83001 0+ -11100*/z, -2.6e6t 0* -4.0e6t 0* 25500t 0* 29500trfric 14700* - - -17700t - - 3900*T or fff -1300* - - -5.4e6* - - 2900tPc - -2.1e5* - - -31500* - -'irk - 1.5e5t - - -10600* - -nitric _ - 0* - - 22000$ -—: parameter not defined.*: unidentifiable parameter. t: linearly identifiable parameter. t: fully identifiable parameter.Units: m (Kg), me (Kg.m), I (Kg.m2), f (N), T (N.m), n (N.m).This, however, was expected because from the simulation results in Section 4.4.3 welearned that good estimates for the individual parameters may not be possible due to thelow accuracy of the existing sensors.Although the identified values of the individual parameters are not close to the actualones, and therefore, do not have any physical meaning at this point, we may still get goodresults when exploiting them to predict torques/forces of the actuators since we haveused a curve-fitting technique to estimate pseudo-dynamic parameters. To verify this, themeasured torques/forces for a completely different set of experimental data are compared115Table 17 Identified dynamic parameters of the UBC hydraulic manipulator (reduced model).parameter swing boom stickm (Kg) 68701mcx (Kg.m) -22200t 600*mcy 0* -2950* -278*mcz 0* -285*Ix, (Kg•m2) -15200tliy -61100* -8600*In -45500* -1600*lyy 0* 0*lyz -14900* -4100*_t„ -146000t -151000t -490*TfriC (N.m) 13200* 2030* 530*Toff or rff 980* -95700* 180**: unidentifiable parameter. t: linearly identifiable parameter. $: fully identifiable parameter.to the torques/forces computed from the above three sets of parameters (nominal,complete, and reduced models) using the measured joint kinematic data in Figure 36. Itcan be noticed from Figure 37 that the complete model predicts the torques/forces betterthan the other two models, and in general, the estimated torques/forces obtained fromthe complete or reduced model match the measured torques/forces much more closelythan those obtained from the existing (nominal) model. The RMS (defined in Eq. (3.44))for the error between the measured and the estimated joint torques/forces obtained fromdifferent models are given as:cabin:RMScompiete = 3720 N.mRMSreduced = 4720 N.mRMSnominai = 12200 N.m116boom:RMScompkw = 5860 NRMSreduced = 5500 NRMSnominai = 39200 Nstick:RMScompiete = 8700 NRMSreduced = 11900 NRMSnominai = 14600 NFrom the above RMS values we see that the errors in the estimated torques/forces of thecomplete model are almost within the accuracy of the sensors we derived in Section 4.4.3.This comparison, on the whole, verifies qualitatively that for control purposes theestimated parameters are in fact more accurate than the modelled parameters. Yet, onecannot form conclusions about the absolute accuracy of the estimates on the basis ofthe plots in Figure 37 since they only indicate that one can predict the joint torquesor link forces well.Depending on what the purpose of calibration is, one may use the predictedforces/torques from the identified model (whatever the values of the individual parametersare) in a flight simulator, or one may update only the friction forces/torques formaintenance purposes while fixing all the known and constant link inertial parameters.Of course, if the purpose of obtaining the estimates is to improve controller performance,the best test for verifying the reliability of the estimates is to actually test them in arobot controller.117150(a) SWING50^100^150^200^250^300^350^400^450Time Scale (samples)100-8 500000a.,0-50ti-100 ^0) BOOM^-50 ^0 50^100^150^200^250^300^350^400^450Time Scale (samples)-20-300 -4010050C^c) STICK50^100^150^200^250^300^350^400^450Time Scale (samples)tiFigure 36: Position trajectories of the three links of the UBC manipulator (experimental).11850^100^150^200^250^300Time Scale (samples)(b)BOOM350 450400Cc) STICK______________ ---•2 x1040a) SWING50^100^150^200^250^300Time Scale (samples)50^100^150^200^250^300^350^400^450Time Scale (samples)Legend :^Experiment--- Complete Model... Partial Model-.- Nominal Model350^400^450Figure 37: Comparison of the torques/forces obtained from nominal, complete, and reduced models.119Chapter 5CONCLUSIONThere are many heavy-duty manipulator-like machines in primary industries that are nowbeing manually operated by experienced operators. Many of them work in potentiallyhazardous environments. Computer-assisted control of such hydraulic manipulators isnow available which has the potential to improve operator safety and to increaseproductivity.There are many different reasons why one may be interested in determining thevarious parameters of hydraulic manipulators. Accurate modeling of robotic manipulatorsis important for control purposes. One needs to know the accurate kinematic and dynamicparameters of such manipulators in order to exploit them in direct and inverse kinematicformulations (e.g., in resolved motion/force controller, or in a hybrid position/forcefeedforward controller), or to estimate the inertial parameters of the manipulators. Agood knowledge of arm parameters is also useful for simulation purposes, and failureanalysis and detection of the manipulator.Unfortunately, one cannot totally rely on the link specifications supplied by themanufacturer of such machines because of assembly errors, manufacturing tolerances,aging of the machine, and also because many hydraulic manipulators are modified by thedistributors and even by the end-users. As a result, measurement or calibration of linkparameters would be necessary to obtain a more realistic model of a manipulator.There was a major emphasis in this research on building accurate manipulator models.The objectives of this work were to develope means for the calibration of both kinematic120and dynamic parameters of major and minor links of heavy-duty hydraulic manipulators,although the methodology developed here can be equally applied to any type of roboticmanipulator. We sought model building methods which are not only accurate, but alsoconvenient and which do not demand significant human involvement. The ideal methodwould be one that allows the robotic manipulator to calibrate itself.In the following sections, we will briefly summarize the various issues of thecalibration techniques we used to measure the kinematic and dynamic parameters of theUBC hydraulic manipulator.5.1 Kinematic Calibration IssuesIn this area, we presented an efficient, fast, and inexpensive procedure and instrumentationfor kinematic calibration of both major and minor links of heavy-duty hydraulicmanipulators based on the modified Denavit-Hartenberg link parameters. The proceduredoes not require much human involvement or engineering supervision, and can becarried out on-site. The solution technique involves iteration of the linearized kinematicequations. One important aspect of the proposed method of calibration is that, by usingan external linkage with its own joint sensors, there is no need to sense the arm jointangles and endpoint location with complicated sensing devices. The added linkage, thecalibrator, provides all the sensory data required for the calibration procedure. Anothercontribution is the concurrent identification of the minor links with the major links usingthe same sensory data from the calibrator.Simulation results indicate that the iterative least squares method with Levenberg-Marquardt algorithm is almost insensitive to the initial parameter estimates. Oneimportant reason is that, in contrast to the other identification techniques, our proposed121hierarchical algorithm solves a limited number of unknown parameters each time ratherthan identifying all the parameters in a single run. At the same time, we found that theidentification method is robust to the natural drifts of the arms and white noise in thesensors. Also, if the accuracy of the resolvers are within commercial ranges, e.g., -±0.1°,the calibrated model can still be close to the actual model with errors in the identifiedparameters to be usually less than 5%.For the first time, experimental results in autonomous kinematic calibration wereobtained for a typical heavy-duty hydraulic manipulator. In terms of the RMS errors andVAF statistical measures, the calibrated parameters fit the calibrator data better than didthe nominal (initial) parameters. The probable reason for the discrepancy between theactual endpoint measurements and the results from the simulation of the identified modelis errors in the calibrator data. The current design and accuracy of the system is simplynot yet good enough for kinematic calibration. We actually feel that the nominal valuesof the parameters for both major and minor links are more correct, and provide a testfor the calibrator system rather than vice versa. In every case, the proposed calibrationprocedure worked well given the experimental measurements, but these measurementshave limited accuracy as indicated by independent measurements.Aside from the current accuracy limitations of the calibrator, we feel that the approachwe have offered holds promise for the future, especially on the calibration of hydraulicmachinery. A new version of the calibrator is now being built that has more degrees offreedom, and is lighter, more rigid, and more accurate.5.2 Dynamic Calibration IssuesIn this category, a new methodology for the dynamics of a complex hybrid open-closed122chain hydraulic manipulator was derived based on the Newton-Euler formulation. Itwas shown, by simulation, that neglecting the dynamics of the minor links (hydraulicactuators) may overestimate or underestimate the forces/torques applied to the joints/linksof the arm by a factor of two or more.By measuring the joint positions and the oil pressures inside the hydraulic actuatorsand applying the proposed dynamic equations, we attempted to calibrate the dynamicparameters (inertials, friction forces/torques, and transducer offsets) of both major andminor links of a typical hydraulic manipulator. Simulation results showed that with thecurrent accuracy of the sensors and transducers, it was not possible to obtain a goodestimate of the parameters. The poor estimates of the individual parameters of the UBChydraulic manipulator confirmed the simulation indications. Nevertheless, when in thesimulations the accuracy of the pressure transducers was increased 5 times, a considerableimprovement in parameter estimates of 10 to 100 times was observed, and when theerror in the readings was set to zero, the identified parameters became error-free. Thisis promising for future experiments upon installing more accurate sensors.We found that the estimated torques/forces from the identified models are closerthan the ones calculated from the existing nominal model to the actual measuredtorques/forces of the actuators. Although the formulation was much more mathematicallyand computationally involved, the complete model predicted the actuator forces/torquesbetter than both reduced and nominal models. On the other hand, because of its fewerinterconnected links and unidentifiable or linearly identifiable parameters, the reducedmodel appeared to calibrate the individual parameters more accurately than did thecomplete model.There are numerous potential advantages of this movement-based estimationprocedure over manual measurement techniques such as weighing and counterbalancing123individual links. The former is automatic, faster, more economic, and more convenientthan the latter. Even assuming that there are possible errors in the sensors or kinematicvariations due to inaccurate parameter knowledge, the importance of the dynamicestimation of the link parameters is still emphasized. The reason is that the controllermust deal with the manipulator kinematics and dynamics and the sensor calibration asthey exist, and to some extent the estimated model, although far from the actual model,will accommodate the model variations and sensor errors (as proved by better estimationof actuator torques/forces).New pressure transducers with a five-fold improvement accuracy will be availableto us in the near future to re-calibrate the arm parameters. It is hoped that much betterestimates of the dynamic parameters can be obtained by using the new sensors.5.3 Further IssuesThere are many issues surrounding the topics in this thesis that require further study.The followings are some of those issues:In the kinematic calibration area:• it is desirable to optimize the workspace of the calibrator. It can be done byoptimizing the design of the calibrator (e.g., the degrees of freedom required, thetype of links/joints, and the dimensions of the calibrator links) for a certain classof hydraulic manipulators (e.g., excavators, feller-bunchers, log loaders, etc.).• we experienced a lot of noise coming from unmodelled nongeometric sourcessuch as joint flexibility in the calibrator. Since these sources of noise caneasily contaminate the calibration results and may not be removed by usingconventional filters such as least-squares techniques, one may consider including124a noise model in the kinematic formulations for such dominant nongeometricparameters using appropriate techniques.In the dynamic calibration area:• we found that the pressure readings would not be reliable with the transducersbeing located far from the actuators. The effects of hydraulic compliance werecompletely ignored in the dynamic formulations. It would be desirable if weconsider the dynamics of the hydraulic components of the manipulator, andestablished a relationship containing the voltages to the servovalves as inputsand the joint motions and the end effector forces as outputs. In this way we couldidentify the dynamics of the hydraulic components and the structural elements ofthe manipulator at the same time. This general system identification, however,is a very difficult one, but restricted versions of this problem may be tractableand quite useful.• it appeared to us that a number of minor links cannot have sufficient excitationsbecause of the nature of the links (e.g., cylinders or pistons) to give a goodestimate of their dynamic parameters. Therefore, it is recommended to investigatesome other versions of dynamic formulations (e.g., Lagrange approach) orcalibration procedures to identify those link parameters.• the dynamic formulations proposed are potentially capable of calibrating boththe kinematic and dynamic parameters of a typical robotic manipulator using theexternal calibrator device. In this case, the kinematic and dynamic calibrationcan be sequentially performed starting from the end effector. In the future, onemay consider performing the full calibration process using this technique bymodifying the calibrator, e.g., in weight, joint types, and sensor installations.125REFERENCES[1] C. H. An, C. G. Atkeson, and J. M. Hollerbach. Model-Based Control of a RobotManipulator. The MIT Press, 1988.[2] D. D. Ardayfio and D. Qiao. The kinematics of industrial robots having closedkinematic chains. In Robotics and Automation '84. International Association ofScience and Technology for Development, 1984.[3] B. Armstrong, 0. Khatib, and J. Burdick. The explicit dynamic model and inertialparameters of the puma 560 arm. In Proc. IEEE Mt. Conf. Robotics and Automation,pages 510-518, San Francisco, 1986.[4] D. J. Bennet and J.M. Hollerbach. Autonomous robot calibration for hand-eyecoordination. In Proc. IEEE Int. Conf Robotics Automat., Tokyo, Japan, 1989.[5] D. J. Bennett and J. M. Hollerbach. Autonomous calibration of single-loop closedkinematic chains formed by manipulators with passive endpoint constraints. IEEEJ. Robotics Automat., Oct., 1991.[6] J. Denavit and R. S. Hartenberg. A kinematic notation for lower pair mechanismsbased on matrices. J. Applied Mechanics, 22:215-221, 1955.[7] W. Q. D. Do and D. C. H. Yang. Inverse dynamics of a platform typeof manipulating structure. pages 1-9, ASME Design Engineering TechnicalConference, Columbus, Ohio, 1986.[8] K. S. Fu, R. C. Gonzalez, and C. S. G. Lee. Robotics: Control, Sensing, Vision,and Intelligence. McGraw-Hill Book Company, 1987.[9] G. H. Golub and C. F. Van Loan. Matrix Computations. John Hopkins UniversityPress, 1983.[10] S. A. Hayati. Robot arm geometric link parameter estimation. In Proc. 22nd IEEEConf. Decision Cont., San Antonio, TX, 1983.126[11] S. A. Hayati and M. Mirmirani. Improving the absolute positioning accuracy ofrobot manipulators. J. Robotic Systems, 2:397-413, 1985.[12] S. A. Hayati and G. P. Roston. Inverse Kinematic Solution for Near-Simple Robotsand Its Application to Robot Calibration, pages 41-50. Recent Trends in Robotics:Modeling, Control, and Education. Elsevier Science Publ. Co., 1986.[13] J. M. Hollerbach and D. J. Bennet. Automatic kinematic calibration using a motiontracking system. In Robotics Res. 4th Mt. Symp., pages 191-198, Cambridge, MA,1988. MIT Press.[14] J. E. Dennis Jr. and R. B. Schnabel. Numerical Methods for UnconstrainedOptimization and Nonlinear Equations. Prentice-Hall series in computationalmathematics. Englewood Cliffs, N.J. : Prentice-Hall, 1983.[15] R. P. Judd and A. B. Knasinski. A technique to calibrate industrial robots withexperimental verification. In Proc. IEEE Int. Conf. Robotics and Automation, pages351-357, Raleigh, NC, 1987.[16] W. Khalil, M. Gautier, and J. F. Kleinfinger. Automatic generation of identificationmodels of robots. Mt. J. Robotics Automat., 1(1):2-6, 1986.[17] M. Khoshzaban, F. Sassani, and P. D. Lawrence. Autonomous kinematic calibrationof industrial hydraulic manipulators. In Proc. 4th Int. Symp. on Robotics andManufact., Santa Fe, NM, 1992.[18] P. K. Khosla. Real-Time Control and Identification of Direct-Drive Manipulators.Ph.d. thesis, carnegie-Mellon University, Dep. of Elec. and Comp. Eng., August1986.[19] J. F. Kleinfinger and W. Khalil. Dynamic modeling of closed-loop robots. In Proc.16th Mt. Symp. on Industrial Robots, pages 401-412, 1986.[20] K. Lau, R. Hocken, and L. Haynes. Robot performance measurementsusing automatic laser tracking techniques. Robotics and Computer IntegratedManufacturing, 2:227-236, 1985.[21] K. Lee. Shape Optimization of Assemblies Using Geometric Properties. Ph.d. thesis,MIT, Mechanical Engineering Department, December 1983.127[22] J. Y. S. Luh and Y. Zheng. Computation of input generalized forces for robots withclosed kinematic chain mechanisms. IEEE J. Robot. Automat., 1:95-103, 1985.[23] D. W. Marquardt and R. D. Snee. Ridge regression in practice. Amer. Statistician,29:3-20, 1975.[24] H. Mayeda, K. Osuka, and A. Kangawa. A new identification method for serialmanipulators arms. In Proc. IFAC 9th World Congress, volume VI, pages 74-79,Budapest, 1984.[25] A. Mukerjee and D. H. Ballard. Self-calibration in robot manipulators. In Proc.IEEE Conference Robotics and Automation, pages 1050-1057, St. Louis, 1985.[26] I. J. Mulligan, A. K. Mackworth, and P. D. Lawrence. A model-based visionsystem for manipulator position sensing. In Proc. workshop on Interpretation of3D Scenes, Austin, TX, 1989.[27] Y. Nakamura. Dynamics of closed link robots with actuational redundancy. InProc. 2nd Mt. Symp. Robot. Manufact., pages 309-318, Albuquerque, NM, 1988.[28] C. C. Nguyen and F. J. Pooran. Kinematics and dynamics of a six-degree-of-freedom robot manipulator with closed kinematic chain mechanism. In Proc. 2ndMt. Symp. Robot. Manufact., pages 351-359, Albuquerque, NM, 1988.[29] G. V. Puskorius and L. A. Feldkamp. Global calibration of a robot/vision system.In Proc. IEEE Int. Conf. Robotics and Automation, pages 190-195, Raleigh, NC,1987.[30] J. M. Renders, E. Rossignol, M. Becquet, and R. Hanus. Kinematic calibrationand geometrical parameter identification for robots. IEEE J. of Robotics Automat.,Dec., 1991.[31] Z. S. Roth, B. W. Mooring, and B. Ravani. An overview of robot calibration. IEEEJ. Robotics Automat., Oct. 1987.[32] G. Segger and W. Leonhard. Estimation of rigid body models for a six-axismanipulator with geared electric drives. In Proc. IEEE Int. Conf. Robotics Automat.,pages 1690-1695, Scottsdale, AZ, 1989.[33] N. Sepehri. Dynamic Simulation and Control of Teleoperated Heavy-Duty HydraulicManipulators. Ph.d. thesis, The University of British Columbia, 1990.128[34] J. Slotine and W. Li. Adaptive manipulator control: A case study. In Proc. IEEEInt. Conf. Robotics Automat., pages 1392-1400, Raleigh, 1987.[35] H. W. Stone and A. C. Sanderson. A prototype arm signature identification system.In Proc. IEEE Int. Conf. Robotics and Automation, pages 175-182, Raleigh, NC,1987.[36] K. R. Symon. Mechanics. Addison-Wesley, Reading, Mass., 1971.[37] D. M. Trujillo and H. R. Busby. Investigation of a technique for the differentiationof empirical data. ASME J. Dyn., Sys., Meas., Cont., 105:200-202, September1983.[38] W. K. Veitschegger and C. H. Wu. A method for calibrating and compensatingrobot kinematic error. In Proc. IEEE Int. Conf. Robotics Automat., Raleigh, NC,1987.[39] W. K. Veitschegger and C. H. Wu. Robot accuracy analysis based on kinematics.IEEE J. Robotics Automat., Sep., 1986.[40] D. E. Whitney, C. A. Lozinski, and J. M. Rourke. Industrial robot forwardcalibration method and results. ASME J. Dyn. Sys., Meas., Control, Mar., 1986.[41] D. Wong. Prallel Implementation of Multibody Dynamics for Real-Time Simulation.Ph.d. thesis, The University of British Columbia, 1991.[42] H. Zhuang, Z. S. Roth, and F. Hamano. A complete and parametrically continuouskinematic model. In Proc. IEEE Int. Conf. Robot. Automat., pages 92-97, Cincinati,OH, 1990.129
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Kinematic and dynamic calibration of hydraulically...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Kinematic and dynamic calibration of hydraulically actuated manipulators Khoshzaban-Zavarehi, Masoud 1992
pdf
Page Metadata
Item Metadata
Title | Kinematic and dynamic calibration of hydraulically actuated manipulators |
Creator |
Khoshzaban-Zavarehi, Masoud |
Date Issued | 1992 |
Description | Important industries such as construction, mining, and forestry make use of heavy-duty hydraulic machinery with manipulators usually controlled manually by expert human operators. The hand controls that operate most articulated machines today do not take advantage of recent developments in robotics and control technology. There are thousands of industrial hydraulic machines in existence that can potentially benefit from improved computer-assisted controls such as the ones which are under development at UBC. To control such manipulators properly, however, precise link parameters should be known in advance in order to obtain inverse kinematics, Jacobians, and inverse dynamics used in various control algorithms. Accurate measurement of link parameters is made possible by using calibration techniques. The theme of this thesis involves calibration (measurement) of kinematic and dynamic parameters of hydraulic manipulators. In the category of kinematic calibration, we have presented and experimented with a new algorithm and instrumentation for automatic measurement of the geometric parameters of such robotic manipulators when forming mobile closed-chains. The contribution of the work proposed here, in the face of a large literature in kinematic calibration, is that there is no need for joint and end effector sensing of the manipulator. Instead, an external linkage-type sensing instrument, called "calibrator" has been introduced. One end of the calibrator is attached to the manipulator endpoint, while the other end is attached to a passive task fixture which is a spherical joint fixed to the machine's chassis. A special hierarchical identification algorithm using iterative least-squares technique has been developed based on link-by-link movement of the manipulator, starting from the end effector. By using the joint angle sensory data from the calibrator, all the geometric parameters of the moving link, as well as the kinematics of the actuator and the task fixture, were identified for a Caterpillar 215B excavator. In the area of dynamic calibration of hydraulic machines, a new methodology for the dynamics of a complex hybrid open-closed chain hydraulic manipulator was derived based on the Newton-Euler formulation. It was shown by simulation that neglecting the dynamics of the minor links (hydraulic actuators) may dramatically underestimate the forces/torques applied to the joints/links. By measuring the joint positions and the oil pressures inside the hydraulic actuators and applying the proposed dynamic equations, we attempted to calibrate the dynamic parameters (inertias, friction forces/torques, and transducer offsets) of both major and minor links of a typical hydraulic manipulator, the UBC Caterpillar 215B excavator. Simulation results showed that with the current accuracy of the sensors and transducers, it was not possible to obtain a good estimate of the parameters. The poor estimates of the individual parameters of the UBC hydraulic manipulator confirmed the simulation indications. Nevertheless, the estimated torques/forces obtained from the calibrated parameters appeared to be closer than the ones calculated from the existing nominal model to the actual measured torques/forces of the actuators. Although the formulation was much more mathematically and computationally involved, the complete model predicted the actuator forces/torques better than both reduced and nominal models. There are a number of potential advantages of the calibration techniques developed in this work over the existing methods in the literature. The techniques have the potential of being industrially feasible, fast, inexpensive, automatic with minimum human involvement and engineering supervision, and ready to apply on-site. |
Extent | 5765440 bytes |
Genre |
Thesis/Dissertation |
Type |
Text |
FileFormat | application/pdf |
Language | eng |
Date Available | 2008-09-30 |
Provider | Vancouver : University of British Columbia Library |
Rights | For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. |
IsShownAt | 10.14288/1.0080856 |
URI | http://hdl.handle.net/2429/2403 |
Degree |
Master of Applied Science - MASc |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of Mechanical Engineering, Department of |
Degree Grantor | University of British Columbia |
GraduationDate | 1993-05 |
Campus |
UBCV |
Scholarly Level | Graduate |
AggregatedSourceRepository | DSpace |
Download
- Media
- 831-ubc_1993_spring_khoshzaban-zavarehi_masoud.pdf [ 5.5MB ]
- Metadata
- JSON: 831-1.0080856.json
- JSON-LD: 831-1.0080856-ld.json
- RDF/XML (Pretty): 831-1.0080856-rdf.xml
- RDF/JSON: 831-1.0080856-rdf.json
- Turtle: 831-1.0080856-turtle.txt
- N-Triples: 831-1.0080856-rdf-ntriples.txt
- Original Record: 831-1.0080856-source.json
- Full Text
- 831-1.0080856-fulltext.txt
- Citation
- 831-1.0080856.ris
Full Text
Cite
Citation Scheme:
Usage Statistics
Share
Embed
Customize your widget with the following options, then copy and paste the code below into the HTML
of your page to embed this item in your website.
<div id="ubcOpenCollectionsWidgetDisplay">
<script id="ubcOpenCollectionsWidget"
src="{[{embed.src}]}"
data-item="{[{embed.item}]}"
data-collection="{[{embed.collection}]}"
data-metadata="{[{embed.showMetadata}]}"
data-width="{[{embed.width}]}"
async >
</script>
</div>
Our image viewer uses the IIIF 2.0 standard.
To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0080856/manifest