Dynamics Modelling of an Electric Rope Shovel for Collision Prediction by Nicholas Philippe Himmelman BASc., University of Waterloo, 2006 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF Master of Applied Science in THE FACULTY OF GRADUATE STUDIES (Electrical and Computer Engineering) The University of British Columbia (Vancouver) March 2011 c Nicholas Philippe Himmelman, 2011 Abstract In the surface mining industry, the machines used to extract materials from the earth are steadily increasing in size, making them difficult to manage safely. Rope shovels are used to excavate material and load the haul trucks that deliver the material for further processing. During the loading process, collisions between the rope shovel and the haul truck can occur. These collisions put the machine operators at risk and can damage the machines. The research presented in this thesis was conducted as part of a larger project with the aim of developing the sensing and control systems necessary for a rope shovel collision avoidance system. A sensor suite was developed to measure the joint positions and motor currents and voltages on a full scale rope shovel. A dynamics model was developed to model the machine’s dynamics. This model captured unique mechanical characteristics of the P&H machine. Using joint positions and motor currents collected with the sensor suite, a method was developed for estimating the inertia, mass, and friction parameters of the machine. A significant benefit of this estimation method was that it did not require the use of potentially noisy velocity and acceleration data obtained through successive derivatives of the position data. Using the solved inertia, mass, and friction parameter estimates, the dynamics model was able replicate the motions of the rope shovel with a mean absolute error of 3.3◦ for the dipper handle angle and 0.9◦ for the swing angle. Finally, an algorithm was proposed that used the dynamics model to forecast the motion of the machine with the aim of predicting collisions and generating warnings for the operator. The algorithm used the amount of time before a collision and the time required for the machine to stop swinging to decide how to warn the operator. The research presented in this thesis forms a strong basis for developing future rope shovel safety and control systems. ii Preface This thesis presents research performed by Nicholas Himmelman. • The Introduction, Chapter 3, Chapter 4, and the Conclusions were written by Nicholas Himmelman incorporating feedback and suggestions from his supervisors Peter Lawrence and Robert Hall. • Chapter 2 was written by Nicholas Himmelman, James Borthwick, Li-Heng Lin, and Ali Kashani with feedback and suggestions from Peter Lawrence and Robert Hall. Nicholas Himmelman coordinated the writing of the entire document and was responsible for Sections 2.1.1 and 2.2.1. Nicholas Himmelman collaborated with Ali Kashani to write 2.2 and with Li-Heng Lin to write Sections 2.3 and 2.3.1. The Introduction and Discussion and Conclusions sections were written with feedback and suggestions from supervisors Peter Lawrence and Robert Hall. A version of this chapter was published in: N. Himmelman, J. Borthwick, A. Kashani, L.-H. Lin, A. Poon, R. A. Hall, P. D. Lawrence, S. E. Salcudean, and W. S. Owen. Rope shovel collision avoidance system. In Proceedings of the Applications of Computers in Mining Conference, October 2009. iii Table of Contents Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Excavator Automation Literature . . . . . . . . . . . . . . . . . . 3 1.3 Thesis Context, Outline, and Contributions . . . . . . . . . . . . . 5 1.3.1 Thesis Context and Goal . . . . . . . . . . . . . . . . . . 5 1.3.2 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . 6 Rope Shovel Collision Avoidance System . . . . . . . . . . . . . . . 7 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 System Overview . . . . . . . . . . . . . . . . . . . . . . 8 Arm Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 2.2 2.3 2.2.1 Distal: Joint Sensor Based . . . . . . . . . . . . . . . . . 11 2.2.2 Proximal: Laser Scanner Based . . . . . . . . . . . . . . 12 Swing Measurement . . . . . . . . . . . . . . . . . . . . . . . . 13 iv 3 2.3.1 Encoder-Based Swing Measurement . . . . . . . . . . . . 14 2.3.2 Camera-Based Swing Measurement . . . . . . . . . . . . 15 2.4 Truck Localization . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5 Discussion and Conclusions . . . . . . . . . . . . . . . . . . . . 18 Inertia Parameter Extraction on an Electric Rope Shovel . . . . . . 19 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1 The Challenge of Inertia Parameter Estimation . . . . . . 20 3.1.2 Background: A Rope Shovel . . . . . . . . . . . . . . . . 21 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 3.2.1 3.3 rameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2.2 Forward Kinematics Equations . . . . . . . . . . . . . . . 23 3.2.3 Inertia Parameter Selection . . . . . . . . . . . . . . . . . 25 3.2.4 Development of Dynamics Equations . . . . . . . . . . . 27 Dynamics Model . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1 Rope Length . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 Hoist Cable Equivalent Torque and Force . . . . . . . . . 33 3.3.3 Crowd and Swing . . . . . . . . . . . . . . . . . . . . . . 36 3.3.4 Data Collection . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.5 Nonlinear Optimization of Inertia, Mass, and Friction Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.1 Hoist . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.2 Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4.3 Crowd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Collision Prediction and Warning . . . . . . . . . . . . . . . . . . . 51 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2 Algorithm Development . . . . . . . . . . . . . . . . . . . . . . 52 4.2.1 52 3.4 4 Choice of Link Reference Frame Placement and DH Pa- Intersection Detection . . . . . . . . . . . . . . . . . . . v 4.2.2 Modifications to the Dynamics Model . . . . . . . . . . . 52 4.2.3 Trajectory Forecasting . . . . . . . . . . . . . . . . . . . 55 4.2.4 Collision Warning Algorithm . . . . . . . . . . . . . . . 56 4.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.1 Summary of Contributions, and Conclusions . . . . . . . . . . . . 66 5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.2.1 Additional Sensors . . . . . . . . . . . . . . . . . . . . . 68 5.2.2 Further Testing for Dynamics Model Development . . . . 69 5.2.3 Test Prediction Algorithm on Real Data . . . . . . . . . . 69 5.2.4 Accelerate the Dynamics Model . . . . . . . . . . . . . . 69 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5 vi List of Tables Table 3.1 DH parameters of the Rope Shovel . . . . . . . . . . . . . . . 24 Table 3.2 Model parameters for the hoist function . . . . . . . . . . . . . 40 Table 3.3 Hoist model error . . . . . . . . . . . . . . . . . . . . . . . . 41 Table 3.4 Model parameters for the swing function . . . . . . . . . . . . 43 Table 3.5 Swing model error . . . . . . . . . . . . . . . . . . . . . . . . 43 vii List of Figures Figure 1.1 A P&H 2800 XPB rope shovel loading a haul truck at a mine in British Columbia, 2006. . . . . . . . . . . . . . . . . . . . Figure 2.1 2 Shovel movements and the locations of the hardware components installed on the shovel: A1) accelerometers placed on the rotary joints, A2) rangefinder placed on the saddle block prismatic joint, C) central computing system located in house underneath operator cab, L) planar laser scanner placed below boom foot, S) stereo camera placed underneath house looking inwards, and T) truck localization stereo camera mounted on boom. The image used for this diagram was taken from a manual provided by P&H [26]. . . . . . . . . . . . . . . . . . Figure 2.2 9 The saddle blocks are not rigidly connected to the dipper handle and can rotate back and forth depending on how much space is left between the dipper handle and the saddle block slide bars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 2.3 Biaxial accelerometers mounted to the boom joint. . . . . . . 12 Figure 2.4 The left image shows the installation of the rangefinder (indicated by white bounding box) on the saddle block. The right image shows a target used on the end of the dipper handle with a white arrow depicting the laser beam path. . . . . . . . . . . viii 12 Figure 2.5 a) A P&H 2800 Electric Rope Shovel. b) A sample laser scanner image superimposed on equipment diagrams. The laser scanner is mounted vertically underneath the shovel boom. The laser scanners point cloud image, shown by a series of dots, represents a contour of the environment. Note that the above image is not taken during a normal digging cycle. Here, the laser sees the back of the truck, whereas during a normal loading sequence, the truck is located sideways and the laser only sees its side. . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2.6 14 The left image shows the camera attached to bottom skirt of the house, its position indicated by white bounding box. The middle image shows how the camera was aimed downwards, toward the carbody centre. The right image shows a closeup of the camera. . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2.7 Sample images taken by the camera as the house rotates clockwise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2.8 15 15 The left image shows a white arrow pointing at the location on the boom where the stereo camera was mounted. The middle image shows the stereo camera, mounted on the boom, in its protective enclosure. The right image shows the view of a haul truck delivered by the stereo camera. . . . . . . . . . . . . . . Figure 3.1 17 The main components (Carbody, House, Boom, Dipper Handle, and Dipper) of a shovel are shown along with the names of the motions (functions) the shovel can perform and the location of the coordinate frame origins used for forward kinematics. 22 Figure 3.2 Reference frames for each link of the shovel. The dimensions are not to scale. . . . . . . . . . . . . . . . . . . . . . . . . . 24 Figure 3.3 Dynamics equations modelled in SimulinkTM . . . . . . . . . . 29 Figure 3.4 Dipper handle and hoist rope geometry. . . . . . . . . . . . . 30 Figure 3.5 Vectors used to calculate equivalent torque and crowd force Figure 3.6 generated by hoist cable. . . . . . . . . . . . . . . . . . . . . 33 SimulinkTM 35 implementation of hoist mechanism. . . . . . . . ix Figure 3.7 SimulinkTM implementation of hoist motor and drivetrain. . . Figure 3.8 Flow chart of the method used to estimate the inertia, mass, and friction parameters. . . . . . . . . . . . . . . . . . . . . . Figure 3.9 35 39 Plots of simulated hoist function behaviour (grey) alongside collected data (black). a) shows the hoist function holding the dipper handle angle steady, b) shows a short hoisting segment, and c) shows a longer segment with both lowering and hoisting. 42 Figure 3.10 Plots of simulated swing function (grey) alongside collected data (black). . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4.1 44 3D model of the dipper handle with dipper. A drawing of a dipper handle with dipper is shown above it as a reference for the shape. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4.2 SimulinkTM 53 implementation of the hoist motor with voltage input. The blocks enclosed by the dotted line were added to simulate the motor with a voltage input. . . . . . . . . . . . . Figure 4.3 Generated machine trajectory (green) with 3 forecast trajectories (blue) initialized at different times. . . . . . . . . . . . . Figure 4.4 54 56 Simulation of algorithm with a simple swinging motion. The model of the dipper handle (in green) is shown in its starting position. The blue box is the geometric model of the truck. . . Figure 4.5 59 Simulation of algorithm on a trajectory where the machine swings toward an obstacle and hoists to avoid the collision. The model of the dipper handle is shown in its starting position. The blue box is the geometric model of the truck. . . . . Figure 4.6 60 Simulation of algorithm on a trajectory that simulates a Rope Shovel’s dig cycle. The model of the dipper handle is shown in its starting position. The blue box is the geometric model of the truck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 61 Acknowledgments I would like to thank my parents and brother for their love and encouragement throughout my life and in all my endeavours. I am also very grateful to Kinga for her unwavering support and the occasional, if not frequent, push. I would like to thank my supervisors, Peter and Rob for their guidance and patience throughout this project. To my lab mates Ali, Andrew, James, and Mike: I grateful the excellent ideas, conversations, and friendships that came about during our time together. Special thanks go to Alan Poon for all the long nights spent getting our sensors to work properly. I would also like to thank the personnel at Highland Valley Copper mine for their help with our installations and commitment to our project. xi Chapter 1 Introduction 1.1 Introduction Mining is integral to modern human society. With the world’s population growing faster than at any time in the past and with a rising proportion of people using electronic devices, the demand for minerals will increase faster than ever before [21]. To date, in order to meet the increased demand and to maintain competitiveness, mining operations have relied on economies of scale, increasing the size and capacity of their machinery [6]. The use of explosives and heavy machinery in the extraction of materials from the earth has always been a costly and hazardous undertaking. The increase in size of mining machines has made it increasingly difficult for machine operators to manage the safety of their machines [6]. Until the problems associated with operating these large machines are dealt with it is impractical for these machines to become any larger. To extract minerals from the earth, explosives are employed to break up the material and mechanical excavators are used to load trucks. In modern open pit mines, excavators known as rope shovels (or cable shovels) are used to load material into haul trucks (Figure 1.1). When digging, the shovel operator raises the dipper through the dig face and then swings toward the waiting haul truck to deposit the load. A haul truck is usually loaded by a rope shovel in three passes. To reduce the time to fill the dipper, operators aim to maximize the speed with which the dipper moves through the dig 1 Dipper Handle Dipper Haul Truck Shovel House Shovel Carbody Figure 1.1: A P&H 2800 XPB rope shovel loading a haul truck at a mine in British Columbia, 2006. face. To do this, operators lower the dipper quickly, swinging the dipper back toward the shovel carbody, before raising it into the dig face. During the loading cycle, there are two common situations when collisions involving rope shovels can occur: 1. If the dipper is lowered too quickly when preparing to dig it can collide with the carbody, causing extensive damage and possibly injuring the shovel operator. 2. During loading, as the dipper leaves the dig face, the operator swings the machine toward the waiting haul truck to deposit the load. If the dipper is too low when approaching the haul truck it can collide with the haul truck. The first scenario is fairly common with damage to the tracks requiring lengthy repairs. The second collision scenario is less common but very dangerous for the haul truck operator. It can also severely damage both machines as the dipper alone 2 can carry over 100 tonnes of material and the rotational inertia of a rope shovel is very high. 1.2 Excavator Automation Literature Much modelling and control research on heavy machines has focused on hydraulic machines as they are the most common. Singh provides an excellent overview of past research [28, 29]. Stentz et al. developed an autonomous hydraulic excavator for loading trucks but did not model the machine dynamics for the control system [30]. Most dynamics modelling has focused on digging and not on swing [28]. Koivo et al. developed a dynamics model of a hydraulic excavator digging attachment using the Newton-Euler method whereas Tafazoli used the Euler-Lagrange method [22, 31]. Tafazoli et al. went on to develop a method for identifying the dynamics and friction parameters of the model [32]. On rope shovels, dynamics modelling research has also largely focused on the digging attachment [4, 11–13]. Awuah-Offei and Frimpong modelled the dynamics of digging to determine what hoist and crowd speeds produced the highest digging efficiency but their model did not consider the effects of inertial forces [4]. This is reasonable since inertial forces have a small influence on dipper motion during digging [28]. More recently, Frimpong et al. modelled the dynamics of digging more thoroughly by including inertial terms [13]. Dunbabin and Corke used a 1:7 scale model of a rope shovel to develop automated digging [11]. The system did not consider the dynamics involved in moving the dipper and simple proportionalderivative (PD) control was used to control the digging. Recently, Austin and McAree carried out experiments to characterize the friction in the digging attachment of a rope shovel and found that the friction in the digging attachment could be well characterized by a ”Coulomb-friction-with-uncertainty” model [3]. For collision avoidance purposes it is essential to model the swing function. Corke et al. have worked on the control of the swing function of draglines which use a similar drive train as rope shovels [8, 35]. The main goal of their studies was to minimize the swing time by modelling the pendulum-like motion of the bucket during swing. On a rope shovel the digging attachment is rigid with respect to swinging motions and thus the primary concern is the inertia of the house 3 and digging attachment and the friction in the swing joint. Denman et al. studied the position control of the swing function on an electric mining shovel, aiming to minimize the duration of swing motions [9]. Their work focused on modelling the swing drive dynamics to determine the best time to begin decelerating during loading. In that paper, the digging assembly was kept stationary, keeping its influence on the swing inertia constant. Furthermore, they did not state how the swing inertia of the shovel was obtained and they ignored the influence of friction. The dynamic behaviour of the operation of all functions has been examined by Corke et al. on a dragline where the focus was swing control, and by Siegrist et al. on a rope shovel where all drives were modelled and tested in a simulator [8, 27]. Siegrist et al. did not discuss how the inertia parameters for the shovel were obtained. Inertia parameter extraction on heavy machines has been examined on hydraulic machines by Tafazoli et al. [32]. To the best of the author’s knowledge there is no published work on inertia parameter extraction methods for rope shovels. Research on safety for excavators has focused on the sensors necessary for visualizing the environment [7, 34]. The work by Siegrist et al. focused on avoiding track collisions, although the same approach can be used for avoiding other obstacles if information about their location is available [27]. Other research has targeted improvements in digging and loading efficiencies on heavy machines. To model a machine the inertia, mass, and friction parameters of the machine must be determined if they are not available from the manufacturer. In summary, it has been reported by Siegrist et al. and Austin and McAree that rope shovels have been successfully modelled but methods for inertia parameter identification and collision avoidance strategies have not been presented. In this thesis, a method is presented for estimating the parameters necessary to successfully model a rope shovel and a collision prediction algorithm is proposed for warning operators of collisions. 4 1.3 1.3.1 Thesis Context, Outline, and Contributions Thesis Context and Goal To reduce the risk of collisions between rope shovels and haul trucks in open pit mines, a research project was initiated to develop a collision avoidance system for a rope shovel. The system consisted of stereo cameras, laser scanners, arm geometry and swing angle sensors, as well as computers that could collect data from these systems. A team was organized to work on different components of the project such as obstacle detection, dipper tracking, swing angle measurement, arm geometry, machine dynamics, and collision prediction. In this thesis the development of the joint position measurement system, the machine dynamics, and the collision prediction components of the project are presented. First, a suite of sensors was designed and deployed on a full scale rope shovel and used to measure the arm geometry and swing angle of the machine. Second, a model of the machine’s dynamics was created to simulate the machine. Third, a method was developed for extracting the inertia and friction parameters of the shovel necessary for the dynamics model to replicate the machine’s behaviour. Finally, a collision warning algorithm was developed using the dynamics model to forecast collisions and generate appropriate warnings for the operator. 1.3.2 Thesis Outline The thesis is organized as follows: 1. In Chapter 2 the motivation behind this research project is described. This chapter also provides a description of the hardware systems deployed on a full scale rope shovel to collect data necessary for a collision avoidance system. 2. In Chapter 3 the kinematics and dynamics models developed for the shovel are presented. The method developed for estimating the inertia, mass, and friction parameters necessary for modelling the shovel is described. 3. In Chapter 4 an algorithm for using the dynamics model to predict collisions and to generate warnings for the operator is proposed and evaluated using 5 simulated data. 1.3.3 Contributions For this thesis: 1. A parameter measurement system for rope shovel arm geometry, swing angle, and motor was developed. 2. Kinematics and dynamics models of a rope shovel were developed incorporating unique geometric and mechanical characteristics of P&H mining shovels. 3. A novel method for determining the inertia parameters of a rope shovel without using velocity and acceleration information derived from position data was developed. 4. A prototype collision prediction algorithm for generating warnings to the operator was proposed and evaluated using the dynamics model. 6 Chapter 2 Rope Shovel Collision Avoidance System1 2 2.1 Introduction Rope shovels are used extensively in open pit mining to extract material from the earth and load it into haul trucks. The rate at which they are able to extract and load the material is often the limiting factor in a mine’s throughput, and as such, the shovels need to run continuously to meet production targets. Unfortunately, the truck loading process is not without risk, as the dipper can collide with the haul truck during loading and self collisions are possible between the dipper and the caterpillar tracks. Although collisions do not typically occur on a daily or even weekly basis, when they do occur they can result in serious injury to the truck driver and expensive downtime and machine repairs for the mine. A system that is capable of warning the shovel operator when the dipper is on a collision course with a haul truck or with the shovel tracks could significantly reduce the likelihood of collisions, and therefore be of significant value to a mine. 1A version of this chapter is published in [18] this chapter an overview of the complete project that motivated this thesis is presented. A number of the components of the collision avoidance system presented here are not discussed in this thesis. In particular, Sections 2.2.2, 2.3.2, and 2.4 are not directly relevant to the thesis work presented here, but have been included for context. 2 In 7 2.1.1 System Overview During the loading process, we assume that the truck is parked beside the shovel and that the shovels tracks are stationary. In order to avoid collisions during loading, we must determine the exact state of the shovel and the exact position of the truck. The state of the shovel is defined by the current position, velocity, and acceleration of the joints; the position of the truck is defined as its position relative to the shovel carbody. The task of determining the state of the shovel and position of the truck has been divided into three subsystems: shovel arm geometry, shovel swing angle, and truck location. This is not the first attempt to instrument an excavator or mining shovel [11, 30, 33] or to locate a haul truck [10, 15, 30]. It is, however, to the best of the Author’s knowledge, the first published work describing a sensing system for a real-time collision avoidance system for a full-scale electric rope shovel. In order to reduce the costs associated with installation and maintenance, the collision avoidance system is designed such that all the subsystems are installed on a shovel. This allows the data collected by each subsystem to be easily gathered by a central computer that predicts collisions. The information collected could be used to warn the operator of an impending collision, and if no corrective action is taken, to briefly override the operator’s controls to prevent a collision. The following sections describe the hardware components and the data collected by each of the three subsystems. An overview of the hardware layout comprising all subsystems is shown in Figure 2.1. 2.2 Arm Geometry Obtaining arm geometry variables is an important step towards building the collision avoidance system. The arm geometry of the shovel is determined by the position of the boom, the extension of the dipper handle, and the length of the hoist cables. The boom angle is set by adjusting the length of the boom suspension ropes for which the length is kept constant during operation but can change slightly when the boom is lowered for maintenance. During typical operation the arm geometry is controlled by the crowd and hoist functions. To determine the location of the dipper in space and the rate at which 8 Hoist Dipper T m B oo A2 Dippe C House S Carbody r Han dle Retra ct L Crowd Lower Dipper le Sadd k c o l B Dipper A1 Swing Figure 2.1: Shovel movements and the locations of the hardware components installed on the shovel: A1) accelerometers placed on the rotary joints, A2) rangefinder placed on the saddle block prismatic joint, C) central computing system located in house underneath operator cab, L) planar laser scanner placed below boom foot, S) stereo camera placed underneath house looking inwards, and T) truck localization stereo camera mounted on boom. The image used for this diagram was taken from a manual provided by P&H [26]. the joints are moving, the arm geometry can be directly measured in two ways. 1) The hoist rope length and the dipper handle extension can be used to determine the location of the dipper. One difficulty that arises when measuring the hoist rope length is estimating the stretch in the hoist rope as it depends on the load and arm geometry. 2) Alternatively, the angle of the dipper handle with respect to the boom can be used with the dipper handle extension to locate the dipper. By measuring the angle of the dipper handle with respect to the boom the uncertainty associated with stretch in the hoist rope can be avoided. The angle of the dipper handle with respect to the boom can be measured between the saddle block and the boom. The saddle block acts as a brace which keeps the dipper handle on the shipper shaft (Figure 2.2). As the dipper is moved, the saddle block pivots with the dipper handle, making it ideal for measuring the 9 angle of the dipper. One problem related to measuring the dipper handle angle on the saddle block is that the saddle block can twist back and forth on the dipper handle as the hoisting direction changes or as the direction of the torque applied to the shipper shaft changes. The way the saddle block moves on the dipper handle is shown in Figure 2.2. Figure 2.2: The saddle blocks are not rigidly connected to the dipper handle and can rotate back and forth depending on how much space is left between the dipper handle and the saddle block slide bars. Traditionally, joint angle or extension sensors are used in forward kinematics to determine the workspace location of an end-effector [17]. In this work, the arm geometry was measured both directly and indirectly: directly by placing joint angle and extension sensors at each joint (distal sensors) and indirectly by tracking the position of the dipper with a laser scanner (proximal sensor) and using inverse kinematics to determine the dipper handle angle, dipper handle extension, and hoist rope length. Advantages of using distal sensors are: • Complex algorithms are not required for obtaining the arm geometry. • The processing simplicity makes the required computing power minimal. • Visibility of the dipper is not required as it would be with a proximal sensor where occlusion can degrade the arm geometry measurements. • Distal sensors may be less sensitive to environmental factors such as dust and lighting. 10 Advantages of using a proximal sensor are: • Proximal sensors are less vulnerable to mechanical damage compared with distal joint sensors [36]. • Linkage singularities cannot cause numerical instabilities in calculations when using a proximal sensor, as they can for distal joint sensors [17]. • In some excavators, the dipper is not rigidly connected to the body, making forward kinematics impossible using distal sensors [16]. 2.2.1 Distal: Joint Sensor Based The first method for measuring the arm geometry used sensors placed at each of the joints. Pairs of biaxial accelerometers were used to measure the angles of the rotary joints (boom and dipper handle) and a laser rangefinder was used to measure the extension of the prismatic joint. The accelerometer-based angle measurement system used was part of a payload measurement system for hydraulic shovels called LoadMetrics, designed and manufactured by Motion Metrics International [14]. To measure the joint angle one biaxial accelerometer was placed on the proximal link of the joint and the other on the distal link of the joint. Figure 2.3 shows the accelerometers installed on the boom joint. A second pair of accelerometers was installed on the saddle block joint to measure the dipper handle angle. The accelerometers were connected to a Motion Metrics International LoadMetrics computer that runs an algorithm which determines the difference in angle between the two sensors with an accuracy of ±1◦ . An offset was used to adjust the measurement according to the placement of the sensors. The laser rangefinder used to measure the extension of the dipper handle was a SICK DT 500. It has an accuracy of ±3mm between 0.2 and 18m on a surface with 6% reflectivity (black). The rangefinder was mounted on the saddle block aiming along the dipper handle, away from the dipper. A target was mounted on the end of the dipper handle opposite the dipper. The rangefinder was connected to the same computer used for the angle sensors via an RS422 serial connection. An offset was used to adjust the distance measured by the rangefinder to make it correspond to 11 Figure 2.3: Biaxial accelerometers mounted to the boom joint. the dipper handle extension. Figure 2.4 shows the installation of the rangefinder and target on a shovel. Figure 2.4: The left image shows the installation of the rangefinder (indicated by white bounding box) on the saddle block. The right image shows a target used on the end of the dipper handle with a white arrow depicting the laser beam path. 2.2.2 Proximal: Laser Scanner Based Rather than using distal joint sensors, a proximally-mounted imaging sensor can be used to track the dipper. This section focuses on the development and implementation of a method for estimating the dipper location using a laser scanner. 12 To be operational on a mining shovel, a range sensor must be: reliable with a Mean Time Between Failures (MTBF) of greater than 1 year [7], accurate within 1% of the measurement range [7], and capable of range measurements up to 50m [34]. Computer vision, radar, and laser scanning have all been used for object tracking as well as dipper localization. Whereas radars can provide the reliability and range, they are slow and expensive compared with laser scanners and cameras [1, 7]. Winstanley et al. successfully utilized a laser scanner for their research after finding cameras to be less reliable than laser scanners when faced with environmental factors such as rain, dust, and shadows. Laser scanners provide information in the form of point-clouds which are a set or array of points that describe object outlines and surfaces in the workspace. Each data point represents a vector from the scanner origin to the intersection of the laser beam and an object in the workspace. Typically, as in the laser scanner used in this work (SICK LMS 221), the laser beam is rotated to produce 2D measurements in a scan plane. Hence, the output can be described in a 2D scanned plane of the environment [24]. The laser scanner was mounted vertically underneath the boom pointing toward the dipper. In this position, the laser scanner maintained a consistent view of the dipper and occlusions were minimal. A typical scan plane of the laser scanner at the given position is provided in Figure 2.5 b) where the shovel boom, dipper, ground, and truck are evident in the point-cloud. The laser scanner provides 40 readings per second via an RS422 serial connection with a resolution of 1cm, accuracy of 5cm, and maximum viewing range of 80m. 2.3 Swing Measurement Swing angle, the angle between the house and the lower carbody, is one of the measurements required for the computation of the dippers 3D position in workspace. Without swing angle, the collision avoidance system cannot determine the dippers position and cannot predict common collisions such as the collision of the dipper with the excavator tracks or external objects such as a truck. Unfortunately, many shovels do not have a swing angle measurement system in place and one was 13 Figure 2.5: a) A P&H 2800 Electric Rope Shovel. b) A sample laser scanner image superimposed on equipment diagrams. The laser scanner is mounted vertically underneath the shovel boom. The laser scanners point cloud image, shown by a series of dots, represents a contour of the environment. Note that the above image is not taken during a normal digging cycle. Here, the laser sees the back of the truck, whereas during a normal loading sequence, the truck is located sideways and the laser only sees its side. designed and retrofitted for this project. 2.3.1 Encoder-Based Swing Measurement One method for obtaining the swing angle is to use an encoder to track the change in rotation angle made by the swing motor shaft. For this purpose, a 100 line BEI HS35F encoder was attached to the shaft of one of the swing motors. In this configuration each quadrature increment on the encoder corresponded to a house rotation of 0.002◦ . The encoder was mounted to a stub shaft which was attached to the motor shaft, rising through the brake assembly. The brake assembly was removed to allow the stub shaft to be mounted to the motor shaft. The stub shaft had to be trued to the motor shaft to minimize wobble when the motor was spinning to prevent damage to the encoder. This laborious process would have to be repeated any time motor maintenance was required. A flexible coupling could be used to connect the encoder to the motor shaft but this would have required a more complex mounting assembly which would have in itself impeded maintenance. 14 2.3.2 Camera-Based Swing Measurement Given the drawbacks of using an encoder, a novel camera-based swing angle sensor, which can be easily retrofitted and does not get in the way of regular maintenance, was investigated. The swing angle sensor consisted of a Point Grey Bumble Bee 2 stereo camera mounted on the bottom skirt of the excavator housing, looking down, toward the center of the carbody (Figure 2.6). As the house rotated, the camera rotated with the house and revolved around the stationary carbody, seeing differing views of the carbody (Figure 2.7). An ethernet cable carried digital video images from the camera to a computer in the house. The computer analyzed the images in real-time and determined the angle from which the camera is viewing the carbody. The desired swing angle accuracy of the system is ±0.25◦ which corresponds to approximately ±10cm error in dipper localization. Figure 2.6: The left image shows the camera attached to bottom skirt of the house, its position indicated by white bounding box. The middle image shows how the camera was aimed downwards, toward the carbody centre. The right image shows a closeup of the camera. Figure 2.7: Sample images taken by the camera as the house rotates clockwise. For easy retrofitting, the system was designed such that the camera need not be 15 exactly positioned or angled when mounted to the excavator. As long as the lower carbody covered most of the view of the camera, the system functioned properly. Further, the swing sensor should not need a prior model of the excavator as there are many variations of shovels. Thus, the swing angle sensor automatically learned the 3D features on the carbody and calibrated the camera position and orientation with respect to the swing rotation axis. 2.4 Truck Localization Once the shovel was fully instrumented, there remained the task of precisely locating the haul truck that was to be avoided. Like the system developed by Stentz [30], we aimed to determine the trucks exact position, or ”pose”, which can be fully described by six parameters three for translation and three for rotation. However unlike Stentz et al., we required that the system work in real time without imposing new requirements or restrictions on how the shovel operator digs or loads a truck. The system had to work in the background to quickly and accurately determine the six position parameters. As stated previously, a goal was to place all equipment for the collision avoidance system on the shovel. This requirement restricts us from installing beacons or specialized GPS equipment on the trucks. As such, the use of a shovel-mounted 3D imaging sensor was seen as the best solution. Several 3D imaging sensors, namely stereo cameras, laser scanners and millimeter-wave radar units, were considered. Laser scanners and radar units were attractive because they deliver highly accurate 3D measurements, but unfortunately, they also have slow image acquisition rates and low resolution images [30, 34]. Stereo cameras, meanwhile, deliver high-resolution 3D images with a high acquisition speed. However, the depth accuracy of stereo cameras falls off exponentially with the distance between the camera and the measured object. This stems from the fact that stereo cameras work using the same triangulation principle as the human visual system. To mitigate this weak point, we selected a stereo camera with high-resolution sensors (1280 × 960) and a large separation between cameras (24cm). This allowed for a triangulation depth accuracy on the order of 10cm at our working distance of about 16m. We chose to mount the camera high on the side of the shovel boom, far from 16 potential sources of dust and damage. As the camera was not intended for use in outdoor or rough environments, we constructed a waterproof, heated camera enclosure and secured the camera on shock mounts. Figure 2.8 shows the cameras location on the boom, its enclosure, and its view of a haul truck. Figure 2.8: The left image shows a white arrow pointing at the location on the boom where the stereo camera was mounted. The middle image shows the stereo camera, mounted on the boom, in its protective enclosure. The right image shows the view of a haul truck delivered by the stereo camera. The data produced by a stereo camera is called a point cloud, which is the same as a regular image except that for each pixel the precise (x, y, z) location relative to the camera (and hence the shovel) is known. For the system to function, it must know which areas of the cloud represent the truck, as they must be avoided, and which represent the payload of the truck, as they may be gently brushed against by the dipper. Additionally, the (x, y, z) measurements of the point cloud will contain errors which must not confuse or overwhelm the system. What we wished to achieve was to be able to use this data to locate the truck from distances on the order of 15m with an accuracy of about 10cm. Furthermore, this had to be accomplished quickly enough to operate within the real-time time constraints of a collision avoidance system. We believe that the described hardware platform and resultant data will provide the basis for such a system. 17 2.5 Discussion and Conclusions Three measurement subsystems have been described for a system to prevent collisions between the shovels dipper and a haul truck, or between the shovels dipper and its own tracks. Together, the three subsystems can provide to a collision avoidance system the position of the dipper, and the position of the haul truck with respect to the shovel’s carbody. The sensing subsystems are for: • Arm Geometry, which measures the position of the dipper relative to the revolving frame. Two different approaches to obtain this information have been developed: a joint sensor based method which can be compared to the results from a laser scanner based method [20]. • Swing Angle, which measures the angle between the revolving frame and the fixed frame. This system relates the dipper position as found from the Arm Geometry subsystem, to the track body frame. We have also developed two systems here: an encoder-based angle measurement subsystem which can be compared to the camera-based swing angle measurement subsystem [23]. • Haul Truck Localization, which measures the pose of a haul truck with re- spect to the revolving frame. A camera based approach to localize the truck has been developed [5]. All the sensors were developed so that they could be easily retrofitted. They were all attached externally to the shovel without requiring the shovel to be disassembled or extensively modified. A practised team could install all the hardware components in one 12 hour shift. These sensors were installed and tested on a shovel at the Highland Valley Copper mine. The current installation described here forms the test bed for determining the most appropriate set of sensors, and for the development of the collision avoidance system itself. 18 Chapter 3 Inertia Parameter Extraction on an Electric Rope Shovel1 3.1 Introduction To improve machine safety, a collision avoidance system for rope shovels in open pit mines is being developed. To function properly, a collision avoidance system must have the current shovel pose and control inputs, an estimate of the future pose of the shovel, and the locations of obstacles to avoid. To predict the future pose of the shovel, a dynamics model of the shovel that relates the currents applied to the shovel’s DC motors to the joint accelerations is required. In this chapter, the development of a kinematics and dynamics model of a P&H rope shovel is described. This model incorporated unique mechanical characteristics of the machine, improving the accuracy of the modelled end effector location compared to simpler models. A series of tests were performed on a P&H 2800 XPB rope shovel using the suite of embedded sensors presented in Section 2.2.1 and Section 2.3.1. The data collected were used to estimate the inertia, mass, and friction parameters needed to mimic the response of the shovel to the operator inputs. A nonlinear optimization method was used to identify the inertia, mass, and friction parameters of the machine without using velocity and acceleration mea1A version of this chapter is being prepared for submission. 19 surements. Using the estimated inertia, mass, and friction parameters, the dynamics model was able to reproduce the same joint motions as recorded on a full scale rope shovel. 3.1.1 The Challenge of Inertia Parameter Estimation To avoid collisions, operators will likely apply maximum command inputs to the machine and reach the machine’s acceleration limits. For collision avoidance it is important to know the inertia parameters of the machine so that its acceleration limits can be modelled. Estimation of the inertia parameters is often required when developing control systems for robots since many robot manufacturers do not provide data on the mass and inertia of the links. Whereas measuring the inertia of each link individually is sometimes an option with smaller robots, it can often be impractical as the robot must be disassembled and each piece must be carefully weighed and balanced [2]. For this research, the inertia parameters of the shovel were not readily available from the shovel manufacturer. Only approximate masses for certain links and the location of each link’s centre of gravity were available. The size of a rope shovel would make it extremely difficult to measure the inertia parameters of the links directly. One way to estimate the inertias is to estimate them numerically using a 3D CAD model. CAD models are usually proprietary to manufacturers, and would have limited value anyway due to differences in the product as manufactured or delivered, and subsequent end-user machine customization. Direct tests in which the joints are excited have been shown to provide parameter estimates that lead to better control [2]. Thus, the most practical method of obtaining the inertia parameters of a shovel is by exciting the links while measuring the applied torques and resulting joint motions to estimate the parameter values. The traditional method for estimating the inertia parameters of a robot is to rearrange the dynamics equation of the system into the form, τ = Y (q, q, ˙ q)π ¨ (3.1) where τ is a vector that contains the torques or forces applied to each link, Y is a matrix defined by the state parameters (joint positions, velocities, and accelerations), and π is a vector containing the inertia and mass parameters to be solved. 20 The elements of the π vector are typically combinations of inertia and mass parameters. Once τ and Y have been formed using a set of data, the pseudoinverse of Y is used to form a least squares solution for π [2]. This solution method depends on the use of precise position, velocity, and acceleration data in the Y matrix. Sensors used on full-scale mining equipment have limited recording rates and are often subjected to strong vibrations during operation. If the position data collected for a joint is noisy and its recording rate is low, it is difficult to differentiate the data to obtain accurate velocity and acceleration values. Furthermore, on electric rope shovels drivetrains undergo considerable vibrations during operation which cause strong ripples in the measured current. Corresponding vibrations cannot be observed in the motion of the joints because of their large inertia. For systems containing many unknown parameters, this makes the least squares solution of the inertia and mass parameters difficult to solve. Prior research has not described methods for obtaining the inertia parameters of rope shovel components. Published research focuses on the modelling that can be done on a shovel but without inertia parameters none of these models are useful. A nonlinear optimization method is presented here for determining the inertia parameters of the links needed to fully model the dynamics of a rope shovel. The method does not use calculated velocity and acceleration data, thus avoiding the drawbacks of differentiating noisy data. The developed method will be beneficial for developing control systems for shovels without specific knowledge of the shovel parameters. 3.1.2 Background: A Rope Shovel Electric rope shovels are used in open pit mines to load material into haul trucks. Figure 3.1 shows a diagram of one configuration of a P&H shovel with the main components and functions of the shovel. Shovels from other manufacturers have similar geometries but use cable drives rather than a rack and pinion to actuate the crowd/retract motion. This research focuses on P&H machines. The carbody, on which the shovel sits, has a pair of caterpillar tracks that propel it along the ground. While digging, the tracks are not used. The upper portion (house) swings about O0 . A boom, which supports the digging assembly, is mounted on the front 21 of the house (at O1 ) and extends up at an angle of approximately 45◦ . The dipper handle rests on a pinion (the shipper shaft) midway up the boom (at O2 ) that rotates to prismatically extend (crowd) and retract the dipper handle. The dipper handle is held against the shipper shaft by saddle blocks on either side of the boom that rotate with the dipper handle as it is raised and lowered. A torsion bar, located near the end of the dipper handle (at O4 ), was used as a reference point from which points on the dipper could be referenced. A hoist cable runs from inside the house, over the end of the boom sheave (at Obs ) and down to the bail connector (at Obc ) on the dipper. The cables are used to hoist and lower the dipper and thereby rotate the dipper handle about the contact point with the shipper shaft (O3 ). The cables provide an additional degree of complexity when modelling the dynamics of the shovel as they only act in tension. O5 Dipper Boom O0 Swing er Dipper Handle retract crowd O2 House Obc O4 low O3 Obs st le ab hoi C ist Ho O1 Carbody Figure 3.1: The main components (Carbody, House, Boom, Dipper Handle, and Dipper) of a shovel are shown along with the names of the motions (functions) the shovel can perform and the location of the coordinate frame origins used for forward kinematics. DC motors with separately excited fields are used to activate all of the digging functions (swing, crowd/retract, and hoist). Pairs of motors, connected in series, power the swing and hoist functions while a single motor powers the crowd/retract function. The operator controls the shovel using two joysticks. The three digging 22 functions are controlled independently by three of the four joystick axes while the fourth axis controls the shovel’s horn and the dipper trip to empty the dipper. The hoist and crowd functions are voltage (speed) controlled whereas the swing function is current (torque) controlled, with a voltage limit to set the maximum speed. 3.2 3.2.1 Method Choice of Link Reference Frame Placement and DH Parameters To predict the motion of the shovel, a dynamics model of the shovel can be created by examining it as a serial manipulator. Reference frames were assigned to each link of the shovel to create a mathematical model of its geometry. The DenavitHartenberg (DH) convention was used to assign each link’s reference frame orientation and location. Figure 3.2 shows the reference frames used to model the shovel as a linkage. The direction of rotation of the swing (θ1 ), boom (θ2 ), and saddle block (θ3 ) were assigned according to the right hand rule about the z axes of frames 0, 1, and 2 respectively. Although link 2 (the boom) does not move during operation, it was defined as a link so that changes in θ2 could be accounted for in the forward kinematics equations when the boom is taken down for maintenance and restored at a possible different angle. l1 represents the distance from the swing axis to the pivot at the base of the boom. l2 represents the distance from the pivot point at the base of the boom to the centre of shipper shaft on which the dipper handle rests. l3 represents the radius of the shipper shaft, rss . Table 3.1 shows the DH parameters of the shovel. In Figure 3.1, the revolute joints are shown in their assigned zero position. The offsets between the axes are accounted for by the DH parameters. 3.2.2 Forward Kinematics Equations The forward kinematics equations defining the frame orientations and locations, based on the joint angles and extensions, were defined using the DH parameters in Table 3.1. The swing, boom, and saddle block joints are revolute joints and can be 23 x3 x4 y 4 z4 z3 y3 x2 y2 z2 d l3 z0 y0 y1 x0 z1 x1 l2 l1 Figure 3.2: Reference frames for each link of the shovel. The dimensions are not to scale. Table 3.1: DH parameters of the Rope Shovel Link θi di ai αi 1 2 3 4 (θ1 ) (θ2 ) + 45 (θ3 ) + 45 0 0 0 0 (d) l1 l2 l3 0 90 0 90 0 defined in the standard way. The prismatic joint between the saddle block and the dipper handle, however, must be examined more carefully. The dipper handle is held against a pinion (at O3 ) by the saddle blocks. The dipper handle is extended and retracted by rotating the shipper shaft. When the dipper handle is hoisted or lowered it is effectively rotating around the shipper shaft. With the shipper shaft held still, hoisting will extend and lowering will retract the dipper handle with respect to the origin of the saddle block. The forward kinematics equations for the dipper handle were modified by adding an extra term to account for the extension of the dipper handle caused by the angle of the dipper handle. The extension of the dipper handle, d, was replaced in the following manner where rss is the radius of the shipper shaft 24 and θ3 is the angle of the dipper handle: d → d + rss θ3 3.2.3 (3.2) Inertia Parameter Selection According to the DH convention, the link centre of gravity locations and inertia matrices were assigned with respect to each link’s body-fixed reference frame. The body-fixed reference frames were oriented along the links’ principal axes such that the body-attached representation of each link’s inertia tensor would be diagonal. The total number of inertia parameters for the shovel is 12, 3 for each link (the house, boom, saddle block, and dipper handle with dipper). The goal of this work is to estimate the inertia and mass parameters of the shovel as well as parameters that describe the friction and inertia of the drive mechanisms. Twelve inertia parameters is a large number of variables to estimate. Given the kinematics constraints on the motion of the shovel it is possible to combine some of the inertia parameters and represent them as single parameters. For example, since the house and boom do not move with respect to one another (except when the machine is undergoing maintenance) it is reasonable to consider them as a single body thereby reducing the number of inertia parameters by 3. Furthermore, since the house and boom only rotate about the vertical axis, only the element of the inertia matrix corresponding to the vertical axis is needed to model the motion of the shovel. This further reduces the number of parameters by 2. Assuming that the shovel is operated on level ground, it is possible to ignore the masses of the house and boom and lump them with the house inertia. If the machine were operated on inclined terrain, the masses and centre of gravity locations of the house and boom would have to be included in the solution because their centres of gravity do not lie on the swing axis and would rise and fall as the machine rotates. The saddle block and dipper handle are connected by a prismatic joint so their frames of reference are always aligned although their reference frame origins move with respect to one another as the joint extends. The Huygens-Steiner formula (parallel axis theorem) shows how a body’s inertia tensor, Jc , represented about 25 point c, can be represented about another point, o, where m is the mass of the body. Jo = Jc − m[(c − o)×]2 (3.3) Where × is the skew operator which is applied in the following manner: a1 −a3 0 a = a2 , a× = a3 −a2 a3 0 a1 a2 −a1 0 (3.4) the inertia tensor of the saddle block, Jsb , and the inertia tensor of the dipper handle, Jdh , are formed using the same body-fixed reference frame, C, and the inertia matrices Isb and Idh . Isb = isbxx 0 0 isbyy 0 0 0 0 Idh = isbzz idhxx 0 0 0 idhyy 0 0 0 idhzz Jsb = CIsbCT Jdh = CIdhCT (3.5) Using the Huygens-Steiner formula the inertia tensors for the saddle block and the dipper handle can be combined in the following manner where odh and osb are the frame origin locations measured with respect to the global reference frame. Jsbdh = CIsbCT +CIdhCT − mdh [(odh − osb )×]2 (3.6) The first two terms on the right hand side can be combined to obtain the following equation: Jsbdh = C(Isb + Idh )CT mdh [(odh − osb )×]2 (3.7) Since the reference frames of both links are always aligned the inertia tensor representing both the saddle block and the dipper handle is only affected by the mass of the dipper handle and how far it is translated. The dynamics model will behave identically whether Isb and Idh are left separate or if one is set to zero and an inertia matrix representing the combined inertia of the saddle block and dipper handle is used for the other. Therefore, a new inertia matrix representing the combined in26 ertia of the dipper handle and the saddle block was used to reduce the number of inertia parameters of the system by 3. Isbdh = Isb + Idh = isbxx + idhxx 0 0 0 isbyy + idhyy 0 0 0 isbzz + idhzz (3.8) To further reduce the number of inertia parameters, the parameters that influence the overall swing inertia (the inertia observed by the swing motors) were examined. There are now four variables that influence the overall inertia about the swing axis: the combined inertia of the house and boom (ihbyy ), the combined inertias of the saddle block and dipper handle (isbdhxx and isbdhzz ), and the dipper handle mass (m4 ). When the dipper handle is horizontal, only the x component (isbdhxx ) of the dipper handle inertia influences the overall swing inertia. Conversely, when the dipper handle is vertical, only isbdhzz influences the overall swing inertia. When the dipper handle goes from horizontal to vertical, the overall swing inertia changes by the difference between isbdhxx and isbdhzz . The influence of the dipper handle inertia on the overall swing inertia is a function of the dipper handle angle and the difference between isbdhxx and isbdhzz . When solving for the inertia parameters, isbdhxx can be set to zero by assuming that it is lumped in with the house and boom inertia (ihbyy ). Thus, isbdhzz will represent the difference between isbdhzz and isbdhxx . By setting isbdhxx to zero, only 3 inertias (ihbyy , isbdhyy , and isbdhzz ) and the mass of the dipper handle (m4 ) are required to model the motion of a rope shovel. Reducing the number of parameters necessary for modelling the shovel greatly simplifies the task of estimating the inertia parameters of the shovel. 3.2.4 Development of Dynamics Equations The Euler-Lagrange approach was used to obtain the D, C, and G matrices for the following dynamics equation where q is a vector of the angle or extension of each joint and u is the vector of the torque or force applied to each joint. D(q)q¨ +C(q, q) ˙ q˙ + G(q) = u 27 (3.9) The D, C, and G matrices contain the inertia, mass, and DH parameters of the shovel. Friction Viscous friction was simulated in all joints. The joint velocity and a viscous friction coefficient were used to calculate the force or torque opposing each function. Ff riction = −θ˙ µviscous (3.10) Austin and McAree modelled the transmission friction in the hoist and crowd functions of a P&H rope shovel and found that the friction in these functions could be well characterized by a ”Coulomb-friction-with-uncertainty” model [3]. Coulomb friction was implemented on all joints to see if the model’s performance could be improved. When solved together, the Coulomb and viscous friction parameters obtained using the collected data did not change the behaviour of the dynamics model. When applied without viscous friction, the Coulomb friction obtained from the solver decreased the model’s performance. Therefore, Coulomb friction was left out and only viscous friction was used. The results presented by Austin and McAree show that a more sophisticated model of friction may have improved the dynamic model’s performance. 3.3 Dynamics Model The dynamics equation was implemented in Mathworks SimulinkTM . Figure 3.3 shows the implementation of the dynamics model in SimulinkTM that calculates the joint positions of the model (q) using the input torques and force (u). The C and D matrices and the G vector were implemented in C MEX code for speed. A PD controller (bottom of Figure 3.3) was added to prevent the dipper handle from moving beyond the physical limits of the machine. The input to the 28 D u + + + 0 Calculate inverse −1 Matrix Multiply D q¨ Calculate D Matrix Integrate q˙ Integrate q q - + + C q˙ τlimit Flimit Calculate C Matrix C Matrix Multiply Calculate G Vector G PD controller to Limit Dipper Handle Angle and Extension Figure 3.3: Dynamics equations modelled in SimulinkTM . model, u, is a 3-element vector: τ1 u = τ3 F4 (3.11) Where τ1 is the torque applied by the swing motor to the swing joint, τ3 is the torque about the shipper shaft caused by the hoist cable tension which controls the dipper handle angle, and F4 is the force along the dipper handle generated by the crowd motor and the hoist cable tension (Th , introduced in Section 3.3.2). To determine τ3 and F4 , the hoist rope was modelled as a stiff spring and damper. The reaction forces of the spring damper were applied to a model of the hoist motor and drivetrain which simulated the dynamics of the hoist mechanism. Since the hoist cable cannot act in compression, only tensile forces generated by the spring damper were applied to the model. The position of the dipper handle was used to determine the length of the hoist cable and the direction of the tension force applied to the dipper handle at Obc . 3.3.1 Rope Length The inverse kinematics for determining the length of the hoist rope have previously been published by Dunbabin and Corke [11]. However, the calculations assumed 29 the hoist rope had a constant wrap around the boom sheave and that the contact point between the dipper and the shipper shaft was stationary. The following analysis takes the configuration of the dipper handle into account to adjust the angle, α, from which the rope leaves the boom sheave. Figure 3.4 shows the geometry of the hoist rope and dipper handle. The origins of the reference frames are located at the intersection of their respective axes. As this is a two-dimensional problem it is simplified by using only x and y axes at the frame origins. The locations of the various points can be easily transferred into these coordinate frames from the frames shown in Figure 3.2. ybs rbs,p p α xbs lboom y3 y2 rbc,p −θ3 d O2 r2,3 x2 x3 ybc y4 r4,bc O4 x4 xbc Figure 3.4: Dipper handle and hoist rope geometry. To determine the wrap of the rope around the boom sheave, the two vectors that must be considered are the vector from the centre of the boom sheave to the point where the rope departs the sheave (p), bs bs T rbs,p = [xbs,p , ybs bs,p , 0] 30 (3.12) and the vector from the bail connector to point p, bs bs bs rbc,p = rbs,p − rbs,bc (3.13) bs where rbs,bc is the vector from the boom sheave centre to the bail connector. All three vectors are defined in the bs frame, centered on the boom sheave. Along bs , the hoist rope is connected to the bail connector (at O ) with an the vector rbc,p bc equalizer bar. For this work, the length of the equalizer bar is absorbed into the length of the rope. It is assumed that the equalizer bar and the rope are aligned, although high friction between the equalizer bar and bail connector can prevent perfect alignment. bs 2 , from O to O , To determine rbs,bc three vectors are used: the vector, r2,4 2 4 2 , from O to O , and the constant vector, r 2 , from O to O . the vector, r4,bc 4 2 bc bs 2,bs 2 can be determined using the measured dipper handle extension (d), the dipper r2,4 2 ). The location of the handle angle (θ3 ), and the radius of the shipper shaft (r2,3 4 , can be bail connector (Obc ) with respect to O4 , defined by the fixed vector r4,bc 2 , with a rotation of θ about the z-axis. The vector expressed in frame 2, as r4,bc 3 2 r2,bs has the constant length lboom and is fixed. The vector from the boom sheave to bs , can be found using these vectors in the following manner the bail connector, rbs,bc (note that frames 2 and bs are aligned): bs bs T 2 2 2 rbs,bc = [xbs,bc , ybs bs,bc , 0] = r2,4 + r4,bc − r2,bs (3.14) bs can be written as, From (3.13), rbc,p bs bs bs bs T rbc,p = [xbs,p − xbs,bc , ybs bs,p − ybs,bc , 0] (3.15) bs and ybs ) Two equations are developed to solve for the two unknowns (xbs,p bs,p in (3.12) and (3.15). First, an assumption is made that the rope departs the sheave at a right angle to the sheave radius. Mathematically this is expressed as the dot bs and r bs being equal to 0, product of rbs,p bc,p bs bs bs bs bs xbs,p (xbs,p − xbs,bc ) + ybs bs,p (ybs,p − ybs,bc ) = 0 31 (3.16) Second, the magnitude of rbs,p is constant and equal to the radius of the boom sheave, rbs , bs 2 2 (rbs )2 = (xbs,p ) + (ybs bs,p ) (3.17) bs and ybs yields, Solving (3.16) and (3.17) simultaneously for xbs,p bs,p bs xbs,p = bs ∓ ybs rbs rbs xbs,bc bs,bc bs )2 + (ybs )2 − r 2 (xbs,bc bs bs,bc (3.18) = bs rbs rbs ybs bs,bc ± xbs,bc bs )2 + (ybs )2 − r 2 (xbs,bc bs,bc bs (3.19) bs )2 + (ybs )2 (xbs,bc bs,bc and, ybs bs,p bs )2 + (ybs )2 (xbs,bc bs,bc Two solutions are obtained. Observing that the boom sheave is located to the left of the rope, choose the solution that satisfies, bs bs × rbs,p ≤0 rbc,p (3.20) From here α can be determined as, bs α = atan2(ybs bs,p , xbs,p ) (3.21) and the rope length between the sheave and the bail connector is equal to the magnitude of the vector rbc,p : bs h = rbc,p = bs − xbs )2 + (ybs − ybs )2 (xbs,p bs,bc bs,p bs,bc (3.22) If the rope length from the drum to the top of the boom sheave is L1 , then the total rope length, L, is L = L1 + h + (π/2 − α)rbs (3.23) where the last term represents the amount of rope wrapped around the boom sheave. 32 3.3.2 Hoist Cable Equivalent Torque and Force As described in Section 3.2.2, the dynamics model simulated the shovel as a serial manipulator. In this model, the dipper handle angle was controlled by a torque (τ3 ) applied to the saddle block (link 3) about the shipper shaft and the extension was controlled by a force (F4 ) applied along the dipper handle. On an actual shovel, the angle of the dipper handle is affected by both the hoist cable length and the extension of the dipper handle. To model the influence of the hoist cable, the equivalent torque (τ3 ) and crowd/retract (Fch ) force generated at the saddle block by the hoist cable must be calculated. To calculate these, three vectors must be known. First, the normalized vector rbc,p , expressed as rˆbc,p , to represent the direction of the hoist cable tension. Second, r2,bc (from O2 to Obc ), the lever arm used to calculate τ3 . Third, the normalized vector r3,4 , expressed as rˆ3,4 , along the dipper handle (from O3 to O4 ) to calculate the force the hoist cable tension exerts parallel to the dipper handle. These vectors are shown in Figure 3.5. The equivalent torque on ybs rbs,p p xbs y3 rbc,p rˆ3,4 x3 r2,bc ybc y4 rˆbc,p O2 x4 xbc Figure 3.5: Vectors used to calculate equivalent torque and crowd force generated by hoist cable. 33 link 3 (the saddle block) about the shipper shaft (at O2 ) generated by the hoist cable tension (Th ) is, τ3 = Th (r2,bc × rˆbc,p ) (3.24) while the crowd force generated by the hoist cable tension (Th ) on the dipper handle is, Fch = Th (ˆrbc,p • rˆ3,4 ) (3.25) τ3 is the input to the dynamics model for the torque about axis z2 that affects the dipper handle angle, θ3 . Fch is added to the force generated by the crowd motor to make F4 (3.11), which is applied to the dynamics model to extend or retract the dipper handle. To calculate τ3 and Fch the hoist cable tension (Th ) must be determined. To do this two measures of the length and speed of the cable were used. The first used the hoist motor and drum position and the second used the arm geometry. The hoist cable is wrapped around a drum that is driven by the hoist motors. The position of the drum controls the cable length. The hoist motor and cable drum were modelled as a single rotor to which the motor torque, viscous friction torque, and the cable tension were applied. The drum position and velocity were multiplied by the drum radius to obtain the cable length and velocity, Lmotor and L˙ motor . For the second measure, the hoist length was calculated using the arm geometry with the equations described in Section 3.3.1. The length and velocity of the hoist rope calculated using the arm geometry using (3.23) are defined as Lactual and L˙ actual . The hoist cable was modelled as a very stiff spring damper with spring constant, ks , and damping constant, kd . The tension in the cable was calculated as, Th = ks (Lactual − Lmotor ) + kd (L˙ actual − L˙ motor ) (3.26) Since the hoist cables can only act in tension, negative values of Th were set to zero. The SimulinkTM blocks used to implement the hoist mechanism are shown in Figure 3.6. The hoist motor armature and field currents are used with the rope tension in the first block to model the motion of the hoist drum and motor. The rotational inertia and viscous friction of the hoist drivetrain are modelled in this 34 block. The second block uses the drum position and speed as well as the current joint positions and velocities to calculate the hoist tension using (3.26). The third block uses the hoist tension and arm geometry to calculate τ3 and Fch using (3.24) and (3.25). Cable Tension Hoist Motor and Drivetrain Ia Hoist Armature Current If Hoist Field Current Cable Model Drum Position Drum Speed Drum Position Drum Speed Hoist Cable Equivalent Torque and Crowd Force q˙ Joint Speeds q Joint Positions Equivalent Torque at Saddle Block Cable Tension Cable Tension Joint Positions τ3 Equivalent Force along Dipper Handle Fch Figure 3.6: SimulinkTM implementation of hoist mechanism. Figure 3.7 shows the SimulinkTM implementation of the first block. As the drum and motor rotate together they are modelled as a single rotor. The motor torque, viscous friction, and cable tension are applied to the rotor inertia, J, and the speed and position are obtained using integrators. As the drum position increases the hoist cable length increases, lowering the dipper handle. Hoist Armature Current Ia Hoist Field Current If τmotor Lm Multiply Gear Ratio Motor Mutual Inductance µviscous + Cable Tension Drum Radius + 1 J θ¨drum Integrate Drivetrain Inertia θ˙drum Integrate θdrum Drum Position Drum Speed Figure 3.7: SimulinkTM implementation of hoist motor and drivetrain. 35 3.3.3 Crowd and Swing The torques generated by the crowd and swing motors were calculated using each motor’s field current, armature current, and mutual inductance using (3.27). The swing torque and crowd force applied to the dynamics model were calculated using the transmission reductions provided by the shovel manufacturer. The viscous friction for each joint was calculated using each joint’s velocity and viscous friction coefficient. The calculated swing motor and viscous friction torques were applied to the dynamics model as τ3 in (3.11). The crowd force and viscous friction were added to Fch in (3.25) to create the total crowd force, F4 in (3.11), that was applied to the model. 3.3.4 Data Collection To solve for the inertia parameters the position of each joint and the torque generated by each DC motor are required. The torque generated by a DC motor is a function of the current flowing through the armature and field windings and the mutual inductance between the armature and the field: τ = Lmutual i f ield iarmature (3.27) Thus, in addition to the joint positions, the armature and field currents of each motor were recorded during tests. The mutual inductance of each motor was calculated using data available from the manufacturer. An encoder was mounted to the swing motor shaft to measure the swing angle. The boom angle and dipper handle angle were measured using two sets of gravity-referenced accelerometer pairs [14]. One pair was installed at the base of the boom and the second pair at the saddle-block to measure the boom and dipper handle angles. A laser range finder was installed on the saddle block to measure the dipper handle extension. Details of the installation are described in Chapter 2. Data from the accelerometers and encoder were recorded at 30Hz while the rangefinder data was recorded at 4Hz. The rangefinder (a SICK SENSICK DT 500 laser rangefinder) was chosen for its rugged construction that allowed it to operate over a wide temperature range. Other rangefinders were found that can record at higher data rates but they were not suitable for the rugged mining environment. 36 The rangefinder measured the distance from the saddle block to the end of the dipper handle. As explained above, the dipper extension is influenced by the angle of the dipper handle. To correlate the dipper extension with only the movement of the shipper shaft and crowd motor the rangefinder data was adjusted by subtracting the term added in (3.2) from the measured extension to remove the influence of the dipper angle on the measured extension. The armature and field currents and voltages for the swing, hoist, and crowd functions of the shovel were measured from the control frame outputs in ±10V signals. These were run through a signal isolator and then to a DAQ board in a Motion Metrics embedded computer that was also used to record the signals from the encoder, accelerometers, and rangefinder. All voltages and currents were measured at 480Hz. A number of simple movements were used to excite the shovel for inertia parameter estimation. To estimate the inertia parameter of the saddle block and dipper handle aligned with the shipper shaft axis (isbdhyy ) and the mass of the dipper handle (m4 ), the dipper handle was hoisted and lowered at different speeds and at different extensions. To estimate the inertia parameters that influenced the swing function (ihbyy and isbdhxx ) the shovel was swung left and right with the dipper handle held at different angles and extensions. Varying the angle of the dipper handle for different swing motions made it possible to solve for isbdhxx which represents the difference between the saddle block and dipper handle inertias that lie along the x3 and z3 axes. Changing the amount of extension ensured that the mass of the dipper handle could be isolated and not lumped into one of the inertia parameters. 3.3.5 Nonlinear Optimization of Inertia, Mass, and Friction Parameters An unconstrained nonlinear optimization method was used to solve for the inertia, mass, and friction parameters of the model using data collected on a full scale shovel. The traditional approach is to use the recorded joint positions, velocities, and accelerations to calculate estimates for the joint torques and forces using the dynamics equations with estimated values for the inertia, mass, and friction parameters. In a conventional approach, the estimated joint torques are then compared to the actual joint torques and forces measured on the machine to adjust the estimated 37 inertia, mass, and friction parameters using a least squares method (described in Section 3.1.1). The velocity and acceleration measurements used are found by taking successive derivatives of the position measurements. This introduces a substantial amount of noise, making it difficult to obtain reliable results. Strong oscillations were observed in the measured hoist current. Corresponding oscillations in the acceleration in the measured dipper handle angle or the calculated hoist rope length were not observed. As mentioned in Section 2.2, the saddle block can rock back and forth on the dipper handle, affecting the dipper handle angle measurement. This hysteresis was not modelled in the dynamics equations, adding another discrepancy between the dynamics model and the measured data. The swing joint is driven by a pinion riding on a large ring gear. The machine is supported on large roller bearings. Because of the dirty environment these parts are heavily lubricated and are not manufactured or fitted precisely. The strong vibrations caused by the loose fitting transmission and roller bearings caused strong oscillations that were observed in the swing motor acceleration. The input current to the swing motor, was smooth. Because of the discrepancies between the measured current and acceleration data and the noise generated by differentiating position data to obtain velocity and acceleration, the traditional least squares approach to solving the dynamics parameters did not work. Because of the issues affecting the traditional least squares method, an alternative method for solving the inertia, mass, and friction parameters was adopted that did not require the use of differentiated velocity and acceleration data throughout the solution. For each function, short segments of data during which the joint was accelerating were chosen for the solution of parameters associated with that function. For each data segment, the currents applied to each motor were used as inputs to the dynamics model. The dynamics model was initialized with the same joint positions and velocities as the first point in the measured time segments. The velocity used to initialize the model was the only use of derived position data in this method. The model was run using initial estimates of the inertia, mass, and friction parameters. The joint positions from the model were compared to the joint positions recorded on the machine to generate an error metric. The error metric was used as the input to a nonlinear optimization to adjust the estimates of the inertia, mass, and friction parameters. The new parameter estimates were run through 38 the dynamics model until the error metric was minimized. This method permitted the inertias to be solved without relying heavily on velocity and acceleration data for the joints. Figure 3.8 shows a flow chart describing the method used to estimate the inertia, mass, and friction parameters. Initial Parameter Estimates Recorded Hoist or Swing Currents Dynamics Model Model Joint Positions x Updated Parameter Estimates Error Metric n � i=1 y Recorded Joint Positions (xi − yi )2 Nonlinear Optimization No Converged? Yes Final Parameter Solution Figure 3.8: Flow chart of the method used to estimate the inertia, mass, and friction parameters. For each parameter a range of possible values was defined using approximate data obtained from the manufacturer to constrain the solver to known reasonable values. 39 3.4 3.4.1 Results Hoist For the hoist function, a series of 3- to 10-s data segments during which the hoist function was moving and the swing joint was stationary were chosen. Recall that the position of the dipper handle (θ3 and d) is a function of both the hoist and crowd functions. For example, if the hoist function is kept stationary and the dipper handle is extended or retracted the dipper handle angle will change because it is suspended from the hoist cable. To isolate the hoist function from the crowd function during the solution of hoist parameters, the model’s dipper handle extension was adjusted to the same position as in the collected data. The crowd motor was removed from the model and the dipper extension was adjusted using PD control. Using 9 data segments the solution of the parameters took 83min using Matlab running on one core of a 1.86GHz Intel core 2 duo computer. The solved hoist parameters are shown in Table 3.2. Table 3.2: Model parameters for the hoist function m4 isbdhyy Hoist Drum/Drivetrain Inertia Hoist Drivetrain Viscous Friction 100200 kg 3000 kgm2 8 kgm2 261300 Nms/rad Figure 3.9 shows segments of data where the model was run with the same hoist current input as the data recorded on the shovel. As in the solution of the data, the dipper handle extension of the model was adjusted to be at the same position as in the recorded data. This allowed for the comparison of the hoist function in the model and with the behaviour of the actual machine in segments where the dipper extension was not fixed. For these segments, the mean absolute error, maximum absolute error, and standard deviation of the absolute error are presented in Table 3.3 40 Table 3.3: Hoist model error Mean Absolute Error Max Absolute Error Standard Deviation 41 3.3◦ 11.5◦ 2.7◦ Dipper Handle Angle Dipper Handle Angle ï20 ï20 ï40 degrees ï40 0 degrees degrees Dipper Handle Angle ï20 20 ï60 ï80 0.5 1 1.5 2 2.5 3 Time (s) Dipper Handle Angular Velocity 3.5 4 0 4.5 ï60 ï80 ï100 0 ï40 0.5 1 1.5 2 Time (s) Dipper Handle Angular Velocity 2.5 3 0 10 20 30 40 Time (s) Dipper Handle Angular Velocity 50 0 10 20 30 Time (s) Hoist Current 40 50 0 10 20 30 Time (s) Dipper Extension 40 50 0 10 20 30 Time (s) 40 50 15 10 0 ï5 degrees/s degrees/s degrees/s 10 10 5 5 0 1 1.5 2 2.5 Time (s) Hoist Current 3 3.5 4 0 4.5 1500 1000 1000 Amps 1500 500 0.5 1 1.5 Time (s) Hoist Current 2 2.5 ï10 3 1000 Amps 0.5 500 500 0 0 0 0.5 1 1.5 2 2.5 Time (s) Dipper Extension 3 3.5 4 0 4.5 15 14 13 12 0.5 1 1.5 2 Time (s) Dipper Extension 2.5 3 13 14 12 13 11 12 m 0 m 42 Amps 0 m 0 ï5 ï5 ï10 10 11 9 11 10 5 10 8 0 0.5 1 1.5 2 2.5 Time (s) a 3 3.5 4 4.5 9 0 0.5 1 1.5 Time (s) b 2 2.5 3 c Figure 3.9: Plots of simulated hoist function behaviour (grey) alongside collected data (black). a) shows the hoist function holding the dipper handle angle steady, b) shows a short hoisting segment, and c) shows a longer segment with both lowering and hoisting. 3.4.2 Swing A series of 3- to 20-s data segments were chosen in which the shovel was swinging with the dipper handle held at various angles and extensions. To make it possible to solve for the swing parameters, segments were chosen to cover portions of data during which the swing function was accelerating. Having already solved for the dipper handle mass (m4 ) using data from the hoist function, the swing function can be used to solve for the house and boom inertia (ihbyy ), the z inertia component of the saddle block and dipper handle (isbdhzz ), and the swing viscous friction coefficient. Using 10 data segments the solution of the swing parameters took 25min using Matlab running on one core of a 1.86GHz Intel core 2 duo computer. The solved swing parameters using the value for m4 solved above are shown in Table 3.4. Table 3.4: Model parameters for the swing function ihbyy isbdhzz Swing Viscous Friction 25106100 kgm2 892600 kgm2 1462300 Nms/rad Recall that the value of isbdhzz represents the difference between the x and z components of the saddle block and dipper handle inertia matrix. The positive value for isbdhzz indicates that the z component of the dipper handle inertia is greater than the x component. The plots in Figure 3.10 show the swing data measured at the mine and the behaviour of the dynamics model’s swing function run with the solved swing parameters plotted. For the same segments the mean absolute error, the maximum absolute error, and the standard deviation of the error are shown in Table 3.5. Table 3.5: Swing model error Mean Absolute Error Max Absolute Error Standard Deviation 43 0.9◦ 2.0◦ 0.4◦ Swing Angle 60 40 20 0 0 1 2 3 4 5 6 Time (s) Swing Velocity 7 8 Swing Angle Swing Angle (degrees) Swing Angle (degrees) Swing Angle (degrees) Swing Angle 80 60 40 20 0 0 9 2 4 6 8 10 Time (s) Swing Velocity 12 14 0 ï20 ï40 ï60 ï80 16 0 0.5 1 1.5 2 2.5 3 Time (s) Swing Velocity 3.5 4 4.5 0 0.5 1 1.5 2 2.5 3 Time (s) Swing Acceleration 3.5 4 4.5 0 0.5 1 1.5 2 3.5 4 4.5 0 0.5 1 1.5 2 3.5 4 4.5 5 5 0 ï5 0 ï5 ï10 ï10 1 2 3 4 5 6 Time (s) Swing Acceleration 7 8 4 6 8 10 Time (s) Swing Acceleration 12 14 16 ï2 6 degrees/s2 degrees/s2 44 degrees/s2 2 4 0 ï4 2 0 ï2 0 1 2 3 4 5 6 Time (s) Swing Current 7 8 9 0 2 4 6 8 10 Time (s) Swing Current 12 14 16 Amps 0 1 2 3 4 5 Time (s) a 6 7 8 9 2.5 3 Time (s) Swing Current 2000 0 1000 0 ï1000 ï2000 2 ï2 1000 ï1000 4 0 ï4 0 Amps ï10 ï15 0 9 2 ï6 0 ï5 ï15 0 Amps ï15 5 degrees/s 10 degrees/s degrees/s 10 10 0 2 4 6 8 10 Time (s) b 12 14 16 2.5 Time (s) c Figure 3.10: Plots of simulated swing function (grey) alongside collected data (black). 3 3.4.3 Crowd The crowd motor drives the shipper shaft through a belt driven transmission. This belt dampens the shocks on the drivetrain during operation and slips when under large loads. This means that a lot of the energy applied by the motor can be dissipated in the drivetrain if the belt is not tensioned correctly or if the belt is worn. Furthermore, the saddle blocks, used to hold the dipper handle against the shipper shaft, slide against the dipper handle as it moves. The friction between the saddle block and the dipper handle will vary depending on the dipper handle angle. In the collected data, the changes in current applied to the crowd motor did not match up with changes in acceleration of the dipper extension. Large changes could be matched with the dipper handle extension but smaller accelerations did not match up with current spikes as were observed with the hoist and swing functions. This made it difficult for the solver to determine the friction parameters for the crowd mechanism. To examine the model forces required to move the model’s dipper handle as it did in the recorded data, the same PD controller used in the hoist estimation to control the dipper handle extension was used in the model. The output of the PD controller required for the model’s dipper handle extension to match the extension recorded on the shovel showed that there were forces acting in the crowd mechanism that were not modelled. 3.5 Discussion Using the described method it was possible to obtain inertia, mass, and friction parameters to accurately model the hoist and swing functions of a full scale P&H 2800 XPB rope shovel. The mass and inertia parameters necessary for modelling the dynamics were found using the machine’s kinematics. If two parameters contribute equally to a certain motion it is impossible for the solver to determine their values. Therefore, such parameters were combined. This made it possible to obtain consistent results from the optimization method. Examples of this are combining the saddle block and dipper handle inertia matrices and lumping the boom inertia and mass with the house inertia. When reducing the number of inertia parameters it was assumed that the machine operated on level ground. If the machine did not 45 operate on level ground the mass of the boom and house would need to be added to the solution to account for their change in height during swing. Except for a few sections with fast changes in direction, the model followed the recorded hoist data closely. During changes in direction it is possible for the saddle block to pivot back and forth on the dipper handle as discussed in Section 2.2. Since the dipper handle angle was measured on the saddle block this may have contributed to the high maximum absolute error observed for the dipper handle angle. Nonetheless, as shown by the plots in Figure 3.9, the hoist function was modelled well. For comparison, the estimated dipper handle with dipper mass was 100200kg while, in the manual for a similar machine, the dipper handle with dipper mass is 97000kg [26]. A larger installed dipper or modifications to the dipper teeth on the machine could easily account for the difference between these two values. Using this model, it would be possible to predict a collision using the inputs to the machine and to determine the latest possible time when the operator should hoist to clear an obstacle. The radius of the shipper shaft and the hoist cable wrap on the boom sheave were accounted for in the model of the shovel. It was important to include the radius of the shipper shaft in the kinematics model to account for the change in extension that occurs when the dipper handle angle changes. Without this and depending on the dipper handle angle, the error in the model’s end effector position could be as much as 0.55m. However, it was possible to set the shipper shaft radius to zero and make the hoist cable wrap constant when calculating the equivalent torque and force generated by the hoist cable without affecting the results. This is because the shipper shaft radius and the cable wrap on the boom sheave have a very small impact on the directions of the vectors used to calculate τ3 and Fch . The model was able to reproduce the behaviour of the swing function very well. Although the inertia of the house is much larger than the dipper handle, solving for the dipper handle inertia and mass improved the results obtained for different dipper handle angles. In the acceleration plots in Figure 3.10, the ripples in the recorded data near changes in directions could be due to backlash in the drivetrain or resonance when the load on the gears is high. Using the parameters estimated for swing in the model it would be possible to predict how long it would take the machine to stop swinging from any state. 46 The crowd function was not well modelled using the data collected on the shovel. The laser range finder used to measure the extension of the dipper handle recorded at 4Hz. Also, the sensor had a response time of 250ms. The large delay in receiving the measurement could have prevented an accurate solution of the inertia parameters associated with the crowd function. To compensate for sensor lag, measurements from the laser range finder were time shifted to align the position measurements with the current signal supplied to the crowd motor. This did not noticeably improve the results. Ultimately, the drivetrain design and friction in the mechanism presented the biggest challenge for modelling the crowd function. The range finder was placed to determine the shovel’s dipper handle extension. This measurement could not be used to determine the motor position, because of slip in the belt drive. If the belt is not tensioned properly it could slip continually making it difficult to correlate the current input to the motor with the extension of the dipper without a model of the belt friction. It would be possible to model the crowd drivetrain separately and gain better insight into the behaviour of the crowd function with an additional encoder mounted to the crowd motor shaft . The coupled nature of hoist and crowd functions controlling the dipper handle angle makes it difficult to solve for the parameters associated with both functions simultaneously. It was possible to isolate the hoist function from the crowd function using PD control to make the model’s extension follow the recorded data. It was not possible to do the opposite and isolate the crowd function in the same manner because the hoist drum position (or cable length) was not measured directly. However, shovels are equipped with brakes on each function which can be used to stop their motion. The hoist brake could be used to keep the cable length constant when gathering data to characterize the crowd function. For this work, data was not collected for the crowd function with the hoist cable length held constant by the hoist brake. The calculated mutual inductance of each motor was estimated using the motor power, speed, armature current, and field current. The motor power and speed were used to calculate the nominal torque output from which the mutual inductance was calculated using the armature and field currents (3.27). This provides a rough estimate of the mutual inductance. A better measure of the mutual inductance would give more accurately calculated torques and would result in parameter estimates 47 that are closer to their actual value. Since the optimization scheme minimizes the error metric, if the mutual inductance is not correct the resulting parameters end up being scaled accordingly to best fit the data. A more detailed model of each motor could also improve the model performance but would increase the computational cost of running the model. Nonetheless, the model presented here was able to adequately model the shovel for the period of time necessary to predict collisions. The method of solving for the inertia parameters is computationally expensive as the model must be run over each segment of data repeatedly until the error has been minimized. Other solution methods are more efficient but are less robust when dealing with low sampling rates and high vibration. 3.6 Conclusions This work has improved the accuracy of shovel kinematics models with the saddle block link by accounting for the extension caused by changes in dipper handle angle. In addition, the hoist cable length and geometry is more accurately determined by accounting for the wrap of the cable around the boom sheave. Lastly, a robust method for estimating the inertia, mass, and friction parameters of a rope shovel was presented. Using data collected from a series of tests on a P&H 2800 XPB rope shovel a functioning model of the hoist and swing functions was created for the purpose of collision avoidance. The inertia parameters necessary to capture the machine’s dynamics were identified and, where possible, the parameters that had the same influence on an individual motion were combined. A model of the machine was created in Mathworks SimulinkTM . The model was developed in the same manner as a serial manipulator. This made developing the kinematics and dynamics equations easier using well established methods. The Euler Lagrange method of solving the dynamics equations was used and these were implemented in SimulinkTM . A model of the hoist mechanism, which took into account the unique features of the machine, was created to determine the equivalent torque and force created by the hoist cable to move the dipper handle. These were applied to the serial manipulator model of the shovel. In order to deal with the limitations of the sensors used and the noisy data 48 collected in a mining environment a novel parameter estimation method was developed to avoid differentiating data that was collected at a low rate or were very noisy. The method used a nonlinear optimization solver to adjust initial estimates of the inertia parameters. The quality of these estimates was evaluated by running the dynamics model with the estimated parameters, using as inputs the motor currents collected on the machine. An error metric was created using the differences in joint positions between the model and the measured data. This error metric was minimized in the nonlinear optimization. In this way, the dynamics model was effectively used as a filter in the parameter estimation method. Furthermore, only position data was used, avoiding the use of velocity and acceleration data which can be corrupted during differentiation of noisy position data. Although computationally expensive, this method was capable of solving for inertia, mass, and friction parameters that accurately reproduce the machine’s hoist and swing functions. Using the estimated parameters, the model’s hoist function reproduced the machine’s motion with a mean absolute error of 3.3◦ while the machine’s swing function was reproduced with a mean absolute error of 0.9◦ . The crowd function was not accurately modelled. The friction model used to model the crowd function was inadequate for modelling the complex friction present in the crowd mechanism. However, the crowd function is seldom used when avoiding collisions with haul trucks during loading because the haul trucks are too close to the shovel to be avoided by retracting the dipper handle. To avoid collisions with the haul truck the shovel operator must either hoist the dipper or swing away from the haul truck. Furthermore, the operator has a blind spot behind the dipper making it undesirable to place the dipper between the operator and an obstacle. With an accurate model of the hoist and swing functions it is possible to use the model in its current state for collision avoidance purposes, using a PD controller in the model to extend the dipper handle at the same rate as the machine when forecasting the end effector trajectory. The method for estimating the inertia parameters of the machine is suitable for collision avoidance as well as developing control systems for rope shovels. Today, rope shovels are constructed with advanced control systems and sensors to monitor the joint positions. However, many older machines could benefit from a retrofittable system for monitoring the shovel and predicting collisions. Further49 more, the estimation method could be used in its current form as a payload estimation system. Once all inertia parameters affecting swing and hoist are solved with an empty dipper, a single parameter for the dipper load would be added to the solution. With only one parameter to identify, the mass would be determined quickly. The accuracy of the load measurement would depend on the accuracy of the motor mutual inductance values used to calculate the motor torque. 50 Chapter 4 Collision Prediction and Warning 4.1 Introduction The goal of this project was to develop a collision avoidance system to assist rope shovel operators in avoiding collisions. The dynamics model presented in Chapter 3 was used to forecast the motion of the machine. A collision prediction algorithm was developed as a proof of concept for using the dynamics model to warn operators of potential collisions. Collision detection is used extensively in computer graphics [19] and in robotics for path planning. In robotics, collision free trajectories are planned taking robot dynamics and geometry into account. The problem of warning a heavy machine operator of potential collisions in their workspace is different from solving for collision free trajectories of a machine under computer control. Under operator control, the machine’s future trajectory is unknown because the future inputs from the operator are unknown. Only past and present machine inputs and states can be used to predict collisions. The proposed collision prediction method used the developed dynamics model to forecast the motion of the shovel using the most recent machine inputs as well as the joint positions and speeds. The forecast trajectories were used to detect future collisions and generate operator feedback. 51 4.2 4.2.1 Algorithm Development Intersection Detection For collision detection the position and dimensions of obstacles must be defined. The geometry of the machine must also be defined. For this research, collision avoidance between a haul truck and the dipper handle were examined. The dipper handle and the haul truck were each modelled using a set of planes. A series of 3 or more points was used to define each plane in the set. The more planes used to define each object the longer the algorithm would spend checking for intersections between the models. To reduce the computation time, the models were made to enclose each object’s exterior geometry. The truck was modelled as a simple box. The dipper was modelled as a box and four triangular planes that joined at a point were used to enclose the dipper handle. Figure 4.1 shows the geometric model used for the dipper handle with dipper. A collision checking method similar to the method presented by M¨oller was used to check for intersections between the planes in the shovel and truck models [25]. For each shovel configuration to be checked, the geometric model of the dipper handle was moved using the shovel joint angles. Then, each plane in the dipper model was checked against the planes of the truck model to see if there was an intersection. Checking was stopped as soon as an intersection between two planes was detected. However, due to the simplicity of the models used here, the order in which the planes were searched was not adjusted to check the planes most likely to intersect one another first. Most of the computational time in the algorithm was consumed by the dynamics model forecasting trajectories, making small improvements in the collision checking method insignificant. 4.2.2 Modifications to the Dynamics Model The dynamics model was used to forecast the motion of the shovel. For estimating the inertia parameters of the machine, the motor torques were calculated directly in the dynamics model using the motor currents recorded on the machine. Thus, the dynamics model used for parameter estimation was current (acceleration) controlled. On a rope shovel, however, the operator’s joystick input controls the motor 52 Figure 4.1: 3D model of the dipper handle with dipper. A drawing of a dipper handle with dipper is shown above it as a reference for the shape. voltage (speed) on the hoist and crowd functions. The swing joint is current controlled. To realistically forecast the motion of the shovel based on the operator inputs it was necessary to use a voltage input for the motor in the hoist function. The dynamics model was modified to model the hoist function’s DC motors with a voltage input using the armature resistance from the motor parameters as well as the mutual inductance derived from the nominal motor specifications (power, torque, at given speed) as in Section 3.5. Figure 4.2 shows the SimulinkTM implementation of the motor model. To test whether the modification to the dynamics model was accurate, the model’s hoist rate with maximum voltage input was compared to shovel specifications provided by P&H. The dynamics model’s maximum hoist drum speed was 3% less than the shovel’s. For forecasting, the dynamics model was initialized in the same configuration 53 Ra Motor Armature Resistance + Va Motor Armature Voltage - 1 Lm Ia Integrate Motor Mutual Inductance Back EMF Multiply Motor Speed Back EMF Constant Lm Gear Ratio θ˙motor Motor Mutual Inductance Hoist Armature Current Lm Multiply Hoist Field Current If τmotor Gear Ratio Motor Mutual Inductance Motor Field Current µviscous + Cable Tension Drum Radius + 1 J θ¨drum Integrate Drivetrain Inertia θ˙drum Integrate θdrum Drum Position Drum Speed Figure 4.2: SimulinkTM implementation of the hoist motor with voltage input. The blocks enclosed by the dotted line were added to simulate the motor with a voltage input. as the latest data point in the machine data. If the dynamics model was initialized without tension in the hoist cable, the dipper handle would bounce at the beginning of the forecast trajectory as the cable became tensioned, leading to erroneous collision detections. To prevent the dipper handle from bouncing, the dynamics model was initialized with the appropriate amount of rope stretch to tension the cable. The cable tension, Th , was not measured on the machine. However, Th can be estimated by dividing the torque applied to the hoist drum by the drum radius (rdrum ). The torque applied to the hoist drum was calculated with the hoist motor armature and field currents (Ia and I f ) recorded in the machine data, the hoist motor mutual inductance (Lm ), and the gear ratio between the motor and the drum (φ ) using the 54 following equation. τdrum = Ia I f Lm φ (4.1) As presented in Chapter 3, in the dynamics model, the tension in the hoist cable was calculated using two measures of the cable length calculated, Lmotor and Lactual . Lmotor represents the length of the cable based on the motor position. Lactual represents the cable length calculated using the arm geometry with (3.23). To calculate value of Lmotor needed to tension the hoist cable, (3.26) was rearranged to solve for Lmotor , replacing Th with τdrum divided by rdrum , and setting the damping constant (kd ) to zero. Lmotor = Lactual − τdrum 1 rdrum ks (4.2) ks represents the cable spring constant. Although the swing joint is current controlled, its maximum speed is limited. The dynamics model was adjusted to account for this by setting the current applied to the swing motor to zero whenever the joint surpassed its maximum speed. 4.2.3 Trajectory Forecasting Different collision scenarios were simulated to test a collision prediction algorithm. Inputs for the hoist voltage and swing motor current were chosen to create different motions using the dynamics model. These inputs, the generated hoist motor current, and the joint angles and speeds were stored and used as simulated machine data to develop a collision prediction algorithm. The same dynamics model was used to forecast the path of the machine along the simulated machine trajectories. At every 200ms along the trajectories, the dynamics model was run from the machine’s current configuration (joint positions and speeds), keeping the hoist voltage and swing current constant at their latest recorded values. The current in the hoist motor model was initialized using the latest hoist motor current from the simulated machine data. As described above, the rope stretch was set using the recorded hoist current to tension the model’s hoist cable. Figure 4.3 shows a simulated machine trajectory (in green) with forecast trajectories (in blue) generated at 3 different points along the trajectory. The inputs 55 used to generate the simulated trajectory were varied to demonstrate forecasting in different scenarios. As expected, the forecast trajectories continue along the same path as the machine would if the inputs were held constant. 8 6 z 4 2 0 ï2 16 14 12 10 15 8 6 10 4 5 2 y 0 0 x Figure 4.3: Generated machine trajectory (green) with 3 forecast trajectories (blue) initialized at different times. 4.2.4 Collision Warning Algorithm To demonstrate the use of the dynamics model in collision avoidance, an algorithm was developed to determine what warning to give the operator in different situations. A simple, 3-level warning system was established. The highest warning level (red) tells the operator to respond immediately to avoid a collision. The low warning level (yellow) tells the operator that a collision will occur on the current path but that a strong response is not yet necessary. The last level (green) is given 56 when any detected collisions are far enough away that the operator does not need to be warned. The algorithm used the amount of time required for the swing joint to come to rest from its current speed to determine what warning to give the operator. A lookup table was used to decide how far ahead to forecast and to decide what warning to provide the operator. The lookup table contained the amount of time required to stop the swing function (tstop ) when at different speeds with different dipper handle configurations. tstop times were determined for different swing velocities, dipper handle angles, and dipper handle extensions. The swing joint has a very high inertia and takes much longer to stop than the hoist and crowd joints. Thus, the swing joint was used to generate the lookup table. The warning system returned different warning levels to the operator based on the amount of time before a predicted collision. At every 200ms along the machine trajectory, the algorithm went through the following procedure to generate a warning. 1. Find tstop in the lookup table based on current swing speed and dipper handle angle and extension. 2. Use the dynamics model to forecast the dipper trajectory for tstop + 5s from the current machine configuration using the current hoist motor voltage and swing motor current. The dipper handle extension is held constant. 3. Search the forecast trajectory for collisions between the dipper handle and truck by moving the geometric model of the dipper handle to each point along the forecast trajectory and checking for collisions with the truck model. If a collision is detected, store the collision time (tcollision ). 4. If no collision is detected, return the green signal. If a collision is present in the trajectory, give a high warning (red) if tcollision ≤ tstop + 2.5s and give a low warning (yellow) if tcollision > tstop + 2.5s. The collision prediction system uses the latest machine inputs to forecast the dipper trajectory. Thus, when on a collision course, if the input changes enough to avoid the collision, a collision free trajectory is predicted and the warning will change accordingly. 57 4.3 Results Three simulations are presented to demonstrate the collision prediction algorithm. To simulate machine data, hoist voltage and swing current inputs were chosen to move the dynamics model in simple trajectories as well as more complex trajectories like a loading cycle. The simulated machine trajectories were sampled at 5Hz and at each point along the trajectories the prediction algorithm was run to determine a warning level. The warnings are displayed at each point along the trajectory as red, yellow, or green points according to the warning level. Swing and Reverse Figure 4.4 shows a scenario where the current to the swing joint was changed while the voltage input to the hoist joint was held constant. The model was made to swing toward the truck and, at the last minute, reverse directions to avoid the collision. Initially, the model started to swing from rest and, because of the low swing velocity, the lookup table returned a low tstop . Since tstop was low, the collision prediction algorithm did not forecast very far ahead and no collisions were predicted initially. As the dipper moved toward the obstacle and speed increased, tstop increased and the algorithm began to forecast further ahead, detecting collisions within 5s of tstop and generating a low warning. At 3s, when the predicted collisions were within 2.5s of tstop , high warnings were generated. At 5.3s, when the swing current was reversed and the forecast trajectories no longer collided with the truck, the warning was removed. Swing with Hoist In Figure 4.5 the model started to swing toward the truck as in the first simulation. Rather than swinging in the opposite direction, at 4.4s the maximum hoist voltage was applied to raise the dipper over the truck and the swing current was set to zero. Once the dipper was high enough to clear the truck, the hoist voltage was reduced to hold the dipper at the same height. To test the prediction algorithm, at 10.5s the hoist voltage was decreased momentarily as the dipper was over the truck. As in the swing and reverse simulation, the warning level increased as the machine started to swing with the dipper on a collision course with the truck. At 58 Top View 16 3D View 14 12 6 10 4 z y 5.3s 3s 2 8 5.3s 6 0 4 15 3s 10 2 15 0 10 5 5 0 y 0 0 5 x 10 15 x Swing Armature Current (black) and Hoist Voltage (grey) 500 Current (A) or Voltage (V) Side View 6 5.3s 3s z 4 2 0 16 14 12 10 8 6 4 2 0 0 ï500 ï1000 ï1500 y ï2000 0 1 2 3 Time (s) 4 5 6 Figure 4.4: Simulation of algorithm with a simple swinging motion. The model of the dipper handle (in green) is shown in its starting position. The blue box is the geometric model of the truck. 3.4s the forecast trajectories began to collide with the obstacle within 2.5s of tstop and the highest warning was generated. When the hoist voltage was increased at 4.4s, the forecast trajectories no longer collided with the truck model and the warning was removed. When the hoist voltage was reduced to stop hoisting no warnings were given to the operator. Only at 10.5s, when the hoist voltage was momentarily reduced with the dipper over the truck, did the algorithm generate a warning again. Then, as the hoist voltage increased after 10.5s, the warning level returned to green. 59 Top View 3D View 16 10.5s 10.5s 14 12 8 10 4 y z 6 4.4s 3.4s 2 8 6 0 4.4s 4 3.4s 2 15 10 0 15 10 5 0 y 0 5 5 10 15 x 0 x Swing Armature Current (black) and Hoist Voltage (grey) 700 Side View 600 8 Current (A) or Voltage (V) 10.5s 6 z 4 2 4.4s 0 3.4s 14 12 10 8 6 4 2 400 300 200 100 0 ï2 16 500 ï100 0 y ï200 0 2 4 6 Time (s) 8 10 12 Figure 4.5: Simulation of algorithm on a trajectory where the machine swings toward an obstacle and hoists to avoid the collision. The model of the dipper handle is shown in its starting position. The blue box is the geometric model of the truck. Digging Cycle Figure 4.6 shows a simulation of a dig cycle. The dipper was raised and extended as when a rope shovel digs through the face. Once the dipper cleared the dig face the swing current was increased to swing toward the truck. At the same time, the hoist voltage was reduced below the value necessary to hold the dipper up. The dipper began to fall on a possible collision course before being raised again. As the dipper was raised through the face, no collisions were predicted. At 10s, the swing current was increased to 2000A (maximum swing current for this 60 Top View 3D View 16 14 12.7s 12 10s 8 10 z y 6 4 8 2 6 0 4 12.7s 2 15 10 10 5 0 y 10s 0 15 0 5 10 x 5 0 x 15 20 Swing Armature Current (black) and Hoist Voltage (grey) 2000 Side View 10s 1500 12.7s Current (A) or Voltage (V) 8 z 6 4 2 0 1000 500 0 ï500 ï1000 ï1500 16 14 12 10 8 6 4 2 0 y ï2000 0 2 4 6 8 Time (s) 10 12 14 16 Figure 4.6: Simulation of algorithm on a trajectory that simulates a Rope Shovel’s dig cycle. The model of the dipper handle is shown in its starting position. The blue box is the geometric model of the truck. machine) to swing toward the truck. At the same time, the hoist voltage was reduced to lower the dipper, causing low and then high warnings to be generated as the forecast trajectories began colliding with the obstacle. In this simulation, the swing current was higher than in the first two simulations and, thus, the swing joint reached its maximum speed faster. This is shown by comparing the top view plots as the spacing between the points at the beginning of the trajectories increases more quickly in Figure 4.6 than in Figure 4.5. The faster acceleration of the swing joint caused a more rapid decrease in the predicted time to collision. Thus, the algorithm returned high level warnings (red) earlier than in the first two simulations because 61 of the higher applied swing current. When the hoist voltage was increased and the swing current was reversed at 12.7s, the warning was removed as the model began to forecast the dipper rising. 4.4 Discussion The developed algorithm used the dynamics model to effectively predict collisions and generate warnings. The simulations showed different scenarios where, if placed on a collision course, the algorithm would generate a warning according to the amount of time before the collision was predicted to occur. In a full implementation, the threshold times used for generating warnings to the operator could be adjusted. A number of changes were made to the dynamics model used for parameter estimation to improve the model’s performance in forecasting the dipper trajectory. The operator input to the hoist function is a voltage, or speed, command. To stop hoisting, the voltage applied to the motor is reduced to the holding voltage so that the dipper naturally comes to rest. Under voltage control, there is no need to apply a negative input to slow the dipper and then increase it once the dipper has slowed. Modifying the hoist function in the dynamics model improved the model’s forecasting of the trajectory of an operator-controlled machine. To reduce the likelihood of false collision predictions caused by bouncing of the dipper when the cable tension was initialized at zero, the model’s motor position was initialized to pre-stretch the cable. This reduced the number of false predictions, particularly when the dipper was near an obstacle. Since the crowd function was not well modelled, its motion was not carefully examined in the collision prediction simulations. Like the hoist function, the crowd function is speed controlled. Even without a full model of the the crowd function, it is possible to predict the motion in the crowd joint by moving the joint at the same rate as the machine. However, when approaching the truck, the crowd function is usually moved in short bursts to adjust the position of the dipper over the truck bed. During these short bursts, forecasting the crowd moving at a continuous rate could lead to the forecast trajectory quickly diverging from the actual motion of the machine. Thus, the crowd function was held at a constant extension during 62 forecasting. In its current form, the dynamics model is too computationally intensive to be used in a real-time application. The lookup table for swing stop times was used to determine the duration of the forecast trajectories. This reduced the amount of processing necessary by using the swing speed to adjust how far ahead to forecast. In Matlab, the dynamics model (compiled in C using the rapid simulation target) took 12s to forecast a 10s trajectory. To be useful in providing a warning for an operator, the algorithm would have to forecast trajectories at a rate of at least 4Hz. To accomplish this, the dynamics model would have to run 10s trajectories in less than 250ms. The majority of time spent running the dynamics model was doing integrations. The speed of the dynamics model can be increased by running the model on a separate, dedicated processor. Modifications to the dynamics model might also improve the performance. 4.5 Conclusions A collision warning algorithm was developed using the dynamics model to forecast the machine trajectory. The dipper handle with dipper and the truck were modelled using sets of planes that encompassed the exterior geometries of the objects. These geometric models were used to detect collisions along the forecast trajectories. The dynamics model described in Chapter 3 was modified so that it would more realistically model the motion of an operator-controlled machine. The most significant modification was making the hoist motor model voltage controlled instead of current controlled. This resulted in the input controlling the speed rather than the acceleration of the hoist motor. Equations were developed to calculate the amount of rope stretch necessary to pre-tension the model’s hoist cable and thereby decrease how much the dipper bounced when the model was initialized. This reduced the number of erroneous warnings generated when the dipper was near an obstacle. The last change made to the dynamics model was to limit the speed of the swing joint. Since the swing joint on the machine is current controlled, a constant current input would cause the swing joint to accelerate continuously. The control system in a rope shovel limits the maximum speed. In the dynamics model, this 63 was achieved by adding a block that removed the current input to the motor when the maximum speed was reached. The proposed algorithm for generating warnings used the dynamics model to forecast the trajectory of the machine at successive points along the trajectory. A lookup table containing the amount of time required to bring the swing joint to rest in different configurations was used to determine how far ahead in time to forecast the motion. After forecasting the trajectory of the machine, the dipper handle’s geometric model was moved to each point along the forecast trajectory and checked against the truck model for collisions. If a collision was detected, a warning was returned, adjusted to the detected collision time. Trajectories simulating different shovel motions were generated with the dynamics model to test the warning algorithm. The algorithm returned warnings only at points along the trajectories from which collisions would occur if the inputs were held constant. The results of the simulations illustrate that the dynamics model can be effectively applied to collision prediction problems. The collision warning algorithm used the time required to stop the swing joint as a guide for choosing the warning returned to the operator. This was a reasonable choice because the machine’s high swing inertia limits its ability to stop compared to the hoist and crowd functions. However, when operating in close proximity to an obstacle the algorithm could be improved by using a separate lookup table for the time require to stop lowering the hoist function. First, the hoist joint would have to be identified as the best joint to stop for avoiding a collision (dipper above the obstacle and in close proximity). Then the hoist lookup table could be used to set the forecast time. Since the hoist function stops much faster than the swing function, the forecast times set with the hoist lookup table would be much shorter, allowing the forecast algorithm to run at a higher frequency. This would be beneficial as operator inputs change much more frequently when the dipper is near the haul truck. The simulations show that this form of collision prediction algorithm could be used to generate appropriate collision warnings for a rope shovel operator. The warnings produced by the algorithm are based on the operator’s latest inputs. In a collision scenario, as soon as the operator modified the inputs sufficiently to avoid a collision the warnings would be removed. The performance of the algorithm 64 would rely heavily on the accuracy of the dynamics model in predicting the motion of the machine. Since the results from Chapter 3 indicate that the dynamics model replicated the shovel’s behaviour, the proposed algorithm should perform well. 65 Chapter 5 Conclusions 5.1 Summary of Contributions, and Conclusions This research contributes to improving the safety of operations in open pit mines by providing a collision avoidance system for rope shovels. The main contributions of this work are: 1) a sensor suite for measuring the joint angles, motor currents, and motor voltages on a P&H rope shovel, 2) a dynamics model of the shovel that accounts for unique characteristics of the machine, 3) a novel method for estimating the inertia, mass, and friction parameters of the machine, and 4) an algorithm for warning the operator of potential collisions during operation. Chapter 2 introduced the systems necessary for a collision avoidance system on a rope shovel and the hardware chosen for each system. For this thesis, the sensors used to measure the positions of the shovel’s joints were presented. In Chapter 3, kinematics and dynamics models of the shovel were developed. These models accounted for three unique characteristics of P&H rope shovels: 1) The changing point of departure of the hoist rope from the boom sheave. 2) The moving point of contact between the dipper handle and the shipper shaft was accounted for with the saddle block link. 3) The dipper handle extension that occurs when the dipper handle angle changes. Aside from precisely modelling the position of the various links and the hoist rope, the benefit of modelling the first two characteristics was found to be minimal. This was because the direction of the vectors used to account for the hoist rope 66 did not change significantly with the more precise geometric model. However, accounting for the change in extension caused by the dipper handle angle results in a significant improvement in the accuracy of the model’s end effector location. Accounting for this characteristic ensures constant accuracy of the model’s end effector location at any dipper handle angle. If the change in extension caused by the dipper handle angle is not taken into account, the accuracy of the model’s end effector location will vary with the dipper handle angle. The dynamics model was used in a nonlinear optimization algorithm to solve for the shovel’s inertia, mass, and friction parameters. Typical parameter estimation methods require successive derivatives of the recorded position to obtain velocity and acceleration data [2]. With the data recorded on the shovel, the noise introduced by differentiating the position data made the traditional method for solving the parameters ineffective. The most significant benefit of the proposed method was that only position and current data recorded on the machine were needed for the solution of the inertia, mass, and friction parameters. This was accomplished by using the dynamics model in the optimization algorithm. By applying the motor currents to the dynamics model and using the difference between the model’s position response and the measured position data as an error metric, the need for velocity and acceleration data was eliminated. In this way, the dynamics model was used to filter the inputs to the model, enabling the accurate solution of the dynamics parameters even though some mechanisms of the machine were not modelled. This method is very computationally intensive because the dynamics model is run multiple times for each iteration of the non linear optimization method. However, the optimization only needs to be carried out once for each machine that the system is installed on. Once the inertia, mass, and friction parameters are solved they can be used directly in the dynamics model for prediction. The performance of the dynamics model with the solved parameters was evaluated by applying motor current inputs recorded in the field to the model and comparing the model’s motion to the recorded data. The results showed that the hoist and swing functions of a rope shovel were accurately modeled. For the hoist function, the mean absolute error was 3.3◦ while the maximum absolute error was 11.5◦ . For the swing function, the mean absolute error was 0.9◦ while the maximum absolute error was 2.0◦ . The higher errors in the hoist function can be at67 tributed to the fact that, in experiments, the dipper handle angle was measured on the saddle block which can rock back and forth on the dipper during operation. The angle of the saddle block on the dipper handle was not recorded during experiments. In Chapter 4 an algorithm was proposed which used the dynamics model developed in Chapter 3 to predict collisions and to generate warnings for the operator based on the predicted time to collision. To model the behaviour of a rope shovel under operator control, the hoist motor in the dynamics model was modified to be voltage controlled and a speed limit was added to the swing function. The algorithm performed as expected and did not generate warnings unless they were necessary. Instead of always forecasting ahead for the same amount of time, a lookup table was used to choose the amount of time to forecast ahead. This reduced the amount of processing necessary. If the dynamics model’s speed limitations can be overcome, this easily tuneable algorithm will provide a strong platform for a collision warning system. 5.2 5.2.1 Future Work Additional Sensors While the sensors used for collecting the data were sufficient for modelling the hoist and swing functions, some additional sensors would have been beneficial for modelling the crowd function. Given the potential for slip in the crowd drivetrain, encoders installed on the crowd motor shaft and on the shipper shaft that drives the dipper handle could have made it possible to better understand the behaviour of the crowd belt drive. The laser rangefinder used to measure the dipper handle extension was precise and simple to install, meeting the requirement for a rugged and easily retrofittable sensor. However, the rate at which the dipper handle extension was recorded did not provide a high enough resolution for the system. A sensor with a data rate of 30Hz or more (and with suitable shock, vibration, and temperature range specifications) would have been better suited to this application. The dipper handle angle was measured on the saddle block. Depending on how it is adjusted, the saddle block can rock back and forth by a few degrees when the 68 dipper handle is raised and lowerd (Figure 2.2). This affects the accuracy of the measured angle as the saddle block’s position on the dipper handle is not known. Adding a Hall effect sensor on either side of the saddle block to measure the angle between the saddle block and the dipper handle would eliminate this error. 5.2.2 Further Testing for Dynamics Model Development Estimating the shovel’s inertia, mass, and friction parameters using human inputs to the machine is ideal for a retrofittable collision avoidance system. However, a better dynamics model could be developed if step inputs could be supplied to the machine using a computer system. This would produce a model that better reflected the machine dynamics. Furthermore, future solutions using human inputs would benefit from more narrowly defined ranges for the model parameters. Each of the functions on a rope shovel is equipped with a brake to prevent its motion. The solution of the parameters affecting the hoist and crowd functions could be facilitated by applying the brake on one of the functions while operating the other. 5.2.3 Test Prediction Algorithm on Real Data To test the collision prediction algorithm, the dynamics model was used to generate different machine trajectories with inputs chosen to generate specific motions. In the prediction algorithm, the same dynamics model was used to forecast the motion of the machine along the generated trajectories. In reality the dynamics model will not perfectly reflect the dynamics of the machine. The next step in the development of this algorithm should be to record different trajectories on a real machine and test the algorithm with them. 5.2.4 Accelerate the Dynamics Model At this stage, the biggest limitation to producing a real time system is the speed of the dynamics model. The dynamics model could be accelerated by compiling it to run on a dedicated processor but that alone may not be sufficient. When the hoist rope model was removed, the dynamics model ran two times faster than real-time. The low inertia of the hoist drivetrain caused the model to slow down. With the 69 low solved inertia, the hoist drum oscillated back and forth requiring the solver to reduce the step size considerably. Increasing the inertia of the hoist drive train reduced the oscillations in the hoist drive train and made it possible to run the dynamics model faster using a larger step size. Doing this changes the dynamics of the model and reduces the accuracy of the model. Another way to reduce the oscillations in the hoist drivetrain would be to modify the way the hoist rope tension is implemented. The hoist cable is prevented from acting in tension using a simple saturation block. A smoother discontinuity between tension and compression could help to accelerate the solution. 70 References [1] M. Adams, S. Zhang, and L. Xie. Particle filter based outdoor robot localization using natural features extracted from laser scanners. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 2, pages 1493–1498, 2004. → pages 13 [2] C. G. Atkeson, C. H. An, and J. M. Hollerbach. Estimation of inertial parameters of manipulator loads and links. The International Journal of Robotics Research, 5:101–119, 1986. → pages 20, 21, 67 [3] K. J. Austin and P. R. McAree. Transmission friction in an electric mining shovel. Journal of Field Robotics, 24:863–875, 2007. → pages 3, 4, 28 [4] K. Awuah-Offei and S. Frimpong. Cable shovel digging optimization for energy efficiency. Mechanism and Machine Theory, 42:995 – 1006, 2007. → pages 3 [5] J. Borthwick. Mining haul truck pose estimation and load profiling using stereo vision. Master’s thesis, University of British Columbia, 2009. → pages 18 [6] A. Bozorgebrahimi, R. A. Hall, and M. A. Morin. Equipment size effects on open pit mining performance. International Journal of Surface Mining, Reclamation & Environment, 19:41 – 56, 2005. → pages 1 [7] G. Brooker, R. Hennessey, C. Lobsey, M. Bishop, and E. Widzyk-Capehart. Seeing through dust and water vapor: millimeter wave radar sensors for mining applications. Journal of Field Robotics, 24:527–557, 2007. → pages 4, 13 [8] P. Corke, G. Winstanley, and J. Roberts. Dragline modelling and control. In Proceedings of 1997 IEEE International Conference on Robotics and Automation, volume 2, pages 1657 –1662 vol.2, Apr 1997. → pages 3, 4 71 [9] A. W. Denman, P. R. McAree, M. P. Kearney, A. W. Reid, and K. J. Austin. Swing trajectory control for large excavators. In Proceedings of CRC Mining Conference, July 15, 2009. → pages 4 [10] E. Duff. Tracking a vehicle from a rotating platform with a scanning range laser. In Proceedings of the Australian Conference on Robotics and Automation, 12 2006. → pages 8 [11] M. Dunbabin and P. Corke. Autonomous excavation using a rope shovel. Journal of Field Robotics, 23(6/7):379–394, 2006. → pages 3, 8, 29 [12] S. Frimpong and Y. Hu. Intelligent cable shovel excavation modeling and simulation. International Journal of Geomechanics, 8(1):2–10, 2008. → pages [13] S. Frimpong, Y. Hu, and K. Awuah-Offei. Mechanics of cable shovel-formation interactions in surface mining excavations. Journal of Terramechanics, 42(1):15 – 33, 2005. → pages 3 [14] F. Ghassemi, S. Tafazoli, P. Lawrence, and K. Hashtrudi-Zaad. Design and calibration of an integration-free accelerometer-based joint-angle sensor. IEEE Transactions on Instrumentation and Measurement, 57(1):150–159, Jan. 2008. → pages 11, 36 [15] M. E. Green, I. A. Williams, and P. R. McAree. A framework for relative equipment localisation. In Proceedings of the 2007 Australian Mining Technology Conference, 10 2007. → pages 8 [16] D. W. Hainsworth, P. Corke, and G. Winstanley. Location of a dragline bucket in space using machine vision techniques. In IEEE International Conference on Acoustics, Speech, and Signal, volume 6, pages 161–164, 1994. → pages 11 [17] A. Hall and P. McAree. Robust bucket position tracking for a large hydraulic excavator. Mechanism and Machine Theory, 40(1):1–16, 2005. → pages 10, 11 [18] N. Himmelman, J. Borthwick, A. Kashani, L.-H. Lin, A. Poon, R. A. Hall, P. D. Lawrence, S. E. Salcudean, and W. S. Owen. Rope shovel collision avoidance system. In Proceedings of the Applications of Computers in Mining Conference, October 2009. → pages 7 [19] P. Jim´enez, F. Thomas, and C. Torras. 3d collision detection: a survey. Computers & Graphics, 25(2):269 – 285, 2001. → pages 51 72 [20] A. Kashani, W. S. Owen, N. Himmelman, P. D. Lawrence, and R. A. Hall. Laser scanner-based end-effector tracking and joint variable extraction for heavy machinery. The International Journal of Robotics Research, 2010. → pages 18 [21] S. E. Kesler. Mineral supply and demand into the 21st century. In Proceedings for a Workshop on Deposit Modeling, Mineral Resource Assessment, and Their Role in Sustainable Development, 2007. → pages 1 [22] A. J. Koivo, M. Thoma, E. Kocaoglan, and J. Andrade-Cetto. Modeling and control of excavator dynamics during digging operation. Journal of Aerospace Engineering, 9:10, 1996. → pages 3 [23] L.-H. Lin, P. Lawrence, and R. Hall. Stereo vision based swing angle sensor for mining rope shovel. In Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ International Conference on, pages 1714 –1721, 2010. → pages 18 [24] F. Lu and E. Milios. Robot pose estimation in unknown environments by matching 2D range scans. Journal of Intelligent and Robotic Systems, 18: 249–275, Mar. 1997. → pages 13 [25] T. M¨oller. A fast triangle-triangle intersection test. J. Graph. Tools, 2:25–30, November 1997. ISSN 1086-7651. → pages 52 [26] P&H. P&H 2800 XPB manual. P&H Mining Equipment, 2006. → pages viii, 9, 46 [27] P. M. Siegrist, P. R. McAree, D. L. Wallis, M. P. Kearney, and J. A. van Geenhuizen. Prediction models for collision avoidance on electric mining shovels. In Proceedings of the Australian Mining Technology Conference, Sep 2006. → pages 4 [28] S. Singh. State of the art in automation of earthmoving. Journal of Aerospace Engineering, 10:179, 1997. → pages 3 [29] S. Singh. State of the art in automation of earthmoving, 2002. In Proceedings of the Workshop on Advanced Geomechatronics, Oct. 2002. → pages 3 [30] A. Stentz, J. Bares, S. Singh, and P. Rowe. A robotic excavator for autonomous truck loading. Autonomous Robots, 7:175–186, 1999. → pages 3, 8, 16 73 [31] S. Tafazoli. Identification of Frictional Effects and Structural Dynamics for Improved Control of Hydraulic Manipulators. PhD thesis, University of British Columbia, Jan 1997. → pages 3 [32] S. Tafazoli, P. Lawrence, and S. Salcudean. Identification of inertial and friction parameters for excavator arms. Robotics and Automation, IEEE Transactions on, 15:966–971, Oct 1999. → pages 3, 4 [33] S. van der Tas. Data acquisition for an electric mining shovel pose estimator. Technical report, Eindhoven University of Technology, 1 2008. → pages 8 [34] E. Widzyk-Capehart, G. Brooker, S. Scheding, R. Hennessy, A. Maclean, and C. Lobsey. Application of millimetre wave radar sensor to environment mapping in surface mining. In Proceedings of the 9th International Conference on Control, Automation, Robotics and Vision, pages 1–6, 12 2006. → pages 4, 13, 16 [35] G. Winstanley, P. Corke, and J. Roberts. Dragline swing automation. In Proceedings of 1997 IEEE International Conference on Robotics and Automation, volume 3, pages 1827 –1832 vol.3, apr 1997. → pages 3 [36] G. J. Winstanley, K. Usher, P. I. Corke, M. Dunbabin, and J. M. Roberts. Dragline automation: a decade of development: shared autonomy for improving mining equipment productivity. IEEE Robotics & Automation Magazine, 14:52–64, 2007. → pages 11 74
- Library Home /
- Search Collections /
- Open Collections /
- Browse Collections /
- UBC Theses and Dissertations /
- Dynamics modelling of an electric rope shovel for collision...
Open Collections
UBC Theses and Dissertations
Featured Collection
UBC Theses and Dissertations
Dynamics modelling of an electric rope shovel for collision avoidance Himmelman, Nicholas Philippe 2011
pdf
Page Metadata
Item Metadata
Title | Dynamics modelling of an electric rope shovel for collision avoidance |
Creator |
Himmelman, Nicholas Philippe |
Publisher | University of British Columbia |
Date Issued | 2011 |
Description | In the surface mining industry, the machines used to extract materials from the earth are steadily increasing in size, making them difficult to manage safely. Rope shovels are used to excavate material and load the haul trucks that deliver the material for further processing. During the loading process, collisions between the rope shovel and the haul truck can occur. These collisions put the machine operators at risk and can damage the machines. The research presented in this thesis was conducted as part of a larger project with the aim of developing the sensing and control systems necessary for a rope shovel collision avoidance system. A sensor suite was developed to measure the joint positions and motor currents and voltages on a full scale rope shovel. A dynamics model was developed to model the machine’s dynamics. This model captured unique mechanical characteristics of the P&H machine. Using joint positions and motor currents collected with the sensor suite, a method was developed for estimating the inertia, mass, and friction parameters of the machine. A significant benefit of this estimation method was that it did not require the use of potentially noisy velocity and acceleration data obtained through successive derivatives of the position data. Using the solved inertia, mass, and friction parameter estimates, the dynamics model was able replicate the motions of the rope shovel with a mean absolute error of 3.3◦ for the dipper handle angle and 0.9◦ for the swing angle. Finally, an algorithm was proposed that used the dynamics model to forecast the motion of the machine with the aim of predicting collisions and generating warnings for the operator. The algorithm used the amount of time before a collision and the time required for the machine to stop swinging to decide how to warn the operator. The research presented in this thesis forms a strong basis for developing future rope shovel safety and control systems. |
Genre |
Thesis/Dissertation |
Type |
Text |
Language | eng |
Date Available | 2011-04-05 |
Provider | Vancouver : University of British Columbia Library |
Rights | Attribution-NonCommercial-NoDerivatives 4.0 International |
IsShownAt | 10.14288/1.0071646 |
URI | http://hdl.handle.net/2429/33279 |
Degree |
Master of Applied Science - MASc |
Program |
Electrical and Computer Engineering |
Affiliation |
Applied Science, Faculty of Electrical and Computer Engineering, Department of |
Degree Grantor | University of British Columbia |
GraduationDate | 2011-05 |
Campus |
UBCV |
Scholarly Level | Graduate |
Rights URI | http://creativecommons.org/licenses/by-nc-nd/4.0/ |
AggregatedSourceRepository | DSpace |
Download
- Media
- 24-ubc_2011_spring_himmelman_nicholas.pdf [ 4.5MB ]
- Metadata
- JSON: 24-1.0071646.json
- JSON-LD: 24-1.0071646-ld.json
- RDF/XML (Pretty): 24-1.0071646-rdf.xml
- RDF/JSON: 24-1.0071646-rdf.json
- Turtle: 24-1.0071646-turtle.txt
- N-Triples: 24-1.0071646-rdf-ntriples.txt
- Original Record: 24-1.0071646-source.json
- Full Text
- 24-1.0071646-fulltext.txt
- Citation
- 24-1.0071646.ris
Full Text
Cite
Citation Scheme:
Usage Statistics
Share
Embed
Customize your widget with the following options, then copy and paste the code below into the HTML
of your page to embed this item in your website.
<div id="ubcOpenCollectionsWidgetDisplay">
<script id="ubcOpenCollectionsWidget"
src="{[{embed.src}]}"
data-item="{[{embed.item}]}"
data-collection="{[{embed.collection}]}"
data-metadata="{[{embed.showMetadata}]}"
data-width="{[{embed.width}]}"
async >
</script>
</div>
Our image viewer uses the IIIF 2.0 standard.
To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.24.1-0071646/manifest