You are on page 1of 37

Hybrid models for MPC of

electric mining shovels


M.J.H. Elferink
DCT 2008.115

Traineeship report
February until May 2008
Coach:

Prof. Ross McAree, the University of Queensland

Supervisor TU/e:

Prof. Maarten Steinbuch

Technische Universiteit Eindhoven


Department Mechanical Engineering
Dynamics and Control Technology Group
Eindhoven, August 2008

Abstract
Due to expensive mining equipment, operation times and productivity are key words in the industry. To reduce cycle times and avoid down time due to damage caused by collisions, CRC Mining
(an Australian Government funded research center) is working on automation of electric mining
shovels.
Due to the high inertias involved there is a few seconds delay between input from the operator
and the shovels response. When automate the digging cycle it is therefore important to predict
collisions and avoid them on time. Within the used Model Predictive Control structure it is very
important that the drive prediction models (swing, crowd and hoist) are accurate and take as less
computational effort as possible.
During this traineeship, low-complexity hybrid models have been developed which use PWA structures to take the control systems non-linearitys into account. All models have been build in
Matlab environment and together with the existing models (stiff ODE1s solver) validated against
experimental data obtained from P&H BLE 2100 from different joystick step inputs. All models
have been compared at different update frequencies and valuated on computational effort (FLOPS)
and accuracy (RMSD).
The low complexity hybrid models result in lower computational effort without loss of accuracy for
all drives. Only two states (position and velocity) have been used in the PWA models compared
to the 5 and 6 state models used at the existing models. To describe the field weakening from the
hoist drive more than 2 states are needed but by using information from the gravitational load
(payload system) a good model description is expected. This has to be tested with experimental
data which contains different gravitational loads.
This report is written to explain what has been performed during my traineeship. The basics of
the underlying necessary knowledge is described but it is advised that the reader first gets familiar
with the control system by studying literature [1].

Abbreviations
Terms and abbreviations
MPC
PWA
MLD
HYSDEL
FLOPS
RMSD

Explanation
Model Predictive Control
PieceWise Affine
Mixed Logical Dynamical
Hybrid Systems Description Language
FLoating Operating PointS
Root Mean Square Deviation

Contents
1 Introduction

1.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Electrical mining shovel

2.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Swing drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

Crowd drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.4

Hoist drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3 Model Predictive Control (MPC)

13

3.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.2

Model requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

4 Hybrid system modeling

14

4.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

4.2

MLD and PWA framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

4.3

Complexity of hybrid models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

5 Experimental reference data

16

6 The low complexity hybrid drive models

17

6.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

6.2

Swing drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

6.3

Crowd drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

6.4

Hoist drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

7 Performances low complexity hybrid models

28

7.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

7.2

Test conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

7.3

Performance measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

7.4

Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

7.4.1

30

Swing drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4

7.4.2

Crowd drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

7.4.3

Hoist drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

8 Conclusion & Recommendations

33

8.1

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

8.2

Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

Chapter 1

Introduction
1.1

Introduction

Due to expensive mining equipment, operation times and productivity are key words in the industry. To reduce cycle times and avoid down time due to damage caused by collisions, CRC Mining
(an Australian Government funded research center) is working on automation of electric mining
shovels. The automation process which is currently being investigated is driving the dipper from
the end of the operators dig cycle to place it over the truck and dump the load. To achieve this
automation an optimization problem is solved with the help of Model Predictive Control (MPC).
A very fast (to reach a proper prediction horizon) and accurate underlying dynamical model is
essential for the needed predictions. In this application for each drive (degree of freedom) a model
is needed which relates the joystick input from the operator to the motion of the drive. The
outcome of the three drives gives the final motion of the shovel.
Earlier work has employed full electromechanical drive models that model the rigid body dynamics
and servo loops controlling the shovel. The servo loops are structured as an inner current loop
encapsulated within a velocity loop. The inner-current loop has a bandwidth of greater than
100Hz while the velocity loop bandwidth is less than 1 Hz. Accordingly the system has a multirate dynamic characteristic.

Figure 1.1: Shovel and truck during mining process


6

The existing models give acceptable performance, however they are computationally expensive to
evaluate. The reason is that the models need to be integrated at time steps which capture the
dynamics of the current loops (stiff underlying differential equations). Two scales of dynamics are
present, inner current loop dynamics (to several hundred Hz) and velocity loop dynamics (less
than 1 Hz). At the existing models (stiff ODE1s solver), update rates of 1 kHz are now being used
which are needed to get a stable solution.
Intuition suggests that an alternative model structure that can avoid these high update rates
can significantly reduce the computational loads. The only interest is the predicted position (in
especially the dynamics of the velocity loop). A candidate structure for an alternative model is
to use a hybrid model framework. A pilot study have been conducted on the swing drive with
reasonable accuracy at integration rates of 10Hz.

1.2

Objectives

The objectives of this traineeship are:


Develop hybrid models for swing, crowd, and hoist drives which can be used in model
predictive control for the P&H 2100BLE electric mining shovel.
Investigate the performance of the obtained hybrid models against the existing models by
validating them on the experimental data and measuring the needed computational effort.

Chapter 2

Electrical mining shovel


2.1

Introduction

Electric mining shovels are earth moving machines that are used in open-cut mining. During
operation, a shovel will typically work its way along a dig face removing bucket loads of material
in a series of repetitive motions called dig cycles.
The digging machinery has three degrees of freedom with the individual motions commonly referred
to as swing, crowd and hoist. Figure 2.1 shows a picture of the degrees of freedom and where the
drives are located.

Figure 2.1: DOF and drives from P&H 2100 BLE electric mining shovel
In this report the P&H 2100 BLE electric mining shovel is being used as reference because in the
end all systems will be tested on this shovel. As the majority of the mining shovels, this shovel has
drives with DC motors. These DC motors are controlled by the P&H Centurion control system
which has joystick inputs from a human operator.
8

Each motor is controlled by an ABB DCS600 controller that accepts the joystick reference and
filters it to produce a firing angle that determines armature current and a command reference to
the DCF600 for that axis which in turn generates a firing angle that determines the field current.
The power electronics consists of three phase thyristor bridge rectifiers that convert mains AC
power to DC. The main power supply is three phase, 50Hz, 660 Volts AC.
Motor control is achieved through the use of a cascaded speed controller consisting of an outer
PID speed loop (operates at 1Hz), which regulates motor speed, and an inner PI current loop
(operates at 1kHz), which regulates armature current. The inner current loop makes the motor
behave as a torque source and improves transient characteristics associated with the system poles
that result for the interaction between motor inductance and the mechanical dynamics. For motors
of the scale used in electric mining shovels, these poles form a lightly damped complex conjugate
pair. The limiting block on armature voltage is a physical limit imposed by the supply. The limit
and rate limit blocks on the current reference are implemented in software. The purpose of the
limiting block on the current reference is to limit the load that the control system applies to the
mechanical structure via the motors. The limit on the rate of change of the current reference is
intended to avoid the development of undesirable reactive EMFDs and/or eddy current that can
delay changes in interpole flux. These delays are a common cause of arcing across the commutator.
The present of these limiting blocks mandated the use of integrator anti-windup strategies on the
PI and PID controllers.
The working principle from each drive is being discussed with block diagrams used for the linear
prediction models. A more detailed description can be found at [1].

2.2

Swing drive

A block diagram of the swing drive model is displayed in figure 2.2.

Figure 2.2: Swing drive model block diagram

Important properties of the swing drive are:


Quasi torque control system: The applied torque is proportional to joystick input. This
is due to the bang to bang behavior between speed reference and joystick displacement (figure
2.3).
[%

S p e e d re fe re n c e
n o m in a l s p e e d ]

1 0 0

-1 0 0

1 0 0
J o y s tic k d is p la c e m e n t
[% ]

-1 0 0

Figure 2.3: Joystick reference vs. speed reference, swing drive


Reference armature current saturation limits, set by swing joystick input: The
reference armature current is saturated proportionally according to the amplitude of the
swing joystick reference.
Integrator anti wind up in speed control chain: To prevent integrator wind up in
the PID swing speed control chain it is being disabled and is set to zero when the current
value in the current controller saturates. Saturation levels are set by the joystick position
as mentioned above. When the current falls back below the saturation level the integrator
is re-activated. This is shown in figure 2.4.

Figure 2.4: Anti wind up strategy swing drive


Constant field current: The field current stays constant so there is no field weakening.

10

2.3

Crowd drive

A block diagram of the crowd drive model is displayed in figure 2.5.

Figure 2.5: Crowd drive model block diagram


Important properties of the crowd drive are:
Speed reference proportional to crowd joystick input: The speed reference is derived
proportionally from the crowd joystick position and therefore makes it speed controlled.
Reference armature current saturation limits set by crowd motor speed: The
reference armature current is saturated with limits which depend on crowd motor speed and
are set by the linear interpolation of a piecewise continuous curve [1].
Integrator anti wind up in crowd speed control chain: To prevent integrator wind
up in the PI crowd speed control chain it is being disabled and its value is held constant
when the current value in the current controller saturates. Saturation levels are set by using
piecewise continuous curves and the measured motor speed, as mentioned above. When the
current falls back below the saturation level the integrator is reset to zero and reactivated.
This is shown in figure 2.6.
Constant field current: The field current stays constant so there is no field weakening so
.

Figure 2.6: Anti wind up strategy crowd drive

11

2.4

Hoist drive

The hoist drive has a similar structure as the crowd drive in figure 2.5. However some important
properties differ and are described below.
Reference armature current saturation limits set by hoist motor speed: The
reference armature current is saturated with limits which depend on hoist motor speed and
are set by the linear interpolation of a piecewise continuous curve different as the crowd
drive.
Field weakening: Hoist field current is controlled by an EMF controller, which reduces
the field current in the hoist motor at speeds above a field weakening threshold speed.
Field weakening enables the hoist motor speed to increase when not the maximum torque is
required at constant speed (also depends on static load). During field weakening the EMF
voltage is kept steady at its maximum. This is especially useful when lowering an empty
bucket (happens during a digging cycle).

12

Chapter 3

Model Predictive Control (MPC)


3.1

Introduction

When developing underlying models for model predictive control (MPC) it is essential to know in
which application the model will be used and which needed properties expand out of that. MPC
is an optimization based control law. By defining a performance weight it tries to find the optimal
control input that minimizes a receding horizon performance measure subject to system dynamics
(the prediction model) and constraints. The idea of such a receding horizon policy is visualized in
the algorithm in figure 3.1.

Figure 3.1: MPC algorithm

3.2

Model requirements

From the MPC principles used at the implementation on the shovel, the following model requirements can be set:
MPC prediction horizon is 5 seconds (based on experience).
Constant model inputs over prediction horizon:
Joystick reference (obtained by splitting up the reference in steps).
Gravitational load (obtained by Payload system).
Inertia for each drive (avoiding implementation problems).
Interested in position (velocity loop).

13

Chapter 4

Hybrid system modeling


4.1

Introduction

A hybrid system contains both continuous and discrete components. To model these hybrid
systems the idea is to define the models in discrete-time domain and transform theme to piecewise
affine dynamics rather than allowing general nonlinear dynamics. The Mixed Logical Dynamical
(MLD) models and the PieceWise Affine (PWA) framework can be used for modeling.

4.2

MLD and PWA framework

The MLD framework establishes a link between the logic and dynamics world. It has the ability to
model logical parts of processes and heuristics knowledge about plant operation as integer linear
inequalities. The general MLD form of a hybrid system is:

x(k + 1) = Ax(k) + B1 u(k) + B2 (k) + B3 z(k)


y(k) = Cx(k) + D1 u(k) + D2 (k) + D3 z(k)
E2 (k) + E3 z(k) E4 x(k) + E1 u(k) + E5

(4.1)

Here k is the discrete time-instant, x(k) denotes the states, u(k) the inputs and y(k) the outputs,
with both real and binary components.
Polyhedral PWA systems are defined by splitting up the input state space into polyhedra and
associating with each polyhedron an affine state update and output function. The general form
of a PWA system is described below.

x(k + 1) = Ai x(k) + Bi u(k) + fi


y(k) = Ci x(k) + Di u(k) + gi
x(k)
] Pi
[
u(k)

(4.2)

Here u(k) represents input, x(k) the state, y(k) the output of the system at time k. The matrices
Ai , Bi , Ci , Di and vectors fi , gi contain real entries and are of appropriate dimension. The set Pi
defines the polyhedral partition in the state input space.
14

Different segments of the polyhedral partition Pi are defined using guard lines, in especially constraints on state and input variables. In general, the guard lines are described by the following
constraints:

Gxi x(k) + Gui u(k) Gci

(4.3)

This means that dynamics i represented by the tuple [Ai , Bi , fi , Ci , Di , gi ] will be active in the
part of state input space which satisfies constraints (formula 4.3). If at future time the state x(k
+ t) or input u(k + t) moves to a different sector of the polyhedral partition (formula 4.4), the
dynamics will be driven by the tuple [Aj , Bj , fj , Cj , Dj , gj ], and so on.

Gxj x(k + t) + Guj u(k + t) Gcj

(4.4)

It is possible to transform a model between the MLD and PWA framework. Modeling can be done
on different complexity levels in the different frameworks.

4.3

Complexity of hybrid models

There are different methods to model a hybrid system into different frameworks. With modeling
it is the aim to describe a system as accurate as necessary for its application. Different approaches
will also lead to different complexities.
A method which has been observed is the Hybrid Systems Description Language (HYSDEL) which
provides a high level, intuitive textual interface for modeling a class of hybrid systems described
by interconnections of linear dynamic systems, automata, if then else and propositional logic rules.
The HYSDEL compiler translates the given description into its equivalent PWA or MLD form.
By using HYSDEL it is possible to design a very accurate high complexity model but with high
computational effort. There are several methods to deduce low complexity models by simplifying
the obtained high complexity models.
A different approach is to directly build a PWA model by evaluating the behavior of the system
and see what effect that has on the states where you are interested in. By using the MPT toolbox
in Matlab it is possible to define different polyhedra manually by writing the system in the forms
of formulas 4.2 and 4.3. When this low complexity model can describe the system accurate enough
it is the simplest model which describes the system.
This report will focus on obtaining low complexity hybrid models by direct defining the PWA
model. The reason for this is that the high complexity hybrid model must have at least an update
rate of 1 kHz (high computational effort) due to the inclusion of the armature current. Therefore
a low complexity hybrid model (les states and smaller deal of logic) must be deduced which only
has to run between 5 and 10 Hz update rate.

15

Chapter 5

Experimental reference data


The experimental reference data is obtained from a P&H 2100BLE shovel with empty bucket.
Things that have been measured over time for each drive are:
Armature current
Armature voltage
Motor speed
Speed reference
Field current
Motor revolutions
Joystick reference
Measurements have been done with a computer generated joystick step input from 25, 50, 75 and
100%. During each measurement from a certain drive, the other drives are set on their brakes.
An exact description of the measurement procedure of this experimental data can be found in [1].
The different situations that have been measured are:
Swing drive (8 situations)
Left turn
Right turn
Crowd drive (16 situations)
Bucket high (extracting & retracting)
Bucket low (extracting & retracting)
Hoist drive (8 situations)
Lifting
Lowering
For each different simulation update frequency, the experimental data is being re-sampled.

16

Chapter 6

The low complexity hybrid drive


models
6.1

Introduction

To make a low complexity model the drive structures and all experimental data obtained by step
inputs on the drives, have been investigated. When only using two states (position and velocity)
the rigid body dynamics are governed by the general formula 6.1.

1
Jef f

(Tm b fc TG )

(6.1)

Jef f is the inertia working on the drive. This can change over time due to different shovel positions
and loads in the bucket but is assumed to be constant to avoid model implementation problems.
Tm is the motor torque and is determined by the torque constant Kt (depending on the field
current If ) and the armature current Ia (formula 6.2).

Tm = Kt (If )Ia = K If Ia

(6.2)

After investigating the experimental data it can be assumed that with step inputs, the controller
dynamics will drive the armature current to its saturation limits. It is important to notice from
the experimental data investigation that the armature current limits are based on the reference
armature current and does not have to be the same as the real armature current. The motor
damping is determined by b. The sign of coulomb friction fc is depending on motor direction
and can be determined by looking to its motor speed (this is implemented in the guard lines).
The influences from the gravitational load are implemented by the torque Tg . This torque is real
time available due to the use of the payload system, an earlier developed system to determine the
payload in the bucket. In the end the interest is in the predicted position, but for making the low
complexity hybrid drive models, a pattern can be found in the experimental data from the motor
speed.

17

6.2

Swing drive

By investigating different step inputs and simplifying the swing motor speed, a general response
can be recognized. This general response can be split up in different sectors which are displayed
in figure 6.1 and discussed in the table below.

J o y s tic k
R e fe re n c e

T im e
> 5 s e c .
V e lo c ity

R e fe re n c e

1
T im e

Figure 6.1: General response swing drive with pos. joystick input

Sector
1

Explanation
When the joystick reference is set to zero and the speed is zero, there is no
acceleration. A range with size is included to avoid flipping between positive
and negative joystick input
When the joystick reference is set to a certain reference by a step input, the
armature current saturation limits will be reached and the swing motor accelerates at its maximum. The motor torque Tm will be determined by the torque
constant Kt (constant field current) and the armature current saturation limits
(depending on joystick reference).
Tm =

Kt Inom
Jref
100

(6.3)

Tg is neglected due to its minimal influence from the gravitational load on the
swing drive.
When the reference speed is reached, the acceleration is zero and the motor
speed stays constant. In reality the control system gives as much armature
current as needed to keep the swing motor speed constant.
This sector occurs when the swing motor direction does not correspond with
the joystick reference input yet. The swing motor will have to brake now and
can recover energy by acting like a generator.
18

The same kind of sectors can be determined for a negative joystick reference input (sector 5 until 7
with sector 1 in common). Each sector corresponds with a polyhedron within the PWA framework.
The polyhedral partition space for the swing drive is represented in figure 6.2 and consist out of
the systems states. The green area is the part from the space which is interesting because the
angular position is not relevant. The different sectors within this area are displayed in figure 6.3.

Figure 6.2: Polyhedral partition space, swing drive

O m e g a

O m e g a n o m

1
2

J o y s tic k in p u t

5
- O m e g a n o m

4
6
- a lp h a

a lp h a

Figure 6.3: Polyhedral space, swing drive


To make sure the simulation will check the guard lines between the sectors in the right order, it
is important to put the polyhedrons in a rank in which the system also will cross the sectors. A
detailed description from the sectors with its guard lines and dynamics are described in appendix
A.
Figure 6.4 displays the result of the PWA model on a 100% joystick reference input. It can be
clearly seen that sectors 1, 2 and 3 are being crossed to get this result.

19

Figure 6.4: Exp. data v.s PWA model for 100% joystick input

6.3

Crowd drive

From the crowd drive at this response a general response can be obtained and can be split up in
different sectors with each its own dynamical behavior (figure 6.5).

J o y s tic k
R e fe re n c e

T im e
m a x 2 s e c .

V e lo c ity

4
R e fe re n c e

1
T im e

Figure 6.5: General response crowd drive with pos. joystick input

20

Sector
1

Explanation
When the joystick reference is set to zero and the speed is zero, there is no
acceleration. In reality the control system gives as much armature current as
needed to keep the crowd motor into position. This is totally depending on the
gravitational load Tg .
When the joystick reference is set to a certain reference, the armature current saturation limits will be reached and the crowd motor accelerates at its
maximum. The motor torque will be determined by the torque constant Kt
(constant field current) and the armature current saturation limits (depending
crowd motor speed). To implement the armature saturation limits the piecewise continuous curves are simplified to a minimum amount of sectors and are
displayed in figure 6.6. The simplified limits are found by experimental testing.
The influences from the gravitational load determine how fast the crowd motor
can accelerate and if the reference speed can be reached.
When reaching the reference speed, the acceleration will be zero. This sector
has dynamic guard lines because the speed reference is proportional to the
joystick input reference.
This sector is added to improve the models accuracy at low frequencies. Due to
the fact that accelerating the crowd drive to its reference speed takes maximum
2 seconds (15 seconds for swing drive), overshooting the speed reference can
occur at lower frequencies. This sector regulates the speed back to a tolerance
area around the speed reference so more accurate results over the prediction
horizon will be reached. The improvement with the use of sector 4 is displayed
in figure 6.7. Sector 4 acts here as a generator like in sector 9 but with a certain
factor so the deceleration is slower and it is possible to get into the tolerance
area. The tolerance area can not be too big due to the change of increasing
final error and not be to small due to jumping behavior.
The crowd motor will act as a generator when its speed is in the opposite
direction of the motor speed reference.

Figure 6.6: Crowd simplified current limits

21

W ith o u t s e c to r 4

V e lo c ity

W ith s e c to r 4
V e lo c ity

R e f.

4
2

E rro r

T o lle r a n c e a r e a

R e f.

t= k

t= k + 1

t= k

T im e

t= k + 1

t= k + 2

E rro r

T im e

Figure 6.7: Error improvement with additional sector 4


The same kind of sectors can be determined for a negative joystick reference input (sector 6 until
9 with sector 1 in common). The polyhedral partition space for the crowd drive is displayed in
figure 6.8. More details about the guard lines and dynamics are mentioned in appendix B.

O m e g a

+ to lle r a n c e
R e fe re n c e
- to lle r a n c e

3
1

2
J o y s tic k in p u t

6
+ to lle r a n c e
R e fe re n c e
- to lle r a n c e

5
7
8
- a lp h a

a lp h a

Figure 6.8: Polyhedral space, crowd drive


Figure 6.9 shows in blue the result of the simulation at a 100% joystick input and in red the
experimental data. An overshoot can be seen and within one step (10Hz) the reference speed is
settled within the given range.

22

Figure 6.9: Exp. data v.s PWA model for 100% joystick input
In all evaluated situations the PWA crowd model performs very well. The exception is when the
bucket is in high position and the crowd is retracting at a joystick step input size of 75 and 100%
(figure 6.10). Apparently there is a retracting constraint speed of 50 rad/s build into the control
system when the bucket is in high position. It is guessed that this has something to do with the
boom-profile. The same simulation error arises with the existing ODE1s model. It is only possible
to model this behavior if data is available from the bucket position. This would make the model
too complex and therefor this situation is neglected.

Figure 6.10: Retracting crowd drive for 75&100% joystick input

23

6.4

Hoist drive

The obtained generalized speed response from the hoist drive is displayed in figure 6.11. The
dynamical behavior is similar to the crowd drive with the exception of the field weakening which
acts after a certain threshold speed. Field weakening is useful when the motors nominal speed is
reached, but not the maximum torque is required. By lowering the field current the motor torque
drops down and a higher motor speed can be reached. This is very useful at the hoist drive when
for example lowering an empty bucket.
To model this behavior, existing models use look-up tables for the torque constant Kt which
depends on the armature and field current. In the low complexity model there are no states
for field and armature current and therefore their dynamics can not be predicted. However field
weakening is predictable because it is also depending on the gravitational load Tg . When the
load is too much, the field weakening threshold speed will not be reached and no field weakening
occurs. When the load is low enough so that the hoist motor gets into the field weakening area,
the acceleration capabilities will be lower than outside the field weakening area due to the lower
torque that is available. This makes it possible to add an extra sector for field weakening to the
crowd motor principle without adding more states.

J o y s tic k
R e fe re n c e

T im e
m a x . 2 s e c .

V e lo c ity

4
5

R e fe re n c e

F ie ld w e a k e n in g th r e s h o ld v e lo c ity

2
1
T im e

Figure 6.11: General response hoist drive with pos. joystick input

24

The different hoist sectors for a positive joystick step input are described below:
Sector
1
2

5
6

Explanation
Same as crowd drive sector 1.
Same as crowd drive sector 2 only with a difference in armature current saturation limits. Hoist drive piecewise continuous saturation curves are simplified to
a minimum amount of sectors as displayed in figure 6.12. The simplified limits
are found by experimental testing. The hoist drive is the drive with the biggest
influences from the gravitational load (Tg helps with lowering the bucket). It
determines how fast the hoist motor can accelerate and if the reference speed
can be reached.
Same as sector 2 only with a constant reducing factor on top of Kt to model
the torque loss due to field weakening. The exact value of the factor has been
determined with help of experimental data.
Same as crowd drive sector 3. This sector operates when the reference speed
is reached within a certain error area. Sector 4 can occur after sector 3 (as
displayed in figure 6.11) but also directly after sector 2.
Same as crowd drive sector 4.
Same as crowd drive sector 5 but with different armature current saturation
limits. Due to the field weakening an extra generator sector could be added
but is assumed not to occur in reality.

Figure 6.12: Hoist simplified current limits


The same kind of sectors can be determined for a negative joystick reference input (sector 7 until
11 with sector 1 in common). The polyhedral partition space for the hoist drive is displayed in
figure 6.13. A detailed description from the sectors guard lines and dynamics are mentioned in
appendix C.
A crowd drive response from a 100% joystick input is displayed in figure 6.14. It can be seen that
in the first part the acceleration is getting less when the motor speed gets higher (slightly curved).
After reaching the field weakening threshold speed of 78 rad/s, the acceleration is suddenly becoming much smaller until the speed reference is being reached.
25

O m e g a

1 1

+ to lle r a n c e
R e fe re n c e
- to lle r a n c e

4
1
3

T h r e s h o ld
fie ld w e a k e n in g

2
7

- T h r e s h o ld
fie ld w e a k e n in g

+ to lle r a n c e
R e fe re n c e
- to lle r a n c e

J o y s tic k in p u t

8
6
9
1 0
- a lp h a

a lp h a

Figure 6.13: Polyhedral space, hoist drive


The model behavior at different static loads with positive and negative 100% joystick input are
displayed in figure 6.15. With the available experimental data it is not possible to valuate the
predictions but it can be evaluated with expectations. When the hoist drive is lifting (positive
motor speed) it can be seen that a higher static load causes the hoist drive to accelerate slower and
even can not reach the desired reference speed (about 110 rad/s) if the load is to much. Therefore
it can also happen that the field weakening area is not even being reached. When lowering the
bucket with the hoist drive it can be seen that the higher the static load, the higher the acceleration
is. At a certain static load the acceleration is so high that due to the current limits, the motor
can not stop the acceleration anymore and fails in holding the bucket at a constant speed. To find
the best fitting factor on the torque constant Kt the hoist models needs to be validated against
experimental data with a loaded bucket. This factor can be adjusted separately in the model for
lifting and lowering the hoist.

26

Figure 6.14: Exp. data v.s PWA model for 100% joystick input

Hoist motor speed

100

Tg=8000Nm
Tg=12000Nm
50

Hoist motor speed [rad/s]

Tg=16000Nm

Tg=8000Nm
50

Tg=12000Nm
100

Tg=16000Nm
150

0.5

1.5
Time [sec.]

2.5

Figure 6.15: Hoist drive sim. results with different static loads

27

Chapter 7

Performances low complexity


hybrid models
7.1

Introduction

To check the performance from the developed low complexity hybrid models against the existing
models, the models will be tested in a Matlab environment on computational effort and accuracy
at different frequencies and step inputs. Experimental reference data from the P&H 2100 BLE
shovel is being used for validating the models.

7.2

Test conditions

Existing models
The low complexity hybrid models will be tested against a state space model with 5 or 6 states
(depending on drive) which uses the stiff ODE1s solver. In the state space representation, several
non-linearitys are implemented by describing functions which are re-calculated for each time step.
The actual ODE1s solver is implemented in C-code and is for this purpose rebuild in Matlab. A
more detailed description can be found in [1].
Parameters
For each drive the parameters have been collected from the control systems drive window report
files. Next to these parameters there are also parameters which have been assumed. Parameters
can be different for the existing and hybrid models when they are separately tuned for the best
accuracy. To compare both models correct, the parameters for both are kept the same at all
frequencies and step inputs. An exception is the time shift parameter where delays in the model
can be adjusted. It is assumed that the inertia for each drive is constant due to the problem
of implementing the changing inertia value in the hybrid models. This has big influences for the
hoist and crowd drive because of their sensitivity for changing inertia due to payload and kinematic
changings.
Inputs
The existing and hybrid models are being compared with the inputs:
Joystick reference input
Gravitational load
Inertia
28

Al inputs are constant over the prediction horizon due to the fact that they are not predicted over
time by themselves.
Computer system
The computer system which has been used for simulations is:
NEC Versa Notebook
Intel(R) Pentium(R) M processor 1.86Ghz 782Mhz
1.00Gb of RAM
Windows XP Professional Version 2002, Service Pack 2
Matlab R2007b with MPT toolbox
During simulations the notebook has been powered through net power.

7.3

Performance measurement

Computational effort
For measuring the computational effort, FLoating Operating PointS (FLOPS) have been used.
After initializing the initial conditions the FLOPS counting starts until the solver outputs its
solution for the desired simulation time span. Parameter initializing and toolbox loading are not
taken into account. The computational effort from the PWA models are displayed as a percentage
of the FLOPS which are needed for the same situation of the existing models.
Accuracy
To measure the accuracy of each model, it is being validated against experimental data from
position and velocity. To be able to make conclusions from the models behavior the Root Mean
Square Deviation (RMSD) method is being used. It gives an average error over the evaluated time
span and is given in formula 7.1.

r
RM SD



mean error(t)2

(7.1)

With this method it is possible to average the error within different step inputs and compare the
different update frequencies. The evaluated time span is the five seconds prediction horizon from
the moment that a joystick input is given. Due to the fact that not for every situation enough
experimental data is available, the evaluated time span is taken smaller.

29

7.4

Discussion

7.4.1

Swing drive

CPU advantage PWA [%]

Performance ODE1s v.s. PWA Swing drive model


78
76
74
72
10

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

RMSD position [rad]

0.12
0.1

ODE1s
PWA

0.08

0.06
10

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

RMSD speed [rad/s]

3
2.8
2.6
2.4
2.2
10

Figure 7.1: Swing drive models performance results, evaluation time 5 sec.
The performance results which are displayed in figure 7.1 are obtained by averaging between all
evaluated situations with an evaluation time of 5 seconds (the prediction horizon). It can be seen
that the PWA model has lower computational effort than the existing model (smaller than 100%)
and this improves with lower integration frequencies. The position and velocity accuracies are
better for the PWA models and stay about constant for all integration frequencies. The ODE1s
accuracy is unexpected becoming bigger at higher frequencies. Probably the reason for this is that
the parameters for the ODE1s model are optimally set for an update frequency of 10Hz.

30

Crowd drive

CPU advantage PWA [%]

7.4.2

Performance ODE1s v.s. PWA Crowd drive model


90
80
70
60
50
10

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

RMSD position [m]

0.025
0.02
0.015

RMSD speed [rad/s]

0.01
10
6
5
4
3
2
10

Figure 7.2: Crowd drive models performance results, evaluation time 2.6 sec., without 75&100%
retracting bucket
The crowd model results are displayed in figure 7.2 and have an evaluation time of 2.6 seconds
due to the minimum availability of experimental data. The situation with a 75 and 100% joystick
step input for retracting the crowd drive with bucket high is not taken into account because it will
have a big influence on the averages without representing the model in main circumstances.
As already seen at the swing drive, the PWA model computational effort advantages are improving
when lowering the frequencies (up to 50% reduction in computational effort now). Again the
PWA model accuracies stay about constant and the ODE1s models accuracies gets worse at
higher update frequencies. The exception is the step between 10 and 20Hz update rate where the
accuracy is better for 20Hz. At the moment of writing this report this was unexplainable. The
PWA model accuracy is for the position worse but for the speed prediction better.

31

Hoist drive

CPU advantage PWA [%]

7.4.3

Performance ODE1s v.s. PWA Hoist drive model


100
80
60
40
20
10

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

20

30

40

50
60
Integration frequency [Hz]

70

80

90

100

RMSD position [m]

0.12
0.1
0.08

RMSD speed [rad/s]

0.06
10
5
4
3
2
10

Figure 7.3: Hoist drive models performance results, evaluation time 3.2 sec.
The hoist model results are displayed in figure 7.3 and have an evaluating time range of 3.2
seconds due to the minimum available experimental data. The computational effort can now be
reduced with the PWA model till a maximum of about 65% at 10Hz and is getting worse at
higher update frequencies. The position accuracy from the ODE1s model shows what is expected;
improving accuracy at higher update frequencies. However the speed accuracy is performing the
same unexpected behavior as seen at the swing and crowd drive. Both models perform similar
accuracies but at lower frequencies the PWA models has some advantages. Probably due to better
fitted parameters for that frequency.

32

Chapter 8

Conclusion & Recommendations


8.1

Conclusion

The developed hybrid models can reduce the computational effort up to 65% without losing accuracy compared to the existing models. As expected, the computational effort is lower at lower
update frequencies. Unexpected and at the time of this report unexplained behavior is that the
accuracy stays constant or gets worse at higher frequencies. This is maybe due to parameter
settings which have been tuned at 10Hz update frequency.

8.2

Recommendations

The recommendations that can be made for future work are:


Implement and compare existing models and PWA low complexity models in C-code. That
is the final environment where it is going to be used as part of MPC.
Investigate how models perform with realistic joystick reference inputs (not such big step
inputs).
It is important to know how big your prediction horizon needs to be and thus what minimum
experimental data you need. Parameters can than be tuned to get the best overall accuracy
and models can be validated over the full prediction horizon.
A sensitivity check can be useful to investigate the influence of inertia and static load.
Validate the models with extra experimental data with different bucket loads. This is especially important for the hoist drive where bucket load has influence on the field weakening.

33

References
[1]

Wallis, D.L., Models for predictive control of electric mining shovels, CRC
mining, the University of Queensland, 2007

[2]

Maciejowski, J.M., Predictive control: with constraints, Prentice Hall, Harlow,


England, 2002

[3]

Heath, M.T., Scientific computing: An Introductory Survey, McGraw-Hill, New


York, 2002

[4]

Gerald, C.F., Wheatley, P.O., Applied Numerical analysis, Pearson Education,


Inc, 2004

[5]

Siegrist, P., 3D Track Prediction Model Dynamic Equations, CRC mining, the
University of Queensland

[6]

Kearney, M., Pilot study hybrid high and low complexity models, CRC mining,
the University of Queensland

34

Appendix A, Swing PWA model

Sector
1
2

Guard
Jref
Jref
Jref

3
4

Dynamics

Comments
Holding zero

= 0
Accelerating
=

1
Jef f

Kt Inom
100 Jr ef

b fc


Holding on
reference speed
Generator

= 0
=

Jef f

Kt Inom
100 Jr ef

b + fc

Jref -1

nom

Jref 1

nom
Jref 1

lines
1
-1
1
0

-nom

Jref -1

-nom
Jref -1

Decelerating
=

1
Jef f

Kt Inom
100 Jr ef

b + fc


Holding on
reference speed
Generator

= 0
=

1
Jef f

Kt Inom
100 Jr ef

35

b fc

Appendix B, Crowd PWA model

Sector
1
2

Guard
Jref
Jref
Jref

nom
100 Jref

Jref

Jref

1
0

nom
100 Jref

nom
100 Jref
nom
100 Jref

Dynamics

Comments
Holding zero

= 0
Accelerating

1
Jef f




800
+ 800 b fc T
Kt 2400
Holding on
reference speed

= 0

1
0

Braking after
overshoot
+

Jef f

Kt

800
2400



800 b fc T

Kt

800
2400



800 b + fc T

Jref 1

lines
1
-1
1
0

Generator

Jef f

Jref -1

nom
100 Jref

Jref

Jref

-1
0

nom
100 Jref

nom
100 Jref
nom
100 Jref

Decelerating
+

Jef f




800
Kt 2400
800 b + fc T
Holding on
reference speed

= 0

-1
0

Braking after
overshoot

Kt

800
2400



+ 800 b + fc T

Kt

800
2400



+ 800 b fc T

Jef f

Jref -1

Generator
=

1
Jef f

36

Appendix C, Hoist PWA model

Sector
1
2

Guard
Jref
Jref
Jref

nom
100 Jref

Jref

Jref

1
0

nom
100 Jref

10

11

Comments
Holding zero

= 0
Accelerating

1
Jef f




Kt 2100
2400 + 2100 b fc TG

nom
100 Jref
nom
100 Jref

Accelerating after
field weakening
=

Jef f




Kt 2100

+
2100

T
c
G
2400

= 0

1
0

Braking after
overshoot
+

1
Jef f

Kt

600
2400



600 b fc TG

Kt

2100
2400



+ 2100 b + fc TG

Generator

Jef f

Jref -1

-f ieldweak.

nom
100 Jref

Decelerating

Jef f




600
Kt 2400
600 b + fc TG

Jref -1

-f ieldweak.

nom
100 Jref

Jref

Jref

-1
0

nom
100 Jref

nom
100 Jref
nom
100 Jref

Decelerating after
field weakening
=

Jef f




600
Kt 2400
600 b + fc TG

= 0

-1
0

threshold speed
Holding on
reference speed

Braking after
overshoot

Kt

2100
2400



+ 2100 b fc TG

Kt

600
2400



600 b + fc TG

Jef f

Jref -1

threshold speed
Holding on
reference speed

Jref 1

nom
100 Jref

Dynamics

Jref 1

f ieldweak.

lines
1
-1
1
0
f ieldweak.

Generator
=

1
Jef f

37

You might also like