- 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 1992
pdf
Page Metadata
Item Metadata
Title | Kinematic and dynamic calibration of hydraulically actuated manipulators |
Creator |
Khoshzaban-Zavarehi, Masoud |
Date Created | 2008-09-30T16:34:25Z |
Date Issued | 2008-09-30T16:34:25Z |
Date | 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 |
File Format | application/pdf |
Language | Eng |
Collection |
Retrospective Theses and Dissertations, 1919-2007 |
Series | UBC Retrospective Theses Digitization Project [http://www.library.ubc.ca/archives/retro_theses/] |
Date Available | 2008-09-30T16:34:25Z |
DOI | 10.14288/1.0080856 |
Degree |
Master of Applied Science - MASc |
Program |
Mechanical Engineering |
Affiliation |
Applied Science, Faculty of |
Degree Grantor | University of British Columbia |
Graduation Date | 1993-05 |
Campus |
UBCV |
Scholarly Level | Graduate |
URI | http://hdl.handle.net/2429/2403 |
Aggregated Source Repository | DSpace |
Digital Resource Original Record | https://open.library.ubc.ca/collections/831/items/1.0080856/source |
Download
- Media
- ubc_1993_spring_khoshzaban-zavarehi_masoud.pdf [ 5.5MB ]
- Metadata
- JSON: 1.0080856.json
- JSON-LD: 1.0080856+ld.json
- RDF/XML (Pretty): 1.0080856.xml
- RDF/JSON: 1.0080856+rdf.json
- Turtle: 1.0080856+rdf-turtle.txt
- N-Triples: 1.0080856+rdf-ntriples.txt
- Citation
- 1.0080856.ris
Full Text
KINEMATIC AND DYNAMIC CALIBRATION OF HYDRAULICALLY ACTUATED MANIPULATORS by MASOUD KHOSHZABAN- ZAVAREHI B.Sc. (Mechanical Engineering), Sharif University of Technology, Tehran, Iran, 1986 A THESIS SUBMITTED IN partial FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES (Department of Mechanical Engineering) We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA December 1992 ©Masoud Khoshzaban- Zavarehi, 1992 this thesis in partial fulfilment of the requirements for an advanced University of British Columbia, I agree that the Library shall make it for reference and study. I further agree that permission for extensive In presenting degree at the freely available copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. (Signature) Department of ['A •z_k\f, sIN \ C Er IN• (NICx. t(A_. The University of British Columbia Vancouver, Canada Date \ 2, yI ") 2 DE-6 (2/88) ABSTRACT 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 ii Abstract 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. iii Table of Contents ABSTRACT^ ii LIST OF TABLES^ vii LIST OF FIGURES^ ix ACKNOWLEDGMENTS^ xii 1 GENERAL^ 1 1.1 Introduction ^ 1 1.2 Robot Calibration 2 1.2.1 Calibration Levels ^ 3 1.2.2 Calibration Steps 4 1.3 Motivation and General Objective^ 4 1.4 Scope of Present Work ^ 6 1.5 Contributions ^ 8 2 A HEAVY-DUTY HYDRAULIC MANIPULATOR^ 10 2.1 Introduction ^ 10 2.2 The Experimental Machine ^ 10 2.3 Link Specifications ^ 12 2.3.1 Geometric Parameters ^ 13 2.3.2 Inertial Parameters 16 2.4 Actuator Specifications ^ 18 2.4.1 Geometric Parameters 19 2.4.2 Inertial Parameters^ 20 2.5 Sensors^ 20 iv 3 KINEMATIC CALIBRATION^ 22 3.1 Introduction ^ 22 3.2 Previous Work 22 3.3 Problem Statement^ 26 3.3.1 Endpoint Sensing Problem ^ 26 3.3.2 Mobility Problem ^ 27 3.3.3 Joint Sensor Problem 30 3.4 Model ^ 31 3.4.1 Geometric Parameters ^ 32 3.4.2 Nongeometric Parameters 37 3.4.3 Manipulator Kinematics ^ 38 3.4.4 Actuator Linkage Kinematics 43 3.5 Measurement ^ 44 3.5.1 The Calibrator 45 3.5.2 Measurement Procedure ^ 47 3.6 Identification ^ 48 3.6.1 Differential Relations ^ 48 3.6.2 Jacobian Calculation 49 3.6.3 Iterative Parameter Estimation ^ 50 3.6.4 Identifiable versus Unidentifiable Parameters ^ 52 3.7 Simulation Results and Discussion ^ 56 3.7.1 Effect of Actuator Drift 58 3.7.2 Effect of Joint Sensor Accuracy^ 60 3.7.3 Effect of Joint Flexibility ^ 60 3.8 Experimental Results and Discussion ^ 62 3.8.1 Major Links ^ 62 3.8.2 Improving the Major Link Identified Parameters^ 67 3.8.3 Minor Links ^ 71 4 DYNAMIC CALIBRATION^ 79 4.1 Introduction ^ 79 4.2 Previous Work 81 4.3 Estimation Procedure ^ 84 4.3.1 Newton-Euler Formulations for a Major Link ^ 84 4.3.2 Newton-Euler Formulations for Chained Links 88 4.3.3 Newton-Euler Formulations for a Minor Link ^ 90 4.3.4 Global Newton-Euler Equations for a Hydraulic Manipulator ^ 96 4.3.5 Estimating the Link Parameters^ 99 4.4 Simulation Results and Discussion 100 4.4.1 Complete Model versus reduced Model^ 101 4.4.2 Identifiability of Dynamic Parameters 106 4.4.3 Effect of Sensor Accuracy ^ 107 4.5 Measurement Procedure ^ 111 4.6 Experimental Results and Discussion ^ 113 5 CONCLUSION^ 120 5.1 Kinematic Calibration Issues ^ 121 5.2 Dynamic Calibration Issues 122 5.3 Further Issues ^ 124 REFERENCES^ 126 vi LIST OF TABLES Table 1^Nominal inertial parameters for the major links. ^ 18 Table 2^Nominal D-H parameters for the UBC hydraulic machine and calibrator. ^ 56 Table 3^Nominal kinematic parameters for the minor links of the UBC hydraulic machine. ^ 57 Table 4^Identified D-H parameters — simulation for the effects of actuator drifts. ^ 59 Table 5^Identified D-H parameters — simulation for the combined effects of sensor accuracy and actuator drift. ^ 61 Table 6^Identified D-H parameters — simulation for the combined effects of joint flexibility and actuator drift^ 61 Table 7^Identified D-H parameters for the UBC hydraulic machine and calibrator. ^ 63 Table 8^Distance error comparison between the nominal and identified models. ^ 66 Table 9^Reidentified D-H parameters for the UBC hydraulic machine and calibrator. ^ 70 Table 10^Distance error comparison between the previously identified and the re-identified models. ^ 71 Table 11^Identified versus nominal parameters for minor links. . . ^ 76 Table 12^Error parameters for the minor links of the manipulator. ^ 77 Table 13^Hypothetical dynamic parameters of a hydraulic machine for simulations^ 106 vii Table 14^Identified dynamic parameters of a hydraulic machine with sensor errors (complete model). ^ 109 Table 15^Identified dynamic parameters of a hydraulic machine with sensor errors (reduced model)^ 110 Table 16 ^ ^Identified dynamic parameters of the UBC hydraulic manipulator (complete model) 115 Table 17^Identified dynamic parameters of the UBC hydraulic manipulator (reduced model)^ 116 LIST OF FIGURES Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 A hybrid position/force feedback controller. ^ 2 Schematic of a typical excavator with "bucket"^ 11 Schematic of a modified excavator having "grapple" instead of "bucket". ^ 12 Plan view of the excavator with grapple, showing the swing parameters^ 13 Schematic diagram of the "boom"^ 14 Schematic diagram of the "stick". 15 Schematic Diagram of the "grapple". ^ 16 Local coordinate frame attached to the C.G. of link i. .^. 17 Nominal geometric parameters for the stick's actuator. ^ 20 Establishing link coordinate systems based on the modified D-H parameters. ^ 33 The kinematics of a cylindrical hydraulic actuator. ^ 44 The calibrator designed for machine calibration. ^ 45 Figure 9^Nominal geometric parameters for the boom actuators.. . 19 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14^The combined hydraulic machine and the calibrator during the kinematic calibration process^ 47 Figure 15^Establishment of the coordinate systems for the links of the closed-chain. ^ 53 Figure 16^Experimental trajectories of the manipulator links used in simulations when only Link 3 (stick) is active. ^ 57 ix Figure 17^Experimental trajectories of the manipulator links used in simulations when only Link 2 (boom) is active. ^ 58 Figure 18^Experimental trajectories of the manipulator links used in simulations when only Link 1 (swing) is active. ^ 59 Figure 19^Comparison of the stick endpoint distance to the task frame. ^ 66 Figure 20^Errors in the simulated and actual sensor outputs for Joints 4 to 6. ^ 68 Figure 21^Errors in the simulated and actual sensor outputs for Joints 7 and 8. ^ 69 Figure 22^Trajectory components of the stick endpoint for the nominal and the re-identified models^ 72 Figure 23^Trajectory components of the grapple endpoint for the nominal and the re-identified models^ 73 Figure 24^Absolute error components of the stick endpoint for the re-identified model. ^ 74 Figure 25^Absolute error components of the grapple endpoint for the re-identified model. ^ 75 Figure 26^Coordinate origins and location vectors for dynamic identification. ^ 85 Figure 27^Forces, torques, and location vectors applied to a major link from the adjacent links. ^ 88 Figure 28^Modeling a hydraulic actuator as a cylinder and a piston. ^ 91 Figure 29^Forces and torques acting on the various elements of the ith hydraulic actuator. ^ 91 Figure 30^Simulated trajectory of the "swing". ^ 102 Figure 31^Simulated trajectory of the "boom". 103 Figure 32^Simulated trajectory of the "stick". ^ 104 Figure 33^Comparison of the simulated forces obtained from "complete" and "reduced" models^ 105 Figure 34^Measurement and identification procedure for dynamic calibration. ^ 112 Figure 35^Experimental trajectories for the UBC manipulator used to identify dynamic parameters. ^ 114 Figure 36^Position trajectories of the three links of the UBC manipulator (experimental) . ^ 118 Figure 37^Comparison of the torques/forces obtained from nominal, complete, and reduced models. ^ 119 xi ACKNOWLEDGMENTS I 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 encouragement throughout the course of this thesis. Their technical and financial support are sincerely appreciated. I must express my special gratitude to our research engineers, Mr. Simon Bachmann, who designed, built, and installed the mechanical parts of the calibrating instrument, and Mr. Dan Chan, who did everything from setting up the electronics and assisting us in running the experiments 10 correcting the manuscript of this thesis. Finally, I would like to thank my wife, Manzar, and appreciate her patience, without her continuous encouragement 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. xii Chapter 1 GENERAL 1.1 Introduction Satisfactory performance and ability to control any piece of machinery depends largely upon having accurate information, or model, about that system and its various structural components, including its kinematics and dynamics. It becomes crucial when such a powerful model-based controller as the one in Figure 1 takes on the control which leads to performance superior to control not based on carefully-constructed machine models. The information necessary to construct a model for this type of controller may come from the data supplied with the equipment by the manufacturer or can be determined from experiments. However, not a single machine in the world is perfectly built nor remains unchanged forever / . Even for the most sophisticated robots being used in research laboratories, one should never rely totally on nominal design specifications supplied by the manufacturers since the final product may vary slightly due to manufacturing tolerances, mounting errors, misalignment, and possible shipping/handling damages. Besides, some other external and internal factors may affect the machine characteristics such as component 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 correct For example, it is common in the forestry industry for a distributor to substantially modify a base machine with a variety of non-standard links and instruments. Trajectory planner ^ Xd Inverse^Inverse Kinematics Dynamics•• X d Xd J - 1 J A J^ T -M Manipulator M K Feedback control Figure 1: A hybrid position/force feedback controller. these parameter changes in order to improve the accuracy of the machine's model such that the desired performance in its control is achieved. 1.2 Robot Calibration The theme of this work is to make a (hydraulically actuated) robotic manipulator build an internal model of its own structure, that is, to calibrate itself, autonomously. Autonomous robot calibration is defined as an automated process that determines the model parameters by only using the robot's internal sensors [4]; however, we may add some accessories in the form of external sensors and links for convenience and special purposes. This type of robot calibration results in some modifications in the robot position/force control software 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 is different from, for example, adaptive control (of robots) where model identification is carried continuously and controller parameters are adjusted in accordance with the identified changes [31]. 1.2.1 Calibration Levels Robot calibration may be divided into the following three major levels: 1. calibration of kinematics, which is needed to obtain good estimates of link lengths and of locations of joint axes through measuring the robot joint angles and the corresponding endpoint position and orientation, 2. calibration of dynamics, which is necessary to build appropriate inertial models of mass, center of mass, and moment of inertia for the robot links; this involves measuring joint/link external torques and forces while moving the links with different velocities and accelerations. This level of calibration requires a knowledge about the kinematics of the manipulator obtained from Level 1 calibration, 3. calibration of actuators, which is required to construct accurate models of actuators for joint torque control; in the case of hydraulic actuators, the calibration problem is to find accurate parameters used in the mathematical relationships between the input currents (or voltages) to the servovalves and the output oil pressures and flows in the actuators. For the purposes of our research, we have considered only the first two levels in this work, i.e., kinematic and dynamic calibration of robotic manipulators in general, and hydraulic manipulators in specific. Level 3, i.e., hydraulic calibration of actuators is rather more involved and will be left for future work. 3 1.2.2 Calibration Steps In general, the calibration process at any level consists of four steps: 1. modeling, in which a number of suitable functional relationships between different inputs and outputs of the system should be established, 2. measurement, which is the data collection process from the actual robot that relate the inputs of the model to the outputs. 3. identification, which is the mathematical process of using the data collected to identify the coefficients in the model, 4. correction, in which the new (or corrected) model is implemented in the position/force control software of the machine. As far as the subject of this research is concerned, we will address the first three steps of calibration in the following chapters and leave the latter for a future investigation. 1.3 Motivation and General Objective Important industries such as forestry, mining, agriculture, and construction make use of heavy-duty equipment controlled by human operators. Examples of such equipment are excavators, cranes, combine harvesters, log-loaders, and feller-bunchers. However, the hand controls that operate most of these articulated machines today are inefficient, need experienced operators, and do not take advantage of recent developments in robotics and control technology, which in turn, do not let us make use of the ultimate capabilities of 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 operator 4 in coordinating a log-loader converted version of a Caterpillar 215B excavator, with its bucket replaced by a grapple. Some significant improvements in task time and accuracy for novice operators have already been reported [33]. Now, the capability to specify new machine designs that take advantage of novel sensor/vision technology, computer hardware and software advances, and new efficient controllers is under development. There are virtually thousands of industrial machines in existence today that could benefit from improved computer-assisted controls. Significant productivity improvements in building the next generation of such fully computerized machines as well as retrofitting existing equipment with coordinated controls is expected in the near future. The UBC teleoperation project is now investigating conversion of these types of industrial machines into task-oriented human-supervisory control system with a minimal change in the original design. As was discussed earlier, in order to apply new control strategies (similar to the one shown in Figure 1) to such converted hydraulic machines and obtain better overall performance, a key element is the ability to accurately and rapidly identify the machine parameters including the kinematics and dynamics of their manipulators 2 . In brief, the objective of this research is to develop some convenient and efficient calibration tools, both in algorithm and hardware, for autonomous accurate measurement of kinematic and dynamic parameters of a wide range of existing industrial hydraulic mechanisms. However, the tool thus developed will be applicable for machines ranging from 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 time because of aging and some other external factors, recalibration of that machine through 2^In Figure 1, for example, computing inverse kinematics A and Jacobian J requires kinematic parameters, and calculating inverse dynamics M -1 requires both kinematic and dynamic parameters. 5 the developed algorithms can guarantee the required efficient performance. 1.4 Scope of Present Work Throughout this research, it has been attempted to generalize, as far as possible, the methodology introduced and developed for calibration of robotic manipulators although our primary interest has been focussed on heavy-duty hydraulic manipulators and the simulations, experiments, and verification of our theoretical work have all been done on a 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 many aspects of an industrial robot; therefore, we can easily extend our derivations and results to a large number of robotic systems as well as all other mobile hydraulic machines like feller-bunchers and log-loaders. This thesis is organized as follows: Chapter 2 introduces the candidate machine, a Caterpillar 215B excavator, which has been used as our experimental testbed at UBC. Its bucket has been replaced by a grapple to hold logs firmly and move them from one place to 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 listed in that chapter. There, it will be explained that such hydraulic manipulators, unlike conventional robots, are of closed-chain types and need special care and formulation when modeling them. Kinematic parameters of a robot connect the robot's joint angles as inputs to its endpoint position and orientation as outputs through a highly nonlinear relationship. Differential calculus is employed to obtain a suitable form of equations to solve for the unknowns. Then, to calibrate those parameters, the robot should assume a number 6 of different configurations, and the joint angles and the corresponding position and orientation of the endpoint should be measured at each position. Usually, the number of data points thus obtained well exceeds the number of unknown parameters to be identified due to unavoidable noise that exists in any measurement process. Finally, the unknown kinematic parameters will be determined by using an iterative least-squares technique. However, some problems will arise in the design of heavy-duty hydraulic manipulators with coordinated controls. Since these machines are generally supposed to work in natural unstructured environments such as forests and mines, which are hazardous to their sensitive instrumentation (especially the sensors), they may be unable to use conventional joint angle resolvers. The problem of kinematic calibration of such manipulators will be discussed in Chapter 3. A novel external linkage, termed "calibrator", which consists of a number of links and joints with sufficient joint-angle sensors, is introduced and the kinematic equations for the new model thus obtained are written using the concept of closed mobile kinematic chains. This helps us to eliminate the measurement of endpoint position and orientation [41 which is time consuming, expensive, and usually not very accurate. Later in this chapter, the simulation and experimental results obtained from the UBC 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 two other proximal links because they are interconnected through hydraulic actuators which usually consist of cylinders and pistons. The problem of formulating the dynamics of manipulators with such closed-chains has been a major issue in the field of robotics in recent years. By using Newton-Euler formulation, one can obtain a linear relationship between the vector of inertial parameters and the joint torques. 7 In Chapter 4, we have successfully derived a linear formulation for the dynamics of hydraulic manipulators including the coupled dynamics of their actuators. An optimal digital filter has been applied to the joint angle readings to calculate noiseless velocities and accelerations. These quantities are used as variable coefficients in the dynamic equations of motion. Later, we have shown, through simulation and experiment, that ignoring the dynamics of minor links would produce large errors in the identified inertial parameters, and therefore, would give inaccurate estimates of the control forces and/or torques. Finally, in Chapter 5, conclusions obtained from simulations and experiments of the proposed calibration methods are outlined. Some suggestions and guidelines for future work are also presented. 1.5 Contributions A number of contributions to the field of robot calibration may be found in this investigation that can be summarized as follows: In the kinematic calibration context, 1. the kinematic relationships were formulated in order to obtain a model for calibration, independent of joint angle variables, thus eliminating the need to measure them via resolvers; 2. the need for measuring the endpoint position and orientation through complicated hardware and software as well as joint angles was removed by designing and introducing an external sensing linkage to the existing manipulator and fixing its other free end to the ground in order to obtain a closed mobile kinematic chain; 8 3. a special hierarchical algorithm was developed for the combined mobile system that identifies the kinematic parameters of the major links one by one from the most distal link to the base link of the manipulator; 4. we also could calibrate the geometric parameters of minor links, i.e., the hydraulic actuators; 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 was developed to include the inertial and friction effects of the former. Obtained through the Newton-Euler formulation, this model describes a linear relationship between the dynamic parameters of the coupled major and minor links and the vector of control forces/torques, and has all the dynamic properties of an open chain model; 2. experiments were carried out for the first time on a hydraulic machine, using the combined model, to identify the enhanced vector of unknown inertial and friction parameters. Throughout this work, it is assumed that a robotic manipulator is made up of rigid mechanical links and one-degree-of-freedom joints. 9 Chapter 2 A HEAVY-DUTY HYDRAULIC MANIPULATOR 2.1 Introduction A wide range of heavy-duty hydraulic machines have been designed and built around the 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, they usually have manipulators which are actuated hydraulically. Although different in appearance and/or function, many aspects of hydraulic machines are similar to those of industrial robots (in fact, some heavy-duty robots take advantage of hydraulic manipulators as their arms). For example, they are mobile and they have rigid links connected to each other by revolute or prismatic joints. One major difference is that for conventional robots with revolute joints, the rotary actuators are usually mounted on the joints, while for hydraulic manipulators, the joints are usually free and the 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 which offer higher loading capacities and more rigidity [21. 2.2 The Experimental Machine Calibration of the kinematic and dynamic parameters of the Caterpillar 215B excavator was studied in this work. This typical machine is used in such primary industries as 10 forestry, mining, and construction. It is basically modeled as a large system consisting of two 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 additional movable 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 vertical axis 1 called the swing axis (Figure 2), and is actuated by a hydraulic motor through a gear train. Boom and stick are two other links whose axes of rotation are nominally parallel to each other (axes 2 and 3 in Figure 2). The swing, boom, and stick serve to position the bucket. The bucket itself rotates about axis 4 which is in the same plane as the boom and stick. These three links are powered by hydraulic cylinders. The use of hydraulic cylinders, however, restricts the motion of the links due to the added joint angle limitations [33]. 11 For picking up, holding, handling, and placing heavy objects such as logs, one may replace the bucket by a grapple. Figure 3 shows the same excavator with a grapple as its 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 Specifications The links of the manipulator consist of: 1) swing, 2) boom, 3) stick, and 4) grapple. They are called major links. These links, like many ordinary robots, are serially connected to each 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 angular displacement of the two adjacent links. There is some slight flexibility and deflection 12 a 34 [cm] d 11 [cm] grapple stick 4 boom 0 2 Figure 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, for our working accuracy, we can assume them to be basically rigid. As was mentioned earlier, each link has its own nominal kinematics and dynamics. In the following, we will give some relevant data for the geometric and inertial parameters of the links which are necessary for control purposes. The parameter values are obtained from the manufacturer specification sheets, or are measured (estimated) manually. A number of illustrations and tables have been included for more clarification. 2.3.1 Geometric Parameters cabin (swing): It is the first link of the manipulator which holds the cabin and the boom and swivels about a vertical axis connected to the base. A plan view of the machine with special emphasis on the swing is shown in Figure 4. The distance between the boom axis and the swing axis is shown as well. This, however, is not very accurate since there was no readily available data from the manufacturer for the values of a and d, and it was difficult to measure them by tape very accurately. We, however, still keep them for reference. 13 boom cylinder rod pin The 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 behave exactly like a conventional robot link; i.e., the control torque can be applied directly to the 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 the stick at the other end. The two connecting joints are revolute, nominally horizontal, and parallel to each other. The shape and some nominal values of the geometric parameters of the link are shown in Figure 5. stick cylinder rod pin Lit = 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 pair of cylinders (attached to the cabin) and a piston (connected to the boom). It is capable of 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 pin 14 stick cylinder rod pin boom pin bucket cylinder rod pin (not used) bucket linkage pin (not used) due to the hydraulic pressure and the weight of the actuator. There is, however, another force at the stick cylinder rod pin due to the pressure inside the stick's actuator (not shown in the figure). Stick: the third major link in the manipulator is the stick which holds the grapple through a revolute joint while connected to the boom through another joint. It is similar to the forearm of the human body. A schematic diagram of this link, along with some nominal values of the geometric parameters, is shown in Figure 6. grapple pin L = 1.800 [m] , L 2 = .720 [m] , L 3 = 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 in the cylinder is applied through the piston rod pin (shown in Figure 6). This force is also applied to the boom through a cylinder rod pin (shown in Figure 5). Two more pin holes exist in the stick which are usually used for connecting the bucket attachments. The bucket and its corresponding linkages, however, were not used in calibration experiments. Grapple: the grapple is the forth and last element of the hydraulic manipulator and 15 stick pin (unactuated) .1-- grapple pin (unactuated) L =1.134 [m] grapple is used as the end effector of the manipulator. It is analogous to the human hand. As shown schematically in Figure 7, it has three degrees of freedom around its three axes of rotations which, on the whole, determine the orientation of the endpoint. However, only joint 6 is powered hydraulically in this machine and the other two joints are unattached and free to rotate around their corresponding axes. In this sense, the grapple can be compared to a 2—DOF pendulum. Joints 4 and 5 are not actuated, and Joint 4 in this link is connected to the stick while joint 6 grabs the objects within its fingers. Figure 7: Schematic Diagram of the -grapple". 2.3.2 inertial Parameters In the case of geometric parameters, the required data may be obtained from the manufacturer or can be measured manually, although manual measurement may not be accurate for such parameters as joint twist angles. When dealing with inertial parameters 16 of 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 of those parameters. Generally, it is very difficult, and in some cases impossible, to detach the links and measure the inertial parameters by precision instruments. The manufacturers of such hydraulic machines usually cannot provide accurate estimates of the links' centers of mass 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 from the manufacturer or from a number of rough measurements. Figure 8 shows a local coordinate frame which is attached to the center of gravity of a general link i and is in the direction of the principal moments of inertia of the link. Figure 8: Local coordinate frame attached to the C.G. of link i. 17 Table 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 Specifications The hydraulic actuators, as well as the major links, have their own kinematics and dynamics 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 in our manipulator. The swing, as was mentioned earlier, is powered by a rotary hydraulic motor which applies a direct torque to its axis of rotation (like conventional robots). The boom 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 and a single- or double-action piston. The actuator interconnects two adjacent manipulator links by forming a closed-chain. The triangular mechanism thus obtained will have one prismatic and three revolute joints and is almost rigid, although the hydraulic oil is compressible and the hydraulic hoses have some compliance, and the joints and links 18 AB = 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 of such links obtained from the manufacturer or direct measurements is given below. 2.4.1 Geometric Parameters Hydraulic-Motor (and the gear train): it rotates the cabin about the swing axis through a gear train with a reduction ratio of 307:1. There is no other geometric specification available. However, we do not need more data on this actuator. Boom's actuators: two identical hydraulic jacks are used to actuate the boom. They are 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 specifications for one of the actuators. Figure 9: Nominal geometric parameters for the boom actuators. 19 B^C A AB = 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 the boom. The geometry and nominal parameters for this actuator are given in Figure 10. 2.4.2 Inertial Parameters There is no existing manufacturer data available for the inertial parameters of the actuators, such as mass, center of mass, and moment of inertia for the cylinder or piston individually. The combined link-plus-actuator parameter values may be found in Table 1. 2.5 Sensors Three different types of sensors have been installed on the various elements of the machine to obtain the required data for calibration purposes. These are: 1. Pressure transducers, to measure the pressures at the cylinders. Their accuracy is ±0.5% of the full scale (from 0 to 5000 psi); 20 2. 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 the its previous link. The accuracy of the resolvers is ±-0.1°. A VME bus computer system is used on-board to control the manipulator automatically and to sample data at a maximum rate of 50 Hz. The system has 1. 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. 21 Chapter 3 KINEMATIC CALIBRATION 3.1 Introduction As discussed in Chapter 1, robot calibration is essential for model-based control of robots and teleoperators since the kinematic and dynamic parameters are used to build a robot model, which, for control purposes, should be as close as possible to the actual system in order to obtain good estimates of the applied torques and/or forces. Up to now, autonomous calibration of robot dynamics has basically been achieved, although the kinematics must be assumed to be given (see, for example, [1]). Thus, in order to identify the inertial parameters in a truly autonomous system, one needs first to calibrate the kinematics of the manipulator. Our emphasis in this chapter is to introduce and develope a method to measure the kinematic parameters of a robot in general, and a hydraulic teleoperator in particular, with minimum human involvement. 3.2 Previous Work Kinematic calibration is a process by which all kinematic model parameters of the robot manipulator are identified given a set of pose measurements. It consists of finding a more accurate geometrical relationship than the nominal one between the joint sensor readings and the actual position of the end effector; then, the robot positioning software 22 is changed according to this new relationship identified. Typically, researchers have viewed the manipulator as a positioning device, i.e., an open-loop kinematic chain. In this way, by changing the position of the end effector in a three—dimensional (3D) space and measuring its position and orientation as well as the robot joint angles, calibration is made possible. The measurement of a 3D trajectory with high accuracy, high bandwidth, and large displacement is still difficult to achieve. In the past, the task of kinematic calibration involved labor-intensive apparatus and procedures. Especially machined calibration fixtures with precision points were employed, for example, by Hayati and Roston [12] and Veitschegger and Wu [38] which required that the operator manually guide an insertion tool. Whitney et al. [40] used a model including nongeometrical errors, such as gear train backlash, joint and link flexibility, gear runout, etc., and a least squares numerical search algorithm on measurements obtained from a manually operated theodolite. This procedure, using theodolites, is very accurate and applicable over a wide range of robot workspace; however, it is not automatic, and therefore, it is tedious, time consuming, and requires much human involvement and experience. Also, its error model is highly nonlinear and, unfortunately, the definition of geometrical parameters to be identified (six for each link) is rather unusual and is related to the measuring instruments. Judd and Knasinski [15] also used theodolite for their measurements and considered mainly nongeometrical errors. They proposed error models that can be used for identification with a common least-squares procedure. Roth et al. [31] gave an overview of robot calibration discussing modeling, measurement, identification, and correction issues, but no mathematical or experimental developments and results were presented. A number of investigators have considered applying computer-directed data acquisition systems for automatic robot calibration. For example, Puskorius and 23 Feldkamp [29] used a stereo camera system mounted on the end effector of their robot. 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 position and orientation of the endpoint in real-time. This type of sensor is fairly accurate and automatic. Along each Cartesian axis, the resolution reached 0.1 mm and sampling rate was about 50 Hz [35]. One drawback of this system is its very limited workspace area of operation making it unsuitable for general endpoint tracking [1]. The other disadvantage 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 times during measurements, or robot calibration should be done in a very carefully controlled laboratory. Also, since the sonic source is fixed to the moving object, problems can occur 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 an uncontrolled outdoor environment. More sophisticated instruments for endpoint tracking have also been developed. One such 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]. But currently such a method can only be used for linear motions of the end effector. Various research is in progress to develop 3D measurement laser systems, but motion speed seems 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 the location of six infrared light-emitting diodes (IRED's) on a 2' x 2' square frame fixed to the endpoint. Each diode can be sampled at 400 Hz, and the spatial resolution is 1:4000 24 with accuracy of about 1 mm at a distance of 2 meters. By switching on and off of these 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. The whole system needs accurate calibration by itself, and is sensitive to light reflections as well ( hence not suitable for outdoors). Also, the low resolution directly influences the accuracy so that, according to the authors, the calibrated parameters were not as accurate as 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 such systems. A more convenient method for kinematic calibration of large hydraulic manipulators should be devised in order to take the calibration problems of such systems into account. 2. They require the position and orientation of the endpoint to be measured by an external measurement system which is usually complicated, expensive, and needs engineering supervision. The extra equipment often introduces some serious problems and difficulties to the calibration procedure such as bandwidth, accuracy, workspace limitations, inconsistency in data readings, and need for a highly controlled environment for the calibration process (e.g., well-equipped laboratories). Besides, these types of sensors, by themselves, should be calibrated very accurately just before or during the robot calibration procedure itself. 3. They definitely need robot joint sensors to measure the joint angles simultaneously in real-time. A number of problems may arise, however, in applying such existing calibration methods 25 to hydraulic manipulators. These will be discussed in the next section. 3.3 Problem Statement Although heavy-duty hydraulic manipulators and teleoperators have many similarities to conventional robots, including joints and links, and the same control strategies applicable to robots, due to several reasons they cannot be simply calibrated in the same way as the robots are. If we look at an industrial hydraulic machine which is going to be used as an efficient computerized teleoperator, we will easily find some or all of the difficulties that one should face in the early stages of the calibration process. For example, the cylindrical actuators of hydraulic manipulators form minor closed-chains with the major links (see Figures 9 and 10). In order to calculate the dynamic forces applied to the manipulator 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 Problem The calibration procedure must be economic and industrially feasible, at least, at the level of modifications to be done on the machine since hydraulic machines are often modified in the field. It means that calibration should be able to be performed on site with minimum human supervision and specialized skill. Therefore, any type of sensitive measurement instrument which may be affected by the ambient conditions or need highly skilled operators should be avoided. Secondly, calibration must be done within a reasonable time. It is not feasible to take several days to calibrate a single hydraulic machine. Hence, those calibration techniques that make use of endpoint sensors, which themselves require calibration right before the actual calibration procedure, are unlikely 26 to be practical (for example, IRED's or camera systems). Thus, none of the calibration techniques 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 a new 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 with the environment, it is not necessary to monitor and sense the endpoint, and autonomous calibration is then made possible. As Bennett and Hollerbach state, "if a manipulator is formed into a mobile closed kinematic chain, then its joint angle readings alone are enough to identify the kinematic parameters" [5]. It means that when the endpoint of a manipulator is attached to a known task fixture, and the manipulator assumes a number of poses, there will be enough consistency equations [5] to solve for the kinematic parameters. 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 are sufficient to write 3n loop position equations in order to identify all of the kinematic parameters 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 robots and hydraulic manipulators. 3.3.2 Mobility Problem Now, imagine that we have an n—DOF manipulator which forms a closed kinematic chain when its endpoint is attached to an t—DOF task fixture. In order for the chain to have a general spatial mobility, we know from classical kinematics that n t > (3.1) 27 For example, in order for the closed-chain to have a total mobility of 1, with a 0—DOF task fixture (or simply "task"), the robot must be redundant; i.e., it should have at least 7 degrees of freedom. It happens when the robot hand is locked to another robot hand or to the ground. In this case, by moving only one joint (or link) at a time, all other joints assume a new position and orientation in the space spontaneously. If this robot had more than 7 DOF's, the number of links that could be moved arbitrarily would be equal to the mobility of the closed-chain. According to inequality (3.1), a 3—DOF point contact task fixture can be employed as a constraint only if the manipulator has at least 4 DOF's. Hydraulic machines usually have 4 to 6 DOF's (see Figures 2 and 3); therefore, a passive' point contact can be used as the task fixture. For instance, when the 6—DOF experimental machine shown in Figure 3 is attached to a ball joint, the degree of mobility (DOM) in the closed-chain thus formed will be (6+3)-6=3. It means that three links of the manipulator can be moved arbitrarily while the other three should assume spontaneous configurations in the space. Now, if the 4—DOF excavator in Figure 2 forms a closed-chain with the same task, then the DOM for the system will be (4+3)-6=1. Here, only one link is free to move and the remaining have to follow particular trajectories in the space. For a conventional robot, this probably does not cause any significant problem since the links are rather light and the driven joints can be back-driven (e.g., in direct drive arms) or freed up using a clutch (e.g., in the 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 quite different. They usually have very heavy links and the hydraulic power cannot be easily turned off by detaching the oil hoses from the actuators, or by turning off the hydraulic pumps. Even if we did so, tremendous forces/torques would be required to hold the heavy 1^By passive we mean that the task may not have any sensor attached to it and therefore, its coordinates need not be sensed during the calibration process. 28 links in position. This is the case for the excavator of Figure 2. For the experimental machine in Figure 3, as was mentioned in Chapter 2, only four links out of six (i.e., links 1, 2, 3, and 6) are hydraulically powered, and the other two links, i.e., links 4 and 5, are free. Therefore, if only one powered link should move at a time, in order to maintain the mobility of the closed-chain, we need at least (6+1)4(4-3)+31=3 free links in the loop. Having already two free links belonging to the manipulator, the chain requires at least one extra link to maintain mobility. In general, suppose that a manipulator has n DOF's, and its endpoint is attached to a task 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 be t = (6 + rn) — n^ (3.2) When the manipulator has p hydraulically actuated links, which naturally cannot move freely in the closed-chain, the DOF's of the manipulator will decrease by p; therefore t^(6 + nt) — (n — p)^ (3.3) But we wish to move d powered links simultaneously in the closed-chain, with d s in. It means that the DOF's of the manipulator, i.e., n-p, will increase by d, or t = (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 maintain m DOM's for the closed-chain while moving d powered links, we may need 1 more links to be attached to the task fixture, which can be obtained from Eq. (3.4), / = (6 + nt) — [(n — p) d t]^ (3.5) with d < ni^ (3.6) 29 According to Eq. (3.5), we thus need at least 1 extra link for the UBC experimental machine and 3 links for the excavator. These additional serial links need not be heavy at all, and should be attached to the endpoint from one end, and to the task from the other end. Of course, any new link introduced to the closed-chain must have its own joint 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 with minimum provisions and expenses. 3.3.3 Joint Sensor Problem Another major problem with a hydraulic manipulator is the attachment of joint sensors. A hydraulic machine is normally built to work in highly unstructured hazardous environments 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 position information in real-time will be needed. However, joint angle sensing systems on these machines, including the joint sensors, the connections to the sensors, and the wires linking them to controlling computers are vulnerable to mechanical damage (e.g., shock, vibration, abrasion, etc.) and electrical defects (e.g., welding repairs, short circuits due to moisture, etc.) in hostile environments. Such sensors and their decoding electronics also introduce substantial extra cost and complexity to the system. Therefore, some other sensing systems would be desirable in place of traditional joint sensors used in conventional robots. Mulligan et al. [26J suggest a convenient model-based vision system mounted in a safe place on the cab. It eliminates the use of the joint sensors by taking real-time images of the links and comparing them to a predefined kinematic model of the links and computing the relative angular and/or linear positions of the joints accordingly. 30 The model can be established by calibrating the manipulator applying the closed-chains concept. In this case, the manipulator links need not have any joint sensors; instead, the joint sensors of the attached links, which provide mobility for the closed-chain, can be employed 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 still may assume our proposed method of calibration to be autonomous since the only human involvement in the whole process is limited to attaching one end of the calibrator to the end effector and the other end to the ball joint which is fixed to the ground, or preferably, to the machine's base. For a manipulator with unsensed joint angles, we require a special identification algorithm to solve for the unknown parameters. In the following sections, we show that the closed-chain kinematic equations for a manipulator contain joint position variables which are not sensed except for the calibrator's; the joint positions should somehow be eliminated from the model formulations. It requires that the manipulator be remodeled and a new calibration procedure be introduced. 3.4 Model As mentioned in Chapter 1, the goal of the kinematic calibration is to improve the accuracy of the kinematic model of the manipulator. In this section, we will construct a global model for error identification2 . This model depends on the choice of parameters used to describe the manipulator geometry and on the possible consideration of nongeometric errors. The error model is written in a linearized form so that it can be directly exploited in the identification process. This expression is used because the nonlinear model can be substituted by a difference equation which reflects the error in the parameters. See Eq. (3.31). 31 3.4.1 Geometric Parameters Geometric parameters are those that reflect all aspects of the apparent geometry that exists between two successive rigid links. Using the geometric parameters, one must locate 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 the manipulator. For example, the Complete and Parametrically Continuous (CPC) modeling convention has been proposed by Zhuang and Roth [42] which introduces eight redundant link and joint parameters for a revolute joint. The kinematic model obtained by using CPC parameters is almost linear when the manipulator assumes a series of particular poses. Nevertheless, this model has not become popular among other researchers partly because of the number of parameters used and the redundancy in parameters. The most common method for defining the geometric parameters of a manipulator is the procedure proposed by Denavit and Hartenberg [6] which is based on homogeneous transformation matrices. This procedure consists of establishing coordinate systems on each joint axis. If Joint i has the axis of rotation (or translation) zi_i, and Joint i+1 has the axis of rotation (or translation) zi, the coordinate frame of Link i can be determined and 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 four geometric parameters (in contrast with the eight CPC parameters) associated with each link. These four parameters describe any revolute or prismatic joint. For the time being, 32 joint i+1^link i+1 XI joint i Figure 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 Figure 11, 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 axis according to the right-hand rule. di the distance from the origin of the (i-1)th coordinate frame to the intersection of the 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 the origin of the ith coordinate frame along the x'i axis. Naturally, ai is the length of 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'; axis using the right-hand rule. Using the definition of D-H parameters for each link, a homogeneous transformation matrix can be defined which relates the ith coordinate frame to the (i-1)th coordinate 33 frame. A homogeneous transformation matrix is a 4x4 orthogonal matrix whose 3x 3 upper-left submatrix reflects the orientation of the ith coordinate frame with respect to the (i-1)th coordinate frame, and the first three elements of its fourth column indicate the xyz position of the ith frame origin with respect to the origin of the (i-1)th frame. The first three elements of the fourth row of this matrix are zero and the fourth element of this 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, and Trans(xi, aj) indicates a translation along an axis xi by distance ai. One major problem may arise, however, with the basic D-H parameter definition when 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 theoretically an 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 slight misalignment in the plane formed by the 41 and zi joint axes, the length of the common normal ai can assume virtually any positive value which is not continuous as the axes become misaligned. In this case, small geometrical errors do not lead to small variations of the parameters and therefore, the coefficients in the geometric model do not vary proportionally with the degree of the misalignment. This may create a serious numerical instability in the identification algorithm. A number of investigations have already been conducted to modify the D-H parameters so that the two consecutive parallel links can be treated as a special case with different formulations (see, for example, [10], [11], [40], and [39]). Because of its 34 convenience and simplicity, we have chosen the modification suggested by Veitschegger and Wu [39] and shown in Figure 11. Suppose that the two axes of rotation 41 and zi are nominally parallel but with a slight misalignment. Then, with the basic D-H coordinate definition, we may still maintain the z'i joint axis parallel to the 41 axis and establish the i'th coordinate frame as before. Now, we realize that the actual zi axis has been slightly twisted about the virtual y'i axis (which is not shown) by an angle Without this link twist, the nonparallelism must be compensated by artificial modification to the values of the length ai 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 and sufficient to define any coordinate frame, and the twist angle seems to be a redundant parameter. However, this parameter will only be used for successive nominally parallel rotational joint axes, and in this case, it is substituted for the joint offset length di if we construct 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 the identification algorithm that it keeps its nominal value and is thus error free. In other cases, 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 ) x Trans(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 transformation matrices and D-H parameter definition explained earlier, we will get 35 0^0^0 0^1^0^0 0^0^1^di 0^0^0^1 cos Oi^— sin Oi^0^0 sin Oi^cos Oi^0^0 0^0^1^0 0^0^0^1 1^0 0^1 0^0 0^0 0^ai 0^0 1^0 0^1 x 0 0 cos /1,^0^sin /I, 0 0^cos ai^— sin ai^0 0^sin ai^cos ai^0 ^0 ^1^0 ^ —sin^0^cos 0 0 (3.9) 0^0^0^1 0^0^0 1 or 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^Sa Sa.03.00 C a.0 a.SO (3.10) 0 0 0 1 where C and S stand for cos and sin functions respectively. In Eq. (3.10), all the subscripts and superscripts have been omitted for convenience. Note the orthogonality of the columns in Eq. (3.10). Also note that for nonparallel revolute joints, the twist angle is equal to zero and we get the familiar homogeneous transformation matrix [8] - CO —Ca.S0 Sa.S0 a.00 - A SO0 Ca.00 Sa —Sa.CO a.S0 (3.11) 0 0 0 1 It should be mentioned that for a revolute joint, the joint variable is 0 while for a prismatic one, 0 is constant and d becomes the joint variable. Since the manipulator with which we are dealing has revolute joints, from now on we can assume without losing generality that the joint variable is 0 and proceed to derive the equations for revolute joints. Of course, the method developed here can easily be extended to the manipulators with prismatic joints. 36 3.4.2 Nongeometric Parameters As depicted in the previous section, geometric parameters can be affected by errors in their nominal values. But other error sources are present in a manipulator structure. A number of researchers have called them nongeometric parameters or nongeometric error sources (see, for example, [31], [4], and [30]). The nongeometric parameters are focussed at a joint and reflect errors between the true and measured joint angles. The error sources that are suspected to have the most significant effect on the accuracy of our measurement in this work are joint flexibility, link flexibility, looseness and play of the 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]), flexibility in the joints and in the links of conventional robots, among the other nongeometric parameters, causes the highest error (between 8% to 10%) in the endpoint position and orientation. Link flexibility is usually less than joint flexibility. There is unfortunately no significant research on the effects of joint/link flexibility in hydraulically actuated manipulators. It is reasonable, however, to assume that the error due to joint flexibility should not exceed the amount claimed for the conventional robots, because the hydraulic actuators form closed chains with the machine links, and therefore, the joints and links are usually stronger and more rigid compared to those of robots [2]. Modeling of joint and link flexibility is quite involved and requires detailed analysis of the structural elements forming the manipulator, which is out of the scope of this work and therefore will not be considered here. However, we will see in the following sections that joint flexibility in 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 most difficult error sources to identify. Fortunately, the contribution of backlash to the global 37 error is only between 0.5% to 1.0% [30], and we expect the same amount of contribution for 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 and is related to the actual joint angles O'i and the measured D-H joint angles Oi by 6); — 0, + o icin (3.12) From the nongeometric parameters, we will consider only the joint angle offset in the global kinematic model since its modeling is simple and the error in the identified parameters will be dramatic if it is neglected. Thermal expansions can affect the manipulator mechanical structure. However, in the accuracy range we are working with, temperature does not contribute any significant error to the identified parameters. Of course, the accuracy of the resolvers may be affected by temperature changes as well. The net effect is a slight drift in joint angle readings which normally changes nonlinearly with the temperature. However, the whole calibration process can be carried out in a span of a few minutes during which drastic temperature changes are unlikely to occur. The result is that the readings of the resolvers may have a different but constant drift. This drift is inherently included in the joint offset angles of Eq. (3.12) and will be identified in the calibration process. 3.4.3 Manipulator Kinematics A manipulator is formed when a number of individual links are subsequently connected to each other through revolute or prismatic joints. For two consecutive links i and i+1, the homogeneous transformation matrix 41'41, which specifies the location of the (i+/)th frame with respect to the (i-1)th coordinate system, is the product of the 3^Although we have found that these nongeometric parameters have contributed much more errors than expected to our measurements (see Section 3.8). 38 and [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,,, which specifies the location of the nth coordinate frame with respect to the base coordinate system, 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= Or 0 Tn — [ Xn 0 Yn 0 Zn 0 Pn1 {011^ °N 0: 1 (3.15) where 0=[0, 0, 0], and [xn) yt, Zn ] = Rtt Pn = orientation (or rotation) matrix of the nth coordinate system established 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 base coordinate 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=i 39 where the first three elements of the column vector [0, 0, 0, 1] T are the coordinates of 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 the link kinematic parameters 0,, Oiqff, o„ ai, and d, (or 3,) for i=1 n. From the above parameters, only 0, varies significantly in time and the others are almost time invariant and can be assumed constant. Thus, we may define a row vector that contains all of these 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 parameters xi's from 0 to n. Now, if a general N—DOF manipulator forms a closed kinematic chain by attaching its endpoint to a passive point task (or a ball joint), we realize from Eq. (3.16) that the rotation matrix °RN which determines the orientation of the endpoint with respect to the base coordinate frame is unknown, since the point task is passive; but, the endpoint position vector pN in Eq. (3.17) is fixed in space when the manipulator assumes any arbitrary 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, we may obtain [17] the position of the endpoint (point task) with respect to the ith link coordinate system as [ i Pjiv , I] T =^4.-1.guik [0,0,0, (3.21) 40 i FY N i-1)^i- rzN . cos Oz — — 1 siy„ . sin Oji Sj 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 the ith link coordinate frame is generally a function of the joint angle variables Oki and link parametric vectors (Oen, k, ak, dk, 13k) for k=i N. The homogeneous transformation matrix "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) as T{ i'piN , 1] =T ralis(zi_ i , di).Rot (zi_ 1 , 0!) x (NTrans(xi, ai).Rot(xi, a ).Rot(xi, fli) ft k =--- /+, [0, 0, 0, 1} T k — (3.23) The vector equation (3.23) consists of three algebraic equations for the Cartesian components of the position vector Hpii. If we expand the first two matrices of the right hand side of Eq. (3.23), and name the three scalar components of the resultant vector of the remaining terms as s, sy , and sz, we obtain the following three algebraic equations The s vector is a function of the joint variables 0,,/ to ON and link parameters tp, to N . To eliminate 01 from Eqs. (3.24a and b), we square these equations and add them together to get simple relations for the jth measurement point as PIN 1 2 i-1 s 2—1 y2 N + (3.25a) 41 i 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 in the 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 must therefore be sensed while the other unsensed joints in the whole chain, except the ith joint, must be kept fixed. Given a manipulator without any joint angle sensors, we need an extra linkage, the calibrator, with sensed joints to provide the sensory information to be used in Eqs. (3.25). • the components of the s vector also contain all the unknown parameters of the currently moving link as well as a number of unidentified parameters for the distal links (including the calibrator parameters). • the calibration procedure, therefore, must start from the most distal link of the original manipulator by moving it while locking the other links of the manipulator. Note that the joint angle of the currently moving link does not appear in the proposed kinematic model (Eqs. (3.25)). • since for a closed kinematic chain with a point task fixture, the task position vector components in Eqs. (3.25) are fixed but unknown, they should be identified along with the manipulator link parameters. • from Eq. (3.25a), however, only the norm of the task position vector in the xy plane (not its x and y components) with respect to the (i-1)th link coordinate frame can be identified. 42 • the z component of the task (endpoint) position vector with respect to the (i-1)th coordinate frame in Eq. (3.25b) is dependent on the ith link offset length d,, and therefore, 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 and measurements are required to determine these parameters robustly if there is some random noise in the sensor readings. For example, link i should assume Mi different poses (then j=1, 2, ^ M,). 3.4.4 Actuator Linkage Kinematics Every individual cylindrical hydraulic actuator forms a 1—DOM closed kinematic chain with the adjacent manipulator links. In Figure 12, joint D, which connects the manipulator's (i-1)th link to the ith link, is a simple revolute joint whose movement is always known through a sensor or, in our case, through the proposed identification technique, i.e., Eqs. (3.25). The cylinder and the piston joints A and C, however, can be simple revolute joints if the axes of A, C, and D are parallel to each other. When there is a slight misalignment between any two of them, the joints for the actuator must be 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 the cylinder (or piston). Then, by applying Eqs. (3.25) to the endpoint C (or A) one may identify 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 spatial closed-chain, and as a result, two more joint angle sensors will be required to identify the geometric parameters. In the case that all joints are parallel, the triangle ACD will always be on a single fixed plane, and Eqs. (3.25) can be simplified to the well-known 43 A B^C 0 link i-1 AB=l c BC = I P CD = I u DA = I Figure 12: The kinematics of a cylindrical hydraulic actuator. triangle equation for the jth measurement point, as 1p = 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 or measured in order to identify the constant parameters. 3.5 Measurement As discussed in Section 3.5.3, Eqs. (3.25) constrain us to follow a special hierarchical measurement procedure and identification algorithm somewhat different from the standard calibration methods that exist in the literature (see Sections 1.2 and 3.2), since conventional robots usually have their own joint sensors which can easily be used 44 chassis (ground) grapple stick 07 tball joint^ hree-linkcalibrator 05 for calibration purposes. In contrast, we have assumed that the hydraulic manipulator lacks such sensors. By reformulating the standard kinematic equations, we have derived a special model that requires some other sensing device, like the proposed calibrator, to identify the manipulator kinematic parameters. Figure 13: The calibrator designed for machine calibration. 3.5.1 The Calibrator The minimum number of calibrator links needed to form a mobile closed-chain may be calculated from Eq. (3.5). However, since the manipulator joint angles are not sensed and the task fixture is assumed to be passive, the calibrator shown in Figure 13 must have at least three orthogonal4 joint axes in order to identify all the kinematic parameters of a general n—DOF manipulator; therefore 1=3. For the hydraulic machine described They should be orthogonal because with parallel joint axes, the workspace of the manipulator's endpoint in the closed-chain will be limited to certain planes, and not all the link parameters can be identified then. 45 in Chapter 2 and shown in Figure 3, the number of DOF's is n=6, out of which four links (1, 2, 3, and 6) are hydraulically actuated (see Section 2.3); i.e., p=4. Only one link 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 be m=3+[(6-4)+1+3]-6=3. Without losing generality, we may lock joints 5 and 6 of the manipulator for the convenience of our experiment; in this case, the manipulator will have three powered links 1, 2, and 3 (p=3) and one passive link 4 (n=4). If we freeze all links except link 4, then d=0, and the degree of mobility will be reduced to 1. If link 4 is fixed and one of the powered links moves, d=1 again and the degree of mobility for the closed-chain will be 1. Theoretically, one degree of mobility in the closed-chain is sufficient for calibration purposes. In practice, however, because of the size of the heavy-duty manipulators and their workspace, and also because of the magnitude of forces and torques applied by them, 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 are required to be as rigid as possible to avoid introducing any additional bias and disturbance to the kinematic model we have developed 5. It is thus better to have more than one degree of mobility in the closed-chain by increasing the number of sensed links in the calibrator. 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 workspace for the calibrator will be enhanced, which is crucial for any identification process in general, and especially for the identification of the calibrator parameters. This is because the planes or spatial surfaces that the joints describe would then be increased and therefore, more points in the 3D workspace can be measured accordingly. The net In fact, these large torques caused our first prototype of the calibrator joints and links to deflect and, in some cases, to break. 46 result is that the system of nonlinear equations which are to be solved for the unknown parameters will become well-conditioned. In our experiments, we chose to use the grapple (i.e., joint 6 in Figure 7) as an additional joint by attaching a resolver to its axis of rotation. This provision does not limit the generality of the method. From now on, we assume that the calibrator consists of 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 process 3.5.2 Measurement Procedure The measurement process, which consists of reading the joint sensors of the calibrator while the manipulator links assume different poses, although simple, requires strict adherence to the following procedures: 1. Attach one end of the calibrator to the manipulator endpoint (the grapple) and the other end to a ball joint installed on a stationary point of the machine, as shown 47 in 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 the calibrator joint angles [On+1, ^, On+d in to [0n+1, ^ Oni-r]M" as well as the displacements of the actuator pistons. 3. Freeze the currently moving link and start moving the next proximal link i and collect 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 been moved and the calibrator joint angle data [On+1, n+r]i 1 to [011+11 0n+rr 1 I and actuator linear displacements have been recorded. 3.6 Identification 3.6.1 Differential Relations Similar to Eq. (3.20), the direct kinematic model of Eqs. (3.25) gives a nonlinear relationship for the endpoint alternate position vector i-1vivi.vpx2 +py2)1/2, pz iT m terms of the vectors of kinematic parameters and joint variables 0 as 1 1 1:11 = [N/13 + 14, Pzi = (3.28) Or r = 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-H parameters (ai, ai+ i, ^, aN). The calibration is based on iteration of the linearized 48 ^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 corresponding to variations in the link parameters (so, AO off, Act, A/3, Ad, Ad, Ap') is given by Of^Aoof f Or at9 "1 '1- ao^—^Oa Ao+ aa^Of^Of , Ti; 1+ as ^-0 + V`A (3.30) or in a more compact form as AO^- A0 0 f Ar , Of^Of^Of[ Of Of Of Of Act A/3 =COQao^ao off^da (9,3 Op'Oa ad Ad Ad (3.31) This method of solving for Or is usually called Newton's iteration method [14]. Each matrix J, = 4f in Eq. (3.31) represent a Jacohian with respect to the particular kinematic parameter vector w. The first Jacobian in Eq. (3.31) is simply the normal manipulator Jacobian. In order to solve Eq. (3.31) for the parameter variations, one should first find the Jacobian matrices for the equation. 3.6.2 Jacobian Calculation The derivation of the Jacobians may be performed in a variety of ways. The most straightforward method is to calculate the Jacobians either analytically or numerically. By using symbolic manipulation softwares, one may obtain the exact closed-form solutions for the Jacobians. This can be done once for a particular kinematic chain and stored for subsequent uses. In this work, however, we have chosen to calculate the Jacobians numerically by applying the finite-difference technique. This method of determining Jacobians has been 49 =^ h fi(x^hey) — .1i(x) discussed in detail in [14]. Here, we briefly mention that for a function f of a single variable x, the finite-difference approximation to f '(x) is given by a ^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 use the same idea to approximate the (i,j)th component of the Jacobian J(x) by the forward difference approximation (3.33) where ei denotes the jth unit vector. This is equivalent to approximating the jth column of J(x) by a = F(x hey) — F(x) (3.34) where again II — (J(x)) II= 0(h) for h being sufficiently small. It can easily be shown [14] that if the finite-difference step size h is chosen properly, the quadratic convergence of the Newton's method is retained. Also, for most problems, Newton's method using analytic derivatives of the Jacobians and Newton's method using properly chosen finite differences are virtually indistinguishable [14]. 3.6.3 Iterative Parameter Estimation There are at most four D-H parameters and two position parameters to be identified for 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 of manipulator poses and configurations for each link (preferably in the whole workspace) are required to determine those parameters robustly. Combining all the Jacobians and 50 error vectors Ar, in Eq. (3.31) for M poses of the ith link into a single equation, we obtain or more compactly -^- Ai' Arm Ci C 2 C AI Acbi (3.35) b, = D• 0c, (3.36) An estimate of the parameter errors is provided by minimizing which gives S (i) — Di^(bi — Di Acpi) (3.37) where r (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 is closed), therefore (3.40) Finally, the guess at the parameters is updated as 4 fly^( old ^ (3.41) Since this is a nonlinear estimation problem, this procedure is iterated until the variations A 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 evaluated from Eq. (3.34) and (3.29) with the current parameters. 51 In practice, however, during the course of the iterative search, an intermediate singular parameter set may be found which makes the matrix (Di TDi) singular even though 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 to the true solution. Since this singularity is a part of the numerical algorithm, it may be avoided by the modified minimization criteria LS' = LS + A:AO ?' AO (3.42) where the index i has been omitted for simplicity. LS' minimizes both the endpoint tracking error it and the variation in kinematic parameters z . In brief, this criteria is 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, and then implementing the generalized (pseudo) inverse from the SVD matrices. The value of p implicitly gives A, and it is set to a high value (e.g., 5%) initially and reduced once 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 and a much slower gradient descent technique. 3.6.4 Identifiable versus Unidentifiable Parameters Figure 15 shows the coordinate frames from the base link to the last link of the closed-chain formed by the manipulator and the calibrator. The manipulator links consist of the cabin, the boom, the stick, the grapple swing, and the grapple itself (i.e., links 52 1 to 5). Links 6, 7, and 8 belong to the calibrator. Because of the limitations stated in 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 the convenience of our experiments and will have no effect on the generality of the proposed method. Only joints 5, 6, 7, and 8 are sensed in the identification process, and although joints 1, 2, and 3, belonging to the manipulator, have joint sensors, they are used for reference purposes. Joint 4 is the only joint that remains unsensed all the time. Z 0 x7 z 7 8 8 Y 7 z 8 8 Y 8 Y 3 Figure 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 in our case) and proceeds towards the proximal links. The identification method is also a hierarchical process that begins from the same link (i.e., link 4 which connects the grapple to the stick) and proceeds inwards. The following is a discussion about the parameters that can be identified at each stage. 53 When moving Link n (4): Eqs. (3.25) indicate that theoretically all the kinematic parameters for the calibrator and for the nth link can be identified simultaneously at this stage. In practice, however, there are some severe limitations in selecting identifiable parameters. One problem is that, having a closed kinematic loop, it is impossible to determine the actual link lengths only by measuring the joint angles. At least one length measure is required as a scale factor; otherwise, there will be a trivial solution which will satisfy any set of joint angle data. Also, oN and 43N (N=8 in our case) determine the orientation of the last link which can be taken arbitrarily. Anyhow, dn cannot be identified at this stage because, according to Eq. (3.25b), it is linearly dependent on the z coordinate of the endpoint (ball joint) position vector with respect to Link n-1 coordinate system. 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 parameters from the Nth link to the nth link is usually nonsingular but ill-conditioned since the nth link of the manipulator can move only on a single plane resulting in a limited range of movements. Thus, although all the kinematic parameters from Link N to Link n are theoretically identifiable, some may be quite sensitive to measurement noise. In fact, since in the Levenberg-Marquardt search algorithm, all the singular values less than 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 parameters for a particular joint angle data set. We and a number of other researchers [41 have experienced this situation during the simulations. Fortunately, the calibrator can be calibrated once in a laboratory and be kept in a secure place for later use. Therefore, its parameters are known in advance and there is no need to constantly recalibrate the calibrator when the main objective is to calibrate a manipulator. Consequently, we have decided to fix some parameters belonging to the 54 calibrator whose identified values are suspected to be poor. Here is the list of identifiable parameters 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, including the adjacent higher link i+1, are locked, but the fixed angle Ofixi+) between Link i and Link i+1 is to be identified. Also, as was stated in the case of the nth link, di is 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 of identifiable 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 following parameters: 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 are determined 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 (for example, d1=0). Also, the base coordinate frame can have any direction on the first joint axis zo. On the other hand, the orientation of the task coordinate frame on the ball joint can be freely chosen because the task is unsensed. We may take z task parallel to zo with 55 xo perpendicular to ztask; therefore 0P)', task=0. In this way, the identifiable parameters for 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 Discussion To examine the suitability and effectiveness of the proposed method for general calibration purposes, a number of simulations have been performed on the nominal model of the UBC hydraulic machine and calibrator. The D-H parameters of the machine and the calibrator 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.0 3 80.61 0.0 1.800 0.0001 0.0 4 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.9 100^200^300^0 No. of Poses 100^200 No. of Poses 300 -27.5 io -27.6 15.0 -27.7 1 -27.8 ti -2.746 0 - 3 Swin bo(1.)72) p1.373 ti 100^200^300 No. of Poses 100^200^300 No. of Poses 20 0 (d) Grapple 1 150 100 (I) 50 ti 60 50 40 30 (c) Stick Table 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.423 Boom-Stick unknown 2.444 0.720 1.799 Figure 16: Experimental trajectories of the manipulator links used in simulations when only Link 3 (stick) is active. For obtaining data, Joint 4 (which belongs to the manipulator and is unsensed) was locked with an arbitrary angle of 04=42.9°, which was measured manually. Then, each joint of the machine, from Joint 3 to Joint 1, was moved successively one at a time, and the joint angles of the manipulator (joints 1, 2, 3, and 5) were read from the corresponding resolvers (Figures 16 to 18). Then, using the nominal D-H parameters of the machine and the calibrator in Table 2, the absolute joint angles of the calibrator for joints 6, 7, and 57 -2.746 x10 3 Swin 81 '45,1) 80.8 oh 80.6 - 11' 80.4 ^ 80.2 0 100^200^300 No. of Poses 100^200 No. of Poses (c) Stick 50 45 40 35 30 25 300 e•-■^ .•••••■ 0.0 „,':13 -20......,73 "Cf 0 1.373^ 26-30 .4•C 4 a'•—, •.....^-40o o0,^ r, - 10 (b) Boom -50 ^ 0100^200^300 No. of Poses 100^200^300 No. of Poses Figure 17: Experimental trajectories of the manipulator links used in 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 Drift No actuator is perfect. Hydraulic actuators frequently have leakage, and the viscosity of hydraulic oil changes with temperature. As a result, there will be a drift at the endpoint 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 local position vector H pN is fixed as long as the ith joint is moving and joint angle data is 58 100^200^300^400 No. of Poses 100^200^300^400 No. of Poses -100 ^ 0 -27.3 0 (c) Stick81.8 81 0 400100^200^300^400 No. of Poses 100^200^300 No. of Poses (b) Boom(a) Swing -26.8 7,C5 -26.9 -27 0-27.1 -27.2 50 0 -50 ti Figure 18: Experimental trajectories of the manipulator links used in simulations when only Link 1 (swing) is active. Table 4 Identified D-H parameters — simulation for the effects of actuator drifts. Joint No. No. or Iterations ofix (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.0 3 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 assumption may not be valid anymore. Table 4 shows the identified parameters for the manipulator 59 and the calibrator under such a condition. Comparing these with the parameters in Table 2, we see that the normal drift of the hydraulic actuators does not contribute any significant error to the identified kinematic parameters, and the proposed identification procedure is fairly robust to this phenomenon. The maximum error belongs to do (0.068 m) which is identified as the last parameter, and which therefore, carries the numerical and 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 this particular machine. 3.7.2 Effect of Joint Sensor Accuracy The 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 accuracy limitations and actuator drifts. As evident from the table, the accuracy of the calibrator sensors proportionally altered a and /3 parameters. It is shown [17] that with the accuracy of the calibrator sensors within ±0.05°, one should expect a maximum relative error of 2.5% in al, while the relative error in al due to actuator drift and actual joint sensor accuracy of AA° is about 10%. This indicates that about half of the error obtained here is due to the sensor accuracy. As a result, the sensor accuracy factor further reduces the overall accuracy of the identified parameters and we should not expect more accurate results when identifying the actual system. 3.7.3 Effect of Joint Flexibility Joint flexibility and misalignment of joint sensors may contribute considerable error to the identified parameters. In Section 3.4.2, we mentioned that joint flexibility has the highest effect amongst the nongeometric parameters (about 10% of the total error 60 Table 5 Identified D-H parameters — simulation for the combined effects of sensor accuracy and actuator drift. Joint No. No. or Iterations ofix (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.2 3 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 the combined effects of joint flexibility and actuator drift. Joint No. No. or Iterations Ofix (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.4 3 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 backlash or looseness in the joints, the identified parameters may not be even as good as the nominal ones. To examine these effects, using the simulated data, we have added to the sensor readings of the calibrator a few degrees in the form of a random variable at some certain positions of the joints which we suspect to be under high stresses due to the calibrator's weight. The random variable is given by a normal distribution function with zero mean and the standard deviation of 1. Table 6 gives the magnitudes of the identified parameters for this case. 61 From the table, we realize that the error is dramatically higher than the previous cases and propagates from the last link to the first link very rapidly. As a result, the joints of the calibrator must be designed very accurately and must be built using high quality material in order to be as rigid as possible. Otherwise, we should not expect a significant improvement in the parameters from the calibration process. It is also worth noting that the number of iterations required to identify the unknown parameters for a particular joint increases dramatically as the data gets noisier and the assumed kinematic model deviates from the actual system (compare Tables 4 to 6 with each other). 3.8 Experimental Results and Discussion 3.8.1 Major Links Initial values for the major link D-H parameters are listed in Table 2 as joint numbers 1, 2, ..., 8, and were obtained from the nominal design parameters or by manual tape measurements (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 using the nominal D-H parameters in direct kinematics relationships. These values serve in the search algorithm as initial estimates. Then, by using the calibrator sensory data obtained from link-by-link movements of the machine, the new D-H parameters for the links were identified successively. The results of the calibration for the link trajectories of Figures 16 to 18 are presented in Table 7. A number of different initial conditions were tried, but the iterations always ended up with the same results shown in Table 7 but with different iteration indices, indicating a global minimum. From the table, we realize that the number of iterations increases 62 Table 7 Identified D-H parameters for the UBC hydraulic machine and calibrator. Joint No. No. or Iterations ow (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.0 3 11 84.21 -3.6 1.868 0.0001 -1.3 4 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 of unknown parameters to be identified is the same for both links (6 parameters). It means that the error in the identified parameters of the previous links do not allow the kinematic equations for the lower links to converge rapidly even though the initial parameters for those links are close to actual ones. This error comes from inconsistent noisy sensory data. Therefore, the number of iterations can be interpreted as an indirect measure for validating the accuracy of the experimental data if the nominal parameters are close to the actual ones (compare these with the number of iterations in Table 4). For the fourth and the fifth links, however, more iterations are required to get the solution, since the number of unknown parameters is 10. In the case of the first link, although the number of unknown parameters is the same as that of the second or the third link, the more straightforward offset length d is to be identified instead of the twist angle d in 63 E (AtaSkpO 2=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 parameters even though we are aware that the machine parameters are not perfect at all, and, for instance, 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 system which have not been modelled in the kinematic equations. The effects of a number of such error sources have already been simulated in Section 3.7. In comparing the calibrated parameters to the initial (nominal) parameters, one statistical measure is the root mean square (RIVE) position error of the manipulator end effector with respect to the task coordinate frame, defined as [1] where the summation is over M arm positions, and task jtask j^task j Pn^Pn,meas^P71,Comp (3.45) and taskIr., i n meas and taskpin, comp are the measured and computed position vectors respectively. Another measure is the percent variance accounted for (VAF), essentially a scaled version of the mean squared error [1] E (A task p o 2 J=1 ) 2 task J task —Pn,ateas^P^,z, as VAF = x 100%^(3.46) where task— p11,111(11.5 is the mean of all the measured data. 64 Unfortunately, we did not have appropriate measurement devices to determine the exact position and orientation vectors of the arm's end effector with respect to the task frame. Consequently, the only remaining independent measurement method was using the absolute distance between the two points even though this method in general does not reflect 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 the ball joint (task frame). At the same time, we read the joint angle sensor outputs for the manipulator 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 the stick endpoint are shown in Figure 19. Also, the RMS and VAF distance errors for the nominal and identified parameters are listed in Table 8. We may note from the figure that the distance error for the nominal model is less than that of the identified model and decreases for the identified model when the manipulator stretches its arms. Also, from Table 8, the RMS and VAF parameters from the manipulator side (using the manipulator sensory data) for the nominal model are much better and more consistent than those for the identified model. The RMS and VAF from the calibrator side, on the other hand, appear to act in favor of the identified parameters since these parameters have been obtained from the sensory data of the calibrator and should thus be more compatible with the calibrator than with the manipulator. These evidences indicate that the nominal parameters should be closer than the identified parameters to the actual parameters. Also, we learn from the simulation results in Section 3.7 and from Figure 19 that the sources of the errors in the calibrated parameters are most probably flexible joints 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 Model 6 5.5 5 4.5 4 3.5 3 2.5 2 0^2^4^6^8^10 ^ 12 ^ 14 ^ 16 ^ 18 ^ 20 No. of Poses Figure 19: Comparison of the stick endpoint distance to the task frame. Table 8 Distance error comparison between the nominal and identified models. sensor readings from manipulator side from calibrator side end link -4 stick grapple stick grapple nominal model RMS=.036 mVAF=99.86% RMS=.066 m VAF=99.74% RMS=.026 m VAF=99.92% RMS=.038 m VAF=99.91% identified model RMS=.162 m VAF=98.32% RMS=.217 m VAF=98.69% RMS=.021 m VAF=99.95% RMS=.038 m VAF=99.91% Applying Eqs. (3.44) and (3.46) to find the RMS for the end point position (not distance) 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, 66 RMS=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 errors than those in Table 8. Since the RMS for the stick endpoint from the calibrator side is about twice the RMS for the stick from the manipulator side, one may suspect that one or 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 experimental outputs of the calibrator sensors, omitting the portions of the data that are suspected to be corrupted by bad sensor readings and/or joint flexibility, and reidentifying the kinematic parameters. 3.8.2 Improving the Major Link Identified Parameters In order to find which joint in the calibrator is more flexible and which sensor is misaligned or not working properly, we have simulated the outputs of the calibrator sensors, this time using the sensory data from the manipulator joints. The arm trajectories are 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 forth joints of the manipulator have been locked. The simulated versus experimental joint angles for Links 4 to 6 have been given in Figures 20(b) to (d), and those for Links 7 and 8 are shown in Figures 21(a) and (b). There is good agreement between the simulated and the actual sensor readings for Joints 7 and 8 (Figure 21) as those joints are located at the elbow of the calibrator arms (Figure 13) where there is almost no torque or moment acting on them. 67 (a) I I :1‘ ! I /%1 ,,, -..... ./^s s ./". • s II I ■ ■ II I / l / 1 / l I I, I I^ Y 0I i ' 4 - 50^100^150 No. of Poses 20o 50^100^150 No. of Poses (d) — Exeeriment --- Simulation 50 250200 (c — Exeeriment^--- Simulation 50^100^150 ^ 200 ^ 250 No. of Poses (b) — Exeeriment --- Simulation60 50 40 30 No. of Poses Figure 20: Errors in the simulated and actual sensor outputs for Joints 4 to 6. 68 -200 0^50^100^150 No. of Poses 200^250 (h) — Experiment --- Simulation-50 4? S -100 a) 00 oo -150 0 ti (a) — Experiment^--- Simulation No. of Poses Figure 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 discrepancy between the actual and the simulated sensor readings for Joints 5 and 6. Joint 6 is connected to a relatively long yoke frame of aluminum which bends under applied moments, and Joint 5 actually belongs to the grapple which is always hydraulically powered. A relatively large moment from Joint 6 is still required to rotate Joint 5 about its axis although we have assumed that this joint is free to rotate at all times. By comparing Figures 20(c) and (d) with Figure 20(a), we see that the regions in which the error gets larger correspond to higher stick angles, i.e., when the stick moves inwards and passes a certain amount. In such a region, because of a certain spatial configuration the arms make, the joint moments increase very rapidly. On the other hand, when the stick moves outwards, the two arms of the calibrator will stretch in the space and, as a result, the moment due to the gravity forces of the calibrator links will be gradually 69 Table 9 Reidentified D-H parameters for the UBC hydraulic machine and calibrator. Joint No. No. or Iterations ooff (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.4 3 11 77.5* 0.2 1.848 0.000t -2.8 4 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 sensory data 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 the system. There is a slight improvement in the endpoint position with respect to the base coordinate frame. The error in a has been largely reduced while the error in 11 has increased. 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 errors in ai and di have considerably been reduced compared to the previously identified al and di parameters in Table 7. We have recalculated the RMS and VAF parameters for the corrected model. The results are listed in Table 10 for the absolute distance of the stick and the grapple endpoints 70 Table 10 Distance error comparison between the previously identified and the re-identified models. sensor readings from manipulator side from calibrator side end link —› stick grapple stick grapple reidentified model RMS....101 m VAF=98.87% RMS=.125 m VAF=99.07% RMS=.021 m VAF=99.95% RMS=.038 m VAF=99.91% previous model RMS=.162 m VAF=98.32% RMS=.217 m VAF=98.69% RMS=.021 m VAF=99.95% RMS=.038 m VAF=99.91 % from the task frame. The RMS parameter values for the end point position error of the re-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 the table and from the RMS values given for position errors. We have also simulated the stick and the grapple endpoint trajectories for a number of different manipulator poses using the nominal and the re-identified models. Figures 22 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 the nominal model. The error components of the stick and the grapple endpoints for the re-identified model with respect to the nominal model are shown in Figures 24 and 25 respectively. 3.8.3 Minor Links To calibrate the kinematic parameters of the minor links, i.e., the actuator parameters 71 (a) — Nominal Model^--- Identified Model (b) — Nominal Model^--- Identified Model 100 ^ 200^300^400^500 ^ 600 ^ 700 ^ 800 No. of Poses -10 0 (c) —Nominal Model 100^200^300^400^500^600^700^800 No. of Poses 100^200^300^400^500^600^700^800 No. of Poses Figure 22: Trajectory components of the stick endpoint for the nominal and the re-identified models. 72 I8 a 0 U (c) — Nominal Model^--- Identified Model (a) — Nominal Model^--- Identified Model 100^200^300^400^500^600^700^800 No. of Poses (b) — Nominal Model^--- Identified Model 100^200^300^400^500^600^700^800 No. of Poses 100^200^300^400^500 ^ 600 ^ 700 ^ 800 No. of Poses Figure 23: Trajectory components of the grapple endpoint for the nominal and the re-identified models. 73 0.15 c).1 a) 0.05 g^0 U k -0.05 -0.1 100^200^300^400 No. of Poses 500^600^700^800 0.4 0.3 a) 0.2 E 0.1 U 0 - ^ -0.1 ^ 0 (b) 100^200^300^400^500^600^700^800 No. of Poses 1 -0.05 - .a.o -0.1 -0.15 -0.2 ^ 0 100^200^300^400^500^600^700^800 No. of Poses Figure 24: Absolute error components of the stick endpoint for the re-identified model. 74 700 800500 600200^300^400 No. of Poses 100 b Ea) o 0.2 0.4 0.3 8 0.1 700 800600100 ^ 200^300^400^500 No. of Poses 0.3 0.2 0.1 0 8 -0.1 - -0.2 0.05 a^0 - -0.05 N -0.1 - -0.15 ^ 0 100^200^300^400^500^600^700^800 No. of Poses Figure 25: Absolute error components of the grapple endpoint for the re-identified model. 75 Table 11 Identified versus nominal parameters for minor links. minor link type of model type of 0 •eff (deg.) /i (m) lc (m) /u (m) swing to boom measured - unknown 0.625 1.447 2.000 identified 02 meas -78.6 0.658 1.434 1.974 ' 2, comp -56.9 0.545 1.210 2.000* boom to stick measured - unknown 2.444 1.799 0.720 identified 3, mess 10.3 2.725 2.116 0.724 03, 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 planar triangle although we know that the triangle is actually a spatial mechanism which needs a 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 ith minor link parameters. //, can be measured by a linear transducer. Oi, however, may be measured by link joint sensors, or in our case, by computing Eqs. (3.25) for each link position successively. The identified parameters for the two minor links of the manipulator 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 set of parameters used. This is partly because the joint angles 644 comp have been obtained from the identified parameters of the manipulator links which are erroneous to some extent, and which therefore carry the errors in those parameters as well as the errors in the calibrator sensors to the new sets of equations used to identify the minor link parameters. This causes the single set of equations (3.26) for M data points to become 76 inconsistent and, as a result, unstable. Also, in Section 3.6.4, we mentioned that at least one length parameter is required to have a nontrivial solution for a set of closed-chain parameters. Although the incremental piston lengths measured by the linear transducer may serve as the length requirement, they cannot guarantee a global minimum when the length/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 system of 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 using computed joint angles 04 comp . On the other hand, our ultimate goal in calibrating the minor link parameters is to find the piston displacements /pi according to Eq. (3.26) for different joint angles For this reason, we used both identified models and simulated / pi for a number of different manipulator poses and measured the actual piston displacements at the same time. The RMS and VAF parameters for the two sets of minor links are given in Table 12. Table 12 Error parameters for the minor links of the manipulator. Swing-Boom Boom-Stick 02, meas 02, comp 03, meas 03, comp RMS (m) 0.0004 0.003 0.002 0.027 VAF% 99.99 99.91 99.98 97.12 As indicated by the table, both RMS and VAF parameters for Swing-Boom linkage are very good. In particular, when using the joint angle sensory data (02, meas), the results are 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 order 77 of magnitude worse than those for Swing-Boom closed-chain. That is because the axis of rotation of the stick was not completely parallel to the boom axis (see Table 9 for the identified parameters), and as a result, the stick's actuator had to rotate about three different axes while the stick was stretching in or out. In fact, since the base of the linear 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 in advance that the sensory data would not be quite reliable, and that we should not expect very good results from the identification process. However, the identified parameters obtained from 0i3, meas are still reliable enough to be used in the dynamic calibration part of this thesis. 78 Chapter 4 DYNAMIC CALIBRATION 4.1 Introduction The design of a hydraulically actuated manipulator is based on the concept of hybrid open- and closed kinematic chain mechanism. Because of its closed mechanism, this group of manipulators has several advantages over the conventional open-chain type [2]. They generally have smaller positioning errors due to the non-cantileverlike configuration and consequently have greater positioning ability, as compared to the open-chain type. Therefore, they are basically assumed to be rigid links in dynamic formulations. Furthermore, these types of mechanisms provide higher force/torque and greater payload handling capability for the same number of actuators. There are several reasons why one may be interested in knowing the exact values of the dynamic parameters for such a manipulator. As discussed in Chapter 1, the degree of uncertainty in inertial parameters and joint friction torques/forces is an important factor in judging the robustness of model-based control strategies such as feedforward control, computed torque technique, and resolved acceleration position/force control [1]. For simulation purposes, one must have those parameter values as accurate as possible in order to better analyze the behavior of the actual machine under control. Unlike conventional robots, the joint friction in heavy-duty hydraulic manipulators has been shown [33] to be comparable to the applied hydraulic torques/forces to the joints and thus cannot be neglected in dynamic equations. Also, for machine diagnostics and 79 safety-checks, especially for heavy-duty teleoperators, a good knowledge of link centers of 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 are unknown even to the manufacturer (see Chapters 1 and 2). Thus, it is usually up to the manipulator programmer to devise a method for obtaining good estimates of the link inertial and friction parameters. Unfortunately, these parameters cannot be measured manually as easily as kinematic parameters because a "manual method" is not industrially feasible. For instance, imagine that a link of a heavy-duty machine be completely disassembled, weighed for mass, counterbalanced for center of mass, and swung for moment of inertia [3]. Besides requiring a lot of time and intensive human involvement, this procedure introduces considerable measurement difficulties. Counterbalance points have to be referred somehow to the joint axes, while some components of inertia are difficult to determine by pendular motion [1]. CAD modeling of the links [21] is another approach where densities of materials can be combined with computerized geometric information' to estimate the inertial parameters. Again, this method requires intensive human involvement, and is subject to modeling errors [13]. The approach we present in this work, in contrast, emphasizes a hydraulic manipulator calibrating itself, i.e., automatic calibration of all the inertial parameters (the mass, the center of mass, and the moment of inertia) of each rigid body major or minor link, and all the friction forces/torques and the pressure transducer offsets of each joint using direct pressure sensing of the hydraulic actuators. The Newton-Euler dynamic equations are then used to express the measured forces in each hydraulic cylinder and the measured It is usually only available to the manufacturers. 80 torques at each actuated joint in terms of the product of the measured movements of the rigid body major and minor links and the unknown link inertial parameters and the generalized friction forces. The only required sensing is one component of either the joint torque or the actuator force, measured from oil pressure transducers. This lack of full force/torque sensing makes it impossible to find all the inertial parameters of the major and minor links. These missing parameters, however, have no effect on the control of the arm since they do not appear in the dynamic formulations. The proposed algorithm was tested on the UBC experimental hydraulic manipulator. The simulation and experimental results are given in this chapter. 4.2 Previous Work To incorporate the dynamic behavior of a robot arm into the control system, a large number of researchers have utilized a rigid body model as the basis for identifying the dynamic parameters of the mechanism. For dynamic calibration of open-chain manipulators, Mayeda et al. [24] lumped the inertial parameters of each link into the coefficients of a closed-form Lagrangian dynamics formulation. By sensing torques from only one joint at a time, they could identify the coefficients of the equations. The inertial parameters for each link, however, are redundant and susceptible to numerical problems in estimation. On the other hand, their link-by-link estimation algorithm becomes noisier from transmission of dynamic effects of distant links to the proximal measuring joints. Also, for efficient dynamics computation, the recursive dynamics algorithms require the link parameters explicitly as initial estimates. Mukerjee and Ballard [25] suggested an identification procedure for rigid robots to deduce the inertial and friction parameters from the measured reaction forces at the joints 81 by incorporating full force-torque sensors at each joint. Instrumenting each robot link with full force-torque sensing seems impractical for industrial hydraulic manipulators and even for conventional robots, and is actually unnecessary given joint torque sensing about the rotation axes. Also, they did not address the issue of unidentifiability of some inertial 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 model for link inertial parameters. They addressed the unidentifiability of some parameters, and used it to regroup the dynamic parameters and simplify computation. Armstrong et al. [3] measured the inertial properties of a PUMA 560 robot by counter-balancing the disassembled parts. This is an alternative approach to inertial estimation problem, but as mentioned before, it is very tedious and impractical for hydraulic machines. Also, the cross terms of inertia matrix cannot be identified in this way. 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-line adaptation for rigid body link and load inertial parameters obtained from Lagrange-Euler formulation. Deriving closed-form equations for hydraulic actuator dynamics through Lagrange-Euler formulation is a difficult task, and computing the lengthy equations thus obtained is time consuming and may not be applicable for on-line control purposes. Since the inertial parameters of the links do not change significantly once the manipulator is assembled or reassembled, an off-line procedure as discussed in this chapter would be preferred in practice. Only the load parameters need to be estimated on-line. An et al. [1] applied the Newton-Euler equations and presented an experimental method of estimating load and link inertial parameters of the MIT DDArm using a rigid 82 body model. They measured motor currents to obtain joint torques, and measured joint positions to derive joint angular velocities and accelerations. However, they did not include the joint friction torques in their linear formulations in terms of the vector of link inertial parameters. Our identification procedure in this thesis is very similar to their work except that we have enhanced the unknown inertial vector by accounting for the minor link parameters, pressure transducer offsets, and joint friction forces/torques. Seeger and Leonhard [32] presented an off-line procedure for estimating the friction forces and inertial parameters in small sets of the robot workspace using test motions that allowed to reduce the general model to a few identifiable parameters. The friction torque at each joint was modelled as a function of joint velocity and position that were identified at a set of fixed positions by measuring the input current (representing the gravitational and frictional loads) at several constant velocities. There has not been as much previous work done in the more challenging area of dynamic calibration of closed-chain mechanisms, especially on hydraulically actuated manipulators. The reason is that although closed link mechanisms have various practical advantages, the theory of their dynamics has not been as extensively studied as that of the open chains partly because of their highly coupled dynamics. Luh and Zheng [22] proposed to replace the inverse dynamics problem of closed kinematic chains with the computed dynamics of the open link tree structure mechanisms subjected to unknown additional joint torques using the Lagrange multipliers. Kleinfinger and Khalil [19] also developed a comparable computational scheme. Solving for Lagrange multipliers, however, added more difficulties to the complicated closed-form formulations. Do and Yang [7] employed the Newton-Euler approach to study the inverse dynamics of a 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-chain 83 manipulators. Nakamura and Ghodoussi [27] proposed a computational scheme of the dynamics of the closed link mechanisms with revolute joints. The method did not require the computation of the Lagrangian multipliers, but needed the Jacobian matrix of the function which described the passive joint angles in terms of the actuated ones. No experimental implementation of the method was reported nor were explicit derivations for prismatic joints presented either. 4.3 Estimation Procedure 4.3.1 Newton-Euler Formulations for a Major Link To derive equations for identifying the unknown inertial and friction parameters of each link, the coordinate systems in Figure 26 are used to relate different coordinate frames and vectors. 0 is assumed to be an inertial or base coordinate system, which is fixed in space with gravity pointing along the —z axis. P is the force reference coordinate system at the ith joint of the manipulator, and is rigidly attached to the ith major link. Q represents the principal axis of the rigid body link located at the center of mass of the ith major link. We arbitrarily choose the x axis of Q to be along the largest principal moment 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 joints j's exerted on the ith link in Figure 26 to the force coordinate system P and replace them by a resultant force f, and a resultant torque n, at that joint, f, (4.1) 84 Link i+/ Figure 26: Coordinate origins and location vectors for dynamic identification. 2., ni = > ni,i + s x fw where the operator "x" denotes vector cross-product. (4.2) The mass, location of the center of mass, moments of inertia, and orientation of the body (a rotation PRQ from the principal axes Q to the force reference frame P) are related to the motion of the link and the external forces and the torques applied on the link 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, and m = the mass of the link, 85 g = 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 in terms of the product of known (or identified) geometric parameters and unknown inertial parameters. The acceleration of the center of mass, r, is related to the acceleration of the force reference frame p by [36] P-----P-1-,1)xcd-wx(wxc) ^ (4.5) Substituting (4.5) into (4.3), gives f^— log^x Inc w x(wx rnc) ^ (4.6) and substituting (4.6) into (4.4) gives n =^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 unknown location of the center of mass c, they can be eliminated [1] by expressing the moment of inertia tensor about the force coordinate origin, I, instead of about the center of mass I. To do so, we may rewrite Eq. (4.7) in a matrix form as n =^w x (1w) + rn RcTc) 1 — (cc1)1 ,1)-f- w x (in Rcrc)1 — (ccr) w)^x p — me x g^(4.8) 86 where 1 is a 3 x 3 identity matrix. Using the three-dimensional version of the parallel axis 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 system P, so that the quantities c and I are constant. In order to formulate the above equations as a system of linear equations in a matrix form, the following notations are used: 0 —wz wy Cx w x c = wz 0 cy = [w x lc^(4.11) — WY 0 Cz Ixx ixy Ixx - lxy Wx^Wy^WE 0^0 0 IW = 0^Wx^0 Wy^WE 0 Ixz =_- [ow] Ixz (4.12) 0^0^wx 0^Wy Iyy YY Iyz [gz zz where IXX = I = Ix y ixz IXY^IX'l iyy^yz (4.13) Iy z^izz Using the definitions in (4.11) and (4.12), Eqs. (4.6) and (4.10) can be rewritten as a 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) 87 cylinder rod link i or in a linear compact form wi = Ai ¢i^ (4.15) where wi is a 6 element wrench vector at point P combining both the external force and torque vectors applied to the ith major link, A, is a 6 x 10 matrix containing the known kinematics of the link, and (pi is the vector of the 10 unknown inertial parameters for the ith major link. Figure 27: Forces, torques, and location vectors applied to a major link from the adjacent links 4.3.2 Newton-Euler Formulations for Chained Links The ith major link in Figure 27 is attached through revolute joints Pi and Pi,/ to the (i-1)th and the (i+1)th major links respectively. It is actuated by the ith hydraulic jack (minor link) via a spherical joint Pi, p , and actuates the (i+1)th link by the (i+1)th hydraulic jack through another spherical joint P,,,. All the forces and torques applied to 88 this link in Figure 27 belong to the neighboring joints and are expressed in the ith link force coordinate frame Pi. They can be obtained from the forces and torques expressed in their own force coordinate frame by simple rotation matrices Ri's. For example, the force and torque at the neighboring joint Pi +1 are obtained from that joint's force f1+1 and 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 force and a torque at the origin of the ith link force coordinate frame Pi, we get or more compactly fi,i+i^[ ^• 0 [si x] R, R, [ Wi i+i — — Ti wi+, (4.18) (4.19) where Ri the rotation matrix rotating the (i+1)th link force coordinate system to the ith link force coordinate frame, si a vector from the origin of the ith link force coordinate frame to the (i+1)th link force coordinate system, w1,l the wrench (vector of forces and torques) at the ith joint due to the forces and torques applied at the jth major (or minor) joint, expressed in the P, force coordinate frame, Ti a 6x 6 wrench transmission matrix. 89 Using Eqs. (4.19) and (4.15) for the resultant of all the external forces and torques acting on the ith link at point Pi, we get wi,i = Ai Oi^wp,^we, Ti wi+ ,,i+ ,^(4.20) where the superscripts and subscripts P and stand for the piston and the cylinder respectively, and wp, for example, is the ith actuator (minor link) force applied at Joint Pi,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's wrench vector^Rewriting w i,i in Eq. (4.20) in terms of the link parameters from i to n, we will get W^ (/)j^T^ri we') ^ (4.21) where H T k^ (4.22) k=i and Vi,i=1 (1 is a 6x6 identity matrix). Since there is no hydraulic cylinder attached to the last link n, wc„ = 0. In Eq. (4.21), all the matrices V and T contain the already known kinematics of the corresponding links, and the vectors contain the inertial parameters of the major links, 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 Link The ith hydraulic actuator in Figure 28 consists of a cylinder and a piston with hydraulic oil inside the cylinder. We may consider the piston and its attachments as 90 Link i-1 Link i oil in t A h T N Cylinder oil out A r^4 7) Piston i,p Rod piston rod cylinder^411 Figure 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 as another separate link2 . By following the same methodology used to obtain the major link dynamic equations, we can find the wrench vectors vcr (.,_ and wp , in terms of hydraulic forces at both ends of the piston head in Figure 29. z • f n • 91, P X • -41 111--)- 1,P Figure 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 the displacement of the piston head, we take it to be constant since the weight of the oil is much less than that of the cylinder. 91 In Figure 29, the cylinder and piston force coordinate frames are attached to points Pi-1,c and Pi,p respectively, with their x axes along the center-line of the assembly. The z axes for both of the coordinate frames can arbitrarily be taken parallel to the z axis of 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 actuator are due to pure friction effects for the same reason. As a result, we may only maintain the frictional torques n„ ,_, a ri,c and n, = np ,ric about the main axes of rotation z, — Ps and 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 the ith actuator shown in Figure 29, we obtain w,„ =^0'; + ri) W Pet ^ (4.24) where wpci=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, force coordinate 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 ith actuator to have w =A i^ — Ti wpc, ^ (4.25) 92 zi„ =[ 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) where Ti:/`^PY1 (4.27) is a transmission matrix from Pi,p force coordinate system to^force coordinate frame. Rewriting (4.26) in a matrix form gives fx - fy fx- fy fz [^[0] 0 Act [ 11 s , ,x]^[1] [ 0 0 (4.28) n, _ CI-1 pi/ where [1] is a 3x3 identity matrix, [0] is a 3x3 zero matrix, and 1 . =^]^1 0 1 '^ [1 xj^[1] .1 1 0 0 0 0 0 O 1 0 0 0 0 O 0 1 0 0 0 O 0 0 1 0 0 O 0 —si 0 1 0 0 Si 0 0 0 1 (4.29) s'1 is simply the absolute distance between the cylinder and piston pins at each time and can be computed from Eq. (3.26). In order to obtain the force components of the wrench vector w p ,, first consider the fifth row of the matrix equation (4.28) to find 93 Then, consider the sixth row of the equation to obtain 0 0 0 0 1 0 0 0 4,- -si-r[Ai^ n z,i fypi =40 [0 (4.31) Now, in obtaining an equation for L we may note from Eq. (4.25) that the first row of the transmission matrix Tic/P is simply equal to [1 0 0 0 0 0 because there is no rotation between P,,p and P,,1, force coordinate frames. Also, the first element of the wrench vector wp is ^r pc =^" ^.off ^ (4.32) where ^o r, 8^ h,^—1 r.f ^ (4.33) and Ah = 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, and f 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 obtain hp^[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) 94 where 0 0 0 0^0^0 1 0 0 0^0^0 0 0 0 0^0 7̂1 0 1 0 0^0^-sir 0 0 0 0 — ^0 0 0 1 0 4 0 0 0 1^0'^0 0 0 0 1^o'^0 o o o o^0^o o o 0 o^0^0 0000 0^00000^0^0 v: (4.36) Ai [^ 0 0 $ $2x20 (4.37) I 20X (4.38) and^ Tyres^ •ric^foil — 0 ^ (4.39) 0 fru--tip , Using Eqs. (4.37) and (4.38) in Eq. (4.26), we can write for the wrench vector w e T: wp , where (4.40) v i = {16x6 (4.41) Substituting (4.35) for wp , in (4.40) and rearranging, we finally obtain T: 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 —7 v:' 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^0 0^0^0^0^0^0^0^0^0^0^0^0 0^0^0^0^0^0^0^0^0^0^0^0 95 Equations (4.35) and (4.42) are written in terms of the known kinematics of a hydraulic actuator, the unknown vectors of cylinder/piston inertial parameters and friction forces, and the measured values of cylinder pressures. 4.3.4 Global Newton-Euler Equations for a Hydraulic Manipulator Using Eqs. (4.35) and (4.42) in Eq. (4.21) for the net forces and torques applied at the ith joint, and rearranging the equation after some manipulations and simplifications, one may obtain W, , , =^V,,j^0J+ n ,,j Tji) V") Vi, j -1T^_ 1 V") A' O fJ =i ^>..:1/4 (V,^— Vi (4.44) i=i where V,,i_1=-0. A representative term in the third summation in Eq. (4.44) can be rewritten as V, j _, (T j TI; — 'Ir). However, the subtraction in the parentheses1 is simply equal to zero (except for j=i) since both terms represent a transmission of Pj43 force coordinate frame to Pf_i force coordinate system through different paths of the closed-chain (T1 TPJ through the ith joint path, and T'1 via the ith hydraulic cylinder-piston actuator). We may redefine the terms within the remaining summations as Utd Vt Ai Z i , = (V, r V' + VI^J r_ , V") A (4.45) 96 and rewrite Eq. (4.45) in a more compact form as Or = X io^• X 'Ps n _ — Lio fb (4.46) W fa = [ • •^X „ LJ die _ (4.47) where Ui,^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 full force-torque vector, i, at each major joint. In a hydraulic manipulator, each individual link is powered either by a rotary actuator (e.g., cabin rotation) or by a cylinder-piston actuator (e.g., boom or stick). For a joint with a rotary actuator, there is no hydraulic jack (f = D, and usually only the torque about the joint axis zi can be measured (we define it as Ti). For a major link which is powered by a hydraulic jack, there is no torque 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 element can be considered in the identification process, and therefore, only the sixth (last) row of Eq. (4.47) will be used for identification purposes. Furthermore, from Eq. (4.39), 97 fric (4.53)ToffJ iT 12 x 1 OP. Oc (4.54)II ( j —1 friclipifricTi cu ff J= [ fric 17' 35x 1 only the first element fiPress is sensed (measured), and the other elements are unknown frictions and transducer offsets (Eq. (4.39)) which have to be identified. If we assume constant dry friction at the joints, then fric)^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 measured force or torque at the left-hand side, and including all the unknown friction and offset torques 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 35 row vector (for cylinder-piston actuator), and yi is a 12x 1 or 35x 1 column vector of combined unknown link inertial parameters, joint frictions and transducer offsets defined as for a rotary actuator, and for a cylinder-piston actuator. Equation (4.52) gives the pressure force for the ith link. If the manipulator has a total number of n links, we will get K 1 , 1 1( 1 , 2 • •^• K I ,n Kn,,, - 0 K2,2 • • K 2 ,„_ K2,,, 1/ '2 falC S • • • • • (4.55) 0 0 • • K11- 1,1f — I K ,, — , ,11 'n —1 0 0 0 K - 98 or more compactly fimas K^(4.56) This equation is linear in the unknown parameters. For the UBC hydraulic manipulator with a cabin (a rotary actuator), a boom, and a stick (cylinder-piston actuators), teas is a 3 x / generalized measured force/torque vector, K is a 3x(12+35+35) matrix of known kinematics, and is a (12+35+35)x1 vector of unknown dynamic parameters which should be identified. 4.3.5 Estimating the Link Parameters Equation (4.56) represents the dynamics of the manipulator for one sample point. As with kinematic identification in Chapter 3, Eq. (4.56) is augmented using m data points: f = f(1) f(m) meas K = K(1) • • • K(m) (4.57) Unfortunately, one cannot apply simple least-squares estimation Oestlatate — (KT K)^KT f^(4.58) because KT K is not invertible due to rank deficiency from restricted degrees of freedom at the proximal links and the lack of full force-torque sensing. Some dynamic parameters are completely 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 the above rank deficient problem. The simplest is ridge regression [23] which makes KT K invertible 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 smallest non-zero eigenvalue of KT K . This method has partly been explained in Chapter 3. 99 Another approach expresses the dynamics in terms of a reduced set of dynamic parameters that are independently identifiable and allow the application of direct least- squares technique in (4.58). This reduced set can be generated, for example, by examination of the closed form dynamic equations for linear combinations of parameters using Lagrange-Euler formulation. For the complete model of the hydraulic manipulator introduced 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 less complicated method, yielding [9] K = UEVT (4.60) where 1,1=diaglo- i l, and U and VT are orthogonal matrices. For each column of V there is a corresponding singular value o-i which, if not zero, indicates that the linear combination of parameters, V i T II), is identifiable. The unidentifiable parameters will have zero singular values associated with them [1]. Since K is a function only of the geometry of the manipulator and the commanded movement, it can be generated exactly by simulation before conducting any experiments. For completely unidentifiable parameters, the corresponding columns of K can be deleted without affecting f. For parameters identifiable in linear combinations, all columns except one in a linear combination can also 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, for example, we have used a built-in function in a MATLAB program which automatically reduces a rank deficient matrix to a full rank matrix using SVD technique. 4.4 Simulation Results and Discussion Throughout this chapter, we have assumed that the manipulator consists of the following 100 links only: "swing" (cabin), "boom", and "stick", with the grapple detached from the manipulator since it is neither sensed nor controlled by any actuator. Also, from the results obtained in Chapter 3, we have learned that the nominal kinematic parameters for the 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 the K matrix in Eq. (4.56). The joint angles of the major links are simply measured by resolvers 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 Model By complete model we mean a model of the manipulator links that includes the dynamics of the actuators. By reduced or incomplete model we mean a dynamic model comprised the manipulator's major links only. Other researchers (e.g., [33] and [41]) have considered only the reduced model of hydraulic actuators primarily because there has been no complete model available to them. They have also assumed that the dynamics of the minor links do not have any significant effects on the performance of the whole system. The purpose of this simulation is to demonstrate the effect of neglecting the minor link dynamics on the predicted pressure forces/torques. Figures 30 to 32 show simulated trajectories for the swing, the boom, and the stick of the UBC hydraulic manipulator. We used these trajectories to build the K matrix of Eq. (4.56). The hypothetical dynamic parameters for the major and minor links of the manipulator (the complete model) are given in Table 13. The values of these parameters attempted to be as close as possible to those of the UBC hydraulic machine, given in Table 1. The values for friction torques and forces are not known for that machine and therefore are set equal to zero in the Table. By using Eq. (4.56), we obtained 101 ti^20 0 0 0 0 -20 ti -40 0 0.5^1^1.5^2^25^3^3.5^4^4.5^5 Time (sec.) 0.4 b) 0.3 - 0.2 - 0.1 0.5^1^1.5^2^2.5^3^3.5^4^4.5 Time (sec.) ^ 0.4^ (c 0.2 - 0 - 4) -02 - Q o C.) -0.4 loft^0^0.5^1^1.5^2^2.5^3^3.5^4^4.5 Time (sec.) Figure 30: Simulated trajectory of the "swing". 102 0ob -10 -o g -20 c.1 O -30 o -40ti -50 0^0.5^1^1.5^2^2.5^3 ^ 3.5 ^ 4 ^ 4.5 Time (sec.) (b) 0.5^1^1.5^2^2.5^3^3.5^4^4.5^5 8 0 -0.1 -0.2 -03 -0.4 ^ 0 Time (sec.) ^ 0.4 ^<9 co^0.2 • 0 -0.2 ^o -0.4 ^ 0 0.5^1^1.5^2^2.5^3^3.5^4^4.5^5 Time (sec.) Figure 31: Simulated trajectory of the "boom". 103 3.5 4 4.5 5 1.5 1 0.5 0 0^0.5^1^1.5^2^2.5^3 Time (sec.) 150 ^ (a) ao 100 '2.^50 ti 0.5^1^1.5^2^2.5 ^ 3^3.5^4^4.5^5 Time (sec.) 0.5^1^1.5 ^ 2^2.5^3^3.5^4^4.5^5 Time (sec.) Figure 32: Simulated trajectory of the "stick". 104 x104 ^ (1a) Swin : — Complete Model --- Partial Model ----------- Cc) Stick: — Complete Model --- Partial Model 1^1.5^2^2.5^3^3.5^4^4.5^5 Time (sec.) 2 x104 0 - -2 - -4 -6 • 8 ^ 0 0.5 0.5^1^1.5^2^2.5^3^3.5^4^4.5^5 Time (sec.) 2 x105 Cb) Boom: — Complete Model --- Partial Model ---------------------- 1.5 - 0.5^1^1.5^2^2.5 Time (sec.) 3^3.5^4^4.5^5 0.5 ^ 0 Figure 33: Comparison of the simulated forces obtained from "complete" and "reduced" models. 105 Table 13 Hypothetical dynamic parameters of a hydraulic machine for simulations. param. Link 1 Link 2 Link 3 swing cylinder piston boom cylinder piston stick m 8031* 100* 100t 1830* 100* 100t 688* .^mc, 8433* 50* 50* 4209t 50* 50* 6191 MC Y -321* 0* 0* 366t 0* 0* 69t mcz 4016* 0* 0* 0* 0* 0* 0* I, 8000* 10* 10t 100* 10* 10* 101. Imo, 0* 0* Ot Ot Ot 0* Of In 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* 600t Tfric 04 - - - - 04 T 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 considering the minor link dynamics (Figure 33). From the figure, we realize that a large error in force/torque prediction results, especially for the proximal links, if we simply ignore the dynamics of the minor links in heavy-duty hydraulic manipulators. 4.4.2 Identifiability of Dynamic Parameters There are three categories of dynamic parameters: fully identifiable, identifiable in linear combinations, and completely unidentifiable. Into which category a parameter falls 106 depends on the manipulator's particular geometry [1]. As stated in Section 4.3.5, we may use singular value decomposition of the simulated K matrix, Eq. (4.60), for the UBC hydraulic manipulator (shown in Figure 3, without the grapple) to classify those parameters. For a complete model, the 31 unidentifiable parameters in Table 13 are marked with "*", the 24 linearly identifiable ones are marked with "f", and the 27 fully identifiable parameters are marked with "t". From the table, we realize that some link parameters are unidentifiable because of the restricted motion of the corresponding links and the lack of full force-torque sensing at 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 joint torque. Since the gravity vector is parallel to the z axis, cz is also unidentifiable. If only torque about the z axis can be sensed, then all inertial parameters for link 1 become unidentifiable except /zz. In a multi-link manipulator, however, some parameters can only be identified in linear combinations because they appear in linear combinations with other parameters. As we will see in the following sections, this partial identifiability and the difficulty of analysis become worse as the number of major and minor links are increased. 4.4.3 Effect of Sensor Accuracy The accuracy of the sensors used to measure the angular positions of major links is within ±0.1°, and the accuracy of the pressure transducers is within ±25 psi (see Section 2.5). For a rotary hydraulic actuator, the applied torque TPre3 on the output shaft can be determined [33] from Tv' = by (Pp — P,) (4.61) where Pp = hydraulic pressure on the pressure side [psi], 107 Ps = hydraulic pressure on the suction side [psi], Cq = flow coefficient (a constant) = 0.089, and Rg = 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.m Using 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 N stick: ±[(23.75*25+14.13*25)*.453*9.81] = ±4200 N We added uniform random noise models with maximum amplitudes within the accuracy range of the resolvers (±-0.1°) and pressure transducers (calculated above) to the values shown in Figures 30 to 33. Then, we re-identified the dynamic parameters for the manipulator of Table 13. These parameters, as denominators, are tabulated in Table 14 for the complete model and in Table 15 for the reduced model. Comparing the calibrated parameters for the complete model in Table 14 (the denominators) with the original parameters in Table 13, we see that almost all the identified parameters contain large errors. This indicates that the dynamic parameters are very sensitive to the accuracy of the position and force/torque sensors. To show this, we calibrated the parameters when the accuracy of the pressure transducers were assumed to be five times better than the current one ( i.e., within ±5 psi). Those calibrated parameters are also shown as numerators in Tables 14 and 15 for complete and reduced models respectively. The error in this case, however, is much less (10 to 100 times) than the error for the accuracy of ±25 psi. Although some parameters still contain considerable errors, some others, such as friction forces/torques, are now close to the actual ones and therefore are reliable. Obviously, if no noise is injected to the sensors, the error in sensor 108 Table 14 Identified dynamic parameters of a hydraulic machine with sensor errors (complete model). param. Link 1 Link 2 Link 3 swing cylinder piston boom cylinder piston stick m 0* 5.4e5 1.3e5 0* 3600 -13700 27e-g- 0*-4.1e61 -2.1e61 -479001 mcx 0* -28000 -5.10 -74000 -3.9e5 3.20 -1200 1500 -7500 1.5e5-14e51.- -161001 157001 mcY 0* -3.8e5 -7700-3730 2.0e5 80 55001 38 -5201 -5600 ..".10 -2.7e51 1.0e5 mcz 0* 0* -4.6e5 3.4-0 0 -1800 400 1200 9T0(-11-467001 251001 /xx 0* 0* 3.9e5 0* 0* 0* -4200 -Tgin0.-5.6e61 I 0* 0* -2.9e52.0e6 -1.9e5 -i71-0 -34006200 0*-1.3e51 807001 Ix., 0* -1.0e5-7570 0* -6.0e5 -5.7e61 01 -1900 2-§50. -900 -102001 Iyy 0* 0* 0* 0* 4800 4710 0* 0* /yx 0* 0* -38900 5.0e5 4200 0* 600-T10 -4.2e61 -380001 -167001 ix., -77600 0* 1.4e5 0 * -7600 0 * 78004.I0 -1.2e6f -610001 -1.3e51 rfric -198 _ - 38100 -Th;-51 - 150 55201 54001 T or f°8 -322 - _ 9.8e6 - - -90011401 -4.2e71 -129001 45300 -800 -173001 --9.4e5 nafric -72800 _ 36_ -248001 -1.3e6 n 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. 109 Table 15 Identified dynamic parameters of a hydraulic machine with sensor errors (reduced model). parameter swing boom stick m (Kg) 0* 1400 380t mcx (Kg.m) 0* 1900 540 284001* 200* MCY 0* 160 24 1400* 440* mc 0* -34 840* Ix, (Kg•m2) 0* -540 3100 1. kg 0* 310 -120 3600* 800* In -70 -140 40* 1900* 1,, 0* 0* 0* ./.,,z 0* 220 -50 -3900* 500* izz 16500 700 630 21400t 28300t 810* Tfric (N.m) -13 9 19 1100* 100* -10W T°8 or fff 17 -7600 -114 450* -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 major and minor links as the ones tabulated in Table 13. By comparing the identified parameters in Table 15 with the original parameters in the 2nd, 5th, and the 8th columns of Table 13, one may realize that the error in the individual parameters of the reduced model is much less than that of the corresponding parameters 110 for the complete model. This justifies our previous claim that the identifiability and the difficulty of analysis become worse as the number of (major and/or minor) links are increased. In fact, although matrix K is nonsingular for both complete and reduced models, it is still ill-conditioned. Some parameters, especially for the complete model, are very sensitive to measurement noise although they are theoretically identifiable. Since in SVD technique, all the singular values less than a specific amount are set to zero to obtain convergence, certain parameters happen to be close to being linearly dependent upon the other parameters (especially for the complete model in which the links act on each other through open- and closed-chains). Typically, the friction torques/forces which are external and totally decoupled parameters, and also the inertial parameters for the last link (the "stick" can move faster than the other links) have been identified more accurately than the other parameters. The simulation results, however, imply that we should not expect better or indeed even fair estimates of the dynamic parameters with the current accuracy of the pressure transducers (±25 psi) for the UBC hydraulic machine. 4.5 Measurement Procedure To calibrate the dynamic parameters of a manipulator, we first specify a number of different trajectories for the manipulator links in the form of joint positions (dd), velocities (Od), and accelerations (fi(j). Measurement procedure consists of moving various links of the manipulator on the specified trajectories and measuring the vector of actual joint positions, velocities, and accelerations, and calculating the vector of actuator torques/forces. The latter is done by measuring the oil pressures inside the hydraulic 111 actuators3 . In our experiment, joint position is measured by a resolver, and joint velocity and acceleration are calculated by successive differentiation of the joint position since there is no tachometer or accelerometer attached to manipulator. As a result of successive differentiations, a significant amount of noise can be generated, especially for the angular acceleration, which deteriorates the accuracy of the parameter estimates. partially filtering out the velocity and acceleration outputs will reduce the noise level, but we may lose the higher frequency dynamics of the system. To overcome this noise problem, we have used a dynamic programming (optimal) filter [37] for smoothing and estimating the derivatives of the joint positions. The method, in brief, uses a least-squares estimate of the 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 computes the matrix of manipulator kinematics, K. The K matrix along with the measured vector of applied torques/forces is used in another numerical algorithm to give the vector of unknown dynamic parameters. The whole measurement and identification algorithm is shown in Figure 34. - MC I if t o f f dldt0 dldt ^► - ►K • inematics K fRobot KIMLfi Figure 34: Measurement and identification procedure for dynamic calibration. In fact, the transducers are somewhere between the servovalves and the hydraulic actuators, and measure the pressures inside the actuators through hydraulic hoses, which naturally have compliance and therefore, introduce more error to the already erroneous pressure readings. 112 4.6 Experimental Results and Discussion Link estimation was implemented on the UBC hydraulic manipulator shown in Figure 3 (without the grapple). As discussed in Section 4.1, the ideal rigid body dynamics with friction forces/torques and pressure sensor offsets is a good model for this arm. A set of insufficient and inaccurate data obtained from the manufacturer specifications is available for the manipulator (Tables 1 and 13). They can serve as a point of comparison for the estimation results. For the estimated results presented, 1664 data points were sampled at the frequency of 50 Hz while the manipulator was executing 5 sets of different trajectories shown in Figure 35. The velocities and accelerations were calculated and filtered for the data points. We then applied both the proposed complete dynamic model and the existing reduced dynamic model to calibrate the identifiable parameters of the UBC hydraulic manipulator (the identifiable and unidentifiable parameters were obtained through singular value decomposition of matrix K in the previous section). Typical results are shown for the complete model in Table 16 and for the reduced model in Table 17. Parameters that cannot be identified because of constrained motion of the links or lack of full force/torque sensing are denoted by "0*". For example, the first nine parameters of the first link (cabin) are not identifiable because this link has only one degree of freedom about its z axis. These nine parameters, however, contribute nothing to the dynamic equations of motion of the manipulator and thus can be arbitrarily set to zero. The fully identifiable parameters are marked by "t", and the linearly identifiable parameters are denoted by "t" in Tables 16 and 17. From the tables, it can be seen that there is a sizeable discrepancy between the nominal parameters in Table 13 and the identified parameters. Most of the estimated parameters are even far from being realistic. 113 150 100 obau 50 0 0 CA 0 -50 - -100 0 ,^ . 200^400^600^800^1000^1200^1400 No. of Poses a) CABIN 1600^1800 0 -10 -20 -30 -40 -50 0 200 400 600 800^1000 No. of Poses 1200 1400 1600 1800 150 0au 100 50 Cc) STICK 200^400^600^800^1000^1200^1400^1600^1800 No. of Poses Figure 35: Experimental trajectories for the UBC manipulator used to identify dynamic parameters. 114 Table 16 Identified dynamic parameters of the UBC hydraulic manipulator (complete model). param. Link I Link 2 Link 3 swing cylinder piston boom cylinder piston stick m 0* 5.2e51 -6.5e5t 0* 3840* -602001 0* mcx 0* -2.1e6* 2.1e6* 1.5e6t 3300* -3300* -351001 MC Y 0* 88400* 41000* -7.7e5t 10300* -6900* -24800t mcz 0* 0* -1.1e6* 0* 2100* 22700* 430* /xx 0* 0* 5.2e5t 0* 0* 0* -4100t In' 0* -2.3e6t -2.7e6t 5800t 0* -10900t 1, 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* 29500t rfric 14700* - - -17700t - - 3900* T or fff -1300* - - -5.4e6* - - 2900t Pc - -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 we learned that good estimates for the individual parameters may not be possible due to the low accuracy of the existing sensors. Although the identified values of the individual parameters are not close to the actual ones, and therefore, do not have any physical meaning at this point, we may still get good results when exploiting them to predict torques/forces of the actuators since we have used a curve-fitting technique to estimate pseudo-dynamic parameters. To verify this, the measured torques/forces for a completely different set of experimental data are compared 115 Table 17 Identified dynamic parameters of the UBC hydraulic manipulator (reduced model). parameter swing boom stick m (Kg) 68701 mcx (Kg.m) -22200t 600* mcy 0* -2950* -278* mcz 0* -285* Ix, (Kg•m2) -15200t liy -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. It can be noticed from Figure 37 that the complete model predicts the torques/forces better than the other two models, and in general, the estimated torques/forces obtained from the complete or reduced model match the measured torques/forces much more closely than 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 from different models are given as: cabin:RMScompiete = 3720 N.m RMSreduced = 4720 N.m RMSnominai = 12200 N.m 116 boom:RMScompkw = 5860 N RMSreduced = 5500 N RMSnominai = 39200 N stick:RMScompiete = 8700 N RMSreduced = 11900 N RMSnominai = 14600 N From the above RMS values we see that the errors in the estimated torques/forces of the complete 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 the estimated parameters are in fact more accurate than the modelled parameters. Yet, one cannot form conclusions about the absolute accuracy of the estimates on the basis of the plots in Figure 37 since they only indicate that one can predict the joint torques or link forces well. Depending on what the purpose of calibration is, one may use the predicted forces/torques from the identified model (whatever the values of the individual parameters are) in a flight simulator, or one may update only the friction forces/torques for maintenance 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 a robot controller. 117 150 (a) SWING 50^100^150^200^250^300^350^400^450 Time Scale (samples) 100 -8 50 0 0 0 0a., 0 -50 ti -100 ^ 0 ) BOOM ^ -50 ^ 0 50^100^150^200^250^300^350^400^450 Time Scale (samples) -20 -30 0 -40 100 50 Ĉc) STICK 50^100^150^200^250^300^350^400^450 Time Scale (samples) ti Figure 36: Position trajectories of the three links of the UBC manipulator (experimental). 118 50^100^150^200^250^300 Time Scale (samples) (b)BOOM 350 450400 Cc) STICK ______________ --- • 2 x104 0 a) SWING 50^100^150^200^250^300 Time Scale (samples) 50^100^150^200^250^300^350^400^450 Time Scale (samples) Legend :^Experiment --- Complete Model ... Partial Model -.- Nominal Model 350^400^450 Figure 37: Comparison of the torques/forces obtained from nominal, complete, and reduced models. 119 Chapter 5 CONCLUSION There are many heavy-duty manipulator-like machines in primary industries that are now being manually operated by experienced operators. Many of them work in potentially hazardous environments. Computer-assisted control of such hydraulic manipulators is now available which has the potential to improve operator safety and to increase productivity. There are many different reasons why one may be interested in determining the various parameters of hydraulic manipulators. Accurate modeling of robotic manipulators is important for control purposes. One needs to know the accurate kinematic and dynamic parameters of such manipulators in order to exploit them in direct and inverse kinematic formulations (e.g., in resolved motion/force controller, or in a hybrid position/force feedforward controller), or to estimate the inertial parameters of the manipulators. A good knowledge of arm parameters is also useful for simulation purposes, and failure analysis and detection of the manipulator. Unfortunately, one cannot totally rely on the link specifications supplied by the manufacturer of such machines because of assembly errors, manufacturing tolerances, aging of the machine, and also because many hydraulic manipulators are modified by the distributors and even by the end-users. As a result, measurement or calibration of link parameters 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 kinematic 120 and 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 robotic manipulator. We sought model building methods which are not only accurate, but also convenient and which do not demand significant human involvement. The ideal method would be one that allows the robotic manipulator to calibrate itself. In the following sections, we will briefly summarize the various issues of the calibration techniques we used to measure the kinematic and dynamic parameters of the UBC hydraulic manipulator. 5.1 Kinematic Calibration Issues In this area, we presented an efficient, fast, and inexpensive procedure and instrumentation for kinematic calibration of both major and minor links of heavy-duty hydraulic manipulators based on the modified Denavit-Hartenberg link parameters. The procedure does not require much human involvement or engineering supervision, and can be carried out on-site. The solution technique involves iteration of the linearized kinematic equations. One important aspect of the proposed method of calibration is that, by using an external linkage with its own joint sensors, there is no need to sense the arm joint angles and endpoint location with complicated sensing devices. The added linkage, the calibrator, provides all the sensory data required for the calibration procedure. Another contribution is the concurrent identification of the minor links with the major links using the 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. One important reason is that, in contrast to the other identification techniques, our proposed 121 hierarchical algorithm solves a limited number of unknown parameters each time rather than identifying all the parameters in a single run. At the same time, we found that the identification method is robust to the natural drifts of the arms and white noise in the sensors. 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 identified parameters to be usually less than 5%. For the first time, experimental results in autonomous kinematic calibration were obtained for a typical heavy-duty hydraulic manipulator. In terms of the RMS errors and VAF statistical measures, the calibrated parameters fit the calibrator data better than did the nominal (initial) parameters. The probable reason for the discrepancy between the actual endpoint measurements and the results from the simulation of the identified model is errors in the calibrator data. The current design and accuracy of the system is simply not yet good enough for kinematic calibration. We actually feel that the nominal values of the parameters for both major and minor links are more correct, and provide a test for the calibrator system rather than vice versa. In every case, the proposed calibration procedure worked well given the experimental measurements, but these measurements have limited accuracy as indicated by independent measurements. Aside from the current accuracy limitations of the calibrator, we feel that the approach we have offered holds promise for the future, especially on the calibration of hydraulic machinery. A new version of the calibrator is now being built that has more degrees of freedom, and is lighter, more rigid, and more accurate. 5.2 Dynamic Calibration Issues In this category, a new methodology for the dynamics of a complex hybrid open-closed 122 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 overestimate or underestimate the forces/torques applied to the joints/links of the arm by a factor of two or more. 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 (inertials, friction forces/torques, and transducer offsets) of both major and minor links of a typical hydraulic manipulator. 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, when in the simulations the accuracy of the pressure transducers was increased 5 times, a considerable improvement in parameter estimates of 10 to 100 times was observed, and when the error in the readings was set to zero, the identified parameters became error-free. This is promising for future experiments upon installing more accurate sensors. We found that the estimated torques/forces from the identified models are 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. On the other hand, because of its fewer interconnected links and unidentifiable or linearly identifiable parameters, the reduced model appeared to calibrate the individual parameters more accurately than did the complete model. There are numerous potential advantages of this movement-based estimation procedure over manual measurement techniques such as weighing and counterbalancing 123 individual links. The former is automatic, faster, more economic, and more convenient than the latter. Even assuming that there are possible errors in the sensors or kinematic variations due to inaccurate parameter knowledge, the importance of the dynamic estimation of the link parameters is still emphasized. The reason is that the controller must deal with the manipulator kinematics and dynamics and the sensor calibration as they 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 estimation of actuator torques/forces). New pressure transducers with a five-fold improvement accuracy will be available to us in the near future to re-calibrate the arm parameters. It is hoped that much better estimates of the dynamic parameters can be obtained by using the new sensors. 5.3 Further Issues There 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 by optimizing the design of the calibrator (e.g., the degrees of freedom required, the type of links/joints, and the dimensions of the calibrator links) for a certain class of hydraulic manipulators (e.g., excavators, feller-bunchers, log loaders, etc.). • we experienced a lot of noise coming from unmodelled nongeometric sources such as joint flexibility in the calibrator. Since these sources of noise can easily contaminate the calibration results and may not be removed by using conventional filters such as least-squares techniques, one may consider including 124 a noise model in the kinematic formulations for such dominant nongeometric parameters using appropriate techniques. In the dynamic calibration area: • we found that the pressure readings would not be reliable with the transducers being located far from the actuators. The effects of hydraulic compliance were completely ignored in the dynamic formulations. It would be desirable if we consider the dynamics of the hydraulic components of the manipulator, and established a relationship containing the voltages to the servovalves as inputs and the joint motions and the end effector forces as outputs. In this way we could identify the dynamics of the hydraulic components and the structural elements of the manipulator at the same time. This general system identification, however, is a very difficult one, but restricted versions of this problem may be tractable and quite useful. • it appeared to us that a number of minor links cannot have sufficient excitations because of the nature of the links (e.g., cylinders or pistons) to give a good estimate of their dynamic parameters. Therefore, it is recommended to investigate some other versions of dynamic formulations (e.g., Lagrange approach) or calibration procedures to identify those link parameters. • the dynamic formulations proposed are potentially capable of calibrating both the kinematic and dynamic parameters of a typical robotic manipulator using the external calibrator device. In this case, the kinematic and dynamic calibration can be sequentially performed starting from the end effector. In the future, one may consider performing the full calibration process using this technique by modifying the calibrator, e.g., in weight, joint types, and sensor installations. 125 REFERENCES [1] C. H. An, C. G. Atkeson, and J. M. Hollerbach. Model-Based Control of a Robot Manipulator. The MIT Press, 1988. [2] D. D. Ardayfio and D. Qiao. The kinematics of industrial robots having closed kinematic chains. In Robotics and Automation '84. International Association of Science and Technology for Development, 1984. [3] B. Armstrong, 0. Khatib, and J. Burdick. The explicit dynamic model and inertial parameters 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-eye coordination. In Proc. IEEE Int. Conf Robotics Automat., Tokyo, Japan, 1989. [5] D. J. Bennett and J. M. Hollerbach. Autonomous calibration of single-loop closed kinematic chains formed by manipulators with passive endpoint constraints. IEEE J. Robotics Automat., Oct., 1991. [6] J. Denavit and R. S. Hartenberg. A kinematic notation for lower pair mechanisms based on matrices. J. Applied Mechanics, 22:215-221, 1955. [7] W. Q. D. Do and D. C. H. Yang. Inverse dynamics of a platform type of manipulating structure. pages 1-9, ASME Design Engineering Technical Conference, 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 University Press, 1983. [10] S. A. Hayati. Robot arm geometric link parameter estimation. In Proc. 22nd IEEE Conf. Decision Cont., San Antonio, TX, 1983. 126 [11] S. A. Hayati and M. Mirmirani. Improving the absolute positioning accuracy of robot manipulators. J. Robotic Systems, 2:397-413, 1985. [12] S. A. Hayati and G. P. Roston. Inverse Kinematic Solution for Near-Simple Robots and 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 motion tracking 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 Unconstrained Optimization and Nonlinear Equations. Prentice-Hall series in computational mathematics. Englewood Cliffs, N.J. : Prentice-Hall, 1983. [15] R. P. Judd and A. B. Knasinski. A technique to calibrate industrial robots with experimental verification. In Proc. IEEE Int. Conf. Robotics and Automation, pages 351-357, Raleigh, NC, 1987. [16] W. Khalil, M. Gautier, and J. F. Kleinfinger. Automatic generation of identification models of robots. Mt. J. Robotics Automat., 1(1):2-6, 1986. [17] M. Khoshzaban, F. Sassani, and P. D. Lawrence. Autonomous kinematic calibration of industrial hydraulic manipulators. In Proc. 4th Int. Symp. on Robotics and Manufact., 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., August 1986. [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 measurements using automatic laser tracking techniques. Robotics and Computer Integrated Manufacturing, 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 with closed 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 serial manipulators 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 vision system for manipulator position sensing. In Proc. workshop on Interpretation of 3D Scenes, Austin, TX, 1989. [27] Y. Nakamura. Dynamics of closed link robots with actuational redundancy. In Proc. 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. 2nd Mt. 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 calibration and 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. IEEE J. Robotics Automat., Oct. 1987. [32] G. Segger and W. Leonhard. Estimation of rigid body models for a six-axis manipulator 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 Hydraulic Manipulators. Ph.d. thesis, The University of British Columbia, 1990. 128 [34] J. Slotine and W. Li. Adaptive manipulator control: A case study. In Proc. IEEE Int. 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 differentiation of empirical data. ASME J. Dyn., Sys., Meas., Cont., 105:200-202, September 1983. [38] W. K. Veitschegger and C. H. Wu. A method for calibrating and compensating robot 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 forward calibration 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 continuous kinematic model. In Proc. IEEE Int. Conf. Robot. Automat., pages 92-97, Cincinati, OH, 1990. 129
Cite
Citation Scheme:
Usage Statistics
Country | Views | Downloads |
---|---|---|
China | 24 | 0 |
Japan | 3 | 0 |
United States | 1 | 0 |
City | Views | Downloads |
---|---|---|
Beijing | 24 | 0 |
Tokyo | 3 | 0 |
Ashburn | 1 | 0 |
{[{ mDataHeader[type] }]} | {[{ month[type] }]} | {[{ tData[type] }]} |
Share
Share to: