You are on page 1of 113

Master of Science Thesis in Electrical Engineering

Department of Electrical Engineering, Linköping University, 2019

Modeling and Control of


Drill Rig Feeders

Andreas Larsson
Master of Science Thesis in Electrical Engineering
Modeling and Control of Drill Rig Feeders:
Andreas Larsson
LiTH-ISY-EX--19/5271--SE

Supervisor: Du Ho
isy, Linköpings universitet
Stephen Joyce
Epiroc Rock Drills AB

Examiner: Svante Gunnarsson


isy, Linköpings universitet

Division of Automatic Control


Department of Electrical Engineering
Linköping University
SE-581 83 Linköping, Sweden

Copyright © 2019 Andreas Larsson


Abstract
Autonomous mining machines can provide improvements in several desired as-
pects of the mining industry, ranging from improved safety and personnel ex-
penses to machine utilization and fleets of machines working together. For these
autonomous machines, control systems are essential. This thesis examines three
different control strategies, PD, LQ, and PID, for a Boomer E drill rig from Epiroc.
In order to develop control systems without spending valuable time on real world
implementation and testing, simulations of control strategies are common. If
a system is to be simulated, a model of the system is required which captures
the dynamics of interest. The thesis examines different polynomial models for
modeling of the dynamics of a SmartROC D65 drill rig from Epiroc.

iii
Acknowledgments
First of all I want to give appreciation to Lars Eriksson and Stephen Joyce at
Epiroc for providing me a great opportunity with a tailored master thesis in au-
tomatic control in an interesting field of work. My examiner Svante Gunnarsson
and supervisor Du Ho at Linköping’s University, have provided excellent support
and feedback during the thesis which I am very grateful for.
I would also like to thank Pontus Bergsten for the unique support and feedback
in control systems during the thesis, despite your overloaded schedule. Magnus
Sethson is also worthy of an acknowledgement for providing me with essential
knowledge and course material in hydraulic servo systems that would otherwise
be difficult to acquire.
Finally, I would like to thank everybody at Epiroc who I have met in some way
during my thesis. You have created an excellent environment for me and you all
contributed to the success of this thesis.

Linköping, December 2019


Andreas Larsson

v
Contents

Notation xi

1 Introduction 1
1.1 Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Prearrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Thesis Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 System 7
2.1 Drill Rigs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 SmartROC D65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 SmartROC D65 Joint Definition . . . . . . . . . . . . . . . . 8
2.3 Boomer E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Boomer E Joint Definition . . . . . . . . . . . . . . . . . . . 10
2.4 Shared Types of Drill Rig Components . . . . . . . . . . . . . . . . 11
2.4.1 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.2 Electro-Hydraulic Servo . . . . . . . . . . . . . . . . . . . . 12

3 Electro-Hydraulic Servos 13
3.1 Servo Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Transfer Function . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.2 Valve Center . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.3 Non-linearities . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Theoretical Background 19
4.1 Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.1 Parametrization of Theoretical Model . . . . . . . . . . . . 20
4.1.2 Polynomial Models . . . . . . . . . . . . . . . . . . . . . . . 20

vii
viii Contents

4.2 Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.1 PID control . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2 LQG control . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Simulink Model 27
5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.1 Trajectory Generator . . . . . . . . . . . . . . . . . . . . . . 28
5.2 Dynamic Model of Joint Actuators . . . . . . . . . . . . . . . . . . . 29
5.2.1 Servo Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.2 Non-linearities . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3 Simscape Multibody Toolbox . . . . . . . . . . . . . . . . . . . . . . 30
5.3.1 CAD files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.2 Joint Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.3 Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.4 Gravity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6 SmartROC D65 Modeling 33


6.1 Order Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2 System Identification . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2.1 System Identification Toolbox Settings . . . . . . . . . . . . 35
6.2.2 Boom Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2.3 Boom Lift . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2.4 Feed Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2.5 Feed Dump . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2.6 Feed Extension . . . . . . . . . . . . . . . . . . . . . . . . . 47

7 Boomer E Control 51
7.1 Controller Implementation . . . . . . . . . . . . . . . . . . . . . . . 51
7.1.1 PD Implementation . . . . . . . . . . . . . . . . . . . . . . . 51
7.1.2 LQ Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.1.3 LQ Implementation . . . . . . . . . . . . . . . . . . . . . . . 52
7.1.4 PID Implementation . . . . . . . . . . . . . . . . . . . . . . 53
7.1.5 Control Signal Differences . . . . . . . . . . . . . . . . . . . 54
7.2 Control Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2.1 Boom Swing: PD Control . . . . . . . . . . . . . . . . . . . . 54
7.2.2 Boom Swing: LQ Control . . . . . . . . . . . . . . . . . . . . 55
7.2.3 Boom Swing: PID Control . . . . . . . . . . . . . . . . . . . 56
7.2.4 Control Signal Differences . . . . . . . . . . . . . . . . . . . 57
7.2.5 Boom Lift: PD Control . . . . . . . . . . . . . . . . . . . . . 58
7.2.6 Boom Lift: LQ Control . . . . . . . . . . . . . . . . . . . . . 59
7.2.7 Boom Lift: PID Control . . . . . . . . . . . . . . . . . . . . . 60
7.2.8 Boom Extension: PD Control . . . . . . . . . . . . . . . . . 61
7.2.9 Boom Extension: LQ Control . . . . . . . . . . . . . . . . . 62
7.2.10 Boom Extension: PID Control . . . . . . . . . . . . . . . . . 64
7.2.11 Feed Rotation: P Control . . . . . . . . . . . . . . . . . . . . 65
7.2.12 Feed Rotation: LQ Control . . . . . . . . . . . . . . . . . . . 66
Contents ix

7.2.13 Feed Rotation: PID Control . . . . . . . . . . . . . . . . . . 67


7.2.14 Feed Swing: P Control . . . . . . . . . . . . . . . . . . . . . 68
7.2.15 Feed Swing: LQ Control . . . . . . . . . . . . . . . . . . . . 68
7.2.16 Feed Swing: PID Control . . . . . . . . . . . . . . . . . . . . 69
7.2.17 Feed Tilt: PD Control . . . . . . . . . . . . . . . . . . . . . . 70
7.2.18 Feed Tilt: LQ Control . . . . . . . . . . . . . . . . . . . . . . 70
7.2.19 Feed Tilt: PID Control . . . . . . . . . . . . . . . . . . . . . 71
7.3 Controller Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.4 Controller Performance . . . . . . . . . . . . . . . . . . . . . . . . . 73

8 Discussion and Conclusions 75


8.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

A Hydraulic Servo Transfer Function Derivation 81


A.1 Hydraulics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.2 Hydraulics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.2.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.2.2 Electric Equivalency . . . . . . . . . . . . . . . . . . . . . . 82
A.2.3 Continuity Equation . . . . . . . . . . . . . . . . . . . . . . 82
A.2.4 Effective Bulk Modulus . . . . . . . . . . . . . . . . . . . . . 83
A.3 Servo Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
A.3.1 Mass Flow Though an Orifice . . . . . . . . . . . . . . . . . 83
A.3.2 Continuity Equation . . . . . . . . . . . . . . . . . . . . . . 84
A.3.3 Force Balance . . . . . . . . . . . . . . . . . . . . . . . . . . 85
A.3.4 Non-Linear Dynamic Model . . . . . . . . . . . . . . . . . . 85
A.3.5 Linearization and Laplace Transformation . . . . . . . . . . 86
A.3.6 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 86
A.3.7 Spool Displacement . . . . . . . . . . . . . . . . . . . . . . . 87

B System Identification Toolbox: Polynomial Estimation 89

C PD Controllers with LQ Parameters 93

Bibliography 97
Notation

Abbreviations

Abbreviation Explanation
armax Auto-Regressive Moving Average
arx Auto-Regressive
bj Box-Jenkins
gps Global Positioning System
lq Linear-Quadratic Controller
lqg Linear-Quadratic Gaussian Controller
mpc Model Predictive Control
oe Output-Error
pid Proportional, Integral, Differential Controller
siso Single Input, Single Output
sitb System Identification Toolbox

xi
Nomenclature

Physical Units in SI-units

N Force [kg · m · s−2 ]

Pa Pressure [kg · m−1 · s−2 ]

Control Theory

A System matrix

B Input matrix

C Output matrix

e Control error

L State feedback matrix

Lr Reference feedthrough matrix

M State space matrix

N Noise matrix

r Reference signal

u Control signal

y Measurement signal

Fluid Dynamics

βe Effective bulk modulus [Pa]

δh Hydraulic damping [rad/s]

ωh Hydraulic eigen frequency [rad/s]

ωs System stiffness frequency [rad/s]

xiii
xiv Nomenclature

ρ Density [kg/m3 ]
Ap Piston area [m2 ]

Bp Viscous friction coefficient in cylinder [Ns/m]


Cd Discharge coefficient −
Cp Flow coefficient −

Cv Fluid velocity coefficient −


FL Total external load on cylinder [N]
Kc Static gain for cylinder load −
Kq Static gain coefficient for valve displacement −

Mt Total mass of load [kg]


p Pressure [Pa]
q Volumetric flow rate [m3 /s]

qin Volumetric flow rate into volume [m3 /s]


V Volume [m3 ]
vp Piston speed [m/s]
w Approximation of valve circumference [m]

xp Piston displacement [m]


xv Valve displacement [m]
Introduction
1
Autonomy in the mining business can have considerable advantages. Halted pro-
duction is a tremendous cost and as a result of lost excavation, machines and
operators are pushed to the limit in order to maximize production. Effects of this
may be tough employment expectations and excessive machine usage in order to
fulfill production requirements. Operator salary structures are developed in or-
der to maximize production, but a consequence of this is often forceful machine
operations resulting in unnecessary fatigue. In addition, a mine is a dangerous
workplace compared to an office and thus worker safety is a major concern for
mining companies.

Autonomous mining machines can address these stated problems in one way or
another. The obvious advantage is the safety aspect, as fewer workers are needed
in the excavation site and ventilation becomes less critical and cheaper. Another
advantage is that autonomous machines do not require any idling time for lunch
or operator switching and therefore the machine can run non stop the whole
year around, apart from maintenance. Machine fatigue is also improved as
autonomous machines can be programmed to operate in a way that minimizes
fatigue while maintaining production efficiency.

1.1 Company
This thesis is performed with cooperation from Epiroc. Epiroc develops and
sells a wide variety of machines and equipment for mining and infrastructure
businesses. The customers are active in 150 courntries all around the world, but
the main markets are Asia/Australia, Africa/Middle East and North America.

Epiroc is a spin off from Atlas Copco in 2018. Even though the Epiroc company
is very young, the history of the mining department of Atlas Copco is extensive.

1
2 1 Introduction

The first drill rig was introduced in 1905 and since then they have been market
leaders in drill rigs.

1.2 Problem Statement


The systems to be investigated are two drill rigs from Epiroc, SmartROC D65
and Boomer E, who both can plan their path and motion autonomously given a
drill plan. With knowledge of the machine’s center of rotation, path following is
autonomous with use of kinematic models. Once the machine is positioned for
the current hole to be drilled, the feeder is lowered, causing the position of the
drill crown and the planned hole to differ.

The main interest is the control of the SmartROC D65 feeder positioning, but
due to the limitation in simulation environments and access to the real drill rig,
the Boomer E is the machine where most of the investigation is made. A
complete Simulink simulation model for the Boomer E exists, which is useful for
evaluation of control strategies and simulation of dynamic models. On a basic
level the two machines have a lot in common, such as a boom and feeder with an
attached drill system, where the joints are controlled by electro-hydraulic servos
and the types of sensors are the same. This means that conclusions regarding a
control strategy on the Boomer E may very well be applicable on the SmartROC
D65.

Therefore, the aim of this thesis is to examine if it is possible to construct a


reliable model of the SmartROC D65s feeder movement dynamics and what
kind of control strategies that may be useful for a drill rig by examining the
control of the Boomer E feeder movement.

The pose for a feeder consists of the three space dimensions as well as three
angles of the feeder, resulting in six variables of interest in total. With inverse
kinematics, the desired end effector pose can be transformed into desired
positions for each joint in the feeder arm. The feeder and its arms are controlled
by electro-hydraulic servos, with the ability to move the feeder up, down, left
and right as well as tilting forwards, backwards, left and right. All joints have
angle sensors. The actual position of the drill crown is calculated with Global
Positioning System (GPS) measurements from the top of the feeder and a
kinematic model.

As the SmartROC D65 is by this date operated manually, there exists no model
to be used for system analysis and controller development. Therefore, it is
desired to investigate if a reliable model can be established with recorded data
of the actuated joints on the drill rig during running.

When it comes to industrial applications of control theory, the Proportional


Integrational Derivative (PID) controller is very common. Even though there are
a lot of other control strategies, such as Linear-Quadratic (LQ) or Model
Predictive Controller (MPC), the PID controller is still the most common choice.
1.3 Methodology 3

Therefore, in addition to examining the D65 rig, a PID and LQ controller will be
evaluated for pose control of a feeder for a Boomer E with a provided
Simulink[1] model, in order to establish a suitable control strategy for the
Boomer E.
The SmartROC D65 and Boomer E have different areas of operation in the mine,
but the machine component principles are the same. The SmartROC D65 is
used for drilling angled holes for controlled blasting in open pit mines. The
Boomer E is used for face drilling when creating tunnels in underground mines.
Both machines have a carrier which propels the machine and a feeder connected
to the carrier. On the feeder, the drill is attached. Positioning of the feeder is
performed by actuating electro-hydraulic servos. Therefore, the conclusions
from the modeling of the SmartROC D65 and control strategy evaluation of the
Boomer E can be useful for drill rigs in general.

1.3 Methodology
The approach of the thesis is to first create a model of the system, described in
Section 4.1. In order to create a model, data must be collected according to
Section 1.3.1. The company possesses testing facilities, where the necessary data
from a real SmartROC D65 drill rig for modelling can be collected.
With a provided Simulink model for the Boomer E, the system can be simulated
and examined in terms of control strategies. This allows several control
strategies to be evaluated within a reasonable time frame in order to find a
suitable controller within several aspects.

1.3.1 Data Collection


Data collection was constructed to log input and output data as each joint was
actuated in both directions, one direction and joint at a time. The data received
is thus only useful for system identification of a Single Input Single Output
(SISO) system for each joint, without the ability to model cross couplings
between the joints. The data collection will be explained further in Chapter 6.
The chapter also provides plots of the recorded data. The sample time in the
data collection was 0.08 s, which is a quite good sample time.

1.3.2 Simulation
When the system model is developed and parameterized, the system can be
simulated in order to validate the model or simulate new system behaviors and
scenarios. The next step is to examine the open loop system is sufficiently in
such a depth that a controller can be attached. When a controller is
implemented, the closed loop system can be simulated in order to develop a
controller on the system. All this provides a good foundation for coming to
conclusions that will be useful for Epiroc in the development of the autonomous
drill rigs.
4 1 Introduction

1.4 Related Work


This section covers related work in modeling of electro-hydraulic servos and
control of kinematic manipulators. Both areas are related to control theory, but
their fields are divided and therefore this section is also divided into the two
areas.
When it comes to control of drill rigs, publications on feeder positioning
controllers are basically non existing. Therefore a field with similarities,
robotics, is consulted for related work.

Tracking control with a cascade controller is proposed by [2]. The controller is


developed for a multi-link robot manipulator with flexible joints. A kinematic
model is used in the derivation of the control law. A similar approach is found
in [3], where a motion control scheme for a non-linear system of high order is
provided along with simulation results. A hybrid controller is provided in [4],
which utilizes force measurements to improve the cascade controller.

A comparison between LQR and PID trajectory tracking is presented in [5].


Even though the object of control is a car-like robot, the fundamental problem of
trajectory tracking is the same, where the difference lies in the system model. If
the non-linear dynamics result in insufficient controller performance, [6]
proposes an adaptive LQ controller for a robot manipulator in order to assert
these problems.

A simple PID controller for a robot manipulator is presented in [7], with two
different methods for parametrization of the controller, Zeigler-Nichols and a
genetic algorithm. Expansion of the PID controller, with a sliding component in
the PID is presented in [8].

1.5 Prearrangements
A Simulink model, described in Chapter 5, of the feeder movement dynamics
for the Boomer E was provided. The model included a closed loop system with a
model for the feeder movement dynamics and structure for a cascade controller.
The Simulink model was used for implementing and evaluating the PD, LQG
and PID controllers.

For data collection, a session with a real SmartROC D65 was provided. This
allowed recording of input and output data for all joints which could be used for
system identification.

1.6 Thesis Limitations


As with all projects, limitations constrict both the extent and the methodology
of the work. Limitations can consist of the previous knowledge as well as
conscious delimitations of the project.
1.7 Thesis Outline 5

The author did not have any previous knowledge about hydraulics or
electro-hydraulic servos, which resulted in the pursuit of a black box model
instead of a grey box model. Knowledge about a system is mostly an advantage
and therefore theoretical knowledge about electro-hydraulic servos could be
used to improve the system identification.
As there are many control strategies, the ideal solution would be to implement
and evaluate all of them. Unfortunately, that is not possible in this thesis and to
limit the scope of the thesis only two control strategies were chosen. It should be
noted that the evaluation of the control results originates from Simulink
simulations. Ideally, the controllers would be implemented on the real drill rigs
and tested, but that was no feasible in the scope of the thesis.

1.7 Thesis Outline


In Chapter 2, the systems are described with details of the drill rigs as well as
the joint definitions and sensors. Thereafter, Chapter 3 offers a theoretical
background of electro-hydraulic servos and the physical models applicable for
them. The control theory applied in this thesis is then described in Chapter 4.
The provided Simulink model is outlined in Chapter 5, including the dynamic
models and toolboxes used. Results from system identification of the SmartROC
D65 are presented in Chapter 6 and thereafter the results from the control of the
Boomer E are introduced in Chapter 7. Discussion and conclusions are
subsequently presented in Chapter 8.
2
System

The provided systems for the execution of this thesis are a Simulink model for
the Boomer E, which serves as a simulation environment, and a SmartROC D65
drill rig. The following sections contain descriptions of the different systems.

As mentioned in Section 1.2, the conclusions from the control examination of


the use of the Simulink model for the Boomer E are used to make assumptions
of a suitable control strategy for the SmartROC D65. The description of the
Simulink model is found in Section 5.1.

2.1 Drill Rigs

The drill rigs are a SmartROC D65 and a Boomer E from Eprioc. The definition
of the available joints are given in Section 2.2.1 and 2.3.1.

2.2 SmartROC D65

The SmartROC D65 consists of a carrier, with dual-tracks for tramming, and a
feeder, with a drill system for drilling. The feeder is connected to the carrier
with a boom. Movement of the boom and feeder is done by electrohydraulic
servos on each link. A picture of the SmartROC D65 is seen in Figure 2.1.

7
8 2 System

Figure 2.1: SmartROC D65 from Epiroc. [9]

The SmartROC D65 is used in open pit mines when angled holes are desired.
These holes are mostly placed close to walls as the angled holes create a strong
foundation of the surface after blasting. Depending on the drill equipment used,
the SmartROC D65 can drill holes with a width of up to 140 mm in diameter
and a depth of 31.5 m, or if deeper holes are desired the depth can reach 75 m
with a hole width of up to 114 mm.

2.2.1 SmartROC D65 Joint Definition

The SmartROC D65 has five joints, one translational and four rotational. The
boom can be swung left and right and lifted up and down. The feeder can be
swung left and right and tilted forwards and backwards. The drill position on
the feeder can be extended in order to position the drill crown at the desired
hole location. The joint definitions are shown in Figure 2.2 and described below.
2.3 Boomer E 9

Figure 2.2: Joint definitions for the SmartROC D65.

From the operator’s point of view, the boom swing is a movement of the boom
left and right, a rotation around the z axis. The boom lift is a movement up and
ďown, a rotation around the y axis. If the boom is pointing in the x direction,
the feed swing is a clockwise or anti clockwise rotation around the x axis. The
feed tilt is then a tilt forwards or backwards, a rotation around the y axis.
Finally, the feed extension is a movement along the z axis if the boom is not
lifted and the feeder not swung.

2.3 Boomer E
The Boomer E consists of a four wheeled flexible waist carrier, along with two
feeders. As with the SmartROC D65, the Boomer E connects the feeders to the
carrier with a boom respectively. A picture of the Boomer E is seen in Figure 2.3.

The Boomer E is used in underground mines to drill holes on a tunnel face to


expand the tunnels. In order to clarify, the Boomer E is not used for ore
excavation but instead to create the infrastructure (road network) in
underground mines for other machines which then take care of the ore
production.
10 2 System

Figure 2.3: Boomer E from Epiroc. [10]

2.3.1 Boomer E Joint Definition


The Boomer E has eight joints, three translational and five rotational. The boom
can we swung left and right, and lifted up and down as with the SmartROC D65.
In addition, the boom can be rotated clockwise and anti-clockwise as well as
extended. The feeder can be swung left and right and tilted forward and
backwards. The drill position on the feeder can be extended in order to position
the drill crown at the desired hole location. The joint definitions are shown in
Figure 2.4 and described below.

Figure 2.4: Joint definitions for the Boomer E.

From the operators point of view, the boom swing is a movement of the boom
left and right, a rotation around the z axis. The boom lift is a movement up and
2.4 Shared Types of Drill Rig Components 11

down, a rotation around the y axis. If the boom is pointing in the x direction, the
boom rotation is a clockwise or anti-clockwise movement for the operator’s
point of view, a rotation around the x axis. Boom extension is a movement along
the x axis. If the boom is still pointing in the x direction, the feed swing is a
movement left and right, a rotation around the z axis. The feed tilt is then a tilt
forwards or backwards, a rotation around the y axis. Finally, the feed extension
and cradle position are movements along the x axis if the boom is not lifted and
the feeder not swung.

2.4 Shared Types of Drill Rig Components


The two drill rigs use several similar components, with the distinction of
component specification and performance. Some of these are the sensors used
for measuring the joint positions and the servos to actuate the joints.

2.4.1 Sensors
The SmartROC D65 and Boomer E use the same kind of sensors for their
respective joints. Rotational joints use inclinometers [11] to measure angles
directly and translational joints use extension sensors. Automatic control in
mining requires precise results, which results in significant demand on sensor
measurement accuracy and noise levels. Therefore, the drill rigs are equipped
with high end sensors in order to achieve the sensor requirements of the control
system.
The used sensors have variance presented in Table 2.1. The main source of the
sensor variance originates from quantization [12]. For the SmartROC D65
sensors, measurement series from the real drill rig were used to estimate the
variance. Only parts of the measurement series where the input is zero were
used to estimate the variance according to Equation (2.1).

N
1 X
var(x) = (x(t) − x̄)2 (2.1)
N
t=0

where x(t) is the measurement and x̄ the mean of the measurement series.
The Boomer E had measurement variances predefined in the provided Simulink
model (Chapter 5) for rotational and translational joints. These variances were
therefore abstracted from the Simulink model.
Table 2.1: Sensor variance for the different drill rigs.

Joint Variance Unit


D65: Boom swing 1.0084 · 10−6 rad2
D65: Boom lift 7.0398 · 10−6 rad2
D65: Feed swing 4.5698 · 10−8 rad2
D65: Feed dump 1.2970 · 10−5 rad2
D65: Feed extension 1.139 · 10−6 m2
12 2 System

Boomer E: Rotational 3.0462 · 10−10 rad2


Boomer E: Translational 4 · 10−6 m2

2.4.2 Electro-Hydraulic Servo


The theory of electro-hydraulic servos and the servos used on the examined drill
rigs are explained thoroughly in Chapter 3. A simplified block diagram of an
electro-hydraulic servo is shown in Figure 2.5. The input to the servo is a
current, which originates from the control system of the drill rig. The current is
fed to the valve which increases or decreases the oil flow from the oil pump to
the cylinder in the servo. The change in flow results in a change in pressure in
the cylinder which moves the piston.

I(t) vp (t)
Valve Cylinder Piston
q(t) p(t)

Figure 2.5: A simple block representation of the electro-hydraulic servo.

I(t) is the input current to the servo, q(t) is the oil mass flow, p(t) is the pressure
and vp (t) is the velocity of the piston.
Electro-Hydraulic Servos
3
This chapter contains a brief introduction to electro-hydraulic servos, with
descriptions and physical models for the piston displacement of the servo
system. A more thorough description of the hydraulic theory is presented in
Appendix A. The main sources of information about electro-hydraulic servos
are [13] and [14].

An electro-hydraulic servo, shown in Figure 3.1, consists of five main


components: A valve, a cylinder, a piston, an oil pump and an oil tank. The
valve, which takes a current as input to control pressure difference between the
chambers of the cylinder and the valve. As the pressure want to be uniform in a
fluid, the pressure difference create flows in the hydraulic circuit. The pressure
difference is increased or decreased depending on the valve displacement. If the
valve displacement increases the orifice between the chamber and the oil pump,
the pressure difference increase which gives a higher pressure in the chamber. If
the orifice to the oil pump is decreased (simultaneously increasing the orifice to
the oil tank), the pressure is decreased in the chamber.

The cylinder usually has two chambers where oil can be inserted and extracted.
The pressures in the chambers, p1 and p2 , create a force on the piston which
results in movement of the piston. The movement of the piston propagates to
movement of a load, Mt , which is attached to the piston. In order to increase
and decrease the pressure in a chamber, a pump and a tank is connected to the
valve. The pump supplies oil with a pressure of Ps , which can be assumed to be
constant. The tank is an outlet for the oil and it’s pressure, Pt , is often assumed
to be 0.

If increase in pressure is desired in a chamber, that chamber is connected to the


oil line from the pump. If decrease in pressure is desired in a chamber, that

13
14 3 Electro-Hydraulic Servos

chamber is connected to the oil line from the tank. These connections are
controlled by the valve.

Figure 3.1: Simple sketch of an electro-hydraulic servo. [14]

Ai is the area of the piston in chamber i, BL is the dampening of the load, FL is


the force from the load acting on the piston, Mt is the total mass of the load, Pt is
the pressure in the oil tank, Ps is the pressure from the oil pump, pi is the
pressure in chamber i, qi is the flow to or from chamber i, Vi is the volume of
chamber i, xp is the piston displacement and xv is the valve displacement.

3.1 Servo Theory


In this section, a transfer function of the dynamic for electro-hydraulic servos is
presented. The examined servo is a symmetric servo shown in Figure 3.1. It
should also be noted that it is conventional in the field of hydraulics to assume
that the oil is incompressible in the valve, but compressible in the cylinders [14].

An in depth section of hydraulics and servo theory is provided in Appendix A.


The provided transfer model in Section 3.1.1 is also derived.

3.1.1 Transfer Function


A transfer function of the piston displacement was provided by [14].

Kq
!
Kc Vt s
Ap Xv − A2p
1+ 4βe Kc FL
Xp = ! (3.1)
s2 2δh
s ωh2
+ ωh s +1
3.1 Servo Theory 15

Kq is the static gain coefficient for the valve displacement and is defined in
Equation (A.27). Kc is the static gain for the disturbance (load on cylinder) and
is defined in Equation (A.28).
With the end value theorem [15]

lim f (t) = lim sF(s) (3.2)


t→∞ s→0

it is seen that the change in valve displacement gives a proportional change in


piston displacement, if the load is assumed to be constant (∆FL = 0).
Kq Kc
Xp = Xv − FL
Ap A2p
, ,
⇐⇒ L−1 ⇐⇒ (3.3)

Kq
∆xp = ∆xv
Ap

It is also seen that the disturbance is frequency dependent, with the system
stiffness frequency ωs .
! !
Kc Vt s Kc s
1+ F = 1+ F (3.4)
A2p 4βe Kc L A2p ωs L

4βe Kc
ωs = (3.5)
Vt
The remaining parts are an integrator and a resonant spring-mass system with
damping. ωh is the hydraulic eigen frequency and δh is the hydraulic damping.
Both of them are dependent on the valve configuration. In this derivation
(symmetric cylinder with 4-port valve), we have the following expressions:
s
4βe A2p
ωh = (3.6)
Vt Mt
r r
Kc βe Mt Bp Vt
δh = + (3.7)
Ap Vt 4Ap βe Mt

3.1.2 Valve Center


There are three main types of valve centers, shown in Figure 3.2, where the valve
center is defined by the difference in land and port width. A critical-center valve
(or zero-lapped) is a valve with valve centers with exact match of port and land
width. If the land width is larger than the port width, the valve is closed-center
(or over-lapped). The remaining type is the open-center (or under-lapped) valve
where port width is larger than land width.
16 3 Electro-Hydraulic Servos

Figure 3.2: Sketch of different valves centers. [16]

An under-lapped valve always has a flow through the valve. This is desired in
situations where the circulation of oil is critical in order to prevent stagnation,
such as operations in cold climate as the oil may freeze if it is not circulated
continuously.

Zero-lapped valves are used when a fast response from the valve is critical.
Some leakage may take place in the closed position, but any displacement
(|∆xv | , 0) results in an opening in the valve and thus a flow.

Over-lapped valves are used for applications where demand for closed ports are
critical and has higher priority over valve response time. This creates less
sensitivity on the spool displacement precision as the over-lap creates a margin
of safety. The drawback is that the over-lap creates a deadzone, which
introduces a non-linearity.

3.1.3 Non-linearities
Electro-hydraulic servos contain several non-linearities which increase the
difficulty of controlling them. Some of these non-linearities originate from the
flow through an orifice, deadzones in the valve, and also the assumption of
constant pressure from the pump.

Flow Through an Orifice

The flow through an orifice is proportional to the square root of the pressure
difference before and after the orifice. This is obviously non-linear when
compared to the equivalent Ohm’s law for electrical systems and can create
problems when modeling or controlling the system, as most controllers (i.e. the
PID and LQ) use linear models or the assumption that the system is somewhat
linear. The linear polynomials in the modeling part of this thesis also assume
that the system can be modeled by a linear model.
 √
q ∝ ∆P


I = U


R
3.1 Servo Theory 17

Valve Deadzone
The over-lap valve is also a source of non-linearity, a deadzone. A slight
displacement of the spool may still result in no flow due to the fact that the land
is broader than the port opening.

Pump Pressure
It is often assumed that the pump pressure, Ps , is constant. This is a valid
assumption for applications where a servo has its own tank and pump. For drill
rigs, that is not the case. All servos share the same oil pump and tank. In cases
where several joints are actuated at the same time, the oil pressure can be
insufficient in order to actuate all joints as quickly as desired.
Theoretical Background
4
4.1 Modeling
System modeling can be performed in many different ways with different levels
of complexity. In this thesis, simplicity is preferred and therefore a decoupled
system is modeled, where the input into one servo is assumed to only affect that
joint and no other. With access to the real drill rig, servo input and sensor
measurement can be logged during running.

The electrohydraulic servos need oil pressure to execute the desired force and
the available oil pressure is not sufficient to supply all servos with enough
pressure to give maximum output at the same time. Therefore, modelling
improvements could be made by identifying the cross correlation between the
joint movements when moving simultaneously.

It is difficult to model drill rigs with boom and feeder arrangements. First of all,
the kinematic chain creates a lot of mechanical disturbances on the other links.
The kinematic chain contains the boom, feeder, drill rod storage, and drill
system. The weight of the feeder and the drill system attached is substantial
compared to the boom. When the boom is swung and the input is stopped, the
whole feeder arrangement has such high angular momentum that the whole
drill rig (including the carrier) oscillates for a brief moment, before being
dampened out. This of course affects the modeling difficulty as these oscillations
are difficult to capture.

In addition to the mechanical sources of difficulty, cross couplings between the


joints exist due to the fact that they share the same oil pump for their
electro-hydraulic servos. This means that one single pump supplies all servos
with oil pressure in order to actuate the joints. Depending on the desired

19
20 4 Theoretical Background

actuation of the servo, it requires different oil pressure. The faster a joint is
desired to actuate, the more pressure it requires to the servo valve.

There are several ways of modelling a dynamic system. In this thesis, linear
polynomial models are used.

4.1.1 Parametrization of Theoretical Model


With a theoretical model, as the one provided in Equation (3.1), it is possible to
parameterize such a model with the recorded data of input and output to the
servo. Due to the procedure of the thesis, the theoretical model was not
parameterized but instead linear polynomials were used, as described in
Section 4.1.2.

4.1.2 Polynomial Models


To represent the absence of knowledge about a dynamic system, a model can be
created, where the model consists of parameters that are to be determined. In
this thesis, different classes of polynomial models will be examined. For these
classes (ARMAX, OE and BJ), the parameters have no direct physical
interpretation compared to the parameters in Equation (3.1). The parameters
are instead descriptions of the relationship between input and output. As no
physical perception is available directly, the models are called black box models.

The fundamental model for the input output relation is the following:

y(t) = η(t) + w(t) (4.1)

where η(t) is the output signal without disturbance, hence depending on the
input u(t), and w(t) is a term to describe the noise.

The output signal is as mentioned dependent on the input, which is modeled the
following way:
B(z)
η(t) = G(z, θ)u(t) = u(t) (4.2)
F(z)
θ is a vector containing all the parameters for B(z) and F(z). B(z) and F(z) are
polynomials of the shift operator for a discrete time system, z. How z works and
B(z) and F(z) are structured are described in Equation (4.3).

B(z) b1 z −nk + ... + bnb z −nk−nb+1


=
F(z) 1 + f1 z −1 + ... + fnf z −nf (4.3)
−1
z u(t) = u(t − Ts )

nk is the time delay, in samples. nb and nf are the order of the respective
polynomial.
4.1 Modeling 21

The disturbance w(t) is assumed to be a process of white noise, e(t). The


disturbance w(t) is modeled in a similar way to η(t), described in Equation (4.4).

w(t) = H(z, θ)e(t)


C(z) 1 + c1 z −1 + ... + cnc z −nc (4.4)
H(z, θ) = =
D(z) 1 + d1 z −1 + ... + dnd z −nd

nc and nd are the order of the respective polynomial.

Insertion of Equation (4.2), (4.3) and (4.4) into (4.1) give the following.

B(z) C(z)
yBJ (t) = u(t) + e(t) (4.5)
F(z) D(z)

This is the form of BJ model and the OE and ARMAX models are simplifications,
or special cases, of the BJ model. [17]

With the OE model, the dynamics of the noise is neglected. Hence,


C(z) = D(z) = 1, resulting in the following model.

B(z)
yOE (t) = u(t) + e(t) (4.6)
F(z)

With the ARMAX model, the input and noise is assumed to pass through the
same dynamics. Hence, F(z) = D(z) = A(z), resulting in the following model.

B(z) C(z)
yARMAX (t) = u(t) + e(t) (4.7)
A(z) A(z)

Before starting to fit the model to estimation data, the respective nk, nb, nc, nd
and nf order parameters are determined. For the OE models, nc and nd are
omitted and for the ARMAX models, nd = nf = na. When the model orders are
in place, the models can be fitted to estimation data.

The task to find the parameters are performed by first regarding the prediction
error.
(t, θ) = y(t) − ŷ(t, θ) (4.8)
Thereafter, some kind of performance function for the prediction error is used
to create a goal function.
N
1 X
VN (θ) = l((t, θ)) (4.9)
N
t=1

The goal function is then minimized with respect to the parameters θ, to find
the parameters, θ̂N , with the best fit to the estimation data.

θ̂N = arg min VN (θ) (4.10)


θ
22 4 Theoretical Background

4.2 Control
This thesis will examine three different control strategies, the PD, PID and LQG
controller, which will be explained in the following sections. A PD or PID
controller is often parameterized by trial and error, while an LQG controller is
more sophisticated as it demands a state space model of the system to calculate
the controller parameters. The motivation to use the more complex LQG
controller is that the controller can use a linear model of the system, which
hopefully improves the control results.
By comparing the three controllers, it could be concluded if the more complex
LQG controller is worth the extra effort in implementation, or if the PID or PD
controller is enough. With the LQG controller, a state space representation of
the system is required and therefore such functionality must be implemented.
The PID controller only needs the reference signal, the measurement signal and
some kind of memory of the previous control errors. The reason to compare the
PID controller as well is to see if the integral part has sufficient impact on the
control results.
The steady state error is a critical performance measurement in automatic
control of mining operations. Therefore, it was concluded during the thesis that
a controller with integral action should be compared as well. Gravitational
forces are very influential on the positioning of the joints, due to the high weight
of the boom and feeder, so an integral action in the controller should improve
the results.

4.2.1 PID control


One of the most common control strategies is the PID controller. Its simplicity
and independence of a system model makes it a compelling controller in the
industry. Due to its popularity, numerous sources contains the PID controller
and modifications of it. In this thesis, the source used is [15]. The PID controller
has three components who all depend on the control error, (4.11), in different
ways.
The control error is defined the following way.

e(t) = r(t) − y(t) (4.11)


where r(t) is the reference signal and y(t) is the measurement signal.
The PID controller is then defined the following way.

Zt
d
u(t) = KP e(t) + KI e(τ)dτ + KD e(t) (4.12)
dt
0

The first term is the proportional part, which only applies to the current control
error. The P part deals instantaneously with control errors and thus contributes
4.2 Control 23

the most to the control signal in the early stages, as it is in the early stages that
the control error is the largest. The main advantage is that increasing KP leads
to faster reference tracking and the main task of the P part is to eliminate the
major part of the control error. A drawback is larger control signals and a more
aggressive controller, which can result in larger oscillations and instability.
The second term is the integral part, which applies to all control errors from the
start of the controller until the present. The I part acts as a memory with the
ability to learn constant disturbances in the system and compensate for them.
The main task is thus to remove the steady state error, often used when a P
controller provides a good but not perfect reference tracking. In general,
increasing KI leads to a faster decrease in the steady state error. A drawback, as
a consequence of the integral, is the risk of introducing oscillations and
instability.
The third and last term is the derivative part, which applies to the current
change in control error. The D part acts as a predictor of the control error in the
next time instance and therefore improves the dampening on the system. A
controller with undesired overshoot can use the D part in order to reduce the
overshoots. Measurement noise is often impulsive (looks like Dirac functions or
spikes in the measurements) and therefore has large derivatives. A drawback is
that this measurement noise gets amplified, which can result in jerky control
signals and a slow system.

Discrete PID control


When implementing a PID controller in a simulator or in a computer program, a
discrete version of the PID control is mandatory. This requires approximation of
the integral and derivative part of the controller, provided in [18] with Euler’s
method, and presented in Equation (4.13) and (4.14) below.

Zt k
X
e(t) ≈ TS ek (4.13)
0 j=0

de(t) ek − ek−1
≈ (4.14)
dt TS
(4.15)

where TS is the sample time.


With Equation (4.13) and (4.14), the control signal is constructed in the
following way.
k
T X e − ek−1
uk = Kp ek + S ej + Td k (4.16)
Ti TS
j=0

In computer programs it is more convenient to save a large variable than to save


several fractions of it. In other words, it is more convenient to save the sum of
24 4 Theoretical Background

previous control errors instead of saving all control errors for each passed time
instance. The integrational part of Equation (4.16) is then the following.
k
TS X T
ek = Ik = Ik−1 + S ek (4.17)
Ti Ti
j=0

where Ik−1 is the sum of the previous control errors multiplied with TTS . In the
i
first iteration, when k = 0, Ik−1 = 0. Ik is then saved in memory and becomes
Ik−1 the next iteration.
Equation (4.16) is therefore rewritten as the following.
TS e − ek−1
uk = Kp ek + Ik−1 + ek + Td k (4.18)
Ti TS

4.2.2 LQG control


The LQG-controller uses the following system description. [19]

ẋ = Ax + Bu + N v1
z = Mx (4.19)
y = Cx + v2

where A is the state matrix describing how the states depend on previous values
of the states. B describes how the input affects the states. C describes how the
measurements are connected to the states. M describes how the control
variables z depend on the states. N describes how the noise" # affects the states. v1
v
and v2 are system and measurement noise respectively. 1 is assumed to be
v2
" #
R1 R12
white noise with zero mean and intensity T .
R12 R2
The goal is to minimize the goal function in (4.20).

V = ||z||2Q1 + ||u||2Q2 (4.20)

min V = min ||z||2Q1 + ||u||2Q2 (4.21)


L L
where Q1 and Q2 are weight matrices. The demand on Q1 is that it needs to be a
positive semidefinite matrix and the demand on Q2 is that it is a positive
definite matrix.
The LQG-controller is a state feed back
u(t) = −Lx̂(t) + Lr r(t)
(4.22)
˙ = Ax̂(t) + Bu(t) + K(y(t) − C x̂(t))
x̂(t)

where K is the Kalman gain.


4.2 Control 25

As seen in Section 2.4.1 and Table 2.1, the measurements are very accurate.
Instead of relying on a linear model of the system and a Kalman filter to track
the states, the measurements can be used directly as states. The measurements
contain joint velocity estimations in addition to the joint position, and therefore
the states of interest could be taken directly from the measurements. The
LQG-controller in Equation (4.22) can thus be rewritten and simplified as the
following:
u(t) = −Lŷ(t) + Lr r(t)
" #
q(t) (4.23)
ŷ(t) =
q̇(t)
where ŷ(t) is the part of the measurement signal that contains the joint position
and velocity measurement.
L and Lr are calculated the following way.

L = Q2−1 BT S (4.24)
  −1 −1
Lr = M BL − A B (4.25)

where S is a positive semidefinite solution to

AT S + SA + M T Q1 M − SBQ2−1 BT S = 0 (4.26)
Simulink Model
5
At the start of the thesis, a Simulink Model for the Boomer E was provided by
Epiroc. The Simulink model was developed by control specialist Pontus
Bergsten, Ph.D. in Intelligent Control Systems. This Simulink model can be
used for simulation and controller evaluation.

Forward and inverse kinematics are already in place for the feeder. Regarding
Figure 2.2 or Figure 2.4, the desired input to the control system would be a pose
for the drill bit. The pose of the drill bit depends on the positions of all the joints
on the boom and feeder. If all the joint positions are known, forward kinematics
can be used to calculate a value for the drill bit pose. If the joint positions are
unknown however, inverse kinematics can be used to calculate joint positions
for all joints which gives the desired drill bit pose. The problem however is that
several joint positions can give the same drill bit pose and therefore the solving
of inverse kinematics are more difficult than forward kinematics.

The model allows use of both manual and automatic control. In the automatic
control mode, the model requires setpoints for all joint variables. The setpoints
are used to calculate trajectories for all joints, where the trajectory serves as the
reference signal for the controller. The model output is perturbed with
measurement noise before the measured joint positions are fed back to the
controller.

5.1 Overview
A screenshot of the Simulink model is shown in Figure 5.1. The Simulink model
contains a structure for a cascade controller, which is disconnected during the
thesis and therefore the position controller is the only remaining controller.

27
28 5 Simulink Model

Figure 5.1: Screenshot of the Simulink model.

1. Position controller.
2. Velocity controller.
3. System model, with joint actuators.
4. Joint scopes, for result visualization.
5. Measurement creation, perturbing joint motion with noise.
6. Velocity estimation.

5.1.1 Trajectory Generator


The trajectory generator uses the desired setpoints and the system models to
calculate trajectories for all joint variables. The task of the controller is thus to
follow the trajectory and not the setpoints directly. A trajectory is a sequence of
positions, velocities and accelerations at all time instances, defined as follows:

x(t)
 
traj(t) = ẋ(t) (5.1)
 
ẍ(t)
 

Several advantages are available with a trajectory compared to pure setpoints.


One of them is that the joint movement becomes more smooth, as the controller
tracks an increasing reference instead of a pure setpoint. This could be seen in
the figures in Chapter 7 where the joint position is intuitively more smooth with
the trajectory compared to the case that the reference would be a constant
setpoint. The setpoint approach would give a large control error at the start,
which would result in a large contribution of proportional part in the controller,
and probably saturate the control signal. In addition, if the complete trajectory
is known, the tracking error for the next time instance can be estimated and
used to improve the controller.
5.2 Dynamic Model of Joint Actuators 29

Another advantage of the trajectory, is that both position and velocity can be
controlled. A cascade controller can be used for this, where the inner controller
tracks the velocity and the outer controller tracks the position.
With a controller in place, the model can be simulated with different joint
variable setpoints. The model also contains 3D-designs of the boom and feeder,
allowing simulation results to be visualized and giving a visual demonstration
of the feeder movement.

5.2 Dynamic Model of Joint Actuators


In order to simulate a dynamic system, some kind of model must be
implemented. The provided Simulink model used dynamics for the Boomer E. A
simple block representation of the dynamics are shown in Figure 5.2, which
corresponds to block number 3 in Figure 5.1.

u Servo Joint q
Saturation Deadzone Dynamics q̇
Actuator

Figure 5.2: A block representation of the joint actuators.

5.2.1 Servo Dynamics


The servo dynamics are implemented as a second order system for each joint,
with individual parametrization. The dynamics regards the control signal from
the controller and actuates the servo, thus providing a joint position and
velocity as output. In addition to the second order dynamics, delays and lags
exist in the servo actuator models, with individual parametrization.
The servo models are intellectual properties of Epiroc and are not possible to be
disclosed in the report.

5.2.2 Non-linearities
The non-linearities included saturations, deadzones, and mechanical limitations.
These were applied on each joint individually, with individual parameterization.
Before the control signal reaches the servo dynamics, saturations are applied.
The control signal is limited between −1 and 1. A control signal with a value of
−1 means full power in reverse and 1 means full power forward, in the joints
definition of direction.
After the saturation of the control signal, the control signal goes through the
deadzones. The interval of the deadzones are [−0.1, 0.1]. This means that a
positive control signal gets subtracted by 0.1 and vice versa, and the control
signal can not change sign due to the deadzone. This means that a control signal
30 5 Simulink Model

0 < u(t) < 0.1 will be 0 after the deadzone and not < 0. A deadzone of 10% of
the maximum allowed control signal may be seen as small, but this deadzone
causes problem when correcting small control errors which usually occur in
steady state.
With use of the Simscape Multibody Toolbox, described in Section 5.3,
mechanical limitations on the joints can be applied, providing another
non-linearity. Mechanical limitations for each joint are shown in Table 5.1.

Table 5.1: Mechanical limitations for the drill rig joints.

Model Boomer E, Boomer E, SmartROC SmartROC


low high D65, low D65, high
Boom swing −45◦ 45◦ −13◦ 13◦
Boom lift 0◦ 45◦ −33◦ 20◦
Boom extension 0 [m] 3.5 [m]
Feed rotation −180◦ 180◦
Feed swing −180◦ 180◦ −25◦ 16◦
Feed tilt 0◦ 45◦ −45◦ 5◦
Feed extension 0 [m] 1 [m] 0 [m] 1.1 [m]

5.3 Simscape Multibody Toolbox


The Simscape Multibody Toolbox contains functionality to create multibody
structures with the inclusion of joint dynamics, coordinate systems, gravity and
mechanical boundaries.

5.3.1 CAD files


The toolbox also includes functionality to import CAD files and let the toolbox
calculate mass, volume, shape and center of mass for each component, as well as
the whole system. These properties are then used to apply proper inertia and
gravitational forces on the joints.

5.3.2 Joint Actuators


Simulink blocks for the management of joint actuation exists. These blocks
relate to the dynamics of the joints, described in Section 5.2, by using the output
from the joint dynamics in junction with the joint properties, to actuate the joint.
When actuating the joint, the joint position is the output as well as a translation
of the joint coordinate system.

5.3.3 Coordinate Systems


Each joint has its individual coordinate system. The coordinate system relates
itself to the coordinate system of the previous joint, all the way back to the base
5.3 Simscape Multibody Toolbox 31

coordinate system. A translation of the coordinate system of the first joint


therefore affects the coordinate system of all sequential joints.

5.3.4 Gravity
A gravity vector is defined in the base coordinate system. The toolbox applies
the gravitational forces on each joint according to the transformation of the
gravity vector to the local (joint specific) coordinate system. The joint mass
geometry from the CAD files are used to apply the correct force and torque on
the joint.
SmartROC D65 Modeling
6
With access to the real drill rig, servo input and sensor measurement can be
logged during operation. Data collection was constructed to log input and
output data as each joint was actuated in both directions, one joint at a time. The
data received is thus only useful for system identification of a SISO system for
each joint, without the ability to model cross coupling between the joints. The
electrohydraulic servos need oil pressure to execute the desired force and the
available oil pressure is not sufficient to supply all servos with enough pressure
to give maximum output at the same time. Of course, the joints still move when
oil pressure is insufficient, but they move slower which restrains mining
production. Therefore, modelling improvements could be made by identifying
the cross coupling between the joint movements when moving simultaneously.

A system with deadzones, saturations, and output limitations, is often difficult


to model with models that are accurate for the whole range of motion. Different
model structures (ARMAX, OE and BJ) were tested and compared in order to
evaluate their performance and eventually select one as a preferred model for
each joint.

The data collected only contained one set of motion data for each joint.
Therefore, the training data is also used as validation data after model fitting.
This is not ideal, as validation data is supposed to be independent from training
data in order to minimize overfitting. It should also be noted that due to the fact
that one joint at a time is put in movement, the deducted models are only valid
in such circumstances.

33
34 6 SmartROC D65 Modeling

6.1 Order Selection


Physical insight into a dynamic system is mostly an advantage. When selecting
an order for black-box models, the physical models can be consulted in order to
validate the model order. In Section 3.1.1, especially Equation (3.1), it is
concluded that the dynamics from valve displacement xv to piston displacement
xp could be models as a system of order three.
The model order selection then lies in the modeling of the valve. If the valve
dynamics are assumed to be negligible, then the valve displacement is directly
proportional to the input current I. With this assumption, the model order is
maintained as three.
Determination of the model order was concluded by consulting [12] and [14],
resulting in the choice of a model of order three.

6.2 System Identification


With use of the System Identification Toolbox (SITB) in Matlab, the recorded
input output data could effectively be used for several iterations of system
modeling. For all joints, ARMAX, OE and BJ models were developed and
evaluated. In the end, the model with the best fit was selected as the final model.
Since only one series of input and output data was available, the training data
was also used for model validation.
The model order was selected as three, to coincide with the theoretical model in
Equation (3.1). Models of order two and four were also evaluated and compared
to the theoretically motivated order three. Order two gives worse performance,
in NMRSE, for all joints with 4 to 30 percentage points. From that it could be
concluded that the model order of at least three is motivated.
When model order four was used, there was some performance increase or slight
decrease in the range of a few percentage points. If the performance increase is
just a few percentage points, it is not motivated to use the higher order due to
the minor improvement. The slight improvement can be related to overfitting,
as there is an additional parameter to fit the model to the estimation data.
The fit is calculated with the Normalized Root Mean Square Error (NRMSE) and
Normalized Mean Square Error (NMSE) defined in Equation (6.1) and (6.2).

||y − ŷ|| 


 
N RMSE = 1 −  · 100 (6.1)


||y − ȳ||
||y − ŷ||2 
 
N MSE = 1 −  · 100 (6.2)


||y − ȳ||2 
where y is the measurement from validation data, ŷ the simulated output from
the model and ȳ is the average of y.
6.2 System Identification 35

Different joints have different oil pressure requirements, depending on the


weight they have to move. When swinging the boom, the inertial forces of the
boom, feeder and drill system with auxiliaries must be overcome. In other
words it is not only the weight of the actuated link that is determining the
required force of the servo and hence the required oil pressure. The joint with
the highest demand of oil pressure is the boom lift. For the boom lift, it has to
overcome the inertia from the boom, feeder, and drill system just as the boom
swing, but it also have to overcome the gravitational forces acting on these
components as well.
With this stated, it is obvious that moving several joints at the same time can
result in an absence of sufficient oil pressure. This is a clear cross correlation
that is very influential when moving several joints at the same time, and difficult
to model. In this thesis, when a joint is actuated, all other joints are still.
Therefore, enough oil pressure is available for the actuating joint.

6.2.1 System Identification Toolbox Settings


Several settings are available in SITB which direct the modeling in the preferred
direction. All joint models are in discrete time with a sample time of 0.08 s. No
input delay was selected for any joint.
The modeling focus was selected as simulation. An advantage of the simulation
option is that the toolbox tries to create a stable model. Other options are
prediction, filter and stability. Further explanations are found in Appendix B. All
joint models used the simulation option.
The initial state setting was estimate, instead of the other options of zero and
backcast. It could be assumed that the system is at rest when the recording of
input and output starts and hence initial states as zero are appropriate.
Unfortunately, the models with zero as initial preformed worse than the same
model class with the estimate option. This could be due to the fact that the
modeling tool needs to force the model to fit with zero as initial states, which
may give consequences in areas further from the initial states. If we did not
know the initial states of the system, we could let the toolbox treat the initial
values as parameters with the estimate option or estimate them with a backward
filtering method by choosing the backcast option.
The covariance was chosen to be estimated and not neglected. The search
method was also set to be chosen automatically by the toolbox.
36 6 SmartROC D65 Modeling

6.2.2 Boom Swing


Figure 6.1 shows the recorded data for the boom swing joint. The input is
normalized to the interval [−1, 1] and measurements are in radians.

Boom swing recorded data


1
Input
0.8 Measurement

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

-0.8

-1
0 5 10 15 20 25
Time [s]

Figure 6.1: Recorded data for the boom swing joint.

The modeling results for the boom swing joint are shown in Table 6.1, where
ARMAX, OE and BJ models have been estimated.

Table 6.1: Model fit to validation data for the boom swing joint.

Model NRMSE [%] NMSE [%]


ARMAX 81.56 96.60
OE 81.56 96.60
BJ 83.33 97.22

Figure 6.2 shows the simulation of the models for the boom swing joint.
6.2 System Identification 37

Boom swing measured and simulated output


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

BJ
-0.8 OE
ARMAX
Measurement
-1
0 5 10 15 20 25
Time [s]

Figure 6.2: Boom swing models simulation.

Comparing the models to each other, it is seen in Table 6.1 that the BJ model has
the best fit to validation data with a NMRSE of 83.33 %. Therefore, the BJ model
is chosen as the preferred one for the boom swing joint, when the theoretically
motivated model order 3 was used. From the theoretical model in Section 3.1.1,
we know that the disturbances from the load should have dynamics of order 3,
which is possible with both BJ and ARMAX but not OE. The BJ model manages
to capture most of the integral action in the servo, which can be seen in
Figure 6.2. It shows that the simulated joint position of the three models is
somewhat close to the measurement. It could also be seen that the increased
amount of parameters in the BJ models noise part gives an advantage compared
to the OE and ARMAX models.

The BJ model is the following:


38 6 SmartROC D65 Modeling

B(z) C(z)
y(t) = u(t) + e(t)
F(z) D(z)
B(z) = −0.03502z −1 + 0.07075z −2 − 0.03578z −3
F(z) = 1 − 2.914z −1 + 2.857z −2 − 0.9413z −3
C(z) = 1 − 0.6903z −1 + 0.1573z −2 − 0.0694z −3
D(z) = 1 − 1.955z −1 + 1.229z −2 − 0.2646z −3 (6.3)
h i
discrete poles = 0.9513 0.9815 + 0.1620i 0.9815 − 0.1620i
h i
discrete zeros = 1.0101 + 0.0364i 1.0101 − 0.0364i
h i
continuous poles = −0.6227 −0.0657 + 2.0397i −0.0657 − 2.0397i
h i
continuous zeros = 0.1334 + 0.4491i 0.1334 − 0.4491i

The flaw of the model is the quickness to the change of input. If the reactiveness
of the model could be improved, it would hopefully improve the NMRSE.
However, it should be noted that a NMRSE of 83.33 % is good, when no
specification of model performance was provided. It is seen in Figure 6.2 that
the BJ model follows the measured output quite well.

The boom swing is the first joint in the kinematic chain of the drill rig feeder.
This means that the servo actuating the boom swing must affect the weight of
the boom, but also the weight of the feeder and drill system. Therefore, there are
several sources of mechanical disturbance that can affect the boom swing
movement. When the boom is swung, the feeder is affected by rotational forces
in the feed swing joint. These effects can be hard for the model to capture. As
mentioned in Section 6, the provided model is only valid when the boom swing
joint is the only joint in motion.

Another flaw is the mechanical limitations. These are very difficult to capture
with a linear model and therefore it is understandable that the BJ models does
not comply with them. A way to improve the model would be to include the
mechanical limitations (non-linearities) in the dynamic model of the joint,
which was outside of the scope of this project.

When observing the poles of the BJ model, it is seen that they all lie withing the
unit circle and hence the model is stable. The theory predicts a pole in 1, and
hence integral action, but the model fails to capture that exactly, as two poles
are 0.9815 ± 0.1620i. The poles are close to 1 and therefore present some
integral action, but it is not the pure integration that theory predicts.

In order to investigate if the model order is motivated, the performance of a


model of order two was investigated but simulating the output and measuring
the NMRSE. Studying the continuous poles, it is seen that they do not lie close to
each other. If poles and zeros are close to canceling each other out, it could be an
6.2 System Identification 39

indication that the model order is too high. As the BJ model was selected as the
preferred model, a BJ model of order two was created and simulated. The BJ
model of order 2 received a NMRSE of 78.58 %. From this, it could be motivated
to have the model order of three for the BJ model, due to the fact that the
NMRSE was improved several percentage points and also the fact that theory
predicts a model of order three. However, a future work of the project could
include independent validation data to further investigate the choice of model
order.

Another point of interest could be the influence of input delay on the model
performance. To investigate this, BJ models with increasing nk were created and
compared in terms of NMRSE to the BJ model in Equation (6.3). The
improvement in NMRSE was barely a whole percentage point, before giving a
worse NMRSE when nk > 5. It could therefore be concluded that the choice of
nk = 1 in the BJ model is justified.

6.2.3 Boom Lift


Figure 6.3 shows the recorded data for the boom lift joint. The input is
normalized to the interval [−1, 1] and measurements are in radians.

Boom lift recorded data


1
Input
0.8 Measurement

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

-0.8

-1
0 20 40 60 80 100 120
Time [s]

Figure 6.3: Recorded data for the boom lift joint.

The modeling results for the boom lift joint are shown in Table 6.2, where
ARMAX, OE and BJ models have been estimated.

Table 6.2: Model fit to validation data for the boom lift joint.

Model NRMSE [%] NMSE [%]


40 6 SmartROC D65 Modeling

ARMAX 95.78 99.82


OE 95.78 99.82
BJ 96.00 99.84

Figure 6.4 shows the simulation of the models for the boom lift joint.

Boom lift measured and simulated output


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

BJ
-0.8 OE
ARMAX
Measurement
-1
0 20 40 60 80 100 120
Time [s]

Figure 6.4: Boom lift models simulation.

The BJ model is the model with the best NRMSE of 96.00 %, when the
theoretically motivated model order 3 was used. The difference between the
models is very small, indicating that any model could be used giving basically
the same performance. From the theoretical model in Section 3.1.1, we know
that the disturbances from the load should have a dynamics of order 3, and
therefore it could be motivated to have the BJ model as the preferred one.
However, a complex model with the same performance as a simpler model is
hard to motivate, which speaks in favour of the OE model. To further investigate
the most suitable model type, independent validation data would be preferred,
which was not available in this project. All three models give similar simulated
output, as seen in Figure 6.4. The BJ model has initial states closer to zero,
which is more in compliance with the measured output.

With support of the theoretical model and the initial states, the BJ model is
chosen as the preferred one. The BJ model is the following:
6.2 System Identification 41

B(z) C(z)
y(t) = u(t) + e(t)
F(z) D(z)
B(z) = 0.002193z −1 − 0.0043885z −2 + 0.00219z −3
F(z) = 1 − 1.527z −1 + 0.1613z −2 + 0.3659z −3
C(z) = 1 − 0.3202z −1
D(z) = 1 − 0.7998z −1 + 0.01273z −2 + 0.2044z −3 (6.4)
h i
discrete poles = 0.9981 0.9252 −0.3963
h i
discrete zeros = 1.0009 1.0000
h i
continuous poles = −0.0237 −0.9693 −−
h i
continuous zeros = 0.0112 0

Comparing the BJ model to the measured output, it is seen in both the NMRSE
of 96.00 % and model simulation that the model follows the measured data well.

When observing the poles of the BJ model, it is observed that they all lie within
the unit circle and the model is stable. The theory predicts a pole in 1, and hence
integral action. If the pole in 0.9981 is rounded to two decimals, it is positioned
in 1 and is therefore pure integral action. The difference between the actual pole
position and the theoretical prediction assessed to belong to modeling noise.

As with the boom swing joint, in order to investigate if the model order is
motivated, the performance of a model of order two was investigated but
simulating the output and measuring the NMRSE. Studying the continuous
poles, it is seen that they does not lie close to each other. If poles and zeros are
close to canceling each other out, it could be an indication that the model order
is too high. A BJ model of order two was therefore created and simulated. It
received a NMRSE of 92.48 %. With these results, it could be motivated to
decrease the model order of the BJ model for the boom lift joint. If independent
validation data was available, this could be determined more reliably and this is
left for future work as no additional data was available during the project.

Another point of interest could be the influence of input delay on the model
performance. To investigate this, BJ models with increasing nk were created and
compared in terms of NMRSE to the BJ model in Equation (6.3). There was no
improvement in NMRSE for any BJ model with nk > 1. It could therefore be
concluded that the choice of nk = 1 in the BJ model is sufficient.

6.2.4 Feed Swing


Figure 6.5 shows the recorded data for the feed swing joint. The input is
normalized to the interval [−1, 1] and measurements are in radians.
42 6 SmartROC D65 Modeling

Feed swing recorded data


1
Input
0.8 Measurement

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

-0.8

-1
0 10 20 30 40 50 60 70 80 90
Time [s]

Figure 6.5: Recorded data for the feed swing joint.

Table 6.3: Model fit to validation data for the feed swing joint.

Model NRMSE [%] NMSE [%]


ARMAX 80.09 96.03
OE 80.09 96.03
BJ 80.59 96.23

Figure 6.6 shows the model simulation of the feed swing models.
6.2 System Identification 43

Feed swing measured and simulated output


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

BJ
-0.8 OE
ARMAX
Measurement
-1
0 10 20 30 40 50 60 70 80 90
Time [s]

Figure 6.6: Feed swing models simulation.

Comparing the models to each other, it is seen in Table 6.3 that the models have
very similar NMRSE and NMSE. Despite that the BJ model has the best fit to
validation data with a NMRSE of 80.59 %, the OE model is chosen as the
preferred model. The reason is that the increased complexity when changing
from the OE to the BJ model only gives an increase of 0.5 percentage points. If a
simpler model describes a system as well as a more complex one, there is no
reason to choose the complex one.

The OE model has the following parameters:

B(z)
y(t) = u(t) + e(t)
F(z)
B(z) = −0.02317z −1 + 0.04784z −2 − 0.02466z −3
F(z) = 1 − 2.628z −1 + 2.257z −2 − 0.6297z −3
h i
discrete poles = 1.0000 0.9944 0.6331 (6.5)
h i
discrete zeros = 1.0708 0.9939
h i
continuous poles = 0 −0.0700 −5.6993
h i
continuous zeros = 0.8528 −0.0763
The OE model follows the measured output well in terms of speed, which is
seen in Figure 6.6 as the model does not lag behind the measured output. The
main loss of performance is between 30 and 50 s when the input is zero and the
measured output barely moves, while the model moves. This origins from the
magnitude of F(z) compared to B(z). The passed joint value affect the output
44 6 SmartROC D65 Modeling

more than the current and passed input, which gives this behaviour. Preferably,
the model would move less when the input is zero.

The poles of the model all lie within or on the unit circle and therefore the OE
model is marginally stable. A pole in 1 is achieved which was predicted in
theory. Unfortunately, no pole has an imaginary part, which would give some
oscillative behaviour in the model. Studying the measured output, oscillations
are visible and it would be preferred if the model could catch some of it.

When then observing the continuous poles and zeros, it is seen that there is no
risk of pole-zero cancellation. To investigate if the model order is reasonable for
the recorded data set, an OE model was created. The output was simulated and
compared to the recorded output in order to calculate an NMRSE. The OE
model of order two received an NMRSE of 25.17 %, which indicates that the
model order of 3 is motivated.

Additional analysis of the modeling was done by increasing the input delay nk.
No OE model with increased nk provided a better NMRSE, which concluded
that the choice of nk = 1 was good.

6.2.5 Feed Dump


Figure 6.7 shows the recorded data for the feed dump joint. The input is
normalized to the interval [−1, 1] and measurements are in radians.

Feed dump recorded data


1
Input
0.8 Measurement

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

-0.8

-1
0 10 20 30 40 50 60 70
Time [s]

Figure 6.7: Recorded data for the feed dump joint.

It is seen in Figure 6.7 that there exists delays between the input and
corresponding output movement.
6.2 System Identification 45

For the feed dump joint, the BJ model gives the best fit to validation data with a
NRMSE of 78.65%, as seen in Table 6.4.

Table 6.4: Model fit to validation data for the feed dump joint.

Model NRMSE [%] NMSE [%]


ARMAX 77.42 94.90
OE 77.42 94.90
BJ 78.65 95.44

Figure 6.8 shows the model simulation of the feed dump models.

Feed dump measured and simulated output


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6

BJ
-0.8 OE
ARMAX
Measurement
-1
0 10 20 30 40 50 60 70
Time [s]

Figure 6.8: Feed dump models simulation.

The model with the highest NRMSE in Table 6.4, BJ, is selected as the preferred
model for the feed dump joint. It should be noted that due to the fact that the
difference in NMRSE is only 1.23 percentage points, the performance of the
models are very similar. From servo theory and the transfer function in (3.1), the
disturbance has dynamics which in theory is possible to capture with the BJ
model, with the C and D polynomials, and with the ARMAX model, with the A
and C polynomials.

The BJ model has the following parameters:


46 6 SmartROC D65 Modeling

B(z) C(z)
y(t) = u(t) + e(t)
F(z) D(z)
B(z) = −0.009571z −1 + 0.01742z −2 − 0.007167z −3
F(z) = 1 − 2.152z − 1 + 1.433z −2 − 0.2813z −3
C(z) = 1 − 0.2183z −1
D(z) = 1 − 2.219z −1 + 1.586z −2 − 0.3636z −3 (6.6)
h i
discrete poles = 1.0000 0.8002 0.3515
h i
discrete zeros = 1.1917 0.6284
h i
continuous poles = 0 −2.7789 −13.0355
h i
continuous zeros = 2.1866 −5.7922
Comparing the BJ model to the measured output, it is seen in Figure 6.8 that the
BJ model has the speed in parity with the measured output. The flaw of the
model is the behaviour when input is zero. The measured data has clear
oscillations which the model does not manage to capture. It would be desired
that the model had at least some oscillative behaviour. No specification of
acceptable performance levels was provided before the project, but a NMRSE of
78.65 % is decided to be a good performance of the model with regards to the
visual performance of the simulated model.
The lack of oscillative behaviour is also seen in the model poles, as no pole has
imaginary parts. Apart from that, all poles lie on or within the unit circle and
the model is therefore marginally stable. When observing the zeros of the model
it is seen that there is no risk of canceling between poles and zeros, which
indicates that the model order of three is suitable.
Another flaw of the model is the mechanical limitations. These are difficult to
capture with a linear model and therefore it is understandable that the models
does not model them in a good way. Observing the recorded data in Figure 6.7 it
is seen that the input is not zero for any substantial parts except in the end. This
provides limited data to the modeling tool around the mechanical limitations
when input is non-zero but the joint value is constant. A way to improve the
model would be to include the mechanical limitations (non-linearities) in the
dynamic model of the joint and collect more measurement data around the
mechanical limitations. This was deemed to be outside of the scope of this
project.
In order to investigate if there are any influential input delays in the joint, BJ
models with different nk were simulated and analyzed in terms of NMRSE.
nk = 3 gave an NMRSE of 78.98 %, but all other models with different nk gave
almost as good or substantially worse NMRSE than the BJ model in Equation
(6.6). The improvement with nk = 3 only gave an increase of NMRSE with 0.24
percentage points, which is not a large enough improvement to support the
claim that input delays are affecting much and nk should be increased.
6.2 System Identification 47

6.2.6 Feed Extension


Figure 6.9 shows the recorded data for the feed extension joint. The input is
normalized to the interval [−1, 1] and measurements are in meters.

Feed extension recorded data


1
Input
0.8 Measurement

0.6

0.4

0.2
Distance [m]

-0.2

-0.4

-0.6

-0.8

-1
0 5 10 15 20 25 30
Time [s]

Figure 6.9: Recorded data for the feed extension joint.

Table 6.5 shows the model fitting for the feed extension joint, where the BJ
model gives the best fit to validation data with a NRMSE of 92.27 %.

Table 6.5: Model fit to validation data for the feed extension joint.

Model NRMSE [%] NMSE [%]


ARMAX 87.38 98.40
OE 87.38 98.40
BJ 92.27 99.40

Comparing the models to each other in terms of NMRSE, it is seen that the BJ
model has the best performance. Observing the model simulation in Figure 6.10
it is seen that the BJ model is increasing the joint extension in the beginning
despite that the input is zero. The ARMAX and OE models show similar
tendencies, but not as extensive. In the later parts of the recorded data, the BJ
model follows the measured output better than the other models.
The difference in NMRSE for the BJ is approximately 5 percentage points
compared to the other models. This is not a substantial difference, but it is
visible in the output simulation in Figure 6.10. With these advantages stated for
the BJ model, it is chosen as the preferred model for the feed extension joint.
The BJ model has the following parameters:
48 6 SmartROC D65 Modeling

B(z) C(z)
y(t) = u(t) + e(t)
F(z) D(z)
B(z) = −0.0001064z −1 + 0.003465z −2 + 0.003235z −3
F(z) = 1 − 0.2225z −1 − 0.999z −2 + 0.2214z −3
C(z) = 1 + 0.3482z −1
D(z) = 1 − 0.4879z −1 − 0.3991z −2 − 0.1284z −3 (6.7)
h i
discrete poles = −0.9991 1.0000 0.2216
h i
discrete zeros = 33.4741 −0.9083
h i
continuous poles = −− 0 −18.7864
h i
continuous zeros = 43.7711 −−
Figure 6.10 shows the model simulation of the feed extension models.

Feed extension measured and simulated output


1

0.8

0.6

0.4

0.2
Distance [m]

-0.2

-0.4

-0.6

BJ
-0.8 OE
ARMAX
Measurement
-1
0 5 10 15 20 25 30
Time [s]

Figure 6.10: Feed extension models simulation.

Studying Figure 6.10, it is observed that the BJ model lacks some performance in
the early stages. Otherwise, it follows the measured data well. It does not have
as much overshoot at 27 s as the other models have, but it does not manage to
stop as quickly as the measured output at this time instance.
When observing the poles of the BJ model, it is observed that they all lie within
or on the unit circle and hence the model is marginally stable. A pole lies in 1 as
theory predicts, which gives integral action in the model. Observing the
continuous poles and zeros, it is seen that there is no risk of pole-zero
cancellation.
6.2 System Identification 49

To investigate if the input delay is affecting the modeling performance, nk is


increased and the NMRSE of these BJ models are compared to the BJ model in
Equation (6.7). Increasing nk does not improve the NMRSE for the feed
extension joint. It could therefore be concluded that the choice of nk = 1 for the
BJ model is justified.
Observing Figure 6.9 and Figure 6.10, it is ntoed that the joint certainly does not
reach steady state, at least not in the lower end point at around 15 s. This is
problematic, because we want a model that is viable in both steady state and in
the transition to reach steady state. Therefore, an independent validation set
would be appropriate for this joint in particular.
Another problem which arises from the steady stateless measurements is that
the mechanical boundaries are not met. This means that the model can not
model these boundaries at all. It is obvious that the feed extension joint can not
be extended to infinity. If the measurements does not contain any points where
the mechanical boundaries are met, and the input is still trying to increase the
extension, it is not realistic to believe that the model would catch such a
boundary.
An advantage with the fact that the feed extension joint is the last link of the
kinematic chain is that there are no substantial external loads that disturb the
dynamics of the servo. The other joints have to cooperate with the weight and
movement of the links in the later parts of the kinematic chain, but the feed
extension joint does not have that problem. Instead, it is only the piston and the
weight of the feed extension part that provides a load on the cylinder.
Boomer E Control
7
As described earlier, the Boomer E has seven joints with individual servos that
can be controlled. The examined control strategies were the PD, PID and LQ
controllers, defined in Section 4.2. The feed extension joint was not successfully
simulated for the control strategies and therefore those results are omitted. The
cause of error was located to a block from the Simscape Multibody Toolbox, but
was not possible to solve in the time frame of the thesis.

7.1 Controller Implementation


This section describes the implementation of the PD, PID and LQ controller.

7.1.1 PD Implementation
In order to provide a fair comparison between the PID and LQ control, the
integral part is first omitted, resulting in the comparison between the PD and
LQ controller. As the PD controllers presented steady state errors, the integral
part later added, resulting in the comparison of a PD, LQ and PID controller for
each joint. To create a PD controller, Equation (4.16) is restructured into
Equation (7.1).
e − ek−1
uk = Kp ek + Td k (7.1)
TS
As the sample time TS = 0.08 s is given, the PD controller has two parameters,
Kp and Td , available for tuning. The PID controller have the additional
parameter Ti .
The implementation of the PD controller requires some form of memory or state
block in order to receive ek−1 . When that is in place, the control signal can be
calculated, by applying the parameters accordingly.

51
52 7 Boomer E Control

Figure 7.1 shows a block representation of the PD implementation.

y y ek−1 ek−1
r r State PD u u
ek−1 ek ek

Delay: Ts

Figure 7.1: A block representation of the PD implementation.

7.1.2 LQ Parameters
The second order models for the joints in the provided Simulink model were
used in order to calculate the parameters of the L and Lr matrices. The models
were transformed to a state space form, retrieving A and B, which is required by
the LQG controller.
With A and B derived (defined in Section 4.2.2), M and C are determined. The
sensors measure the joint position directly, and thus M and C are determined to
be equal, with a 1 in the matrix element connected to the joint position state and
all other elements 0.
Thereafter, Equation (4.26) was solved to retrieve S. The next step is to calculate
L and Lr according to Equations (4.24) and (4.25). The implemented model for
the servo dynamics was continuous and therefore the A and B matrices are in
continuous time, making the control design to occur in continuous time, but the
controller is used in discrete time.

7.1.3 LQ Implementation
The second order model of each joint could be extracted from the Simulink
model and transformed into a state space model. This allowed adaption of the
model to the structure of the Simulink controller blocks shown in Figure 7.1.
In the early stages of LQG implementation, it was concluded that the state space
model was insufficient in tracking the real joint position. Despite the use of a
Kalman filter in Equation (4.22), the non-linearities and kinematics provided
such an influence that the model states became unstable in its pursuit of the
correct joint position.
In order to overcome this, the measurements of the joints were used directly into
the LQg controller, making it a LQ controller. This resulted in the following
implementation of the LQ controller:
7.1 Controller Implementation 53

u = −Lx + Lr r
" #
q (7.2)
x= ˆ

where q is the joint position measurement and q̇ˆ is the joint velocity estimation.

As seen in Table 2.1, the measurement variances are very small, which increase
the motivation for using the measurements (and velocity estimate) directly. A
low variance in measurements could also be used as motivation for
differentiation of the position measurement as velocity estimate.

The provided Simulink model had already functionality for a velocity estimator
with a tracker, and the velocity estimate was therefore trusted to be better than a
differential estimate. The tracker was deemed intellectual property of Epiroc
and could therefore not be disclosed in the thesis.

7.1.4 PID Implementation


For the implementation of the PID controller, the PID controller from
Section 7.1.1 is expanded. As seen in Equation (4.16) (repeated in (7.3)) and
Figure 7.2, the sum of the previous control errors is a state which is updated
every time instance.

k
TS X e − ek−1
uk = Kp ek + ej + Td k (7.3)
Ti TS
j=0

y y ek−1 ek−1
r r State PD
ek−1 ek ek u u
Pk−1 Pk Pk
i=0 ei i=0 ei i=0 ei

Delay:
Ts

Figure 7.2: A block representation of the PID implementation.


54 7 Boomer E Control

7.1.5 Control Signal Differences

Due to the implementation of the LQ controller, the control strategies may seem
to be equal. The difference, apart from the calculations of the parameters, is the
states that are used. The PD controller uses the control error and its derivative
by differentiation, while the LQ controller uses the measured control error and
joint velocity estimate. The PID controller is a PD controller with the addition of
the integral part.

ek − ek−1
PD : uk = Kp ek + Td (7.4)
TS
k
T X e − ek−1
P ID : uk = Kp ek + S ej + Td k (7.5)
Ti TS
j=0

LQ : uk = −L1 q + Lr r − L2 q̇ˆ (7.6)


ek = r − q (7.7)

7.2 Control Results

In the following sections, the control results for each joint and control strategy is
presented. The blue curve (r) is the joint reference position from the trajectory
planner and the reference that the controller tries to follow. The measured joint
value is the black curve (q) and the red curve (u) is the control signal into the
servo dynamics. Therefore, the trajectory planner regards a fixed setpoint (set
before simulation start) to produce r and the controller regards r to produce u.
The dynamics simulation then regards u to produce q.

7.2.1 Boom Swing: PD Control

As seen in Figure 7.3, the PD controller performs well, with good tracking speed,
no overshoot and a small steady state error. The drawback could be the
undershoot, but as seen in the figure, it is fairly small. In steady state, the
control signal is not large enough to overcome the deadzone, which contributes
to the slight steady state error.
7.2 Control Results 55

Boom swing PD control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.3: Controller results for the PD controller on the boom swing joint.

Observing the control results in Figure 7.3, it is seen that the control signal is
saturated in the early stages. The tracking performance is not affected noticeably
by this, but it should be noted. It could be concluded that the servo is strong
enough to actuate the joint as desired despite the saturation of the control signal.

Examining the parameters in Table 7.1, it is seen that the LQ controller have
larger proportional parameter, L1 , than the corresponding parameter in the PD
controller, Kp . Therefore it would theoretically be possible to increase Kp . When
increasing Kp larger than L1 to reduce the steady state error, an overshoot is
introduced which is not desired.

7.2.2 Boom Swing: LQ Control

The result from the LQ controller on the same joint shows a slightly worse result
than the PD controller, as seen in Figure 7.4. The tracking is a little slower, but
there is no overshoot and the steady state error is small. The control signal is
saturated in the early stages, but performance is not affected extensively.
56 7 Boomer E Control

Boom swing LQ control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.4: Controller results for the LQ controller on the boom swing joint.

Regarding the control parameters in Table 7.1, the LQ controller has the largest
parameter for the proportional part. From this, it is reasonable that the LQ
controller should have the fastest tracking, as the proportional part is most
influential on the speed of the controller. However, the LQ controller has the
joint velocity estimate as a dampening component (due to −L2 q̇ˆ), so the faster it
tracks the reference trajectory, the more it is dampened. This could be one of the
factors that contributes to the slightly slower tracking from the LQ controller.

Theoretically, there should exist a steady state error for the LQ controller on the
boom swing joint, as is the case with the PD controller on the same joint. It is
seen in Figure 7.4 and Table 7.2 that there exists a small steady state error,
measured to 1.58 %. For this joint, the non-linearities consists mostly of a
deadzone, as no extensive gravitational force is acting in the joint movement
direction. Observing the results, it could be concluded that the gain from the L1
parameter is not enough to overcome the deadzone.

When saturation on the control signal is observed, a natural consequence is to


increase Q2 in order to increase the penalty on the control signal. The result of
the increase of Q2 is a slightly larger steady state error which is not desired. It
should be noted that increasing Q2 is mostly done when the saturation of the
control signal is a problem, which it is not for this joint given the performance.

7.2.3 Boom Swing: PID Control


There is a slight steady state error for the PD controller, as stated in Section 7.2.1
and Table 7.2. The reason is determined to mainly originate from the deadzone
in the servo. A proportional controller can not overcome a deadzone and
7.2 Control Results 57

therefore it could be interesting to examine how a controller with integral action


would handle the same joint.

As seen in Figure 7.5 and Table 7.2, the PID controller performs better than the
PD controller in terms of steady state error. No noticeable overshoot is achieved
either, but the controller undershoots the trajectory reference instead.

Boom swing PID control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.5: Controller results for the PID controller on the boom swing joint.

The Kp parameter is lower for the PID controller than the PD. This is reasonable
due to the fact that the integral action also contributes to the tracking speed. Td
is also increased, which is reasonable as the integral action can introduce
oscillations and the need for dampening is therefore increased. Keeping Td = 1.1
would introduce a slight overshoot, which is not desired, and thus Td = 1.2 is
preferred.

The integral part is able to learn the constant disturbance in the form of a
deadzone and therefore the steady state error is removed compared to the PD
controller.

7.2.4 Control Signal Differences


When increasing Kp for the PD controller, as much as Kp = L1 , the tracking
speed is improved, but the drawback is an overshoot which is not desired. It was
also observed that the time to reach steady state was increased when Kp = L1
and therefore Kp was chosen as a lower value than L1 , even though they are
parameters for the same variable, e.

An additional difference in control parameters are Td and L2 . They affect quite


similar properties, especially in steady state, and therefore they should be quite
58 7 Boomer E Control

similar in magnitude. L2 affects the estimated joint velocity, q̇ˆ, while Td affects
the differentiated control error, ek −e k−1
TS . The difference is thus that the PD
controller contains the differentiation of the control error, which includes the
differentiation of both the joint position reference and joint position
measurement, while the LQ controller only contains the joint velocity estimate.

The difference is then the influence from these two components before the
system reaches steady state. If the boom swing joint is controlled with a PD
controller where Kp = L1 = Lr and Td = L2 , ė and q̇ˆ can be plotted as in
Figure 7.6.

Boom swing PD, signal comparison


1

0.8

0.6
Angular velocity [rad/s]

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.6: Differentiated control error derivative and joint velocity estimate
for the boom swing joint with applied PD controller. Kp = L1 = Lr and
T d = L2 .

It is observed in Figure 7.6 that q̇ˆ is larger between 5 and 8 seconds, as this is the
interval where the joint moves the most and the joint position is increasing in
the similar speed as the trajectory reference. Therefore the control error
derivative is almost zero, but the joint velocity estimate is nonzero. The affect on
the control is that the LQ controller gets dampened more than the PD controller
in this interval. When the joint position approaches the reference and steady
state (around 8-9 seconds), q̇ˆ ≈ −ė and the respective affect on the control is
fairly similar at this stage if Td = L2 . The LQ therefore has larger damping in the
middle stage and that is a reason why Td > L2 .

7.2.5 Boom Lift: PD Control


As seen in Figure 7.7, the PD controller does not perform well. The gravitational
forces on the boom and feeder (seen in Figure 7.7) act as approximately constant
7.2 Control Results 59

disturbances, which the PD controller struggles to counteract. This results in a


steady state error.

Boom lift PD control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.7: Controller results for the PD controller on the boom lift joint.

The boom lift joint is a difficult joint to control due to the fact that it is affected
by the gravitational forces on the whole feeder. Therefore, decreasing Kp only
slightly, gives a larger control error which the controller does not have the power
to correct. Increasing Kp on the other hand gives large control signals which
results in even more oscillatory results.

7.2.6 Boom Lift: LQ Control

The result from the LQ controller on the same joint shows better result, as seen
in Figure 7.8. The tracking is about as fast, but a smaller steady state error is
present. Unfortunately, the joint position is oscillatory and therefore not useful
for drilling.
60 7 Boomer E Control

Boom lift LQ control


1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20

Figure 7.8: Controller results for the LQ controller on the boom lift joint.

It would be appreciated to increase the dampening in the controller in order to


address the oscillative positioning. Unfortunately, increasing the Q1 value for
the velocity, results in a larger steady state error.

7.2.7 Boom Lift: PID Control

The PID controller shows improvements compared to the PD controller, as seen


in Figure 7.9. The steady state error is eliminated in the end and the oscillations
are dampened and disappear in steady state. The oscillations in the control
signal are smaller than the LQ case and one may argue that the joint position
oscillations are eliminated faster.
7.2 Control Results 61

Boom lift PID control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 u
q
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.9: Controller results for the PID controller on the boom lift joint.

Kp is smaller for the PID controller than the PD controller, which is reasonable
as the PID controller has an additional component with the integral action. The
oscillations origin from the large Kp , as the joint is controlled far enough to
reach the reference and then the control error is small which results in a small
proportional part in the control signal. In the early stages, the integral part is
not large enough to obtain the small control error (around 6 seconds). As time
progresses, the integral action accounts for the constant disturbance of
gravitation more and more, which results in the elimination of the steady state
error eventually.
Introduction of the integral part can bring increased oscillations. This
phenomenon is counteracted by the decrease of Kp . Therefore, the tracking
performance is acceptable and the oscillations are reduced.
Both Kp and Ti were increased and decreased respectively in order to find some
additional performance from the controller. Unfortunately, this was not possible,
as these parameters adjustments caused a more oscillatory joint position.

7.2.8 Boom Extension: PD Control


The PD controller performs well for the boom extension, shown in Figure 7.10.
The control signal is very noisy, even in steady state. This could be a result of the
measurement noise, which is substantially larger for translational joints
compared to rotational joints as seen in Section 2.4.1. The steady state error is
barely noticeable and thus the control signal could be zero without loss of
62 7 Boomer E Control

performance. Suppression of disturbances is desired and thus the controller can


not be turned off in steady state. Instead, the control signal could be set to zero
when the control error is small enough.
The control signal is fairly noisy compared to the other joints, e.g. boom swing.
Another way of dealing with this could be to low pass filter the measurements.
The variance in the control signal, from 4 to 20 seconds, is mostly within the
deadzone of 0.1 (obtained from the Simulink model). The control results should
therefore be similar.

Boom extension PD control


1

0.8

0.6

0.4
Distance [m]

0.2

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.10: Controller results for the PD controller on the boom extension
joint.

Theoretically, increasing Kp will decrease the steady state error, which is already
quite small. The drawback of an increase of Kp is that a small overshoot is
introduced. This can be seen in Figure C.3 in Appendix C. where Kp = L1 .
Smoothing of the over and undershoots can be achieved by increasing Td , but
the result is a slower controller which reached steady-state much later than the
original controller. Therefore, no improvements are achieved when regarding
the time and accuracy a hole can be drilled, despite a smoother positioning. A
keen eye can observe that the control signal has a slight negative drift. During
longer simulations it was confirmed that the control signal stabilizes.

7.2.9 Boom Extension: LQ Control


The LQ controller performs in parity with the PD controller for the boom
extension joint in terms of steady state error and tracking speed. There exists a
7.2 Control Results 63

slight steady state error, which is seen in Table 7.2 and in Figure 7.11 as the
control signal is non zero in steady state. Unfortunately, the LQ controller gives
an overshoot, as seen in Figure 7.11. The larger overshoot is also explained by
the larger amplitude in the control signal.

Boom extension LQ control


1

0.8

0.6

0.4
Distance [m]

0.2

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.11: Controller results for the LQ controller on the boom extension
joint.

The tracking is good for the boom extension joint and an improvement could be
to remove the overshoot. Unfortunately, increasing the element in Q1
corresponding to the joint velocity, in order to address this, results in a slower
tracking and a steady state error due to the fact that the control signal is smaller
in the later stages as well.

By observing the parameters in Table 7.1, it is seen that the LQ controller has
larger proportional and derivative part compared to the PD controller. This is
seen when comparing Figure 7.10 and 7.11, as the LQ controller gives a larger
control signal in the early parts. These are reasons why the tracking is faster
with the LQ controller.

The derivative part, L2 , is larger than Td . However, due to the fact that the LQ
controller gives an overshoot and the PD controller does not, it is concluded that
the dampening is more impactful in the PD controller despite the smaller
parameter.
64 7 Boomer E Control

7.2.10 Boom Extension: PID Control

Joint position control for the boom extension with the attached PID controller is
shown in Figure 7.12. The PID controller performs worse than the PD and LQ
controller when it comes to the overshoot. Compared to the other controllers,
the control signal is less noisy, which origins from the lower Kp . In terms of
steady state error, the PID controller eliminates the steady state error compared
to the PD controller, which is as expected.

Boom extension PID control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.12: Controller results for the PID controller on the boom extension
joint.

It would be pleasant to increase the damping in the controller in order to


minimize the overshoot. The drawback was unfortunately the tracking speed
which became lower compared to the other controllers. This resulted in a larger
time to reach steady state than before, which is not desired.

Regarding the parameters for the PID controller, seen in Table 7.1, it is
reasonable that Kp is lowered as the integral part contributes to both the
tracking speed and the steady state error. It would also be reasonable,
theoretically, to increase Td , due to the fact that the controller is more aggressive
with an integral part. Unfortunately, this resulted in the drawback of an
increased time to reach steady state, as previously mentioned.
7.2 Control Results 65

7.2.11 Feed Rotation: P Control


For the feed rotation joint, the P controller performs quite well, with a similar
tracking speed compared to the other controllers on the same joint (presented
later in Figure 7.14 and Figure 7.15) and a small steady state error. Figure 7.13
shows no overshoot and therefore it was not necessary to introduce a derivative
part in the controller. Figure 7.13 also shows a slight drift, which results is a
small steady state error. As the feeder rotates, the gravitational forces from the
feeder gives a torque on the feeder rotation joint, which the P controller has
problems to suppress.

When tuning the controller, the initial configuration was to only apply a
proportional controller (Td = 0) in order to find a good tracking speed. As no
overshoot was recognized, it was not necessary to introduce a derivative part.
Therefore, the feed rotation joint only contains a P controller instead of a PD
controller.

Feed rotation P control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.13: Controller results for the P controller on the feed rotation joint.

The drift (in q and thereby u) is difficult to address with a P controller. An


option is to increase Kp , but the drawback is overshoots which is not sufficient to
fully overcome the drift. Introduction of the derivative part (Td , 0) was tested
when Kp was increased. The overshoot is reduced, but the drift is not addressed
with the derivative part.

It is though seen in Figure 7.13 that the drift is stopped at 14 seconds, which is
positive. Unfortunately, the control error is not large enough to produce a
66 7 Boomer E Control

sufficient control signal to correct the steady state error. The control signal is not
large enough to overcome the deadzone.
Observing the parameters in Table 7.1, the P controller has a smaller
proportional part than the LQ controller. This could be reasonable as the P
controller does not have a derivative parts, which dampens the control, and
therefore should be less aggressive in the proportional part.
Despite that there is no derivative part, the controller does not give an overshoot.
The gravitational forces on the feeder should pull the feeder and thus increase
the joint position (as seen by the drift) even in the early stages around 6-7
seconds. That should result in an overshoot, but it does not. This could not be
explained apart from that the servo has some built in friction that is enough
dampening to not give an overshoot.

7.2.12 Feed Rotation: LQ Control


The LQ controller performs well for the feed rotation joint. Figure 7.14 shows
that the tracking speed is good and only a slight overshoot is present. A slight
steady state error occur, which could origin from the impact of gravity on the
feeder.

Feed rotation LQ control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.14: Controller results for the LQ controller on the feed rotation
joint.

The tracking is good for the feed rotation joint, apart from a slight steady state
error, and therefore adjustments to the Q-matrices are needless, as this only
7.2 Control Results 67

gives an overshoot. The slight steady state error is not eliminated despite a
larger Q1 (and thus L1 primarily), but instead introduces an overshoot.
The same explanation for the steady state error as for the P controller applies to
the LQ controller. The gravitational forces can not be accounted for enough with
the LQ controller which is proportional to the control error and joint velocity
estimate.

7.2.13 Feed Rotation: PID Control


As seen in Figure 7.15, the tracking speed is improved with the PID controller.

Feed rotation PID control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.15: Controller results for the PID controller on the feed rotation
joint.

Unfortunately, an overshoot is introduced which harms the time to reach steady


state. But while in steady state, the PID controller removes the steady state error
present in the P controller, which is the most important measurement of
performance for a controller on drill rig applications. Therefore, the trade off
between steady state error and overshoot is to prioritize a small steady state
error and accept an overshoot. It could be concluded that the introduction of
integral action can overcome the gravitational forces on the feeder, and the
steady state error is therefore eliminated.
Regarding the parameters for the PID controller, seen in Table 7.1, Kp is
increased compared to the P controller. To eliminate the steady state error, the
integral part was quite large compared to the integral parts for the PID
68 7 Boomer E Control

controllers on the other links. To reduce oscillations and reduce the overshoot as
much as possible, a derivative part was also introduce. In order to receive a good
tracking speed, the proportional part was necessary to increase.

7.2.14 Feed Swing: P Control

Figure 7.16 shows the result for the feed swing joint. The P controller gives a
smooth tracking without overshoot or steady state error. The control signal is
also smooth and not noisy in steady state. As there was no overshoot, there was
no need to introduce a derivative part and therefore Td = 0.

Feed swing P control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.16: Controller results for the P controller on the feed swing joint.

As with the feed rotation controller, there is not much to improve. Increasing Kp
gives a slightly faster tracking, but the cost is some minor overshoots and the
control signal is almost saturated.

7.2.15 Feed Swing: LQ Control

Figure 7.17 shows that the LQ controller gives a slightly faster tracking than the
P controller, which is reasonable as the parameter is larger for the LQ controller.
Unfortunately, there exists a slight steady state error.
7.2 Control Results 69

Feed swing LQ control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.17: Controller results for the LQ controller on the feed swing joint.

The L1 parameter is larger than Kp , and one could therefore find it strange that
the LQ controller gives a steady state error while the P controller does not. As
seen in the figures 7.16 and 7.17, the control signals have similar shape, but the
LQ controller has a more aggressive control signal, which is reasonable due to
the larger proportional coefficient. The result is that the joint is actuated passed
the reference, seen in Figure 7.17 at around 6 s when the blue dashed line of q
becomes larger than the black dotted line of r. This is the symptom of an
overshoot, and the overshoot is not large enough to induce a control signal (due
to the proportional part in the controller) to overcome the deadzone and reverse
the joint position. Therefore, the overshoot is not corrected and becomes a
steady state error.

In order to overcome the steady state error, Q1 for the position state could be
increased. Unfortunately, this results in an overly aggressive controller which
introduces some overshoot and oscillations. It was not possible to increase Q in
order to improve the dampening and still eliminate the steady state error. It is
seen in Figure 7.17 that the control signal is not large enough to overcome the
deadzone in steady state, and therefore the steady state error is not eliminated.

7.2.16 Feed Swing: PID Control


The P controller gives such a good result for the feed swing joint that
implementation of a PID controller is redundant.
70 7 Boomer E Control

7.2.17 Feed Tilt: PD Control


For the feeder tilt joint, shown in Figure 7.18, the PD controller performs well
without any substantial overshoot. A slight steady state error is present and the
control signal is smooth.

Feed tilt PD control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.18: Controller results for the PD controller on the feed tilt joint.

The major concern is the small steady state error present. Increasing Kp results
in a substantial overshoot and smaller but still existing steady state error, which
is regarded as a worse performance than before. The gravitational forces are
influential on the feed tilt joint, which explains the steady state error.

Observing the parameters in Table 7.1, it is seen that the proportional part is
smaller for the PD controller than the LQ. This is a reason for the slower
tracking speed of the controller. Even though the tracking speed is slower than
the LQ controller, the tracking speed is fairly good and should not be the main
focus of improvement. Instead, the steady state error should be eliminated in
the first place.

7.2.18 Feed Tilt: LQ Control


A faster tracking is achieved with the LQ controller, as seen in Figure 7.19. The
drawback is thus a small and oscillative steady state error. The control signal is
also saturated during the early parts of the tracking, as the controller is quite
aggressive.
7.2 Control Results 71

Feed tilt LQ control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 u
-0.8
q
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.19: Controller results for the LQ controller on the feed tilt joint.

The largest drawback of the LQ controller on the feed tilt joint is the oscillatory
steady state. Drilling can not be initiated if the joints are moving, and therefore
the LQ controller is not sufficient in its performance. The Q1 element connected
to the joint velocity estimate was increased in an attempt to overcome this, but
the oscillations could not be eliminated.

The control signal is also saturated several times, which indicates that the Q2
matrix element could be increased. The result of this is unfortunately a slower
controller which is not satisfying when it comes to the tracking speed. The
steady state error is also increased slightly when Q2 is increased, which is not
desired. The oscillations are fortunately smaller when Q2 is increased, but as
there exists a steady state error in that case, that controller is omitted.

7.2.19 Feed Tilt: PID Control

The PID controller, seen in Figure 7.20, gives a more aggressive response than
the other controllers. The advantage is the elimination of the steady state error,
which is the desired improvement from the PD and LQ controllers. The
drawback is the introduction of an overshoot, but that is regarded as an
acceptable drawback when the steady state error is eliminated.
72 7 Boomer E Control

Feed tilt PID control


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6 q
u
-0.8
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure 7.20: Controller results for the PID controller on the feed tilt joint.

Observing the control results in Figure 7.20, it is seen that the control signal is
saturated in the early stages. The tracking performance is not affected noticeably
by this, but it should be noted.

When regarding the control parameters in Table 7.1, it is seen that Kp is smaller
for the PID controller compared to the PD and LQ controllers. This is reasonable,
as the integral part is quite influential with Ti = 2. This increases the tracking
speed compared to the other controllers, despite the lower proportional part.

Td was not successfully increased in order to eliminate the overshoot and keep
the time it takes to reach steady state without an steady state error. The
overshoot is only 5.18%, which is fairly small compared to overshoots for the
PID controller on other joints.

7.3 Controller Parameters


Table 7.1 shows the controller parameters for the different controllers on each
joint.

Table 7.1: Controller parameters for each controllers on each joint.

Joint Kp Td L Lr Kp Ti Td
h i
Boom swing 1 1.1 1.4146 0.9883 1.4146 0.85 50 1.2
h i
Boom lift 0.12 0.075 0.1414 0.0704 0.1414 0.1 32 0.1
7.4 Controller Performance 73

h i
Boom extension 0.55 0.1 1.00 0.1398 1.00 0.4 10 0.1
h i
Feed rotation 0.8 0 1.00 0.0190 1.00 0.9 5 0.4
h i
Feed swing 4 0 5.001 0.5355 5.001 - - -
h i
Feed tilt 3 0.9 3.8743 0.3646 3.8743 2 2 1.5

Appendix C shows simulations of the PD controller with equal parameters as


the LQ controller for each joint.

7.4 Controller Performance


Table 7.2 shows the controller performance for the different controllers on each
joint. The performance is measured as the steady state error and overshoot.

Table 7.2: Controller performance, steady state error (SSE) and overshoot (OS)
for all joints and controllers.

Joint PD: SSE PD: OS LQ: SSE LQ: OS PID: SSE PID: OS
Boom swing 1.12 % - 1.58 % - - -
Boom lift 22.31 % - 2.03 % - - -
Boom extension 0.92 % - 1.70 % 7.30 % - 14.60 %
Feed rotation 2.56 % - 2.14 % 2.62 % - 10.37 %
Feed swing - - 4.93 % - - -
Feed tilt 2.12 % - 3.40 % - - 5.18 %
Discussion and Conclusions
8
This final chapter contains discussion and conclusions about the derived results
for the thesis, as well as a section for proposed future work of the thesis.

8.1 Discussion
When it comes to modeling, data collection can have a large impact. If
measurements series are not large enough, the models become uncertain and
therefore less useful. The access to validation data is also important in order to
prevent overfitting. Providing independent validation data for the modeling
part could possibly improve how much one could trust the models and their
performance measure.

The servos on the drill rigs contain several non-linearities. It could be


interesting to extend the polynomial models with non-linear properties, where
the polynomial takes care of the dynamics and a complementary part is added
to deal with the non-linearities, such as deadzones, saturations and mechanical
boundaries.

When choosing between problem solutions, such as choosing a control strategy


to solve the automatic control problem, for development of a system,
conclusions are not straight forward. In order to survive as a company, it needs
to sometime become profitable. This in turn demands profits on the sold goods
in the first place. Development costs on technical systems are a considerable
expense when running a company and development costs are influenced on
development success and selected solutions.

The LQ and PD controllers have different levels of complexity, resulting in


different requirements on development expenditures. Therefore, the selection of

75
76 8 Discussion and Conclusions

control strategy can affect both development costs and completion time. It is not
straight forward to conclude that the more prominent LQ controller is the best
solution. The difference in development costs must be covered by the price of
the sold product and therefore a cheaper system can be more successful if the
performance is sufficient for the customer.

As seen in Table 7.2, the LQ controller performs better than the PD controller
for some joints, and for other joints it is the other way around. Some joints have
similar performance between the LQ and PD controller. This shows why the
choice of control strategy is not straight forward, as some trade off has to be
done.

8.2 Future Work


The electro-hydraulic servo contains an integral action when the piston speed is
transferred to piston position, which is what is measured at the joint position. It
is visible in the plots of the recorded data in Chapter 6 that the input current is
somewhat proportional to the slope of the measurement curves. Hence, the
input could be interpreted as proportional to the piston velocity.

Therefore integral action is present in the servo, which was modeled by the
polynomials, and it could be interesting to model the joint velocity instead of
the joint position. There could be problems when the System Identification
Toolbox is demanded to model integral action, and a model of the velocity could
rebut that [12].

Another important aspect for a more realistic model is to regard the cross
correlation between the joints. The recorded data was performed when all other
joints were still and therefore the actuated joint had access to sufficient oil
pressure to actuate the servo. This is not always the case when several joints are
actuated at the same time, and therefore some modeling of the cross correlation
would be interesting.

Theoretical models of electro-hydraulic servos are provided in Chapter 3 and


derivations of transfer function and state space models are presented in
Section 3.1.1 and Appendix ?? respectively. These theoretical models can be
used in the modeling procedure, also known as grey box modeling, by letting
the System Identification Toolbox to regard the theoretical models and thus
finding the coefficients.

Results from control implementations on the real systems are more valuable
than results from simulations. Even though simulations can save a lot of time,
the real system is what matters in the end. Therefore, the next step from this
thesis could be to implement the control strategies on the real drill rigs and
evaluate that performance.
8.3 Conclusions 77

8.3 Conclusions
As seen in Section 6.2.2-6.2.6, the performance of the polynomial models are
good, given that no requirement on the model performance was provided. The
good performance is seen in both the NMRSE and output simulation of the
models. Some joints are shown to be easier to model than others. This is to be
expected when disturbances, such as gravity, inertia, and the kinematic chain,
are affecting the joints in different ways.

If only one polynomial model type is to be used, the BJ model would be the
preferred choice. It is the best performing model for all five joints, even though
the OE model was preferred for the feed swing joint. The increased complexity
with the BJ model compared to the other model types gives increased
performance which motivate the choice of the BJ model.

The main motivational factor for introduction of a controller with integrational


action is to remove the steady state error. In the case of the feed swing joint, the
P controller provided enough performance that the PID controller could not
provide a better performance.
The steady state error is very important in these kinds of applications. All joint
position errors contributes to the precision of the drill bit positioning as each
joint position error is transmitted into the drill bit position with the forward
kinematics.
Therefore, the steady state error is critical for autonomous mining operations.
The position and angle of each planned hole is calculated in order to maximize
several aspects such as excavation volume, blasting and ground structure, and
therefore the pose of the drill bit is critical.
With that stated, the PID controller is the preferred control strategy. It could
introduce some overshoots, but the steady state error is removed which is the
most important measure. If integrational action is not available, the PD
controller gives overall a better performance. Disregarding the boom lift joint
where neither the LQ or PD controller could provide a stable control, the PD
controller have less steady state error for all but one joint. In addition, the PD
controller has a more simple structure than the LQ controller and should
require less difficulty in terms of implementation.
Appendix
Hydraulic Servo Transfer Function
A
Derivation

A.1 Hydraulics
This section gives a brief introduction to hydraulic theory, including the
connections to electric theory, the continuity equation and effective bulk
modulus. In hydraulics, there is mostly always an operating point being
considered. Variable at an operating points have index 0.

A.2 Hydraulics
This section gives a brief introduction to hydraulic theory, including the
connections to electric theory, the continuity equation and effective bulk
modulus. In hydraulics, there is mostly always an operating point being
considered. Variable at an operating points have index 0.

A.2.1 Assumptions
For the theoretical models to hold in Chapter 3, assumptions are made. The first
one is Pascal’s principle [20]:

A change in pressure at any point in an enclosed fluid at rest is


transmitted undiminished to all points in the fluid.

With this in place, it is known that in steady state, the pressure is the same in
the whole enclosed volume of the fluid. That means that if we know or can
measure the pressure in one point, the pressure is the same in the whole
enclosed volume. What it does not state is how the pressure is distributed when
not in steady state. In this thesis, Pascal’s principle is assumed to be valid even

81
82 A Hydraulic Servo Transfer Function Derivation

before steady state, apart from the pressure difference over an orifice, where the
pressure difference is critical in order to achieve a flow through the orifice.
It is also assumed that in small volumes, such as valves, the oil is incompressible.
In large volumes, such as the piston cylinder, the oil is assumed to be
compressible. In order to form the continuity equation for the cylinder, the oil
must be compressible in order to calculate the correct mass flow in or out of the
cylinder.
The valve dynamics are also target for assumptions and approximations. With
insight into the servos used on the drill rig [12, 14], the transfer function of the
input current to the spool displacement is often simplified as a static gain. This
assumption is valid when the spool displacement dynamics are much faster than
the dynamics in the rest of the valve, which is assumed in this case.

A.2.2 Electric Equivalency


The name of the electro-hydraulic servo reveals the main domains of energy
transfer in the servo, electrical currents and hydraulics oil flows. The electric
current, I, is equivalent to the hydraulic mass flow rate, q and the voltage, U , is
equivalent to the pressure, p. Even though that electrons move slowly in
conductive materials, the electrical signal travels with the speed of the electrical
field, which propagates much faster.
With Pascal’s principle in place, the two domains follows the same principles.
Kirchhoff’s law of current, shown in Figure A.1 and Equation (A.1), is applicable
to the hydraulics domain as well.

Figure A.1: An electric and hydraulic junction.

P P
 i Ii = 0  i qi = 0

 

⇐⇒  (A.1)
 Ui = U  pi = p

 

A.2.3 Continuity Equation


In steady state, the continuity equation states that the mass that enters the
system is equal to the mass that leaves. For a three dimensional flow with
A.3 Servo Theory 83

velocity v̄, it states as follows in Equation (A.2) and hold for stationary and
in-stationary flows in addition to compressible and incompressible fluids. [13]

∂ρ
+ ∇(ρ v̄) = 0 (A.2)
∂t
With Pascal’s principle and assumption that the effective bulk modulus, defined
in Equation (A.4), the continuity equation can be formulated as the following.
X X dV V dp
qin − qout = + (A.3)
dt βe dt

This means that the mass change in the volume is dependent on the volume
expansion and fluid compression.

A.2.4 Effective Bulk Modulus


At a constant temperature, the effective bulk modulus describes the elasticity of
the fluid. It is often found experimentally. The effective bulk modulus is defined
in Equation (A.4).
∆p
βe = Vt (A.4)
∆Vt
The effective bulk modulus is not pleasant to work with, and therefore two
linear approximations are used with two different applications. The secant bulk
modulus, βs , is used for large pressure variations and the tangent bulk modulus,
βt , is used for small pressure variations.
p
βs = V0 (A.5)
V0 − V
dp
βt = −V (A.6)
dV

A.3 Servo Theory


In this section, derivations of the dynamic equations for electro-hydraulic servos
are made. The examined is a symmetric servo shown in Figure 3.1. It should
also be noted that it is conventional in the field of hydraulics to assume that the
oil is incompressible in the valve, but compressible in the cylinders [14].

A.3.1 Mass Flow Though an Orifice


The dynamic model of a hydraulic servo requires the mass flow through an
orifice, the continuity equation and the force equation for the piston. The mass
flow through an orifice is given by Equation (A.7) [14].
r
2
q = Cp wxv (P − Pb ) (A.7)
ρ a
84 A Hydraulic Servo Transfer Function Derivation

where Cp is an experimentally determined constant, w is an approximation as


the valve circumference, xv is the valve displacement from its origin., Pa the
pressure before the orifice and Pb the pressure after the orifice. If q ∝ ∆P , then
the equation would be equivalent to Ohm’s Law in the electric domain [21].
Regarding the symmetric servo, the mass flow to the chambers are the following.
r
2
q1 = Cp wxv (P − p1 ) (A.8)
ρ s
r
2
q2 = Cp wxv (p − Pt ) (A.9)
ρ 2
Ps and Pt are denoted with capital letters as they are assumed to be constant,
where as p1 and p2 are variables.
By design, A1 = A2 = Ap , and it is appropriate to assume that q1 = q2 = q and
Pt ≈ 0. [14] This results in p2 = Ps − p1 and thus the pressure created from the
load can be defined.

P +p
 p1 = s 2 L


pL ≡ p1 − p2 =⇒  (A.10)
p2 = Ps −p

2
L

The resulting orifice equation is thus (insertion of Equation (A.10) in (A.8) and
(A.9), resulting in the same expression)
s
Ps − pL
q = Cp wxv (A.11)
ρ

A.3.2 Continuity Equation


Regarding the continuity equations for the two chamber flows results in the
following expressions (from Equation (A.3)).
dV1 V1 dp1
q1 = + (A.12)
dt βe dt
dV2 V2 dp2
−q2 = + (A.13)
dt βe dt
Commonly, the derivation is performed around an operating point in the center
of the two end positions of the piston, resulting in the assumption of V1 ≈ V2 .
From Section A.3.1 we have that q1 = q2 .
As the piston area is constant, the volume derivatives consists of the piston area
and piston velocity in the displacement direction.
dV1
= Ap ẋp (A.14)
dt
dV2
= −Ap ẋp (A.15)
dt
A.3 Servo Theory 85

Equation (A.10) and the assumption that Ps is constant then gives the following
expressions for the pressure derivative.
dp1 1 dpL
= (A.16)
dt 2 dt
dp2 1 dpL
=− (A.17)
dt 2 dt
With the definition of the total volume, Vt ≡ V1 + V2 , the final expressions for
the continuity equation is received.
1 Vt dpL
q1 = q = Ap ẋp + (A.18)
4 βe dt
1 Vt dpL
q2 = −q = −Ap ẋp − (A.19)
4 βe dt

A.3.3 Force Balance


With the fusion of Pascal’s Law and Newton’s Law of Acceleration , the motion
equation for the piston is received in Equation (A.23). [21]

p
F = A


=⇒ (A.20)
F = mẍ

p1 A1 − p2 A2 − Bp ẋp − FL = Mt ẍp (A.21)


, ,
=⇒ (A.10) & A1 = A2 = Ap =⇒ (A.22)

pL Ap − Bp ẋp − FL = Mt ẍp (A.23)


where Bp is the friction between the piston and the fluid in the cylinder.

A.3.4 Non-Linear Dynamic Model


With the derivation of Equation (A.11), (A.18) and (A.23), the following
non-linear dynamic model is received, as they must all apply.
 q
Ps −pL
q = C wx

p v



 ρ
1 dpL (A.24)

q = Ap ẋp + 4 dt



p A − B ẋ − F = M ẍ

L p p p L t p
The properties of interest in the model are thus
xv = Input signal
xp = Output signal
FL = External Disturbance
xp , ẋp , pL = Internal states
86 A Hydraulic Servo Transfer Function Derivation

A.3.5 Linearization and Laplace Transformation


As most hydraulic models are considered around an operating point, it is
convenient to linearize Equation (A.24) around an operating point with Taylor’s
expansion series (Equation (A.25)). [14]

f (x) ≈ f (p) + ∇f |p · (x − p) (A.25)

Equation (A.11) is thus rewritten as the following, as all variables are denoted
with ∆ due to the fact that we are interested in the dynamics around an
operating point.

∂q ∂q
∆q = ∆xv + ∆pL (A.26)
∂xv ∂xv

(xv0 ,pL0 ) (xv0 ,pL0 )
r
∂q 1
= Cp w (P − pL0 ) = Kq (A.27)
∂xv ρ s
∂q Cp wxv0
=− p = −Kc (A.28)
∂pL 2 ρ(Ps − pL0 )

The remaining equations of (A.24) are then the following.


Vt
∆q = Ap ∆ẋp + ∆ṗ (A.29)
4βe L
Mt ∆ẍp = Ap ∆pL − Bp ∆ẋp − ∆FL (A.30)

The transformation to the frequency domain is performed with the Laplace


transform.
Z∞
F(s) = f (t)e−st dt (A.31)
0
This results in the following dynamic model in the Laplace domain.



 ∆Q = Kq ∆Xp − Kc ∆PL
V


∆Q = Ap ∆sXp + t ∆sPL

(A.32)




 4βe
Mt s2 ∆Xp = Ap ∆PL − Bp ∆sXp − ∆FL


A.3.6 Block Diagram


For control engineers, block diagrams are illustrative and very pleasant to
analyze. Therefore, Equation (A.32) is presented in Figure A.2 as a block
diagram. In meetings with Magnus Sethson, senior lecturer in Fluid and
Mechatronic Systems, [14] it was concluded that the ∆ notation is often dropped
in the Laplace domain due to the fact that hydraulic models are almost always
in respect to an operating point. Therefore, it is customary in the field of
hydraulics to disregard the ∆ notation in the Laplace domain.
A.3 Servo Theory 87

Figure A.2: Block diagram of the servo. [14]

Block diagram reduction is then performed (with aid of [22]), which results in
the block diagram in Figure A.3.

Figure A.3: Reduced block diagram of the servo. [14]

A.3.7 Spool Displacement


The spool displacement, ∆xv , is often controlled by an electrical current as
input. This input is fed through a coil, which creates an electro-magnetic field.
The electro-magnetic field then exerts movement of an magnetic armature
which in turn moves the spool.

In order to control the spool in both directions, two coils are used on either side
of the armature. In order to prevent oil flow in the case of loss of current, a
spring is connected to the armature on either side. These springs will return the
armature, and thus the spool, to the original position where ∆xv = 0.
88 A Hydraulic Servo Transfer Function Derivation

As the spool has a mass, Newton’s law of acceleration applies. [23]

mẍv + Bv ẋv + kxv = Fm + Fst + Ftr (A.33)


Fm = f (i, xv ) (A.34)
Fst = 2Cd Cv A(xv )∆p cos θ (A.35)
p dA(xv )
Ftr = Cd l 2ρ∆p (A.36)
dt
∆p = pin − pout (A.37)

Where k is the spring constant, Fm the electro-magnetic force on the spool, Fst
the steady state flow forces which origins from the change of fluid entering and
leaving the valve chamber. Ftr is the transient flow force which origins as the
reaction on the spool as the fluid in the valve chamber accelerates in response to
dA(x )
flow rate variations. In steady state, Ftr → 0 as dt v → 0. Cd is the discharge
coefficient and Cv is the velocity coefficients.
If the equations intend to model in respect to an operation point and regarding
that operating point as the origin, the orifice cross section can be estimated the
following way. [23]

d 2 (θ − sin θ)
A(xv ) = (A.38)
8
2x
θ = 2 arccos(1 − v ) (A.39)
d
It is also common to either neglect the valve dynamics or approximate it as a
first order transfer function. [24] [16] [12]
1
Gv (s) = (A.40)
1 + Tv s

Where Tv is the time constant for the valve.


B
System Identification Toolbox:
Polynomial Estimation

89
90 B System Identification Toolbox: Polynomial Estimation
91
92 B System Identification Toolbox: Polynomial Estimation
PD Controllers with LQ Parameters
C
Boom swing PD control: K p = L 1 = L r , T d = L 2
1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6
q
-0.8 u
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure C.1: Controller results for the PD controller on the boom swing joint,
when Kp = L1 = Lr and Td = L2 .

93
94 C PD Controllers with LQ Parameters

Boom lift PD control: Kp = L 1 = L r , T d = L 2


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6
q
-0.8 u
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure C.2: Controller results for the PD controller on the boom lift joint,
when Kp = L1 = Lr and Td = L2 .

Boom extension PD control: Kp = L 1 = L r , T d = L 2


1

0.8

0.6

0.4

0.2
Distance [m]

-0.2

-0.4

-0.6
q
-0.8 u
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure C.3: Controller results for the PD controller on the boom extension
joint, when Kp = L1 = Lr and Td = L2 .
95

Feed rotation PD control: Kp = L 1 = L r , T d = L 2


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6
q
-0.8 u
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure C.4: Controller results for the PD controller on the feed rotation joint,
when Kp = L1 = Lr and Td = L2 .

Feed swing PD control: K p = L 1 = L r , T d = L 2


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6
q
-0.8 u
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure C.5: Controller results for the PD controller on the feed swing joint,
when Kp = L1 = Lr and Td = L2 .
96 C PD Controllers with LQ Parameters

Feed tilt PD control: Kp = L 1 = L r , T d = L 2


1

0.8

0.6

0.4

0.2
Angle [rad]

-0.2

-0.4

-0.6
q
-0.8 u
r
-1
0 2 4 6 8 10 12 14 16 18 20
Time [s]

Figure C.6: Controller results for the PD controller on the feed tilt joint,
when Kp = L1 = Lr and Td = L2 .
Bibliography

[1] MathWorks, “Simulink: Simulation and Model-Based Design,” 2019. [Online;


Accessed 3-June-2019;
https://se.mathworks.com/products/simulink.html].

[2] L. Hsu and R. Guenther, “Variable structure adaptive cascade control of


multi-link robot manipulators with flexible joints: the case of arbitrary
uncertain flexibilities,” in [1993] Proceedings IEEE International
Conference on Robotics and Automation, pp. 340–345 vol.2, May 1993.

[3] S. Kawamura, J. Jun, K. Kanaoka, and H. Ichii, “A cascaded feedback


control scheme for trajectory tracking of robot manipulator systems with
actuator dynamics,” in 2006 IEEE/RSJ International Conference on
Intelligent Robots and Systems, pp. 1504–1509, Oct 2006.

[4] A. C. Leite, F. Lizarralde, and L. Hsu, “A cascaded-based hybrid


position-force control for robot manipulators with nonnegligible
dynamics,” in Proceedings of the 2010 American Control Conference,
pp. 5260–5265, June 2010.

[5] F. Lin, Z. Lin, and X. Qiu, “Lqr controller for car-like robot,” in 2016 35th
Chinese Control Conference (CCC), pp. 2515–2518, July 2016.

[6] C. Kai and A. Huang, “Adaptive lq control of robot manipulators,” in 2014


9th IEEE Conference on Industrial Electronics and Applications,
pp. 770–774, June 2014.

[7] G. Chaudhary and J. Ohri, “3-dof parallel manipulator control using pid
controller,” in 2016 IEEE 1st International Conference on Power
Electronics, Intelligent Control and Energy Systems (ICPEICES), pp. 1–6,
July 2016.

[8] D. Muro-Maldonado, A. Rodriguez-Angeles, and C. A. Cruz-Villar,


“Sliding pid control for trajectory tracking of a 2 doe robot manipulator:
Simulations and experiments,” in 2007 4th International Conference on
Electrical and Electronics Engineering, pp. 302–305, Sep. 2007.

97
98 Bibliography

[9] Epiroc, “Epiroc Media Gallery,” 2019. [Online; Accessed 3-June-2019;


https://www.media.epiroc.com/en/search-results?q=d65&
queryIsTag=false].

[10] Epiroc, “Epiroc Media Gallery,” 2019. [Online; Accessed 3-June-2019;


https://www.media.epiroc.com/en/search-results?q=
boomer%20e&queryIsTag=false].

[11] Wikipedia contributors, “Inclinometer — Wikipedia, The Free Encyclopedia,”


2019. [Online; Accessed 3-May-2019, Last edited: 4-March-2019;
https://en.wikipedia.org/wiki/Inclinometer].

[12] P. Bergsten, Personal Meeting: Control Systems. Epiroc Rock Drills, Örebro,
26 April 2019. Ph.D. in Control Theory.

[13] Liselott Ericson, Basic Fluid Power - Components and Systems. Fluid and
Mechanical Engineering Systems, IEI, Linköpings universitet, 2017.

[14] M. Sethson, Personal Lecture: Hydraulic Servo Systems. Linköping, 11 May


2019. Senior Lecturer in Fluid and Mechatronic Systems.

[15] L. Ljung and T. Glad, Reglerteknik - Grundläggande teori.


Studentlitteratur, forth ed., 2006.

[16] K.-E. Rydberg, Hydraulic Servo Systems: Dynamic Properties and Control.
Fluid and Mechanical Engineering Systems, IEI, Linköpings universitet,
2016.

[17] L. Ljung and T. Glad, Modellbygge och Simulering. Studentlitteratur,


second ed., 2011.

[18] M. Enqvist, T. Glad, S. Gunnarsson, P. Lindskog, L. Ljung, J. Löfberg,


T. McKelvey, A. Stenman, and J.-E. Strömberg, Industriell reglerteknik.
Reglerteknik, Instutitionen för systemteknik, Linköpings universitet, 2014.

[19] T. Glad and L. Ljung, Reglerteori - Flervariabel och olinjära metoder.


Studentlitteratur, second ed., 2016.

[20] N. N. Aerospace and S. Administration, “Pascal’s principle and hydraulics.”


Online, 1996. [Online; Accessed 14-May-2019, EDITED BY: Jonathan G.
Fairman - August 1996].

[21] C. Nordling, J. Östermalm, Physics Handbook for Science and Engineering.


Studentlitteratur, 2008.

[22] Department of Management and Engineering, Linköpings University,


Formula Book for Hydraulics and Pneumatics. Fluid and Mechanical
Engineering Systems, IEI, Linköpings universitet, 2008. [Revised
2008-10-27].
Bibliography 99

[23] B. J. Y. Zhu, “Analysis and modeling of a proportional directional valve


with nonlinear solenoid,” in Journal of the Brazilian Society of Mechanical
Sciences and Engineering, vol. 38(2), Dec. 2014.
[24] K.-E. Rydberg, Hydraulic Servo Systems. Fluid and Mechanical
Engineering Systems, IEI, Linköpings universitet, 2008-10-15.

You might also like