Sie sind auf Seite 1von 221

Daniel Schmidt

About this Book


The main contribution of this thesis is the modeling of

A Control Architecture for Autonomous Landscaping


an adaptive control architecture for performing cyclically
executed landscaping with an excavator. The system is
capable of solving complex tasks like mass excavation,
trenching, slope creation, and surface shaping in an au-
tonomous way, including possible disturbances and oper-
ation constraints. The complexity of the work environ-
ment, the dynamics of the excavator, and the constantly
changing ground material properties eliminate the possibil-
ity to design an efficient but precise mathematical model
of the complete system. Therefore, this thesis proposes
an inverse approach which transfers the learned and the
improved excavation strategies of an expert operator into
a control architecture via fusing important key elements
of excavation and developed system design rules for cycli-
cally operating robots into high-level control cycles and
low-level decision and execution algorithms.
About the Author Daniel Schmidt
Daniel Schmidt attended the University of Kaiserslautern
from 2003 until he graduated with a Diploma in applied
computer sciences in 2009. Afterwards, he started his re-
search in the context of autonomous landscaping with an
Shaping the Future -
excavator. His research interests include the development A Control Architecture for Autonomous
of hierarchically ordered behavior-based system architec-
tures, algorithms for rating, planning, and execution of Landscaping with an Excavator
operations, and particle simulations of material on GPUs.
ISBN 978-3-8439-2816-8

9 783843 928168
RRLAB
THE ROBOTICS RESEARCH LAB
Shaping the Future - A Control
Architecture for Autonomous Landscaping
with an Excavator

Dipl.-Inf. Daniel Schmidt

Vom Fachbereich Informatik der

Technischen Universität Kaiserslautern


zur Verleihung des akademischen Grades

Doktor-Ingenieur (Dr.-Ing.)
genehmigte Dissertation.
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet über
http://dnb.d-nb.de abrufbar.

ISBN 978-3-8439-2816-8

Zur Begutachtung eingereicht am: 13. Januar 2016


Datum der wissens. Aussprache: 15. Juli 2016

Vorsitzender: Prof. Dr. Reinhard Gotzhein


Erster Berichterstatter: Prof. Dr. Karsten Berns
Zweiter Berichterstatter: Prof. Dr. Didier Stricker
Dekan: Prof. Dr. Klaus Schneider

Zeichen der TU im Bibliotheksverkehr: D 386

© Verlag Dr. Hut, München 2016


Sternstr. 18, 80538 München
Tel.: 089/66060798
www.dr.hut-verlag.de

Die Informationen in diesem Buch wurden mit großer Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen
werden. Verlag, Autoren und ggf. Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell
verbliebene fehlerhafte Angaben und deren Folgen.

Alle Rechte, auch die des auszugsweisen Nachdrucks, der Vervielfältigung und Verbreitung in besonderen Verfahren wie
fotomechanischer Nachdruck, Fotokopie, Mikrokopie, elektronische Datenaufzeichnung einschließlich Speicherung und
Übertragung auf weitere Datenträger sowie Übersetzung in andere Sprachen, behält sich der Autor vor.

1. Auflage 2016
Preface

I want to thank everybody who, at least for a shorter or a longer period, accompanied
me and assisted me on my long way to the top of Rock’N’Roll in the scientific and in the
private area.
Especially Prof. Dr. Karsten Berns who always supported my scientific research with his
immense knowledge from the area of autonomous robotics and tremendously helped in
specifying the scientific topic of my thesis. During the first years, the Carl-Zeiss foundation
financed my research and allowed me to search for my specific topic.
The research would not have been possible without the help of my former group colleagues
Carsten Hillenbrand who tremendously helped in creating the platform on which the results
were tested. Gregor Zolynski implemented the complex environment perception bridging
the gap to a fully autonomous system. Due to the size of our workgroup, it is hard to
mention all group members who supported my work but Martin Protzsch, Jochen Hirth,
Christopher Armbrust, Tobias Föhst, Thorsten Ropertz, and Max Reichard should be
mentioned as they were always there when I had to discuss important issues. Particularly
Patrick Fleischmann, Thomas Pfister, and Jens Wettach are to mention who did proof
reading of some chapters or even the whole thesis.
From the team of Volvo Construction Equipment I want to thank Martin Frank, Peter
Bach, and Timo Zenner for supporting during the equipment of the test platform with
sensors, actuators, and control hardware. Furthermore, they helped during performing
tests with the real excavator at the VOLVO research facility in Konz and at the University.
Additionally, I want to thank my sister Frauke Schmidt who did extensive proof reading
of this thesis and helped in increasing the text flow tremendously.
On a private level, I want to thank my wonderful girlfriend Laura who always supported
my long working hours, helped in the final inspection of this thesis, and always sweetens
my life. I deeply love her.
Further Credits

The creation of a complex autonomous excavation system requires a huge amount of time
for developing, implementing, and testing promising solutions for sub-problems. It would
not have been possible to finish the technical part of the system without help.
Luckily, I had some technical support from students I tutored during my PhD. Therefore,
I would like to thank them for their tremendous support by performing their Project,
Bachelor’s, and Master’s thesis closely related to the autonomous excavator project.

Behavior-based inverse kinematics solver


for the autonomous excavator project
Sergey Pluzhnikov, August 2011

Digging trajectory generation


for the autonomous excavator control system
Nico Noppenberger, November 2011

Development of the alignment and displacement functions


for Thor’s undercarriage
Christopher Schank, October 2013

Development of a behavior-based obstacle collision avoidance


for the autonomous excavator Thor
Fabian Göckel, October 2014

Detection of multiple object types within a pointcloud


Simon Böhm, September 2015

Entwicklung und Implementierung einer einfachen und effizienten


Abladesimulation
Philip Feldmann, Januar 2016
Abstract

The amount of material handled in large mining pits has tremendously changed during the
last decades. One main reason for this is the development of more powerful construction
machines. But with larger machines some problems occur. Due to higher weights, the
probability of shear failure increases together with the amount of ground compaction. The
more controllable joints these machines have, the more complex becomes their control.
Therefore, only skilled expert operators, which have gained their experience over years, can
continuously control these machines at a high productivity level. As also the dimensions
have increased, the possibility for the operator to gather a clear overview becomes harder.
Camera systems and extensible cabins partially help to overcome occurring problems.
Nevertheless, a bad overview decreases the precise controllability of the machine and leads
to a lower productivity. Also the accident rate increases with a larger number of blind
spots. Machines have been extended with remote controls for operation in areas polluted
with toxic waste or radioactive material which could seriously harm human beings. As the
environment information could never be transferred with the same quality to the remote
operator as to the machine, the productivity usually decreases tremendously.
Overall it can be stated that the next productivity increase in this area can only be gained
by the automation of construction machines. Cyclic excavation tasks, which are executed
in a similar way over and over again, lead to a rather fast exhaustion of the operator. They
are either very monotonous like mass excavation or trenching, or require a high degree
of attention like slope creation or surface shaping. Also stressful operations in dangerous
environments could profit from this development. On the way to a fully autonomous
excavator control system, parts could be used within assistance systems to improve the
quality of the task execution or help avoiding accidents.
This leads to the main contribution of this thesis: the modeling of an adaptive control
architecture for performing these cyclically executed tasks subsumed by landscaping with
an excavator. Afterwards, the system is capable of solving complex tasks like mass
excavation, trenching, slope creation, and surface shaping in an autonomous way, including
possible disturbances and operation constraints which occur during the operation.
Based on a literature study about existing approaches, previous research projects from the
area of autonomous excavation are analyzed and their autonomous control capabilities are
discussed. Concluding, it can be stated that these projects mostly focused on developing
and improving one rather specialized task like mass excavation or trench digging. Although
the approaches worked locally, they can not be extended to the slightly more complex
and general task of landscaping, as they did not include the capability to directly plan or
control the pose of the bucket on a trajectory or to define appropriate constraints.
vi

It is therefore not possible to follow a desired surface shape with these systems, which is
an essential requirement for landscaping.
The complexity of the work environment, the dynamics of the excavator, and the constantly
changing ground material properties eliminate the possibility to design an efficient but
precise mathematical model of the complete system. Furthermore, the lack of precise
information about the current world state would not allow for fitting it with adequate
data and for deducing proper control values in suitable update intervals from it. Therefore,
this thesis proposes an inverse approach which transfers the learned and the improved
excavation strategies of an expert operator into a control architecture.
Operating in three steps, expert operator knowledge is analyzed first to identify required
properties of a system concerning abstract decisions on higher levels and the creation of
excavator movements. Afterwards, the high-level control architecture is created based on
proposed design principles for cyclic operating robots. Its output is a sequence of abstract
actions solving the global task. Finally, specific low-level problem solvers are developed
filling the gap between the abstract action and its execution on the real system. In the
following the results of these steps are described.
In order to be capable of modeling the system behavior, an initial result is a general
analysis of the way in which excavation is performed by a human operator, starting
with dynamic material properties and other environmental parameters influencing the
operation. Afterwards, the global excavation task is divided into multiple steps including
displacement and local excavation. Additionally, a precise analysis of the actions and
decisions carried out during the execution of material excavation, transport, and dumping
with an excavator is performed. It was detected that the important steps are cyclically
executed with changing parameters until the whole task is finished. As a result of the
previously presented knowledge, seven core statements are determined, which define the
required capabilities of a system performing the landscaping task in an autonomous way.
Based on the previous research, general design principles for cyclically operating robots are
developed. These allow for the creation of the complete system control architecture from
hierarchically nested and extensible finite state machines (FSMs). The core statements
are used to define states relating to abstract actions and state transitions creating the
execution sequences. The result is an architecture which is capable of controlling any
excavator during cyclic operation, independently from the specific task and machine type.
The previous core statements about the operator behavior are used to fill the abstract
actions with adequate algorithms, taking important operational decisions and creating the
constraint excavation trajectory for material interaction. These decisions include where
to displace the machine to, where material should be excavated or dumped, or when the
task is finished. In each case it is justified why a distinct deliberative, reactive, or hybrid
solver approach is used to solve this special problem. A behavior-based network employs
these control decisions to create suitable trajectories for the free motion. The result is a
completely modeled system ready to perform landscaping with an excavator.
A set of adequate test-scenarios is designed and executed within a complex simulation
environment and on a real 18 t excavator from VOLVO CE, finally presenting the operability
of the system for longer periods and even under difficult conditions. It is shown that the
previously presented architecture is capable of performing landscaping autonomously.
Contents

1 Introduction 1
1.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Scientific Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Document Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Survey on Autonomous Excavation Systems 11


2.1 Mass Excavation Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Trenching Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Solutions for Sub-Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 Human Executed Landscaping Process 37


3.1 Global Process Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Environmental Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.1 Goal State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2 Construction Site Plan . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Displacement of the Machine . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4 Landscaping Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.1 Common Excavation Scenarios . . . . . . . . . . . . . . . . . . . . 48
3.4.2 Skilled Machine Operator . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.3 Local Excavation Cycle . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5 Operation Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.1 Spatial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.2 Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.5.3 Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.6 Key Elements of Landscaping . . . . . . . . . . . . . . . . . . . . . . . . . 67

4 A Control Architecture for Autonomous Landscaping 71


4.1 Classification of Robots Operating in a Linear or a Cyclic Manner . . . . . 71
4.1.1 System Design Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.1.2 An Appropriate Modeling Language for the Architecture . . . . . . 75
4.2 High-Level System Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.3 Processing Environmental Information . . . . . . . . . . . . . . . . . . . . 79
4.4 Global Execution Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.5 Displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.6 Local Excavation Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.7 Safety Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.8 Hardware Abstraction Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.9 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
viii Contents

5 Algorithms for Efficient Landscaping 93


5.1 Environmental Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.1.1 Analysis of the Workspace . . . . . . . . . . . . . . . . . . . . . . . 93
5.1.2 Goal Surface Created . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2 Displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.1 Next Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2.2 Path Finding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2.3 Driving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3 Local Excavation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.3.1 Excavation Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3.2 Elliptic Excavation Trajectory . . . . . . . . . . . . . . . . . . . . . 116
5.3.3 Dumping Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3.4 Behavior-based Free Motion Trajectory . . . . . . . . . . . . . . . . 122
5.4 Hardware Abstraction via Inverse Kinematics . . . . . . . . . . . . . . . . 131
5.5 Safety via Collision Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

6 Landscaping Test Scenarios 141


6.1 Real Excavator and Simulation . . . . . . . . . . . . . . . . . . . . . . . . 142
6.2 Test Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.2.1 Trajectory Following . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.2.2 Mass Excavation and Truck Loading . . . . . . . . . . . . . . . . . 154
6.2.3 Landscaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

7 Conclusion and Outlook 175

8 Acronyms 181

A Appendix 183
A.1 Forces during the Excavation Process . . . . . . . . . . . . . . . . . . . . . 183
A.2 Robotic Test Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
A.2.1 Actuators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
A.2.2 Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
A.2.3 Control Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
A.3 Boom Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
A.4 Calculation of Joint Angles based on Cylinder Lengths . . . . . . . . . . . 195
A.4.1 Boom Joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
A.4.2 Dipper Joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
A.4.3 Stick Joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
A.4.4 Bucket Pitch Joint . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Bibliography 201
1. Introduction

When looking at the capabilities of nowadays construction machines, especially excavators,


it is very impressive which amount of material can be handled by those machines and in
which short times these machines can perform their work under normal conditions on a
construction site. Nevertheless, the outcome of the work depends on the current weather
conditions, the experience, and the gathered special abilities of the machine operator, his
or her capability to correctly perceive the environment, and the communication with other
co-workers in the area.
Nowadays, excavators are multipurpose machines which are used for a lot of different tasks
in areas like road construction, daylight mining or mass excavation of material. Although
some tasks like carrying machinery or the destruction of buildings are highly diversified
and include a lot of change of environmental parameters, others like mass excavation of
material and constant truck loading are quite monotonous.
It is presented in [Filla 12] and [Frank 12] that the efficiency and productivity of operators
tremendously depend on their skills and changes during work shifts while performing
monotonous work tasks over and over again. Additionally, this monotony can lead to an
increased accident rate due to inattentiveness during task execution.
The use of partially or fully automated excavation machines promises to overcome some of
the disadvantages of nowadays human operated machines. Excavation tasks consisting of
similar steps which are executed repeatedly, are highly predesignated to be partially or
fully automated. This could increase the productivity of the process as well as the safety
of the operator. Safety improvements can already be achieved by delivering environmental
information to the operator or by warning him in case of any danger. A more complex
behavior is to damp or to completely suppress the operator inputs during dangerous
situations. In a scenario, in which passive safety is not enough due to the process dynamics,
activities or movements might have to be actively executed to avoid damaging of structures
around the machine or to prevent it from tilting or slipping away. The final step will be
the automatic execution of complete subtasks or of the whole process. In the latter case,
the human operator is more or less part of the machine surveillance system and is not
required to be positioned on the machine anymore.
2 1. Introduction

One very common but rather monotonous operation is the mass excavation of material.
It is usually performed during the first phase of the construction work when the topsoil
needs to be removed for highway construction, when the basements of large buildings need
to be excavated, or in large open mining pits in which crushed rock or other materials are
mined. As depicted in figure 1.1, the operation consists of continuously removing material
from the excavation area, transporting it over a short distance, and of unloading it safely
into the dumping area. In most cases, the material is continuously dumped into nearby
trucks which perform the material transport over long distances on the road.

Figure 1.1: Main question of the mass excavation task: How can the material be transported
from the pile into the dumping area or the truck as fast as possible?

The main goal of this operation is a high productivity, usually measured in tons of moved
material per hour. It consists of a lot of similarly executed excavation cycles. The goals of
each cycle are the maximization of the loaded bucket volume and the minimization of the
execution time.
Another common excavation operation is trenching or horizontal leveling. In this task, the
goal is to dig a trench, a rectangular hole, or to create a horizontal plane at a distinct
height with a desired length, width, and depth, and usually load the material into a nearby
truck or onto a pile as depicted in figure 1.2.

Figure 1.2: Main question of the trenching task: How can the material be successively removed
from the trench or the hole without removing too much by undershooting the digging depth or by
cracking the side walls?

In the majority of cases, the trench is excavated in front of the excavator within the plane
of the boom. With this it is possible to create vertical side walls without turning the
superstructure. The only turning operation is required for safe dumping of the material on
a pile or inside a truck. To be able to dig trenches in parallel to the machine, a so called
tilt-rotator bucket is needed which can rotate in each direction along its vertical axis. The
increased complexity of this task in comparison to mass excavation is that the trajectory
of the bucket during excavation needs to be planned to not remove too much material by
undershooting the digging depth or by cracking the side walls of the trench.
3

In case of non-vertical side walls, the goal is also to create a precise slope angle. Additionally,
the time required for digging the trench is a valuation factor for this operation.
An even more complex excavation process is landscaping. From an abstract point of view,
it extends trench digging to an arbitrary shape. It is a highly versatile operation, requires
precise planning, a highly skilled machine operator, and special bucket types that can be
tilted to create a sloped surface during excavation. As depicted in figure 1.3, the global
task is the transformation of the current surface into the desired one.

Figure 1.3: Main question of the landscaping task: How can the current surface be transformed
into the desired surface?

A single transformation operation of an excavator usually consists of removing the material


via a precise digging maneuver, a short transport operation within the bucket, and a final
dumping operation on a pile or within a truck bed. To shape the whole area around the
excavator in the desired way, this operation is cyclically executed with adopted parameters.
Afterwards, the machine is moved to the next local mounting position in order to continue
its transformation there. The main assessment criterion of this operation is the difference
between the transformed surface and the desired one. As each required manual human
intervention after the operation would tremendously increase the execution time and costs,
the amount of removed material per time step is not as important as the precise shaping
of the surface.
During all of these operations, safety plays an important role and no human being should
be harmed. Additionally, no vegetation, construction machines, or infrastructure around
should be damaged. In case of any degradation of the working conditions due to long
working periods, bad weather, dust, or poor lighting conditions, the productivity will
decrease tremendously as the operation speed will have to be reduced. Other critical
operation areas for construction machines are those polluted with toxic waste or radiation.
Those should not be entered by human beings for longer periods. Although remote control
systems were developed for this case, the critical part is always the good and delay-free
connection to the machine. In case of highly disturbed signals and connection losses due to
strong electromagnetic fields or physical structures, the only working solution are machines
which can either guarantee safety for themselves and the surrounding without operator
intervention, operate on their own for a specific amount of time, or which can solve the
complete task fully autonomously.
This thesis deals with the design of a complex system for cyclically operating excavators
performing versatile landscaping operations. The results can be used to develop autonomous
machines for the construction area which are capable of solving the previously mentioned
tasks for mass excavation, trenching, and landscaping without human intervention under
all possible environmental conditions on a construction site.
4 1. Introduction

1.1 Problem Description

Figure 1.4: A standard car-manufacturing assembly line with industry robots1 .

To understand the complexity of the task at hand, a comparison with a standard car-
manufacturing assembly line as shown in figure 1.4 is given. A very important factor is
that there are no human beings or other uncontrolled dynamic objects in the area around
the robots which do not belong to the manufacturing lane. The industry robots perform
their tasks like welding, gluing, screwing, or transporting with a very high precision at
a remarkable speed. Reason for these capabilities is that the complete environment of
the task and the dynamics of the assembly line robots and workpieces are known before.
There usually exist computer aided design (CAD) models containing sizes and masses
of each element of the assembly line including the workpieces. Therefore, the complete
motion planning for each robot concerning fast, efficient, and collision free trajectories can
be computed beforehand with a very high precision.
Apart from low-level machine control, which incorporates closed-loop control of joints,
the cyclic execution of the main task can therefore be regarded as following a perfect
cooking recipe. As the control system does not incorporate any kind of adaptivity in case
of any environmental changes, the computed trajectories would, if there were changes, not
successfully solve the assembly task anymore. The only solution for avoiding unforeseen
collisions would be to stop the complete robot motion.
The used arms of the industry robots are specifically chosen for the task and are equipped
with specialized manipulators. They usually contain highly precise sensor systems which
are capable of determining the inner machine state and for measuring process related
elements like workpiece properties. A highly precise conveyor belt is used to transport the
workpieces to their desired interaction position where they can be handled by the robot
arms.
1
“BMW Leipzig MEDIA 050719 Download Karosseriebau max” from BMW Werk Leipzig -
http://bmw-werk-leipzig.de. Licensed under CC BY-SA 2.0 de via Wikimedia Commons - https:
//commons.wikimedia.org/wiki/File:BMW_Leipzig_MEDIA_050719_Download_Karosseriebau_max.
jpg#/media/File:BMW_Leipzig_MEDIA_050719_Download_Karosseriebau_max.jpg.
1.1. Problem Description 5

There are usually no complex sensor systems installed which could be used to detect
changes continuously within the free space of the working area. Furthermore, the system
contains no complex environment perception algorithms to precisely detect and classify
new objects and their movements. Therefore, no adequate and safe movement adaptation
can be derived. The safety of the whole system is guaranteed by surrounding the area
with high fences and shutting down everything in case of the entry of a human being.

Figure 1.5: A middle-sized construction site with different types of construction machinery2 .

A totally different starting situation for automation can be found on a construction site as
depicted in figure 1.5. There are usually no controlled or fixed environmental conditions
if the whole operation lasts for a longer period. In fact, these can massively change and
depend on parameters like the handled material types, the temperature, and the weather.
Although the desired goal of the excavation operation might be the generation of a rather
structured trench, of a slope with a specific angle, or of an even plane, the intermediate
states consist of rather unstructured surface profiles. As the mounting position of the
machine is usually not evenly leveled and might change over time, the complexity of
generating a distinct absolute surface shape is very high.
During weather phenomena like rain, fog, or snow the operator’s sight is restricted.
This requires slower movements to guarantee safety. Too much rain will lead to an
increased probability of the heavy machines slipping away or sinking into the ground.
If the temperatures falls below zero, the handled material might loose the ability to be
compacted anymore. Even warm weather can lead to problems as the probability of dust
formation in the air increases. The current work-state is usually gathered by external
sensors like light amplification by stimulated emission of radiation (laser) measurement
systems, or by artificial markers installed by human beings.
As long as the human operator is positioned on the excavator, assistance systems can help
in partially reducing some of these problems or at least to increase the productive period.
Nevertheless, he or she will become exhausted and tired after a few hours.
2
“Altes Landgut Baustelle” by Gugerell. Licensed under CC0 1.0 via Wikimedia Com-
mons - https://commons.wikimedia.org/w/index.php?title=File:U1_Altes_Landgut_Baustelle_
05.jpg&redirect=no.
6 1. Introduction

1.2 System Requirements


This section presents the requirements for a system which is capable of handling the
previously mentioned problems by taking the complex decisions needed to perform mass
excavation, trenching, and landscaping in an autonomous way.
The requirements comprise choosing the necessary actions to transfer the current state of
the surface on the excavation site, including the capabilities and parameters of the used
machine, to a desired state. Furthermore, the created movements should solve the task in
a comparable or better way, i.e. concerning precision or productivity, similar to a human
operator performing the same operation. Finally, the system should incorporate safety
and therefore avoid undesired situations which could lead to the injury of humans or to
the damage of objects.
A mathematical approach would start with designing a complex model of the excavator and
its environment. Then, a clear description of the starting and the goal condition, as well as
of the input and the output data would be performed. Finally, proper control values would
be deduced from it. However, the construction site environment is very complex and highly
dynamic. It could neither be simulated nor be perceived with an appropriate precision to
allow for real-time decision making in an autonomous way. Therefore, this thesis proposes
an inverse approach which transfers the learned and the improved excavation strategies of
an expert operator into a control architecture.
Changing soil properties and disturbances during the operation will require a constant
adaptation of excavation trajectories. Hence, a standard trajectory planning approach
seems not to be suitable here, as it would be constantly replanning. In fact, it will be shown
that a modular hybrid control concept, combining deliberative and reactive approaches,
operates well. It allows for dividing the system capabilities and tasks into logical parts,
constructing trajectories from basic primitives, delivering abstraction and safety by clearly
defined layers, and remains easily extensible.
Based on a given set of partial execution tasks like mass excavation, surface shaping,
trench digging, or truck loading, the system should generate safe trajectories. On an
abstract level, the global situation on the autonomous excavation site can be depicted
as in figure 1.6. It contains multiple machine types, excavation areas, driving paths, and
different kinds of infrastructure. It is the task of each autonomous excavation machine to
transfer the surface of the excavation area to the desired shape.
In comparison to the rather single-dimensional goal of autonomous driving machines to
safely and efficiently reach a desired target position and orientation (pose) inside the world
coordinate system, the task at hand includes smaller traveling distances but a very complex
desired goal state. The latter one is usually designed by the civil engineer who created the
plan for the construction site. A precise global construction site map containing position
and height information about the influence area and the surroundings has to be given to
the machine.
Additional information about traveling paths, entry and exit gates, buildings, soil conditions,
vegetation, removable and non-removable objects in the ground, complete the world model
of the machine and will be needed to create adequate trajectories concerning safety and
efficiency.
1.2. System Requirements 7

Figure 1.6: Goal situation on a construction site with multiple manually, partially, or fully
autonomous operated construction machines operating in designated excavation areas.

Especially the soil conditions will tremendously influence the excavation strategies and
displacement function paths. The more dense and tight the material is, the easier it can be
traversed and used as a path during the process. On the other side, excavation has to be
mostly done by surface scraping instead of digging deep during each cycle. If the material
not only contains small grains but also larger rocks, it will be necessary to decrease the
dump height as the truck could be damaged otherwise. A sufficiently precise but memory
efficient data structure will be needed to store this information. Additionally, it can be
used for defining a map of the desired state of the environment, which also includes the
final pose of the machine on the construction site after the work is completed.
To precisely navigate and excavate on the site, it is very important to determine the
current pose of the machine. This information could be either delivered from external
sensor beacons on the construction site, or be locally identified by the machine itself with
a simultaneous localization and mapping (SLAM) approach.
In addition to measuring the current internal machine state, a permanent update and
evaluation of the environment information, including the surface and obstacles around
the machine, the position of the loading truck, and the current pose on the excavation
site, needs to be performed as it creates the knowledge source for planning and decision
making. This requires complex sensor systems which still deliver this information under
bad environmental conditions.
An important decision is the determination of the next excavation pose. Depending on the
soil and the surface parameters in that area as well as on the current state of excavation,
the bucket needs to be filled via a chosen strategy. These approaches can reach from
surface scraping in hard soils to digging deep while performing mass excavation in soft
material. The material has to be dumped on the desired place like a truck, a pile, or an
area designated for surface shaping. During movement of the empty or loaded bucket along
a path or to a desired pose, no spilling of the material should happen and no collisions
with existing obstacles should occur.
8 1. Introduction

On a global level of the site, the machine has to find new standing positions in the
excavation area, which allow for local excavation, nearby truck positioning, and for moving
to the next position after finishing. The displacement function will then be used to drive
the machine along a planned path to a desired pose on the construction site.
In the previous section, the requirements of a fully autonomous excavation system have
been mentioned. This thesis presents the research work of initially developing a system
from scratch. As previous research work focused on the area of mobile outdoor robots
performing autonomous driving, also this topic was considered less. The main goal is to
develop the capability of the system to perform excavation operations around the machine
in an autonomous way and under different environmental conditions. Subgoals are mass
excavation, trenching, surface shaping, and truck loading.

1.3 Scientific Contribution


The main scientific contribution of this thesis is the development of a complex architecture
design approach for robots solving a global task by cyclically executing similar operations
based on a transfer of expert operator knowledge. It is then used to model the control
system structure of an excavation system which is able to perform landscaping in an
autonomous way. Figure 1.7 shows the initially empty structure of the system.

Figure 1.7: Main goals of this thesis showing the architecture design including sub-architecture
elements controlling the execution process and specific planners taking important decisions.

The task is divided into two parts, the design of a surrounding architecture controlling the
execution of the whole process while different steps are subdivided into smaller ones, and
the development of planners that take decisions in specific phases of the operation.
Basis for this work is the precise analysis of the way in which the human expert operator
fulfills its task. From this multiple statements, which define the requirements for a system
performing this task in an autonomous way, are developed, exploiting the derived insights.
1.4. Document Structure 9

Afterwards, this knowledge is used to create a complex system architecture. It consists of


multiple hierarchically nested execution cycles defining the operation flow depending on
the current state of the world.
While the first part dealt with the high-level execution of the overall task, part two develops
specific planners taking complex decisions during each phase of the operation. These
provide the answers to the question where and how the next step needs to be performed.
To achieve this, the analyzed expert operator knowledge is transferred into extensible
algorithms which efficiently take the decisions situated in specific planning modules. The
extracted knowledge from these modules needs to be transferred into a continuous and
safe motion of the platform. Therefore, a behavior-based action layer is designed which
performs the boom trajectory generation in free space including a behavior-based obstacle
avoidance.

1.4 Document Structure


The following chapter 2 analyzes the state of the art concerning research in the area of
cyclic operating robots and autonomous construction machines, sorted by their capabilities.
Some of the automated excavator projects mainly focused on perfectly controlling the
mechatronic system of the machine instead of performing complex excavation operations.
Others were specifically developed to perform one operation at a rather high speed or
with good quality. None accepts the challenge to develop a fully automated excavator
concerning the versatile tasks of landscaping.
An important part of this thesis is the transfer of expert operator knowledge to the control
architecture. To provide the basis for the system design, chapter 3 performs an analysis of
the excavation process. It starts with a description of possible environmental conditions
and influence factors on the excavation site. Afterwards, the human operated excavation
process is discussed. Based on this previously extracted information about the construction
site and the human operator, possible problems on the site can be classified and an
adequate operator behavior can be deduced. The previous analysis of existing research
and the human operated excavation process is used to develop a control architecture for
autonomous landscaping with an excavator in chapter 4. It starts with the definition of
design rules and an appropriate modeling language for the cyclic system behavior. Based
on these rules for system design, a global control architecture, which is capable of taking
adequate actions to perform the complex task of landscaping, is developed. Initially, a
set of action states is defined which represents the capability of the human operator to
cyclically perform the excavation operation. A global decision layer is designed which
adequately triggers the states to solve the complete task. This also includes the correct
handling of uncertainties and disturbances during the process within a safety layer.
The created states in the modeled cycle represent the execution of a specific subtask on
the real machine. These subtasks include where and how the material should be excavated,
how the bucket is moved towards the dumping position, and where the material is dumped
exactly. Chapter 5 presents algorithmic solutions for these special problems, which refer
to the analyzed capabilities of a skilled excavator and try to incorporate the previously
determined world knowledge from chapter 3. A discussion of possible control approaches
and methodologies is performed to deliver the basis for the implementation of the developed
solutions.
10 1. Introduction

It will be justified why a modular hybrid control approach was chosen using deliberative and
reactive ones. For generating trajectories, a modular behavior-based system is used which
already proved its usability for autonomous mobile robots in highly dynamic environments.
Due to the complexity of the task, some deliberative planners are better suited for solving
specific subtasks. Afterwards, the complete structure of the modular system consisting of
local and global planners for each of the developed states and the high-level control layer
incorporating the global decision layer is presented.
As the construction sector and especially its technical terms and operations do not belong
to the general knowledge, chapter 6 delivers the required fundamentals for understanding
the following test part. Therefore, the complex robotic test platform, i.e. an extended
18 t wheeled excavator, is presented. It starts with a description of the basic excavator
and its elements. Finally, the required extensions like sensors, actuators, and control
hardware, that were installed to transform it into a controllable robot, are described. To
show the functionality and the skills of the developed system, a set of test scenarios is
designed. They are executed first within a realistic complex simulation environment. In
this simulation, the exact starting conditions can be set, and the tests can run over a
long time. Furthermore, the amount of removed material and the generated trajectories
can be precisely determined. To exemplarily show the functionality and the skills of the
developed system under realistic conditions, the tests are also executed on the real 18 t
excavator platform. Afterwards, the measured test data is analyzed and discussed.
Figure 1.8 shows the structure of this thesis including the information flow for the extracted
knowledge from related work, self developed approaches for the system design, and a fusion
of these sources to build up the final system that is evaluated afterwards.

Information Source
Chapter 2: Chapter 4:
System  Extracted
Related
 Developed
Work Design
 Combined

Chapter 3: Chapter 5: Chapter 6:


Expert Landscaping Test
Knowledge Algorithms Scenarios

Figure 1.8: Structure of this thesis including the different information paths containing extracted,
developed, and combined knowledge for the creation of the autonomous control architecture.

In the last chapter, a conclusion of the developed system and gathered results is given. A
final outlook into the future including possible extensions for this thesis should deliver the
starting point for further research in the area of autonomous excavation.
In appendix A the reader will find further information about the forces occurring during
excavation. Additionally, the kinematics, sensor, and control hardware of the test platform
as well as the formulas for converting cylinder lengths to joint angles will be presented in
more detail.
2. Survey on Autonomous
Excavation Systems

The following chapter sketches the scientific background of this thesis by presenting existing
research from the area of robots performing cyclic excavation tasks in an autonomous
way. To be able to develop the next step in the area of cyclically operating robots for
autonomous outdoor construction, it is important to gather knowledge about their results,
analyze strengths and weaknesses, and draw conclusions for the work at hand.
As the focus of this thesis lies in the developed capabilities in combination with the used
control methodologies, they will be sorted by their main task. Even after an intense search
for projects, which perform the creation of a complex surface shape, also referred to as
landscaping, only those were found that either focus on mass excavation or on trenching.
After presenting those research works and their control approaches in the following two
sections, related partial solutions from the area of system design and safe trajectory
generation will be presented.

2.1 Mass Excavation Projects


The main goal of these research activities is to excavate material from a distinct area,
often a pile of material, and unload it either on another pile or to load it into a truck. The
productivity of the task is measured in moved tons per hour and should be optimized. As
there is usually a lot of material to be moved, the exact shape of the excavation trajectory
does not play an important role as long as the bucket gets filled. There are two types of
machines which perform this task on an excavation site – wheel loaders and excavators.
The first ones are mostly used for inner site transportation over shorter or longer distances,
while the latter ones usually remain fixed and continuously load nearby trucks. First, some
autonomous wheel loader projects and their control approaches are presented.
One approach evolving from the area of automated testing of digital mock-ups of construc-
tion machines is an event-based finite state machine (FSM) strategy [Elezaby 08] which is
developed for a wheel loader. An FSM is formally described in definition 2.1.
12 2. Survey on Autonomous Excavation Systems

Definition 2.1 (Finite State Machine) A finite state machine M is defined as a quin-
tuple M = (Σ, S, s0 , δ, F ) with

• Σ is the finite, non-empty set of symbols or the input alphabet,

• S is a finite, non-empty set of states,

• s0 is the initial state with s0 ∈ S,

• δ is the state-transition function: δ : S × Σ → S, and

• F is a possibly empty set of final states with F ⊆ S.

The FSM selects different subtasks depending on the current situation. In this case it is
applied to wheel loaders whose truck loading cycle is modeled as a state machine, depicted
in figure 2.1.

Back from Site


Go to Site

Go to Truck

Back from Truck

Figure 2.1: Visualized states of the truck loading cycle [Elezaby 08] (redrawn).

It contains the four driving operations back from track, go to the site, back from the site,
and go to truck. As the bucket position is always adjusted during these tasks, material is
either loaded or dumped until the truck is filled. The operator behavior is divided into
nine subtasks which are lift to a point, lower to a point, dump the load, rack the bucket,
backing from the truck, approaching the site, filling the bucket, backing from the site, and
going to the truck, shown in figure 2.2. A state selector chooses the appropriate subtask
to be executed based on current information about the environmental state. The precise
pose of the wheel loader and the truck are delivered by multiple precise global positioning
system (GPS) receivers on the machines. After that, a strategy model is developed which
determines the sequence of the tasks and selects which of the subtasks is to start. It
depends on the analysis of the operator’s behavior during experimental tests and is modeled
as an FSM. The controllers for the subtasks are mainly proportional integral differential
(PID) controllers that control the actuators, which were tuned to deliver an acceptable
performance by analyzing real operator commands.
2.1. Mass Excavation Projects 13

Backward
Lift to
from
a Point
Truck
Go to
Dump
State Truck
Selector
Fill the
Rack
Bucket
Backward
Lower to from
a Point Truck Go to Site

Figure 2.2: The state selector FSM which selects between different tasks [Elezaby 08] (redrawn).

This allows to continuously give commands to a dynamic model of the machine without
regarding the pile. The results concerning the distance covered and the average cycle time
are compared to benchmark operators. Both values were around 10 % higher then the
measured ones from the reference operators. This leads to an increased efficiency, as an
autonomously operating machine has additional benefits like reduced costs.
Another autonomous wheel loader project is presented in [Koyachi 10]. It defines the four
operational states of performing truck loading as scooping from the pile, traveling to the
dump truck, loading the truck, and traveling back to the pile. The states are modeled as a
FSM A GPS system, laser range finder (LRF), and stereo camera systems are installed as
external sensors. Within each of the single states, specific planners are used to solve the
existing problems. Path planning for driving is performed via a combination of straight
lines and a pair of curves similar to a clothoid. A dead reckoning module, fusioned with
GPS data keeps the machine on the previously planned path. The motion planning for
scooping is performed by an identification of different phases with specific movements for
entering and loading the bucket or dumping its contents inside the truck. It is mentioned
that the autonomous loading task is executed successfully, but no qualitative statements
about cycle times or executed paths are made.
What can be determined from these research works is that the excavation task of a wheel
loader is a cyclic operation whose operation subtasks can be modeled within an FSM under
normal conditions. As will be presented in section 3.1, the process flow of an excavator is
very similar. This allows to transfer machine-independent high-level control approaches
to excavators. As the main goal of these projects is mass excavation, the created bucket
trajectories aimed at fully loading the bucket and not perform any distinct shaping of
the surface. Furthermore, wheel loaders usually operate on very soft material like sand
or gravel which would flow in from above anyway. Therefore, a specific trajectory would
not have any real influence on the shape. With the few degrees of freedom (DOFs) of
a wheel loader arm, a complex shaping of the surface is almost impossible. The only
operation, which is usually performed when the amount of material left is low, is a ground
cleaning of the material, which is the generation of an even horizontal plane. The main
contribution of these research works to this thesis is the proof that a combination of
high-level task-modeling via FSMs and low-level machine-dependent closed-loop controllers
is able to continuously execute the cyclic excavation process.
14 2. Survey on Autonomous Excavation Systems

The previously presented control approaches depend on the ability of the local task solvers
and controllers to correctly and precisely achieve their goal. In case the bucket was not
filled well during one cycle, this is not detected and therefore not handled by the presented
systems. When the driving distance towards the dumping pile is rather long, it might be
more productive to perform a second loading cycle then traveling with an empty bucket.
Therefore, they need to be able to handle manifold kinds of material under different
environmental circumstances. Especially in case of an operation under real conditions on
general construction sites or daylight mines full of disturbances, this is hard to guarantee
anymore. Nevertheless, as a wheel loader only has a few DOFs and usually operates
in rather loose material, this task is not as complex as tasks performed by autonomous
excavators which will be discussed in the following.
In [Stentz 99], the Autonomous Loading System (ALS) is presented which automates the
mass excavation task including truck loading in soft materials like soil. Figure 2.3a shows
the truck loading scenario where the machine is standing on a hill and is continuously
filling material into nearby trucks.

(a) (b)

Figure 2.3: Mass excavation including a truck loading scenario (a) [Stentz 99] and system
structure of the ALS (b) [Rowe 97b].

The system is equipped with two planar LRFs which are vertically mounted on either side
of the boom. This allows for scanning the environment incrementally while turning the
superstructure, as shown in figure 2.4. An alternative is to utilize the permanent turning
operation for constructing a three-dimensional point cloud via two rather cheap LRFs
instead of using one or more expensive 360° LRFs. This decision is taken within this
thesis. In appendix A.2.2 the mounting positions of the two LRFs on the test excavator
are presented.
The three-dimensional environment information is delivered to the truck recognizer and
the dig point planners which is also visualized in figure 2.4. After the truck pose is
determined, a template based dump module chooses the next unloading position. A
dig point determination module finds the next excavation pose based on implemented
strategies from an expert operator which is presented in [Singh 98]. A coarse planner
creates a sequence of dig regions which meets geometry constraints concerning reachability
and collisions. An optimization of a cost function referring to the transport volume, the
used energy, and the needed time is performed to choose an appropriate region. The
approach is used to plan and execute earth-moving operations, both on an excavator and
a wheel loader. The output of the coarse planner is sent to a refined one.
2.1. Mass Excavation Projects 15

Figure 2.4: Visualization of the dig region planner and the LRFs mounting positions [Singh 98].

The resulting trajectory of each action is rated and the best one is chosen afterwards. A
model is included which predicts the resistive forces that the bucket encounters during
digging. While the coarse planner provides a strategy for removing material, the refined
planner searches through a set of feasible actions within the bounds specified and selects
the locally optimal action. As it is desirable to produce an even floor at the end of the
operation, any trajectories that penetrate the floor depth can be rejected. The time
required for a complete loading cycle is usually less then one minute. It is described to be
as fast as an expert operator, although the ones in our case required only half a minute as
presented in table 6.2.

An extended version of the Autodig algorithm [Rocke 94, Rocke 95] is used to perform
the excavation in soil. It generates the joint commands based on measured pressures and
an environmental perception. The volume in the bucket accumulated during excavation
is estimated from the previously performed surface scan. Simple if-else clauses like the
ones presented in algorithm 2.1 are used to take decisions which action is to be performed
next [Cannon 99].

Algorithm 2.1: Algorithm used to select the next best action [Cannon 99].
1 if dig quality > minimum quality then
2 ExecuteDig();
3 else
4 if tracking distance > minimum tracking distances then
5 TrackMachineBackwards();
6 else
7 ExecuteFloorCleanup();
8 end
9 end
16 2. Survey on Autonomous Excavation Systems

Depending on quality estimations and parameters like minimum tracking distances, a dig
is executed by ExecuteDig(), the machine is tracked backwards in TrackMachineBack-
wards(), or the floor cleanup procedure is performed in ExecuteFloorCleanup(). The
global excavation cycle execution is implemented in parameterized scripts [Rowe 97b]
which is a set of rules that were constructed from expert operator knowledge. They can
be described as event triggered FSMs which share common events. Figure 2.5 shows the
truck loading script of the mass excavation task. During each state the goal is to achieve a
desired joint angle depicted by θi = pj below each state circle. The state transitions fire
when the attached equation θi • pj with • ∈ {>, <, = ≤, ≥} becomes true. Synchronization
between the different scripts is achieved by using equations that depend on the execution
of another joint script. The parameters are computed based on current environmental
conditions like surface height or truck pose and integrate known dynamic system behavior
like maximum velocities or control delays. When a possible collision in the future of one
robot element is detected, an adequately parameterized and permanently running collision
avoidance script takes over the control until the obstacle is safely passed. Afterwards, the
normal scripts can continue their work.

To achieve a maximum productivity, it is important that a good set of script parameters


is found. In [Rowe 99], an adaptive approach is developed for computing the values of
the script parameters. The excavator can start performing its task with no information
and learn during the operation. A reward function is designed based on execution times
and the good fulfillment of task constraints. The combination of a motion plan and an
evaluation is called an experience and is stored in a central database. Parameters are
optimized by memory-based learning techniques. Command shifting moves the joint traces
back and forth along the time axis. This process produces new vehicle states populating
the state history which are rated afterwards. With this approach the best possible score
can be found under the current task conditions.

While the system is able to automatically compute good sets of action parameter values, it
still requires information about position, velocity, and error thresholds, weighting factors
for the function approximation and other “magic numbers”. It could be shown that it
is possible to adjust these values in a way that allows the autonomous loading system
to perform mass excavation with a comparable or even higher productivity to a human
operator when the machine is not driving. The average time for a loading cycle is reduced
to less then 10 s while 94 % of the buckets are filled over half full [Cannon 99] which are
very good values. As there are no rules for a dynamic adaptation, backing up, or retrying
included, very inhomogeneous material containing larger rocks or leading to different
bucket fill levels can not be handled. It has not been explained if the approach could
be adopted to keep the productivity in case the environmental conditions would change
tremendously or if it was only locally optimized for these specific task parameters. As there
are no trajectories planned in euclidean space, there is no need for a precise trajectory
tracking controller. The big disadvantage of this approach is that it only works for an
environment which is basically free of obstacles. The only element that considers the
bucket position is a ground clearing stage for finishing the mass excavation work. Due to
the fact that even the excavation trajectory is not planned, the system is not capable of
performing trenching, simple shaped excavation, or complex landscaping.
2.1. Mass Excavation Projects 17

Joint 0: Swing
dig
finished wait to θ1 > p1 swing to θ0 > p2 stop to θ3 = p3 swing to
dig
clear truck dump bench

θ0 = p4 θ0 = p 5 θ0 = p 2 θ0 = p 2 θ0 = p 4

Joint 1: Boom
dig
finished up to θ2 > p6 down to θ3 > p8 up to θ0 < p7 down to
dig
clear dump clear dig

θ1 = p 9 θ1 = p10 θ1 = p 9 θ1 = p11

Joint 2: Stick

θ0 > p12 out to θ3 = p1 in to θ0 < p13 out to


dig
spill dump dig

θ2 = p14 θ2 = p15 θ2 = p16

Joint 3: Bucket

dig θ 0 > p7
finished θ2 = p 6 θ3 = p 3 move to
dig capture open
dig

θ3 = p17 θ3 = p 3 θ3 = p18

Parameters
p1 : boom angle to begin swing
p10 boom dump angle
p2 : swing dump angle
p11 boom dig angle
p3 : bucket dump angle
p12 swing angle to begin sticking out
p4 : swing dig angle
p13 swing angle to begin sticking in
p5 : current swing angle
p14 stick start dump angle
p6 : stick angle which places bucket over
p15 stick end dump angle
the truck
p16 stick dig dump angle
p7 : swing angle at truck rear
p17 bucket capture angle
p8 : bucket angle when mouth is vertical
p18 bucket dig angle
p9 : boom clearance angle

Figure 2.5: Parameterized truck loading script for the ALS consisting of four parallel sub-
scripts [Rowe 97b] (redrawn). The joint angles are named θ0 − θ3 for swing, boom, stick, and
bucket.
18 2. Survey on Autonomous Excavation Systems

Another system for performing mass excavation within rock piles containing over-sized
particles is presented in [Shi 96a] and [Shi 96b]. The experiments were executed on a
PUMA 560 robot arm equipped with pressure and torque sensors and with a wheel loader
bucket type. Its goal was to perform excavation in a small testbed filled with gravel and
rocks larger then the size of the bucket as shown in figure 2.6a. The global excavation cycle
for the machine is modeled via hierarchically nested FSMs. It is mentioned that operating
in a complex geological environment is a necessary capability of a control system for
excavation. Digging conditions continuously change, and gathered data is often imprecise,
uncertain, or incomplete. The system design refers to the human operator who chooses a
specific strategy. It loosely combines excavation tasks which could accomplish a goal like
excavate a trench of certain dimensions. Due to the uncertainties, the required actions
cannot be preplanned completely. The research work implements excavation tasks as
sequences of behaviors, modeled as FSMs. A behavior remains active until its associated
sensory input does not meet its required activation thresholds anymore. It is constructed as
a sequence of primitive machine-executable excavation actions like move forward horizontal
and lift. Figure 2.6b visualizes how the execution hierarchy successively derives actions
from goals.

(a) (b)

Figure 2.6: The execution hierarchy from goals to actions (b) and a visualized example trajectory
evolving from the behaviors horizontal digger, under particle follower, over particle follower, and
bucket lifter (a) [Shi 96b].

Since it is almost impossible to infer the current state of interaction of the bucket with the
environment from force or torque sensor data, the excavation actions are specified using
fuzzy logic rules based on human experience and heuristics. ST = {T1 , ..., TN } represents
the set of all tasks which were implemented as FSMs. Ti = (s0i , Si , Sif , Hi , δi ) with Si being
m
the set of states, s0i is the initial state, Sif is the set of terminal states, Hi = {Bi1 , ..., Bi j }
is the set of behaviors applicable to Ti , and δi = Si × Hi → Si is the state transition
function. Task examples include excavate a trench, fill the bucket from a rock pile, fill the
bucket on a constructed load point, remove large rock, load a truck, or clean the floor. By
means of the example remove large rock FSM it is shown that the solution is applicable.
The set of behaviors SB = {B1 , ..., BM } is also modeled similar to Ti with FSMs. In the
concrete case the nine behaviors entry point selector, floor follower, horizontal digger, down
digger, bucket lifter, up digger, over particle follower, under particle follower, and bucket
extractor are defined for completing the excavation tasks.
2.1. Mass Excavation Projects 19

An action ai is then implemented as a set of fuzzy decision rules like,


RULE 1 − IF F is Qi1 and ∆F is ∆Qi1 , THEN M is Ui1
..
.
RULE ni − IF F is Qini and ∆F is ∆Qini , THEN M is Uini
where ni is the amount of rules for action ai , F = (Fx , Fy , Fz , Mx , My , Mz ) is the force/-
torque vector, and ∆F the corresponding difference vector, Qij , ∆Qij , and Uij are linguistic
terms for force or torque data and motion control commands, and M = (∆y , ∆z , ∆r , BV )
is the motion control vector with ∆y , ∆z , and ∆r being the differences of the y,z, and
bucket roll values, white BV stands for the bucket velocity [Shi 95]. A simple example for
one of the multiple rules of a retreat upward action is
RULE 1 − IF Fy is P L THEN ∆y is N L and BV is P L
where (PL, PS, ZE, NS, NL) are the linguistic terms standing for positive large, positive
small, zero, negative small, and negative large. Fuzzy reasoning and defuzzification
approaches are applied to create a good moving behavior for the system [Lever 95]. In
states, in which multiple behaviors are applicable, the problem is to choose the most
appropriate one among Hi (s). A two-step solution implicitly integrating both situation
assessment and behavior arbitration is developed via neural networks.
It was shown during a real test in a small testbed that the FSM implementation is much
more efficient than the fixed sequence implementation. Additionally, the adaptivity of
fuzzy behaviors to varying conditions performs well, although it does not take the correct
decisions under all circumstances. A reason for this behavior can be found in the lack
of complex environment perception. The fuzzy rules operate on force/torque data only.
Therefore, no adaptation to the shape of the object to handle is performed. In figure 2.6a
the execution starts with the horizontal digger. When it touches the rock particle, the
decision is taken to use under particle follower as the bucket is not that filled and the
probability is high to capture a middle-sized rock. After a while, the previous decision is
corrected and the over particle follower is started and crosses the rock. After the bucket
is finally filled, the bucket lifter is executed to remove the bucket from the material.
The implemented system works well for loose granular material containing larger boulders
representing the obstacles. A productive excavation in soil requires the execution of a
distinct excavation trajectory depending on the physical properties and shape of the
material. Otherwise the bucket will not be filled well, or the forces increase tremendously,
as shown in section 3.4.2 and in appendix A.1. In case of landscaping, the executed
excavation trajectory is even more important as not too much material should be removed.
The fuzzy rules operate on single-dimensional input data and use a two-dimensional
fuzzy set for defuzzification. Therefore, every dimension to influence needs to be handled
independently. Although three-dimensional defuzzification in [Li 07] worked for controlling
multi-dimensional processes, this approach is not well suited for creating an optimized
three-dimensional spatial trajectory. Therefore, a different and better suited approach
using ellipses is developed within this thesis (see section 5.3.2).
In [Wang 04], the previous approach is extended by using Petri nets instead of FSMs.
Petri net transducers (PNTs), presented in definition 2.2, are used to model tasks and
agents of excavation machines. A PNT for a task specifies all feasible sequences of agents,
a PNT for an agent defines all sequences of primitive motions for the execution.
20 2. Survey on Autonomous Excavation Systems

Definition 2.2 (Petri Net Transducer (PNT)) Based on [Wang 04], a PNT M is
defined as a six-tuple M = (N, Σ, ∆, ρ, µ, F ) with

• N = (P, T, I, O, µ) is a Petri net with finite sets of places P and transitions T, the
input function I : P × T → {0, 1}, the output function O : P × T → {0, 1}, and the
set of markings µ [Zhou 12],

• Σ is a finite input alphabet,

• ∆ is a finite output alphabet,

• ρ is a translation mapping from T × (Σ ∪ {λ}) to the finite set of ∆∗,

• F ⊆ R(µ) is a set of final markings,

• λ represents the empty string,

• ∆∗ is the set of all strings over ∆, and

• R(µ) is the reachable set of markings from µ.

If the number of markings of the input places of a transition is larger then zero, the
transition is enabled and may fire [Peterson 81]. In case of multiple enabled transitions it
is not defined which one fires when. It happens non-deterministically and non-interruptible
at an arbitrary point in time. This behavior is not desired for a real excavation system
which should keep desired time bounds. Therefore, a trained neural network decides which
of the enabled transitions fires when multiple input places are filled.
Single machine behaviors called control agents are then modeled via a PNT. An example
for the unearth-an-over-sized-particle is shown in figure 2.7.

Figure 2.7: PNT for the task of unearth-an-over-sized-particle with the control agents CA2
horizontal-digger, CA4 under-particle follower, CA5 bucket-lifter, CA6 bucket-extractor, and
CA9 up-digger [Wang 04] (redrawn).
2.1. Mass Excavation Projects 21

It starts with the execution of the horizontal digger (t1/CA2). In case of no obstacles the
up-digger (t4/CA9) is activated and the bucket is finally extracted (t7/CA6). Otherwise,
the under-particle-follower (t3/CA4) is usually executed first. Afterwards, either a direct
bucket-extraction (t5/CA6) or an intermediate up-digging (t6/CA9) with a final bucket-
extraction (t7/CA6) is performed. Should the neural network decide that the obstacle
cannot be removed so far, the bucket is just lifted (t2/CA5) to start with the next attempt.

The Petri net approach allows to model the concurrency of the system and multiple hierarchy
levels by using multiple markers. The complexity of the system can be hierarchically
nested within independent parts executing their tasks in parallel. In general, it seems to
be a suitable modeling approach for machines performing their work cyclically. As the
dependencies between actions are usually strict for construction tasks and the parallel
execution of multiple actions is not possible with a single machine, the capabilities of
the parallel execution within a Petri net do not come to play here. In fact, additional
requirements are defined which lead to a deterministic behavior of execution and keep the
net alive under all circumstances. Additionally, the decision when an enabled transition is
allowed to fire is outsourced to a neural network.

State machines have a simpler modeling process and do not need to be forced to operate
deterministically. As the number of single actions required to solve the task for construction
robots is usually not that large, the Petri net representation seems to deliver no real benefit
for modeling the task in comparison to the previously presented hierarchical FSMs.

Based on simple force and torque sensor data, the overall approach showed its capabilities
to take decisions about which of the behaviors and actions needs to be used. Therefore,
no complex trajectory following that depends on currently measured surface data was
implemented. Nevertheless, the main excavation cycle could be modeled via FSMs and
PNTs and produced good excavation results under laboratory conditions. An implementa-
tion on a real excavator would have been better to show the capabilities of the system
under realistic dynamic conditions. The concrete knowledge of the expert operator is
implemented inside the machine actions as a system of fuzzy-control rules which transform
the measured sensor values to adequate output control values. Due to the highly non-linear
problem of precisely controlling the bucket in soil, fuzzy-control seems to be an appropriate
solution for mass excavation. As no complex environment perception was performed,
abilities like obstacle avoidance during free motion or dumping of material could not be
developed. The non-existing trajectory planning approach makes the creation of a trench
or a distinct surface shape impossible.

The previous solutions used rather classical state-based control approaches modeled
as FSMs, Petri nets, or parallel executed scripts for implementing the high-level control of
the autonomous machines performing mass excavation. The lower action levels usually
incorporated precise operator knowledge in the form of fuzzy-control approaches and
neural networks taking decisions, generating direct joint movements instead of planning a
trajectory. This allowed for optimizing parameters concerning productivity in terms of
tons per hour, but disables all possibilities to shape the surface in a desired way.

A rather simple form of landscaping is trenching. Related research works are presented in
the following section.
22 2. Survey on Autonomous Excavation Systems

2.2 Trenching Projects


The task of trenching can be described as the creation of a box-shaped hole where the
width and depth are way smaller then the length. The side walls can also have a distinct
slope angle. While the minimum width is defined by the width of the used bucket, the
achievable depth depends on the machine kinematics. The standard trench excavation
process is performed by excavating material in front of the machine until the desired width
and depth are reached. Afterwards, the machine is moved backwards to increase the length
and the excavation process continues. Usually, the material is dumped into nearby trucks
following the excavator.
The Lancaster University Computerized Intelligent Excavator (LUCIE) [Bradley 98] is an
integrated, real-time, artificial intelligence-based control system utilizing a novel form of
motion control strategy for movement of the excavator bucket through the ground. Tests
showed that teach and repeat cycles and off-line programming based on a point-to-point
planner could not be used. An approach more closely reproducing the way in which human
operators controlled their machines was needed. The autonomous machine should be
able to operate in any kind of soil with an accuracy of 50 mm, deal with different types
of underground obstacles, and achieve a speed of operation comparable with that of a
human operator. The main task is digging a trench in a wide variety of sizes, including
the automatic removal of boulders and other objects in the ground. For this task a specific
cycle of subgoals is defined as shown in figure 2.8.

Figure 2.8: The sequence for trench digging [Bradley 98].


2.2. Trenching Projects 23

A set of activities is defined which the machine is capable of executing partially in parallel.
This is utilized to reach the current active goal according to table 2.1.

Task Excavate a rectangular trench with a flat bottom.


Position bucket over trench.
Bring bucket into contact with ground.
Goal Move bucket through ground.
Remove bucket from trench.
Empty bucket.
Rotate bucket.
Drag bucket.
Activity Raise bucket.
Increase/reduce angle of attack of bucket.
Increase/reduce drag angle.

Table 2.1: Division of the task of excavating a trench into goals and activities [Bradley 98].

The appropriate activity to execute is chosen based on around eighty rules modeling the
expert operator behavior. According to [Bradley 93], all rules are in the form of

IF (condition is true) THEN DO (activity).

An example for a rule is

IF (bucket penetration > 300 mm) THEN DO (rotate bucket).

A negative effect of these rules is that it is impossible to predict the path of the bucket
through the ground beforehand.
According to [Seward 96a], the goals of this project were to perform an automatic adapta-
tion to different soil types and coping with obstructions like boulders during autonomous
trenching on a completely human independent machine. The system was decomposed into
discrete modules in which safety plays an important role. The environment is monitored
and no execution is allowed for all system behavior that could incorporate a safety critical
component. Experiments revealed the desirability of a dual control strategy similar to the
one used by a human being. During the free motion in the air position control is desired,
while moving in soil requires velocity control. The latter one is used as the movement in
the ground needs to be highly adaptive to changing ground conditions because there is
only little likelihood of reaching a specific point via a predetermined path.
For controlling the machine, the concept of velocity vector control is developed which
generates a motion profile by moving a reference target point through space. To achieve
this, a velocity vector is calculated per time interval moving the target point the required
range towards the desired direction. The soil removal is also affected by the angle of attack
and the relief angle of the bucket with respect to the ground. The position information
from the joints themselves is used as a basis for the force feedback measurement system.
The position error vector is therefore a measure of the force that the ground is exerting on
the bucket and hence of the force required to move the bucket through the ground.
24 2. Survey on Autonomous Excavation Systems

A rule-based structure is derived which incorporates geotechnic and soil mechanics data
together with operator responses. The rules are used as the core of an expert system
supervising the operation of the excavator. It is described as a generic control hierarchy for
the class of large, high-powered intelligent manipulators which perform either autonomous
or operator-collaborative forms of operation [Bradley 94]. The control hierarchy is goal-
oriented and defines appropriate sub-goals. The selection and execution of the related
task and sub-tasks is performed by the control system. The architecture is structured
around a generic core which is able to include and control each of the operation modes as
well as the movements of the manipulator that may be necessary for specific types of the
task. Knowledge of geotechnics is of less importance than real-time response to changes.
In fact, the control strategy continuously monitors the forces and reacts to them. An
observation of skilled operators leads to the identification of the two main soil removal
strategies penetrate and rotate and penetrate and drag for soft and hard materials.
Additionally, an obstacle removal strategy is implemented in [Bradley 98]. It is started
when the deviation between the target pose and the current pose is too large because the
bucket is blocked by the boulder as shown in figure 2.9a.

(a) (b) (c)

Figure 2.9: Obstacle removal strategy states at initial contact (a), partial completion (b), and
penetration beneath a boulder (c) [Bradley 98].

In this case the bucket is lifted until the obstacle can be passed to restart the next
excavation process. This way the material in front of the obstacle is continuously removed
as shown in figure 2.9b. In case the obstacle is not too large or too heavy, the bucket will
underpass it as shown in figure 2.9c and remove it. During experiments this trial and error
approach worked quite well in most cases.
The previously presented approach is implemented in the small autonomous excava-
tor [Ha 02] shown in figure 2.10. The current pressures and valve spool positions are
measured. In addition to the previous system, strain-gauge sensors enable direct force
measurements during digging and a time of flight environment perception system is used
to gather distance information around the machine. The surface shape is measured with a
resolution of 10 mm and a statistical error of ±15 mm.
The low-level control of the machine is presented in [Ha 00] and [Ha 01], where the
impedance control including the fuzzy sliding-mode controller of the small autonomous
excavator is described. It controls the relationship between the end-effector position
and the interaction force, called the target impedance. It is usually handled as a linear
second-order system mimicking mass-spring damper dynamics. First, the dynamics of the
excavator including soil and tool interaction are modeled.
2.2. Trenching Projects 25

Figure 2.10: The LUCIE mini excavator Komatsu PC05-7 [Ha 02].

A trajectory is first specified in Cartesian space and then the implemented inverse kinematic
equations of the excavator are used to calculate the desired joint trajectories. Uncertainties
of the internal and external perception are considered while controlling the bucket along
the desired trajectory. A good tracking performance is exhibited during the free and the
constrained motion.
One element of the complexity of the task in comparison to industry robotics is that an
excavator is not fixed relative to the work piece. It plastically deforms it by applying
large forces and is also required to move relative to the soil by the same large forces. The
global problem can be divided into the three main groups excavation planning, sensing
and estimation, and control. Behavior-based and hierarchical architectures are combined
to produce strategies for planning and controlling the machine at higher levels. Typical
excavation tasks are decomposed into states in a statechart having an entry and exit
transition. Statecharts are a visualization of finite state machines [Harel 87]. For executing
a truck loading procedure, the five states LowerBoom, Penetrate, Drag, Capture, and
LoadToTruck are defined. They are cyclically executed to fulfill the global task.
The modular architecture presented in [Ha 04] consists of capsules interacting via ports
defining the structure and connectors between ports for data transfer. Statecharts imple-
ment the behavior of simple capsules. More complex ones can contain multiple networks of
sub-capsules. For modeling tasks, the basic task structure is defined as shown in figure 2.11.
It contains one task supervisor controlling possible subtasks and the communication with
other task capsules on the same hierarchical level. Depending on the complexity of the
task, they can either incorporate a special algorithm or contain a hierarchically nested
subtask modeled via the same basic structure. Levels of authority can be modeled by
organizing tasks in different layers with increasing abstraction on higher levels.
26 2. Survey on Autonomous Excavation Systems

Figure 2.11: Basic task structure containing one task supervisor and multiple possible subtask
solvers [Ha 04].

A state machine is used to control the determined order of execution and is defined as
State Machine: tuple{variables, status, current state, priority,
entry-conditions, exit-conditions, sub-statesi , transitionsi }
with
Status ={Off|Idle|Run|Undefined|TimeOut|Exception}.
A task can formally be presented as a set of subtasks with predefined entry or exit
conditions.
Task: tuple[{subtask1, subtask2, ..., subtaskn},
priority, entry-conditions, exit-conditions,
state-machinemain ].
Tasks can be united T = T1 ∪ T2 , intersected T = T1 ∩ T2 , or extended by a boolean
condition T = Ti if x meaning that Ti may only become active if x holds. Subtasks can be
executed sequentially, in parallel, or both. Due to the introduction of so called conflict
resolution capsules on lower levels, the parallel execution of tasks influencing the same
values is possible. These perform a fusion of commands from multiple capsules via internal
algorithms for merging multiple input values into a single output value.
[Santos 00] divides the task of digging a trench into the three subtasks execute a dig cycle,
obstacle handler, and environment tracking:
Task 1: Dig a trench of certain dimensions,
Subtask 1: Execute a dig cycle,
Subtask 2: Obstacle handler,
Subtask 3: Environment tracking.
2.2. Trenching Projects 27

Each of these consists of multiple states like digging, dumping, repositioning the bucket,
size-particle handler, surface profiler, or bucket tracker.
The subtask for executing a dig cycle consists of the following states:

Subtask 1: Execute a dig cycle,


State 1: Position bucket in free space,
State 2: Digging soil,
State 3: Dump,
State 4: Feasible to continue,
State 5: Reposition bucket tip.

The task is then modeled in the following way:

Task 1: tuple({Subtask1, Subtask2, Subtask3},


priority, entry-conditions, exit-conditions, state-machinemain ),
priority: 1,
entry-conditions: {TaskSelected, TrenchData, TaskValidated, MemoryAllocated},
exit-conditions: {TaskFinished, TaskError}.

Afterwards, the subtask is defined as:

Subtask 1: tuple({functions, priority, entry-conditions},


exit-conditions, state-machinetop1 ),
functions ={DoPositionBucketFreeSpace, DoDigSoil, DoDump,
DoRepositionBucketTip},
priority: 1,
entry-conditions: {TrenchData, LaserData, InitialPosition},
exit-conditions: {ReadyToNextDig, OutOfSurface, SubtaskError}.

The statechart for trench digging is shown in figure 2.12. It contains five states which
handle the correct positioning of the bucket tip (S1 and S5), digging in soil (S3), dumping
into the nearby truck (S3), and checking if the main excavation cycle, consisting of the
states S2 till S5, needs to be continued (S4). From the top level, the excavation tasks are
decomposed into tasks and subtasks. They can be further divided into states with nested
statecharts.
As soil is inhomogeneous and difficult to model, the digging task is decomposed into
sets of behaviors. A behavior is further decomposed into its activity set by using FSMs.
Mimicking the control of a human expert in these phases, a behavior-based control approach
combined with fuzzy-controllers is believed to achieve autonomous excavation with a good
performance. The developed behavior-based fuzzy-controllers are parameterized from
gathered expert knowledge in excavation. An additional focus lies on the modularity and
compatibility of the controllers within the global control schemes to achieve full autonomy.
Expert machine operators were observed during excavation and questioned afterwards to
formulate the fuzzy rules of the system.
28 2. Survey on Autonomous Excavation Systems

Figure 2.12: Statechart of the trench forming [Ha 04].

An example for a fuzzy rule is


If pressure is P L and angular speed is P L then spool is P M
with PL standing for positive large and PM for positive medium. Defuzzification is
performed by means of the center of gravity. The operations are then directly executed in
the joint space.
2.2. Trenching Projects 29

The high-level control uses unified modeling language (UML) statecharts at a higher
level and fuzzy-control on a lower level to map sensor signals of the environment and the
machine to actuator control values [Ha 04, Santos 00]. Every possible machine task is
represented as a state. In contradiction to a standard FSM solution, these states can be
reused, executed concurrently, or hierarchically nested if required.
The way, how a specific task is solved, is formulated by an internal algorithm. The
task planning algorithm is decomposed into a number of hierarchical states. Activities
represent executed operations over time implemented by the fuzzy controllers. Actions
are instantaneously executed, non-interruptible behaviors. The hybrid architecture break
common excavation tasks down into states or sub-states. The modeling process is performed
via statecharts defining the behavior of a state machine. It contains states, state transitions,
states for synchronization, and pseudostates. The transitions usually fire when the tool
center point (TCP) has achieved a distinct position. According to [Shi 96a] there are many
situations, like operation in hard soil or with obstacles, in which knowledge-based control
can out-perform model-based control. This is implemented by activating a knowledge-based
control using fuzzy logic inference. A depth accuracy of 25 mm was achieved for generating
a flattened trench. The average task duration of a single-pass is 15 s, which is quite similar
to the time a human operator needs to perform this task.
In [Seward 07], the existing system is extended by adding an approach for safety. Advanced
mobile robots operating in dynamic and unstructured environments have to rely on their
adaptation to the environment to maintain safety. A Real-time Control System (RCS)
is used as a hybrid architecture combining deliberative and reactive components. It
partitions the control problem into four basic functional elements for behavior generation
(BG), world modeling (WM), sensory processing (SP), and value judgment (VJ). The
elements are clustered into computational nodes which have the responsibility for specific
subsystems and arrange these nodes in hierarchical layers. To construct the system, a task
decomposition analysis was performed. It defines tasks or operations the system is capable
of performing and which one is executed by which actuators or subsystem. Knowledge
about the task is stored via a hierarchical task decomposition. High-level operations are
divided into subtasks at lower levels. To create construction robots operating in a safe
manner, the special capabilities of mobile machines, in comparison to industrial systems,
need to be investigated. Constant interaction with the environment and process uncertainty
create a huge number of influence factors. The complexity of the system eliminates the
possibility to perform a full analysis of the interaction with the environment.
Therefore, it is even harder to create a system which can be verified to guarantee safety
during all possible operations. Different elements are defined as the source for uncertainty,
like the problem of predictability, uncertain or noisy sensor information, a lack of precision
in the described system characteristics, and the reliability of the implemented software.
A hazard analysis was performed and led to defining three principle hazard classes of
colliding with an object on or below the surface, or tilting of the excavator. A top-down
approach defining hazard causal factors was adopted using a fault tree analysis (FTA)
which dissects the points of failure of a system logically. It starts at a high-level event
defining the failure or hazardous event, and proceeds along the causal factors constructed
as a boolean logic tree. There is the need to identify the environmental features which
contribute to the causal branches leading to the accident or hazard occurrence.
30 2. Survey on Autonomous Excavation Systems

Most causal branches are linked to specific environmental features and the limitations
in the abilities of the systems to perceive those features, which differs from conventional
fault trees where the events are mainly component failures. Examples are the inability to
foresee the effects of terrain conditions like traction.
Autonomous systems, which assure safety, require a control layer that avoids hazards.
Complete knowledge of the internal system state and environmental influences leading to
hazards, is an important requirement for achieving a safe behavior. This allows to identify
faults and failures inside the system as well as undesired operational states. From these
measurements, the negative influence on the capability to still achieve the task needs to
be calculated, in order to understand the safety related consequences of specific system
operations and actions. This enables to constrain or adapt actions which might be unsafe
or dangerous. An autonomous system must be capable of self-managing its behavior to
minimize the possibility of an accident and avoid its negative consequences.
A safety management approach is then implemented using partially observable Markov
decision processes (POMDPs). These are a technique to take decisions about actions or
behaviors in the face of uncertainty. The assumption is made that the world, consisting of
the system and its surroundings, can be modeled by a finite number of concrete states
and actions which transform between these states. Partially observable means that it is
not certain which is the current internal state. As a new state is not certain, the process
determines probabilities for states resulting from actions. Safety states are mapped into
hazard state likelihoods which influence the execution. The fault tree analysis [Vesely 81]
provides the functions for converting the state variable properties into a hazard state
probability.
As the trench excavation is just performed where the bucket initially hits the ground, it
can not be considered as shaping the surface in a specific area. The drawbacks of this
approach are that no specific trajectories can be followed during the excavation. It was
probably chosen because the mini-excavator test-platform did not deliver enough forces
during excavation. This conjecture is supported by the fact that hard soil or obstacles
cannot be handled by the system. Additionally, the machine operated in rather loose
material and its dynamics are not as hard to control as those of a larger one. Concerning
the control approach, the higher statechart level seems to be suitable and adaptable to
general excavation operations. What is definitely hard to balance are the rules controlling
the excavation process. Although these rules can be gathered by interviews with skilled
operators, they need to be well tuned afterwards to create the desired smooth movements
of the bucket. Nevertheless, the implementation of the fuzzy rules in the joint space
is not suited for precisely controlling the bucket pose during excavation. Although the
approach proved to work quite well for trenching, it can not be used for performing complex
landscaping operations, even if the machine would have enough power to execute those.

2.3 Solutions for Sub-Problems


The previously presented research works tried to develop a complete system capable of
performing a specific excavation task including unloading on a pile or into a truck. In
the following, some works will be presented which provide partial solutions like modeling
a sequential or cyclic behavior in general and could therefore help to develop a control
approach within this thesis.
2.3. Solutions for Sub-Problems 31

According to [Coste-Maniere 00], existing architectural styles of robotic systems can be


generally classified into hierarchical, behavioral, and hybrid ones. The hierarchical approach
is a top/down one that usually rates the decisions on higher levels as more important and
therefore allows them to outvote or override controls on lower ones. The second one is
bottom-up structured and incorporates a lot of concurrently operating behaviors defining
the overall system behavior by fusioning their outputs.
As none of the two extreme approaches worked well in reality, hybrid types were developed
that often combine the reactive and deliberative control on different layers. The main
problem on the high task-control level is how to schedule the tasks which are executed
by lower layers. Often temporal constraints are defined which lead to a specific execution
dependency between tasks. Examples are similar to “A must be executed before B”, or “E
must terminate before F starts“. When formally defined, dependencies can be automatically
solved and scheduled by generic planners. Sequences and a cyclic behavior can be easily
modeled this way and automatic deadlock checks can be performed.
In [de Mello 90], research from the area of assembling elements with robotic arms is
presented. Instead of using ordered lists of actions, which contain no flexibility in task
execution, or partially ordered sequences, AND/OR graphs are developed which are a
compact representation of all possible assembly plans and allow for online action planning
for assembly and failure recovery. They do not require a fixed number of operations and a
sequential ordering of actions. For planning an assembly of part P, a search in the directed
AND/OR graph hCP , EP i is performed. An example for a simple work piece P with the
four sub-assemblies cap, stick, receptacle, and handle and the AND/OR graph for assembly
is shown in figure 2.13.

(a) (b)

Figure 2.13: Depiction of a simple work piece P with the four sub-assemblies cap, stick,
receptacle, and handle (a) and the relating AND/OR assembly graph (b) [de Mello 90].
32 2. Survey on Autonomous Excavation Systems

A configuration Θ of P is a set of sub-assemblies of P whereat every member of Θ


characterizes a connected stable sub-assembly. Every part of P is one of the elements of
Θ, and there is no part of P that exists in two elements of Θ. The final configuration
Θf = {{p1 , p2 , ..., pN }} is the configuration in which all parts are properly joined to form
the desired assembly.
The set of nodes in this graph CP are CP = {Θ|[Θ ∈ ∆(P )] ∧ [∀θ(θ ∈ Θ) ⇒ csp(θ)]} where
csp(θ) is the connected subassembly predicate (see equation 2.1).
(
true, if θ characterizes a connected stable subassembly
csp(θ) = (2.1)
f alse, otherwise

The set of edges EP is

EP = {(Φ, Γ)|[(Φ, Γ) ∈ CP × CP ] ∧ [|Γ − (Φ ∩ Γ)| = 1] (2.2)


∧[U (Φ − (Φ ∩ Γ)) ∈ Γ − (Φ ∩ Γ)] ∧ [f tp(Φ, Γ)]} (2.3)

where the feasible transition predicate is defined in equation 2.4.



true, if the transition from Φ to Γ is a physically

f tp(Φ, Γ) = feasible assembly operation (2.4)

f alse, otherwise

An assembly plan for P corresponds to a path in hCP , EP i, starting from the initial node
ΘI and ending at the final node ΘI . By searching from the current node, or inverse from
the final to the current one, a suitable sequence of actions for fulfilling the task can be
performed.
Modeling robot behavior with this system is quite powerful and allows for designing
systems with a lot of different and possible parallel approaches to solve a single or multiple
task/s. If there are a lot of intermediate steps, the visualization of the graph for the human
being can become quite complicated. In [Cao 94], the graph is therefore transferred into
an equivalent Petri net representation for analyzing and proving important properties like
liveness, boundedness, and reversibility. This guarantees a deadlock-free and fault tolerant
system. The presented approach is suitable for modeling the execution of sequences with
many alternatives and finding a good sequence path. The problem for excavation projects
is not the definition of the sequence itself but generating good trajectories within each of
the states. The presented approach is, on the one hand, too complex for robots performing
excavation tasks and, on the other hand, omits the precise execution of the operation
within three-dimensional space.
A strategy which focuses on the free motion planning of the machine is presented
in [Maeda 11]. It presents a tuned approach to feedback motion planning with rapidly
exploring random trees (RRTs) under model uncertainty for a 3-DOF manipulator arm and
an autonomous mini-excavator. This strategy is a combination of model predictive control
(MPC), performing local planning, and an abstract global planner delivering sub-goals.
The background is that disturbance, noise, and system parameters like terrain mobility
and motion coefficients are generally uncertain and vary over time. The saturation of the
solutions causes the risk that incorrect plans may not recover over time.
2.4. Discussion 33

Therefore, an extension to the classical RRT is developed which updates model properties
during execution. Receding horizon control (RHC) is used to generate the path which
grows a local kinodynamic RRT biased towards subgoals that were evaluated during a
previous path calculation. The sampling for kinodynamic planning is executed in the
state-space and provides dynamic constraints like velocity limits and acceptable regions
that prevent collisions with an object due to dynamics.
Although no clear distance metric is defined for differential constraints and an RRTs does
not grow efficiently under these circumstances, the efficiency can be increased by taking
an initial path as a heuristic map guiding the execution. This initial plan is a coarse RRT
which is created to generate commands moving the robot from the start point to the goal.
Model updating via estimation is accomplished with a linear Kalman filter. The effects of
disturbances are minimized by using an observer. Further efforts aim to implement the
presented algorithm on the experimental excavator platform.
In [Langari 15], an extended RRT approach called NonuniformRRT is presented which is
capable of planning safe free motion trajectories for excavators based on site conditions.
The algorithm is described as more realistic in comparison to a standard RRT because
heuristics and engineering constraints specific to excavators are embedded. The extensions
include operation constraints which are required to guarantee a behavior during a specific
movement. An example for this is a fixed bucket angle during transportation. The core
extension is a biased random number generator (RNG) towards the goal pose, which
tremendously reduces the search time for a good solution. It is then further extended to
also find paths if there are many obstacles around, to smoothen the path, and to find shorter
ones. For this RNG, different metrics concerning length, efficiency, and computational
costs are defined and used. A case study is implemented and tested inside the UNITY1
game engine. It proved to find good paths in simulation which are described as quite
similar to those of a real machine operator.
The two previous approaches with RRTs are capable to plan safe and efficient trajectories
for the free motion of an excavator boom. Both excluded the creation of the path during
digging: either because the machine was not powerful enough to follow the trajectories
in the first approach, or the used simulation was not capable of simulating the complex
interaction of the bucket with the material in the second one. Although this part is
important on a real construction site too, the most complex task is the material handling.
Therefore, they might be usable for planning the free motion of the machine, but are
unsuitable for the landscaping operation. In the following, the presented approaches from
this section will be discussed.

2.4 Discussion
This chapter presented related works from the area of autonomous excavation. The recently
developed approaches can be distinguished into those which perform mass excavation,
those that implement trenching, and others that solve familiar problems or partial goals.
Table 2.2 concludes the capabilities of the presented approaches that will be discussed in
the following.
1
http://unity3d.com/
2. Survey on Autonomous Excavation Systems

Research Publications Machine Driving Mass Trenching Landscaping Dumping


project type excavation
1 [Elezaby 08] Wheel loader Yes Yes No No Yes
model for
automatic tests
2 [Koyachi 10] Wheel loader Yes Yes No No Yes
3 [Shi 95], PUMA robot No No Yes No No
[Shi 96a], simulating
[Shi 96b], an excavator
[Wang 04]
[Ha 00, Ha 01], Small-sized No No Yes No No
4 [Ha 02, Ha 04], excavator
[Santos 00],
[Seward 96b],
[Seward 07],
[Bradley 93]
[Bradley 94]
[Bradley 98]
5 [Stentz 98], Chain-driven No Yes No No Yes
[Stentz 99], excavator
[Singh 98],
[Rowe 97b],
[Rowe 99],
[Rocke 94],
[Rocke 95]
[Rocke 96]
6 [Langari 15] Simulated No No No No No
excavator
Table 2.2: Overview of the capabilities of the developed systems concerning driving, mass excavation, trenching, and landscaping sorted by
research projects and their publications. The goal of this thesis is to answer all columns with yes.
34
2.4. Discussion 35

Multiple different control approaches were chosen to control autonomous construction


machines. Most of them focused on one rather specific operation like mass excavation or
trench digging and tried to optimize it as much as possible. To the author’s knowledge,
there exists no implemented approach which cared about the more general task of shaping
the surface in an artificial way called landscaping. The presented research works used
excavators with simple arm kinematics having only four DOFs which are insufficient for
this task (projects 3-6).
The type of machines used for landscaping are usually equipped with a specific bucket
having one or two additional DOFs. It allows for creating desired slope angles or trenches
at arbitrary positions around the machine. As the excavation task is a highly dynamic and
non-linear one, it is also questionable if the results gathered on mini-excavators (project 4),
test-beds under laboratory conditions (project 3), or even within simulation only (project
6), can be transferred to larger machines, as the soil tool interaction forces will change
tremendously. The test platform used for this thesis is equipped with a tilt bucket having
an additional DOF and will be presented in chapter 6.
Apart from the wheel loader projects (projects 1 and 2), complex traveling or displacing
the machine was not part of the works and therefore the machine could only operate
locally. Although some projects used sensors for a complex environment perception like
laser scanners (projects 4 and 5), most of them only used it for detecting the surface
properties or finding the dump truck nearby (project 5). None of the discussed projects
implemented a complex obstacle avoidance strategy for executing safe paths around static
or dynamic objects.
A common feature of all presented research works is to divide the whole process into a
sequence of equal excavation cycles. As sources for their knowledge they often mentioned
interviews with expert operators or an analysis of recorded trajectories. Each excavation
cycle consists of multiple steps or actions that have to be executed consecutively depending
on the given global task. The execution of these single steps differs mostly in the parameter
sets, depending on the current environmental conditions analyzed by specific problem
solvers.
To implement those steps, one group of research projects used state-based methods like
hierarchical FSMs (projects 1-3), UML statecharts [Douglass 03] (project 4), or Petri nets
(project 4). These methods allowed to model the system behavior top-down by continuously
refining each global state via nested sub-automata. Within these nested automata, even
strategies for the removal of obstacles like rocks were implemented based on measured
forces (project 4). Apart from generating trajectories, most of the projects directly transfer
the given abstract control values into machine executable operations by using fuzzy control
implementing movement primitives (projects 3-5). These approaches turned out to fit
quite well to the area of cyclic operating robots performing the removal of material from
piles or trenches without any precisely designed trajectory.
Another research project utilized parameterizable scripts to describe the operation of
mass excavation including truck loading (project 5). For each joint, a script defines the
movements to desired positions at given speeds. They are either synchronized by having
common switching conditions or implementing an active waiting for the outcomes of other
scripts. Specific problem solvers compute the parameters like joint positions, velocities,
and switching conditions.
36 2. Survey on Autonomous Excavation Systems

By starting the execution of some joint scripts earlier then required, existing dead times
of physical joint control can be eliminated and the movements of the machine can be
optimized. As all of these rules operate in the joint space of the machine and include
dependencies based on a reached angle or a measured pressure value inside a cylinder,
they are not suitable for generating a specific trajectory. In mass excavation this does not
play an important role as the amount of tons per hour is more important then the shape.
Especially the possibility to reduce dead times within the system allows for fast operations.
In case of any dynamic obstacle in the working space, the system can not react and needs
to shut down.
The presented related partial approaches focus on different elements required to design
an autonomous excavation system. In [Coste-Maniere 00], architectural styles and their
benefits are presented. It proposes to use the decision that a hybrid multi-layered control
structure should be used for a system at hand. When the operation is modeled as a tree
structure or as a Petri net [Cao 94], approaches for automatically finding sequences of good
actions are delivered [de Mello 90]. If a task consists of a lot of single steps, this would
be an adequate approach as it operates quite effective. As will be shown in chapter 3,
the excavation task only consists of a few actions. Therefore, the approach seems to be
over-engineered and complex to be used here. Finally, two approaches have been presented
which care about the safety during excavation [Maeda 11, Langari 15]. They use RRTs to
plan collision-free trajectories for excavators operating in a highly dynamic environment.
Although a presented extension of the classical RRT reduces the computational bounds
of this approach, a less deliberative and more reactive one is required in case the sensor
system can not deliver a consistent state of the operation space. Furthermore, it was only
used to plan the free motion of the excavator boom. It is not easily possible to set the
constraints in a way that a desired trajectory evolves.
As a general shortcoming the developed systems are not designed to perform complex
landscaping tasks. The knowledge gathered about the environment is usually either
transferred into previously designed joint movement parameters within scripts, or into
a fuzzy-based controller creating the trajectories. Only the development of a complex
middle layer bridging the gap between high-level cyclic execution of the task and control
of the joint movements will allow for solving the landscaping in the context of this thesis.
It should permanently perform the generation of an adequate trajectory and adapt it to
changing environmental conditions.
In addition to the knowledge gained about solutions for automating construction site
vehicles and cyclic operating machines performing mass excavation and trenching, the next
chapter will explicitly perform a complete analysis of the human operated landscaping
process. This leads to chapter 4 which starts with defining multiple design rules for
the development of cyclic excavation systems. Afterwards, a complete architecture for
autonomous landscaping on a construction site is created.
3. Human Executed Landscaping
Process

The presented control approaches for autonomously operating excavation machines dis-
cussed in chapter 2 show that most of the research work either focused on performing mass
excavation or distinct shaping operations like leveling or trenching. None of the previous
works tried to design an excavation system which is capable of performing the complex
task of landscaping in an autonomous way. This task, which includes the capabilities of
performing mass excavation, leveling, trenching, slope creation, machine displacement,
and dumping of material, can only be transferred into a technical system, if all influencing
parameters are analyzed precisely. The main goal of this chapter is to create a knowledge
base containing all capabilities of a manned excavator concerning the landscaping process.
Therefore, a complete analysis of the human operated landscaping process is performed in
the following. At the end, seven key elements of landscaping will be presented.
Due to a limited amount of time and resources, it is impossible to consider all factors within
the technical realization of this thesis. Nevertheless, an extensible control architecture for
autonomous landscaping can be designed in chapter 4 which handles the most important
factors during the operation.
As the process of excavation evolved over years and was driven by practical needs, not much
scientific literature on this topic exists. In [Green 90], the possibilities for information
acquisition for an autonomous robot excavator are discussed. By now the main resources
are technical handbooks about the construction equipment or interviews with expert
machine operators. Basically, knowledge can be divided into ontological and empirical.
Ontological knowledge is theoretical and is usually gathered by well established scientific
methods of theoretical, computer, and laboratory experiments. Empirical knowledge is
based on experience of the human expert operator who uses the machine as an extension
of his body to fulfill the task. Gathering precise information is usually very difficult as the
operator can or does not want to express why he or she is doing what he or she is doing.
He might never have thought of how he or she takes the decisions as his or her natural
instincts subconsciously take those automatically. Another possibility is the fear of being
replaced by an autonomous machine.
38 3. Human Executed Landscaping Process

As different operators have an unequal background, the answers might be different under
the same circumstances or even conflicting. A more passive way to gather this information
is recording the operator’s movements and deducing primitives from it. It might evolve
from a mechanical modeling of the process that that the operator movements are not
optimal concerning dynamics. The way the human interface is designed might just lead
to those movements. Therefore, the presented knowledge was also gathered or refined by
talking to people from the construction area or skilled operators.
An analysis of the whole excavation cycle provides the foundation for the displacement and
excavation phases in detail afterwards. Finally, a description of operational constraints
completes the characterization of the landscaping task as it is performed by the human
operator. In the discussion at the end of this chapter, the key elements of the landscaping
process will be defined as highlighted statements which are required by an autonomous
excavation system.
By starting from an abstract point of view and incremental refinement, a complete
description of the landscaping process can be achieved in the following sections.

3.1 Global Process Cycle


Due to [Bauer 07], excavation is defined as the influence of the material on the shape, the
position, the density, their removal from trenches or excavation pits, and the following
unloading, assembling, and compaction. Generally, the task consists of loosening the soil
with the help of a machine and loading it into means of transport like trucks or rope
belt conveyors. It is then transported over a distinct, desirably short distance, where
it is unloaded or assembled. Finally, it is compacted at its new desired place. Usually,
multiple machines from excavators, wheel loaders, graders, and trucks are used to fulfill
the complete task. On a medium sized construction site, the loosening, excavation, and
loading parts of the work are performed by hydraulic-driven universal mobile excavators.
In figure 3.1 an extended flowchart of the complete landscaping process including excavation
and truck loading is shown [Günthner 11]. The operation is divided into the four phases
environment, displacement, excavation, and finish. Initially, the environmental conditions
and external influence factors, including their effect on the task execution, need to be
extracted. In combination with a description of the desired state after the operation, a
global excavation plan can be generated. The phases 2 and 3 contain the main part of the
on-site machine work. It consists of moving the machine to a new place and performing
the excavation operation including truck loading. A technical system, which models this
cycle, is generally capable of performing excavation and landscaping.
A comparison of a beginner and an expert operator allows to estimate the amount of
learned world knowledge of the latter one. After the whole surface has been shaped in the
desired way, the machine is usually moved to a final parking position or removed from
the excavation site which is performed in phase 4. The different phases will be described
precisely in the following. As the gathering of environmental information is closely related
to the decision, if the operation is finished or not, these two phases 1 and 4 are discussed
together in the following section.
3.2. Environmental Information 39

Figure 3.1: Translated flowchart of the excavation process [Günthner 11] extended by the four
phases environment, displacement, excavation, and finish.

3.2 Environmental Information


The contents of phases 1 and 4 are the initial and continuous gathering of the current
environmental information, the definition of the desired surface state after the operation,
the final decision about when the task is finished, and where the machine is moved
afterwards. Within a technical system, the information about the surroundings defines the
initial parameters of the process and influences the trajectories executed during the free
motion and during the excavation operation.
One of two most important factors for the whole operation is the current location in-
formation of the excavation site. As the benefits of autonomous excavation would not
have a tremendous impact during short-term operations, the desired workplace will be
either an open mining pit or a middle sized or large planned construction site where the
minimum operation time is a few months. Another benefit of larger sites is that due to
legal constraints, these places require gathering of a lot of useful information about the on
site conditions that can be utilized by an autonomous system. On the other hand, these
areas can be rather well protected regarding access control of non involved citizens.
40 3. Human Executed Landscaping Process

In comparison to an automated industry robot assembly line, in which the parameters and
execution steps are usually fixed or can be precisely determined and calculated before, the
conditions for a construction machine on a real excavation site often tremendously change
over the course of time and can often not be evaluated precisely before the tasks starts.
These boundary conditions can be divided into the four factors ground, weather, machine
capabilities, and specific task requirements.

Ground
Before a construction site is set up, knowledge about the area is gathered. The resulting
documents construction site setup plan, site regulations, and site plan contain a lot
of information needed to plan the whole operation. Necessary preliminary works for
earth-moving and construction of buildings are field surveys, geological-, earth- and rock
mechanics analysis to clearly classify and evaluate the existing ground types [Neumann 06].
This includes the determination of the ground-water level which may have an influence
on the possible excavation depth and necessary protection measures concerning water
invasion. Additionally, the amount of material to be moved is calculated based on the
design plans, the section and excavation banks are marked, and vegetation clearing is
performed to create a clean soil surface in the area. The detection and analysis of existing
obstacles in the ground like cables, pipes, old groundings from previous buildings, and
static calculations of buildings nearby, deliver additional information to precisely plan the
earth-moving task [Frick 72]. This information is usually summarized in an expert survey
which contains a description of the ground types and their layer composition. Additionally,
it includes information about the load capacity and probability of ground breaking, and
an estimation of possible risks for other buildings around.
Geologically, soils are defined as unconsolidated rocks [Lang 03]. They are created from
solid rock by grinding and decomposition over large time periods. Based on DIN 18300
presented in [Lorenz 11], the ground is divided into seven ground classes which reach from
silty soils with grain sizes below 0.06 mm up to heavy, baked rock. The latter ones can
not be directly removed by an excavator and therefore have to be loosened or crushed via
special machines or by blasting first. Based on their compaction level and the wetness
of the material, the capability for excavation changes tremendously. [Friedrich 13] names
the excavation characteristics of these seven classes, depicted in table 3.1. Surface soil in
class 1 can be easily excavated and transported, while flowing soil types in class 2 need to
be treated via specific procedures and by special machines. Classes 3 till 5, which reach
from easy to difficult removable soil types, can be handled by similar excavation strategies.
Excavation of rock types in class 6 usually depends on larger machines or requires special
treatment like blasting for heavily removable rocks in class 7.
Due to [Neumann 06], the determination of the ground parameters defined in DIN 4094
mentions multiple ways of gathering this information. The surface is either pierced with
special tubes, or core drillings are performed in combination with geophysical investigations.
In case this information is not sufficient, surface excavation up to depths of 3 meters is
performed. For large areas these preliminary works can become quite expensive. It is
mentioned in [Friedrich 13] that for a lot of larger construction projects like gas pipelines
or power lines, there is usually no adequate data with the required precision available for
depths larger then two meters.
3.2. Environmental Information 41

DIN 18300 Soil class


surface soil 1
flowing type of soil 2
hard turfs easily removable 3
sands (<15% U,T) soil types
<30% cohesive medium-heavily removable 4
rough soil skeleton soil types soil types
(>6,3 cm) plastic tones heavily removable 5
>30% rough soil skeleton soil types
<30% blocks
weathered rock easily removable rock 6
>30% blocks similar soil types
sound rock heavily removable 7
large blocks rock

Table 3.1: Translation of the table listing the properties of multiple ground classes according to
DIN18300 [Friedrich 13]. The larger the class number is, the harder is the excavation procedure.

This usually leads to underestimations concerning excavation times when the material is
harder then expected and the needed forces to loosen it are way larger. If it would be
possible to approximately predict them, better trajectories could be chosen which would
create lower forces during bucket filling. A precise description of the forces occurring
during excavation are given in appendix A.1.

Weather

The weather conditions have a large influence on the task execution. From the operator’s
point of view, extreme temperatures negatively influence the comfort within the cabin
workplace, and require good heatings or air conditioning. Cold temperatures lead to a
decreased maneuverability when the oil temperature of the hydraulics driven machine is
still low. The operator’s view can also be limited due to ice on the windows, dust in the
air, or other weather phenomena like rain, snow, or fog. In these cases the execution speed
has to be reduced to avoid accidents due to a lack of vision.

The ground and material properties will also change tremendously based on the weather
conditions. Although some ground materials like rolling soils and rock will not lead to
any work interruption in case of rainfall [Bauer 92], cohesive soils should not be excavated
anymore as they will dry very slow afterwards. Additionally, they cannot be traversed with
heavy machines when they are too wet. Travel paths should therefore have an inclination
to allow the drainage of water and to keep the transferability. Also the tractional resistance
of wet or frozen paths decreases and requires lower driving speeds to avoid slippage. If the
ground is freezing, it usually looses its ability to be compacted afterwards. Finally, the
needed forces to loosen the material usually increase when the material is frozen. In case
of sunny and dry weather conditions, often multiple shift work is performed to exploit the
good conditions.
42 3. Human Executed Landscaping Process

Machine Capabilities
The type of the excavation machine and its attachments define the overall machine
capabilities. This means that a minimum cycle time and a maximum of mass transport can
be expected with the chosen machines [Bauer 92]. The correct end effective usage, and
their temporal availability can only be guaranteed by correct planning [Günthner 09]. The
quality of the implementation planning is currently often based on subjective knowledge of
the construction manager and not on objective measurements and evaluated data before.
Small machines might be faster in traveling on the site but have lower material movement
capabilities. Therefore, they will need more excavation cycles and mounting positions to
fulfill the global task. A lot of factors like the amount of material that has to be moved,
maximum excavation depths, transport machine sizes, and special transport tasks define
which machine should be used.

Machine Kinematics From a pure geometric point of view the machine kinematics
define if a specific pose is reachable at all. If the nearby trucks to load are too large or
the required excavation depths cannot be reached, the wrong machine was chosen. The
human operator can estimate if specific operations can be executed with the machine. A
technical system requires a mathematical model of the machine kinematics as presented in
appendix A.3 to take this decision.

(a) Monoblock boom (b) Hydraulic 2-piece boom

(c) Mechanic 2-piece boom (d) Monoboom with neck cylinder

Figure 3.2: Different common boom kinematic types [Lemser 04].

Several boom kinematics as shown in figure 3.2 are used for different purposes [Lemser 04].
The monoblock boom presented in figure 3.2a is simple and more stable in comparison to
the 2-piece booms shown in figures 3.2b and 3.2c. Therefore, it is used on larger excavators
and for demolition works that demand large shear forces. On the other hand, the 2-piece
boom can be specifically adjusted for an optimal load-transmission and to reach farther
and closer points. In Germany, mobile excavators driving on normal streets must have a
2-piece boom which can be folded to reduce the boom overhanging in front of the machine.
During excavation this additional joint is usually not used as the human operator is not
capable of precisely controlling it.
3.2. Environmental Information 43

Nevertheless, it increases the workspace of the machine and is used to either reach points
farther away or very close to the machine. The 2-piece boom with a neck cylinder shown
in figure 3.2d is usually installed in small excavators with even less space in front of the
boom.
As will be shown in section 6.1, the excavator used for this thesis is equipped with a 2-piece
boom which is well suited for landscaping operations. Furthermore, the autonomous control
architecture is capable of using the additional degree of freedom in the same manner as
the other joints during normal operation.

Machine Dynamics The machine dynamics define if appropriate forces and velocities
can be achieved during the operation. As the ground and weather conditions influence
the amount of breakaway torques, needed to efficiently remove and transport the material,
these factors have to be considered too.
Due to [Lemser 03], all static and dynamic forces which are transferred into the ground
should not lead to uneven compaction and ground breaking. In general, chain driven
machines deliver a higher stability on uneven terrain and distribute the force on a larger
area in comparison to mobile wheeled excavators. The latter ones gather their stability
mostly by using outriggers and a shield and therefore mostly compact the ground at
their mounting points. On the other hand, chain driven excavators stand only on specific
points in case of very hard uneven terrain and shake during movements. Although they
do not loose their overall stability in this case, the operator does not feel comfortable
anymore, which affects the work precision negatively. For each of the machines, either
wheel or chain driven, the amount of transferred forces need to be high enough to keep
the steerability of the machine during all expectable weather conditions. Heavier machines
compact the ground more and can not be positioned too close to slopes as the probability
of groundbreaking is increased.

Specific Task Requirements

The specific task requirements on the construction site define the goals which have to
be achieved by the machines. An operation in polluted areas requires removal of toxics
or waste first or the use of special shielded machines. These processes lead to more
complicated working conditions. Specific basement constructions might require special
preparations to avoid water inrush or ground breaking. The required construction times
are additionally defined by the time of the year and social working conditions. Even skilled
operators can not operate for longer periods without exhaustion. Only precise planning
also considering statutory holidays and driver vacancies can guarantee long operation
times of the machines. If the construction site is situated close to a housing area, the
amount of produced noise during evening and nighttimes has to be reduced to a minimum.
Although anti-noise barriers or the use of more silent machines can help in reducing the
noise level, it will not be possible to operate 24 hours. Working during nighttimes will in
general not be as productive as during daylight operation.
The previously presented information about environment conditions influence the spatial
and temporal execution of the task. A technical system needs to be able to adequately
adopt to those changing parameters.
44 3. Human Executed Landscaping Process

3.2.1 Goal State


The second important factor is the desired shape of the surface that is designed by
the landscape planner long before the excavation operation starts. It precisely defines
where material has to be removed and where additional material needs to be filled. Due
to [Heim 94], a plan as depicted in figure 3.3 should contain a longitudinal or cross section
of the floor plan including excavation depths and slope angles. Also additional stabilizers
should be drawn to show that the ground parameters have been clearly identified before.

240 390 481


Spun

-4
10

= 414.42 m.a.s.l.
Excavation -4.23
60 1330
concr

Sl
op

1028
ete p

910
e
1:
1
ip e ∅
4 5 cm

Figure 3.3: Schematic cross section of the excavation area including dimensions and the
relationship between height and length of the slope defining its inclination [Heim 94] (redrawn).

In these days there exist a lot of different CAD tools which create models in their proprietary
formats and can be used to create the excavation plan.
As there exist problems to interact with other programs, there are ambitions to generate
open exchange formats like LandXML1 . It specifies an extensible markup language (XML)
file format for civil engineering design and surface measurement data. Hundreds of software
developers and organizations around the world have adopted this format making it a quasi
standard.
For example, it allows storing a lot of types of construction like points, survey measurements,
alignments, profiles, cross sections, surfaces, parcles, or pipe networks. Figure 3.4 shows
a visualized surface model of an excavation pit. The current surface shape is a green
horizontal plane and the temperature coded mesh below shows the desired excavation area
including a box-shaped region for the basement.

3.2.2 Construction Site Plan


Based on knowledge about the excavation, loading, and transport capabilities, a four-
dimensional excavation site plan as depicted in figure 3.5 can be constructed. It contains
the site state in three-dimensional Euclidean space at a specific point in time, which again
defines the fourth dimension. Elements are excavation areas with their desired shapes,
storage places for surface soil, subsoil, bulk materials like sand or gravel, and travel paths
for machinery and humans.
1
More information about this format can be found under http://www.landxml.org and http://www.
landxmlproject.org.
2
http://www.androtec.de/Englisch
3.2. Environmental Information 45

Figure 3.4: Model of the current (green plane) and desired (temperature colored mesh) state of
an excavation pit visualized with Kubatura from AndroTec2 .

Figure 3.5: Structure of the four-dimensional site plan consisting of three-dimensional plans
aligned along a time line t.

German law defines a maximum inclination of construction site roads concerning lengthwise
or crosswise traveling. The supply places or machines for needed goods like electricity,
water, and fuel are also part of the planning process. Elements for improving the working
conditions or for increasing the construction site safety, like artificial lightning and hoardings
to prevent undesired site entering or stealing of material, create additional obstacles and
might define a maximum operation height on the site. Additionally, the operation times
might be limited due to noise restriction rules in the area surrounding the site.
Next to the environment parameters, the construction machine tasks are determined by
the site plan. It also defines if the main priority lies in the efficient removal of a specific
amount of material or in the generation of a precise surface shape. Additionally, either
specific storage areas on the site or continuous truck loading will be used for handling the
excavated material. As the starting condition for an excavator often requires the removal
of a lot of material, in comparison to its bucket volume, it is usually started with mass
excavation without taking precision into consideration.
46 3. Human Executed Landscaping Process

In case the main focus of the task is set to pure mass excavation, the derived goal is the
maximum achievable productivity, measured in tons per hour during the whole process.
In case it is also important to achieve a desired surface shape, the derived goal will shift
from productivity to precision as the amount of material to be moved decreases.
Due to the fact that the execution time would tremendously increase, if the machine would
have to permanently displace itself to dump the loaded material, the standard case is
loading a truck and not dumping on a fixed position on the site.
What might happen is that some areas have to be filled with material which was excavated
in other areas on the site. Usually, drive excavators like wheel loaders are better suited for
inner site material movement. Should truck loading be the desired case, a good dumping
position in the truck bed has to be chosen which allows a safe and efficient filling of the
truck.
The human plan execution on the excavation site is performed by adding artificial markers
and signs for the machine operators. These show the operator where, how deep, and at
what angle the excavation should be performed.
To find out if the goal is already achieved, the operation sometimes has to be paused, and
co-workers have to externally measure the achieved depth or inclination of the excavation
area. In these days, also laser-based positioning systems are used to rather quickly perform
those measurements. Operator assistance systems can be utilized to show the relative
excavation depth and visualize the bucket pose to improve the excavation process.
This information helps to decide whether the work is already finished, which means that
there is no material to be moved anymore. In this case a new excavation task can be
assigned to the machine or it is moved away from the construction site. This might include
refueling the machine, cleaning it, or switching the excavation bucket or tool, if another
type of operation should be performed afterwards. If the machine is to be moved to another
construction site, it will have to be driven onto a flat-bed trailer. Should there be some
material left, it needs to be decided whether the machine has to reposition itself or can
directly start the excavation task.
After describing the permanent gathering of environment information and deciding when
the operation is finished, the two main operation phases displacement and excavation will
be analyzed in the following sections.

3.3 Displacement of the Machine


The work schedule for the driver usually starts with driving the machine towards the
next excavation area. There it should be safely mounted on its outriggers and shield to
guarantee a safe stand. In reality this requirement is sometimes omitted due to time saving
but often leads to accidents including machine tip overs. As the whole operation area of
the task is usually larger then the work space of the machine, the global work schedule
will incorporate constant repositioning on the site after an area has been transformed.
Normally, this already landscaped area can not be traversed by heavy machines afterwards,
which requires a global displacement strategy without any deadlock situations that block
the machine from fulfilling the complete task. An abstract visualization of an excavation
area plan with multiple excavator mount positions is presented in figure 3.6.
3.4. Landscaping Scenario 47

It is usually the outcome of a coarse planning procedure of the human operator in


combination with local decisions during the operation where the machine should be exactly
mounted.

Figure 3.6: Schematic view of the displacement plan for the excavation area containing multiple
mount positions, depicted by green circles with an rectangular entry area for the excavator,
displacement paths, and truck poses.

During the construction of that plan, the standing positions and possible drive paths of
the trucks have to be considered, too. Due to the fact that the real conditions on the
excavation site can never be completely anticipated before, the operator will always have
to add changes to the plan to achieve the overall goal. If the soil or weather conditions
should differ in a huge way from the expected ones, the whole plan will have to be changed,
or different machines might be needed.
In case the excavation depth to achieve is outside of the configuration space of the machine,
or the risk of ground breaking is too high, the displacement plan will also consist of multiple
surface layers and their mounting positions as depicted in figure 3.7.
In comparison to performing excavation, repositioning on the site only consumes time.
Safety requirements for construction machines require speed limits and careful driving.
Therefore, it is usually tried to optimize the travel paths concerning their length and
their number of travel cycles, to decrease the overall traveling time. Due to imprecise
measurements of the ground types and changing environment conditions, the initial
displacement plan will never be met in reality.

3.4 Landscaping Scenario


An excavator can be regarded as a strong amplifier for the capability of the human being to
move material from one position to another with its bare hands. Although those machines
are also used to transport heavy tools and working material on a construction site, the
focus of the research work at hand lies on the process of excavation of soil or gravel and of
a subsequent landscaping to achieve a desired surface shape.
48 3. Human Executed Landscaping Process

Figure 3.7: Multi-level displacement function plan for working in sequential excavation layers,
sorted along the time axis t.

In comparison to the task description of a driving transport vehicle, where the global goal
is to safely and efficiently reach a given destination, the clear definition of the desired
objectives for an excavator are multidimensional and therefore very complex.
After a description of the common excavation scenarios, the capabilities of a skilled human
operator are presented. An analysis of an excavation process is performed and it is divided
into meaningful subblocks. Afterwards, each of the identified subblocks and its basic
primitives for trajectory generation are described precisely. This provides the basis for
transferring expert knowledge into the developed decision system presented in chapter 4.

3.4.1 Common Excavation Scenarios


Tasks with a highly monotonous and repetitive work park should be automated to allow
the human operator focusing on highly specific ones only. In the following rather common
excavation scenarios for middle-sized hydraulic excavators will be described.
Figure 3.8a shows a rather standard mass excavation scenario. The main goal is to remove
the material within the large pile in front of the machine and load it into the nearby truck
as fast as possible.
The material is often rather loose and does not require specific loading techniques. In this
case, the bucket can deeply penetrate the material and can be directly filled by closing it.
Afterwards, it is lifted, turned towards the truck, and dumped there. If the truck is fully
loaded it is replaced by an empty one. The similarity of the relative machine positions
guarantees a highly frequent loading cycle and a large amount of tons per hour.
Both scenarios 3.8b and 3.8c show a rather common basement excavation scenario where
the digging depth is not too big and the risk of ground breaking is low. Depending on the
main driving direction of the trucks it is loaded from the side in a round-trip scenario or
from the back. In the latter case the required movements can be even further reduced as
the machine stands closer to the excavation position.
3.4. Landscaping Scenario 49

(a) Excavation and truck (b) Basement excavation with (c) Basement excavation with
loading on one level. side-wise truck loading. back-wise truck loading.

(d) Basement excavation scenario with (e) Basement excavation from within
alternate loading of multiple trucks. the pile loading a truck nearby.

Figure 3.8: Truck loading scenarios for hydraulic excavators [Bauer 92].

After one truck is fully loaded, it can be driven away, and another one drives to the same
position. Due to safety aspects, no excavation is performed until the new empty truck
has reached its position which produces some waiting times. In case of a very tight time
schedule, it is also possible to perform alternate truck loading as shown in figure 3.8d.
The longer loading times for the second truck are usually compensated as the machine
can constantly operate. In the basement excavation scenario depicted in figure 3.8e the
excavation depth is too big to be excavated from the outside. Otherwise, the sidewalls
might break. Therefore, the machine excavates from within the pit. Initially, it can perform
pure mass excavation when it is far away from the sidewalls. When the distance to the
desired shape is becoming smaller, more precise movements have to be performed.

In the previously presented scenarios mass excavation is performed most of the time.
Therefore, the excavated shape does not play an important role in comparison to the
achieved tons per hour. Only while approaching the borders of the excavation area, which
is an empty pile at zero height for pure mass excavation or the sidewalls for basement
excavation, overshooting is not desired. Usually there should be no additional obstacles in
the area to guarantee a maximum loading speed. A way more complex scenario regarding
the task chain is landscaping. Here the goal is to realize a precise surface shape. As
depicted in figure 3.9a this could be a slope with a specific angle or a rather arbitrary
shape as the one shown in figure 3.9b.

Although precision is rated way higher while creating a distinct surface shape, it is still
desired to fill the bucket as much as possible during each excavation cycle to reduce the
number of loading steps. Therefore, excavation trajectories have to be generated which
continuously fill the bucket along the desired shape, but do not lead to breaking the
boundaries.
50 3. Human Executed Landscaping Process

(a) (b)

Figure 3.9: Landscaping scenarios whereat a desired slope angle is created with an excavator
(a) and the goal is creation of a complex surface shape (b).

3.4.2 Skilled Machine Operator


To get an impression of the decision making process of an expert machine operator, it is
important to define how the working process looks like. Gathering this knowledge from
interviews is difficult as even an expert can not exactly describe the way of operating
and on which principles the decisions are based. Many of its decisions or movements are
intuitively and have been learned during long hours of machine control. Nevertheless, the
description of the human operator helps to analyze what needs to be transferred into the
developed system later.
In the following, the control capabilities of a skilled human operator are presented and possi-
bilities for transferring these to a technical system are mentioned. According to [Bernold 03],
an expert operator is characterized by the following skills.

Efficiency: The operator works goal directed and economically effective, as he or she
moves the excavator with a responsibly high speed. The excavator mount positions
and chosen digging positions are usually close to the dumping position and therefore
optimize the cycle time of the operation. The installed joysticks only allow for con-
trolling four joints very precisely. Additional DOFs, used for performing landscaping,
slow down the execution whereas fast movements would decrease the achievable
precision. In a technical system the number of DOFs, which can be controlled in
parallel, is required to be equal or higher compared to a human operator. Otherwise,
the execution of complex trajectories will not be possible.

Organization: The operator’s behaviors are integrated, organized and continuous. This
is achieved by previously planning the tasks. Communicating with co-workers on
the construction site optimizes the workflow for the interaction of multiple machines.
However, he or she only performs local planning for the excavation area around.
3.4. Landscaping Scenario 51

The organization of multiple machines solving one complex task together needs to be
performed by additional planners having an overview over the whole site. A technical
planning system needs to be able to locally solve the task problems and additionally
use global input for improvement of local decisions and deadlock avoidance.

Training: Most of the operator’s skills are gained by practice and training, like the
smooth control of an excavator arm with a minimum of four DOFs. This is a usually
lifelong learning process during normal operation on a construction site and not
a result of a dedicated training course. It can only deliver the basics of machine
operation. Therefore, the outcome of a skilled operator can differ tremendously in
comparison to a an unskilled one. As there is no standardized learning process, it is
hard to compare two operators who learned on different construction sites. Apart
from stored world knowledge about the process and the machine, a technical system
can adopt and learn parameters which optimize the output.

Smooth: The operator’s movements appear smooth and the tasks are fulfilled with ease,
which he or she achieves by applying lower forces on the bucket and less engine
power to move the arm. Based on the material type to handle, the excavation
trajectories are adapted to efficiently cut and loose the material. Also the required
movements are individually learned during the operation of a specific machine type.
Constantly caring about well performed movements puts a lot of stress onto the
operator, which leads to fast exhaustion over the course of time. The only solution
is to rest for a while or caring less about well performed trajectories which increases
energy consumption and leads to a lower productivity. Transferred to a technical
system this requires the generation of smooth and efficient trajectories.

Quality: The working results have a high quality in respect to the speed and the accuracy
of his or her work. Under good conditions a precision error of less then 5 cm can be
achieved. The acceptable global deviations concerning construction lengths and depth
gauges depend on the task to perform and the size of the construction area. Normed
deviations are defined in DIN 18202 for the construction of buildings [Frick 72].
Between 15 m and 30 m a length deviation of ±24 mm is allowed. Above 30 m
±24 mm is allowed. Concerning the same intervals for depth gauges, either ±20 mm
and ±30 mm are acceptable. By implicitly considering the workspace of the machine
and joint control speeds, specific boom elements are used for specific tasks to minimize
arm movements and avoid spilling of material during the operation. As an example,
the control precision of the bucket tip allows for a accuracy during high trench
excavation. In contrast to this, the high breakaway torques of the boom joint are
used to drag the filled bucket out of the material. This skill requires permanent
operator attention and exhausts him or her over the course of time. A technical
system contains a lot of sources for uncertainty which lower the quality. Therefore,
appropriate sensor and control hardware needs to be chosen which allows for executing
the task with a quality comparable to a human operator.

Safety: The operator is acting safely in regards to himself or herself, the excavator and
the environment. This is achieved by balancing the excavator and avoiding high
forces and collisions.
52 3. Human Executed Landscaping Process

One large information source for this is previously acquired world knowledge about
the dynamics of the machine, the material to handle, other machines on the site,
and the behavior of human beings. Additionally, he or she continuously perceives
the environment via all human senses and keeps communicating with co-workers.
During long working periods, the power of concentration will decrease and possibly
lead to missing events in the area around the machine. A lot of serious accidents
happen because the operator misinterprets gathered information or due to careless
behavior. Although exhaustion is not a problem within a technical system, the used
sensor systems and detection algorithms used for safety may also fail based on their
detection principle under specific circumstances. An appropriate combination of
different measurement principles and algorithms needs to be chosen to guarantee a
high level of safety.

Prediction: Several consequences of his or her actions can be anticipated before they
occur or can be handled immediately, as the operator can predict movements of
the soil and adapt to changes. This also refers to his huge amount of previously
gathered knowledge about the process and all involved parties. In case the operator
overestimates his or her prediction capabilities, especially when destroying buildings,
excavating close to deep slopes, or other tasks involving highly dynamic material,
serious accidents can occur in which machines or buildings get damaged or humans
get killed. To perform similar predictions within a technical system mathematical
models of the physical processes are required. These need to be fitted with adequate
data to be capable of delivering meaningful results.

The human operator gathers knowledge about his environment with a large number of
additional body sensors. With his eyes he or she has a good color-based three-dimensional
perception of the environment and can deal with appearing problems like dust or bad
weather conditions. Additionally, the operator can quickly focus on new regions of interest
and therefore have a permanent overview. Furthermore, he or she hears the sound of
the engine and senses machine vibrations to estimate the currently acting forces on the
excavator. His good visual perception allows the operator to determine the current bucket
fillage during the process. Based on this knowledge, the operator can interrupt or continue
the excavation process to achieve a fully loaded bucket. In the latter case, the movement
towards the dumping position will also be slower, to prevent spilling of material during
transport. By perceiving motions of the excavator via his equilibrium sense, the operator
also knows about the actual state of balance and stability of the vehicle and can estimate
which forces the bucket can apply without bringing the machine out of balance.
The different forms of perception and his or her skills help the operator to deal with several
occurring challenges. For example, he or she has to adapt the movements of the bucket to
different types of soil. Furthermore, the soil has different values of adhesion and cohesion,
which are additionally influenced by the soil’s moisture. Moreover, the type of soil is not
constant along the way and its properties are changing. There might also be obstacles
like roots or rocks in the ground which require an appropriate handling by the operator.
Under those circumstances, the he has to decide for each case which is the best way to
deal with it. Especially when obstacles are on the boundaries of a trench, it has to be
gauged how to deal with them without having a big violation of the trench boundaries.
3.4. Landscaping Scenario 53

The previously mentioned abilities require a very complex trained world model of the
process dynamics and machine behavior. Therefore, working with excavation machines
can not be learned within a short integrated training course, but usually happens over
time while working with the machine. Furthermore, the operator has the capability to
create a precise local site model, by identifying possible obstacles or disturbance sources
on the site, even before entering the machine. Today’s construction sites often contain a
huge range of different machines which are required to interact with each other during
the task. He knows how to cooperate safely with other site systems and humans that are
nearby, by anticipating their behaviors or standing in visual contact with them.
As previously mentioned, the behavior of an expert operator is based on training. Therefore,
it is important to find out in which areas his behavior differs from that of a beginner.
Primarily, it is obvious that the higher amount of experience gives the expert a better skill
of anticipation. Further researches [Bernold 03] have shown that also the force pattern is
different.
As can be seen in figure 3.10a, the movements of a beginner are not as smooth and the force
pattern during the digging cycle is less consistent than the one of an expert. Additional
tests show that the path produced by an expert is almost fitting a cubic polynomial
function which is presented in figure 3.10b. The recorded data is measured by three
joint encoders producing some noise in the dimension of ±10 cm around the real position.
Furthermore, the unskilled operator follows the path not as good as the expert does. Both
test results differ mainly for the two operator types because the unskilled one is unable to
synchronously use multiple joints required to perform this operation.
Although the skilled human operator can achieve a high precision, speed, safety, and
productivity in the general case, this does not last over the whole workday. If the task
requires high concentration, it will be very energy consuming for the driver, create a high
stress level, and will therefore exhaust the driver. This will then lead to slower movements
and a lower productivity. Should the operation be very monotonous, the driver will get
bored from doing the same movements over and over again and will usually get sloppy
over the course of time which influences the machine safety negatively. Furthermore, the
precision of the work will decrease.
In comparison to the human operator, the quality of a technical system will only depend on
the correct handling of occurring problems and not on the operation period. An analysis of
problem classes including their influence on the machine will guarantee an ideal availability
of almost 24 hours per day. The local excavation process is described in the following.

3.4.3 Local Excavation Cycle


From a very abstract point of view, in which the excavator and the truck act as machines
for material handling, each machine performs the four phases loading, transport, delivery,
and moving [Günthner 09] as shown in figure 3.11. For the excavator, loading describes the
excavation operation which removes material from the loading volume. The main difference
between the transport and the moving phase is that the transport vessel (bucket or truck
bed) is filled during the first one and empty during the last one. Delivery either dumps
the material into the truck bed or unloads it at the depository. Although no concrete
machine operations are mentioned, it can be seen that the process repeats cyclically.
54 3. Human Executed Landscaping Process

(a)

(b)

Figure 3.10: Comparison of excavation force of a skilled and a poorly skilled machine operator
during trench excavation (a). The recorded excavation path of an expert approximately fits a
cubic polynomial (b) [Bernold 03].

Furthermore, the overall execution time depends on the duration of each cycle segment and
on the capability of the truck to still load material when the excavator is in the delivery
phase. In case of any waiting times due to an empty pile or a full truckbed, the whole
operation time is extended.
A more precise and excavator related description of the chronological steps of one excavation
cycle, mentioned in [Rowe 99], is depicted in figure 3.12. The pictures show that the
boom is raised and the bucket is curled (see figure 3.12b) after digging is performed (see
figure 3.12a). Afterwards, the excavator arm swings (see figure 3.12c) and the bucket is
positioned over the truck by moving the stick (see figure 3.12d).
3.4. Landscaping Scenario 55

Figure 3.11: Abstract cooperation between the excavator and the transport truck during the
material handling task on the excavation site [Günthner 09] (redrawn).

The dumping movement is executed by opening the bucket (see figure 3.12e) and moving
the stick (see figure 3.12f). After the bucket is emptied, the arm swings back to the
digging position (see figure 3.12g). Thereafter, the stick (see figure 3.12h) and bucket
(see figure 3.12i) are moved to the desired angles to perform the next digging operation.
Finally, the boom is lowered (see figure 3.12j) and the digging operation is started again
(see figure 3.12k).
Usually, the whole operation starts with mass excavation for keeping the productivity
level high, as a lot of material has to be removed from the local excavation area. In case
the amount of material left and the desired shape almost match, the surface shaping
process starts. It is characterized by slower but more precise movements and less material
transport.
After each bucket filling, the nearby truck needs to be loaded safely. When the local
surface shape almost equals the desired shape, the machine is unmounted and driven to
the next excavation area to restart the excavation cycle there. Since the human operator
permanently updates his or her environment information during execution and is capable
of performing multiple joint movements per time, the excavation cycle can also be divided
into six parts which are depicted in figure 3.13 and presented in [Bauer 07].
They usually have different execution times t1 till t6 and may partially overlap at times o1
till o3 , adding up to the complete cycle time tC . In the following the phases are briefly
described.

Swing back turns the whole boom towards the excavation area as fast as possible via
the torso joint. The bucket is usually empty during this operation which allows for
roughly putting the bucket joint into a penetration position. Due to a relatively
high speed but bad viewing conditions for the operator, the machine can easily hit
objects if the height is not well adjusted.
56 3. Human Executed Landscaping Process

(a) Digging is complete. (b) Raise boom and curl (c) Swing to the truck.
bucket to capture the soil.

(d) Move stick to dump posi- (e) Open bucket. (f ) Move stick to dump posi-
tion 1. tion 2.

(g) Swing to dig face. (h) Move stick to desired dig (i) Move bucket to the de-
angle. sired dig angle.

(j) Lower boom. (k) Resume digging.

Figure 3.12: Chronological steps of the excavation including the truck loading cycle in pic-
tures [Rowe 99].

Lowering moves the bucket closer to the surface where the next excavation should take
place. In the meanwhile, the bucket is already brought into a precise vertical
penetration position for efficiently entering the material. Depending on the soil
conditions or excavation progress, this phase can be used to collect kinetic energy
for the penetration process in hard material.
3.4. Landscaping Scenario 57

Swing back t1
Lowering t2
Filling t3

Lifting t4
Swinging t5
Dumping t6

o1 o2 o3
tC

Figure 3.13: The six elements of a digging cycle swing back, lowering, filling, lifting, swinging,
and dumping, their execution times t1 till t6 , the full cycle time tC , and the three overlapping
times o1 till o3 taken and translated [Bauer 07] (redrawn).

Filling performs the excavation operation to gather the material inside the bucket. Dif-
ferent strategies with different dynamics, reaching from surface scraping for hard
material to deep penetration for soft soils, are used to reach the maximum filling
volume. While the filling volume mostly counts during early excavation cycles, a
specific trajectory will be more important during the landscaping phase. A more
precise analysis is given in section 3.4.3.

Lifting is needed to safely drag the filled bucket out of the material, close it, and move
it above the dumping truck height. A small bucket shaking operation may be used
to drop loose material on top of the bucket, in order to avoid losing it during the
swinging phase on the way towards the dumping position.

Swinging moves the torso joint as fast as possible towards the truck or the desired
dumping position. Safety and the material dynamics set the boundaries for the
movement as nothing should be hit or spilled. Parts of the motion are used to unload
the material in a broader angular region inside the truck, instead of dumping it at
one specific position.

Dumping empties the bucket above the truck bed or the dumping area. Depending
on the material properties, a strategy is used to either completely load the truck
or create the desired dump shape. In case of larger rocks within the material, a
maximum dump height should not be excessed as the truck bed could be damaged
otherwise.

One reason for dividing the swing back and lowering, and lifting and swinging parts, can
be found in the human joystick control axes within the cockpit. Whereas during the two
swinging phases only the torso joint is used, the lifting and lowering phases utilize the
boom, stick, and bucket joint.
58 3. Human Executed Landscaping Process

Digging and Bucket Filling

In the following, the steps of a single digging or bucket filling operation are determined.
Research works analyzing the operator’s movements like [Seward 96b] construct a state-
chart of this cycle. Initially, the bucket is positioned above the digging point, then lowered
until it is in contact with the ground, and finally the penetration starts. Depending on
the depth of penetration, a dragging phase needs to be executed, too. After the bucket is
filled, it is rotated to capture the soil. Subsequently, it is raised and moved to the dumping
position where the bucket is rotated to empty the bucket. It sometimes happens that some
material remains inside the bucket. Therefore, an additional phase completely empties the
bucket by shaking it briefly.
The statecharts of different research works trying to automate the execration process
mostly differ in two elements because they divide the process in a different way.
On the one hand, the specific tasks like digging are more or less subdivided into multiple
tasks which depends on the planning and controlling systems that were used within the
related projects. Therefore, some tasks like dragging and rotating are done successively or
simultaneously. If they are performed simultaneously, they can be merged into one task.
On the other hand, some charts only capture the physical states of the machine, whereas
some also mention the internal processing states like decision making.
In the following, the digging operation is discussed in more detail to figure out how this
task can be subdivided and represented in the best way. After describing this process, it
should be possible to determine good trajectories for the digging process. A path recorded
during operation of a skilled operator is presented in figure 3.10a. It can be fitted to a
cubic polynomial function shown in figure 3.10b, which changes for different types of soil.
This is approximately shown in figure 3.14 for soft and hard ground.
Digging in softer soil or granular material is realized by a fast and deep penetration whereat
the bucket is directly filled at the penetration position 3.14a. The harder the material
becomes, the flatter and longer becomes the penetration trajectory while using a smaller
angle of attack 3.14b.

(a) (b)

Figure 3.14: Excavation trajectories for soft (a) and hard soil (b) [Lee 08].

Figure 3.15 shows a series of digging trajectories of an expert operator [Shao 08], to create
a trapezoid trench with a slope angle of 45°, a depth of 1 m, and a bottom length of 2 m.
3.4. Landscaping Scenario 59

Figure 3.15: Series of digging trajectories of an expert operator to create a trapezoid trench
with a slope angle of 45°, a depth of 1 m, and a bottom length of 2 m excavated from 7 m to 3 m
in front of the machine [Shao 08]. The GL is around −1 m concerning the internal excavator
coordinate system.

As the internal coordinate system of the ground plane lies at the height of the boom
joint, the ground level (GL) is lying around −1 m. The operator starts to penetrate the
soil at a relatively constant angle (6.8 m till 5.5 m), then starts to drag horizontally for
approximately 2 m (5.5 m till 3.5 m), and straightly lifts the bucket at approximately 3.5 m.
Although there might be some pressure on the soil by the swinging movement of the
bucket, the relatively low velocities only slightly affect the process of capturing the soil.
In case it is required to prevent the material from moving, the opening of the bucket
needs to be orientated perpendicular to the sum of the gravitational and centrifugal force
vectors acting on the soil inside the bucket. The diagram only shows the position of the
bucket. Therefore, it can not be seen that the orientation of the bucket changes, when
the dragging phase is over, in order to fill the bucket. After finishing this last scooping
operation, the soil is captured when the bucket has been rotated into a horizontal opening
position. Afterwards, the dumping operation is performed next to the machine via turning
the superstructure out of the x-z plane up to approximately 90°. This results in creating a
pile at around 0 m.
Regarding the trajectory, it can also be seen in figure 3.15 that the distance of the bucket
increases while lifting the bucket. This movement is performed by the operator in order
to have a better distribution of the soil inside the bucket. After scooping, the soil is
normally close to the tip of the bucket. The possibility of loosing this material is very
high during swinging. Therefore, it is equally distributed by a fast forward and backward
bucket movement while lifting. Another important fact is that the first digging cycles
have a longer penetration and a short dragging length, whereas the later digging cycles
have a much longer dragging length, and afterwards they are lifted straight without any
shaking. Therefore, it can be assumed that a longer dragging operation leads to a better
distribution of material in the bucket.
60 3. Human Executed Landscaping Process

Although most of the trajectories look similar, they do not run exactly linear but include
some roughness of approximately ±10 cm. Especially the first excavation trajectories with
a lower excavation depth deviate stronger from an ideal line shape. Precision seems not to
play an important role until the desired depth is almost reached. During the last phase,
when the trench is almost excavated, multiple trajectories have a similar shape. Although
the trench could be excavated, the overall depth is larger then 1 m and some trajectories
around the x value of 3.6 m went below the desired ground plane height.

At the beginning, the operator performs long penetrations closer to the machine in order
to create a hole there. The intention behind is to reduce the resistant forces of the soil
during the following digging cycles. It is also possible that the operator initially prepares
the soil by doing some incomplete digs. For example, he or she only breaks out some soil
off a wall or a slope, which makes it possible that the released soil can be excavated more
easily. This ability requires a very high frequent and precise environment perception in
combination with a complex world model. A similar method is used when the human
operator should dig a precise footing which is presented in [Singh 95]. Figure 3.16 shows
this operation.

Figure 3.16: Series of trajectories to excavate a footing with vertical walls [Singh 95]

The left vertical sidewall of the footing can only be achieved by penetrating vertically
there, while the one at the end of the footing evolves from scooping with an increasing
radius during subsequent cycles.

It is important why the scooping radius is constantly increased during the operation. A
first explanation is that it is faster to combine the rotation with dragging and lifting
instead of successively performing the operations. Another reason is that a smooth lifting
and rotating reduces the forces on the bucket as well as the forces on the wall of the footing.
Therefore, the side walls might get less damaged and a smoother surface is achieved.
Overall, it is useful to limit the pressure on the ending wall to prevent the soil within the
wall to fail and fall down.

A deeper analysis of the force factors performed in appendix A.1 helps to understand the
requirements for the creation of a better trajectory.
3.4. Landscaping Scenario 61

Swinging Forth and Back


The main goal of the two swinging phases is to safely move the empty or filled bucket
towards a desired pose. This is either the dumping area above the truck bed or the
dump pile, or a position above the surface of the excavation area. The time needed for
both swinging operations should be as small as possible, while guaranteeing collision-free
movements.
During approaching the dumping pose with the previously filled bucket, a second goal is
to perform the operation without loosing any material. Therefore, the bucket tip needs to
stay almost vertical under all circumstances until the dump position is almost reached.
Additionally, no jerky movements including sudden stops should be performed while
transporting the material. To reduce the probability of loosing material, usually a short
shaking operation towards the machine center is performed after excavation, to move the
material towards the center of the bucket. In case the truck bed sidewall position is higher
then the excavation height, the operation starts with a fast vertical bucket movement to
be able to safely swing over the truck bed.
When the height is reached, the swing operation can be executed very fast by simply
turning the torso joint towards the truck. If there are no obstacles in the operation space,
the swing back operation can also start with a very fast turning of the torso joint towards
the excavation position. Once the truck bed area is left, the height of the bucket can also
be decreased quite quickly. During this operation, the desired bucket angle of attack will
also be adjusted to continuously shift towards the subsequent digging operation.
In most of the mass excavation scenarios, there are no dynamic obstacles blocking the space
between the excavation area and the dump truck during the operation. If the operation
is executed close to buildings, bridges, fences, trees, or other objects that should not be
touched, the operator will usually analyze the work space limitations before starting to
work. Considering these existing static objects guarantees an accident-free but still fast
execution of the whole task.

Dumping
The next important point of the excavation cycle is the dumping operation which will be
described in the following. A rather simple operation is the dumping onto a pile as the
material below can not be damaged during that operation. Instead of dumping at one
specific point, a partially opened bucket while swinging can be used to produce wider dump
piles. As the configuration space restricts the maximum dumping height, this operation
can usually not last long if the pile is not automatically removed. To keep a constant
material flow, the most common dumping destinations are trucks which will be constantly
filled. As they should not be damaged during the operation, a specific dumping height
window should be kept above the truck bed. This depends on the truck bed height of
the specific model and material properties. A bucket filled with hard material containing
larger rocks could for example damage the truck bed if it is emptied from a position which
is too high.
The excavator starts to raise the boom after digging to be able to safely swing over all
obstacles above the truck. When the swinging task has reached the desired angle and the
truck is in front of the excavator, the stick angle is adjusted until the bucket is positioned
above the dumping point.
62 3. Human Executed Landscaping Process

Then the bucket is opened and the soil is allowed to fall down. The stick is moved towards
the excavator, so the tip of the bucket keeps the same distance value while the bucket is
rotated to open. Thereby, the soil will be dropped at the previously determined dumping
point. Alternatively, it is possible to move the stick a bit faster while opening the bucket
a little bit less to distribute the soil over a larger area instead of over a single point as
shown in figure 3.17.

(a) Bucket spill angle spillθbk (b) Bucket dump angle dumpθbk

Figure 3.17: Bucket angle parameters for the spilling spillθbk (a) and dumping dumpθbk (b)
at a distinct point [Rowe 99].

It is assumed that the bucket is empty after being was opened to a certain angle. Sometimes
it is explicitly driven to its mechanical end stop and the sudden stop is used to definitely
empty the bucket in case of adhesive material. This description of the whole excavation
and landscaping operation cycle allows for the creation of a decision system for undisturbed
autonomous excavation.
Important issues which have not yet been considered, are possible limitations and problems
that occur during the operation and they might arise when transferring the previously
gathered knowledge into a technical system that operates in the real world. Only the
incorporation of the operation constraint classes, described in the following, allow the
creation of a safe system which correctly interacts with its environment, presented in
chapter 4.

3.5 Operation Constraints


Apart from the correct execution of previously described tasks under normal conditions,
the possibly occurring problems and disturbances, which constrain the operation, play an
important role. In order to accomplish the excavation task successfully, the operator has
to be able to handle these constraints. Due to the complexity of the real task, a precise
description of all possibly occurring problems is beyond the scope of this thesis. But a
clear definition of constraint classes in combination with a sound experimental validation,
showing that the machine is able to handle problems at the edge of those classes, leads to a
high probability that also the less complex ones can be solved adequately, too. Tests within
the simulation environment and with the real machine will be presented in chapter 6.
3.5. Operation Constraints 63

Most of the occurring machine accidents evolve from a wrong rating of the current situation,
carelessness due to monotonous work conditions, or a mis-control of the machine. Even
if the operation can be continued, there are a lot of factors which influence the outcome
of the work in a negative way. Based on related work about excavation, interviews with
skilled operators, and lessons learned from the development of the excavator test platform,
the occurring work constraints for the excavator operation have been separated into the
three classes spatial, uncertainty, and quality as depicted in figure 3.18.

Figure 3.18: Visualization of the three operation constraint classes spatial, uncertainty, and
quality for the landscaping operation and their related influence factors.

In the following, each of these constraint classes are presented and their influence on the
task execution is discussed.

3.5.1 Spatial
The development of a desired surface model, which defines the task goals, is part of
the planning phase of each landscaping operation. It includes parameters like desired
slope angles, digging depths, and dynamic requirements in combination with determined
soil properties. The latter ones allow for choosing an appropriate excavation machine
which fulfills these concerning kinematics and dynamics. As the whole operation can
be divided into the displacement and excavation phase, their related properties can be
handled independently.
64 3. Human Executed Landscaping Process

Concerning boom or superstructure kinematics, the question rises if every required bucket
pose can be achieved. Here the operator can usually estimate if this is the case. To safely
use the displacement function, the drive kinematics of the machine need to be evaluated.
There are usually two standard undercarriage types used for excavators. Tracks are often
found on heavier excavators which perform mass excavation or demolition tasks and need
a safe stand. Their differential-drive kinematics have no constraints concerning steering
angles. This differs for the lighter wheel-driven machines which usually implement the
Ackermann steering mechanism. It defines minimum radii for turning which will become
important on narrow passages. Driving maneuvers might help to overcome local deadlock
problems. As a ranking can only be performed quite slowly, the traveling times might
increase tremendously in this case. Therefore, appropriate machines should be chosen for
the task.
Once the correct machine is chosen, spatial constraints arise because it must not hit itself
or other objects in its environment. The free space are the poses, the bucket tip can reach,
minus the excavator elements and obstacles around. Those objects can either be static ones,
which will remain fixed and do not move by themselves during the operation, or dynamic
ones, that may change their position or completely disappear. Static elements are buildings,
pipes, wires, routes of transport, material heaps, and all types of building site equipment
like fences, markers, or barriers. Additionally, boundary conditions like maximum depths
or slope angles should not be exceeded. In case the time of the machine to react on changes
remains quite large, conservative safety distances have to be kept. This artificially increases
the shapes of the detected objects to prevent the machine from collisions, but additionally
reduces the workspace. Due to their size, other construction machines like trucks, haulers,
caterpillars, or wheel loaders can be detected quite easily. In comparison, the identification
of small moving human beings on the site is more difficult. Concerning obstacles in the
ground like boulders, roots, or rocks, only an indirect detection via slower movements is
possible. For non-construction related projects, the ground material is be considered as
a static object which is mainly used as a surface for safe traveling. As the main goal at
hand is to specifically work with the material by loosening, transporting, and dumping or
assembling it, the position and shape will change permanently. Due to the soil mechanics
presented in appendix A.1, the changes will not only happen instantaneously when the
machine interacts with the material, but work as a continuous process which creates a
material flow, ground breaking, or sinking of the machine. The preliminary decisions on
which machines are to choose are part of the planning phase of every construction site and
can therefore not be handled within this thesis.
If the current state of the machine itself and the objects around were known, the modeled
spatial constraints would allow the operator to always perform perfect movements with the
machine. The fact, that this state can not be determined exactly in reality, leads towards
the uncertainty constraint which will be described in the following.

3.5.2 Uncertainty
This constraint focuses on the imprecise knowledge about the current state of the world
inside the system and its impacts on spatial and the quality constraint. It mainly evolves
from the fact that every sensor system only delivers its information with a specific precision
or within an interval around the real value to measure.
3.5. Operation Constraints 65

Additionally, each technical system only operates inside a specific range or space and is
completely blind outside. This leads to an inherent error inside the system about the inner
state and the surrounding world.
An initial source for uncertainty arises from the preliminary tasks of each construction
work operation, which is related to gathering as much knowledge about the environment
and performing initial works to prepare the construction site. As already mentioned in
section 3.2, there are usually test drillings to evaluate the ground types of the soil. It is
too expensive for larger construction sites to do a huge amount of tests. Therefore, the
gathered data is often very imprecise. In case the ground material is harder to excavate,
it usually takes longer then expected beforehand. Especially large rocks, leftovers from
old groundings, or other heavy objects in the ground could lead to a serious extension of
the working time. It is also possible that planned slope angles or trench excavation works
can not be performed if the material is too soft. If the material is not evaluated correctly,
the wrong machines, tools, and scheduling times might have been chosen. The scheduling
problems arise from a wrong estimation of machine cycle times and mass movement per
hour. The relation between one excavator and the number of trucks for material transport
should be balanced. If there are not enough trucks to be loaded, the excavator will have
to wait for an empty truck. The other way around, there might be multiple trucks waiting
to be loaded, but the excavator can only load one truck per time frame.
Another source for uncertainty relates to problems of the work that can not be measured
directly, but may have an important influence as no appropriate sensor system exists.
During operation, these elements will usually lead to a higher deviation of desired and
currently measured control values. Reasons could be found within the machine like an oil
temperature, which is too low at the beginning of work, or a bad closed-loop control of
the hydraulics system. A lot of problems will arise from other environmental parameters
than those mentioned before. Weather, including temperature may change, the ground
could contain a layer of unexpected stiffness or a lot of rocks and boulders.
For this problem class, a more complex world model is needed to correctly guess the
source for the measured errors. In case modeling the inherent physical problem is very
difficult, learning methods may be used to create adequate observers. Additional sensors
for measuring joint properties like lengths, angles, velocities, forces, or pressures have
maximum error bounds which are not broken if the sensor is fully functional and operating
within its specification interval. Therefore, the internal machine state can usually only be
evaluated and presented to the human operator within a specific error range concerning
time and precision. An estimation of the uncertainty of each measured value is needed to
make assumptions about the current state of the excavation.
To be able to decide if the operation is finished, the error of the surface measurement
sensor system needs to be lower then the overall desired precision. In case the movements
are executed too slow because otherwise the sensor systems would not deliver adequate
data, the operation might be safe but the quality of the work will decrease.
In case the spatial uncertainty of the system can be precisely computed, it can also be
considered inside the algorithms of the system. This is usually the case for the expectable
precision of the internal sensor systems. As previously presented in this chapter, the
landscaping task is tremendously affected by a huge number of imprecise data evolving
from external influences like the material properties or the current weather conditions.
66 3. Human Executed Landscaping Process

Therefore, another approach can be chosen which implicitly incorporates the uncertainty:
discretizing the input data based on the estimated precision. Via inserting it into grid-
based data storages, the uncertainty is implicitly modeled within the grid cell dimensions.
The algorithms operating on this data can then take their decisions without considering
individual uncertainty levels. The constraints concerning quality will be described in the
following.

3.5.3 Quality
The previous constraints helped in determining if a task is executable at all, even concerning
imprecise knowledge. Now influence factors on the quality of the operation are developed.
Depending on the global task, quality measurements will shift between tons per hour in
mass excavation and achieved precision during landscaping operations.
As already mentioned in section 3.5.2, the uncertainty within the system has a large
influence on the quality of the work as safety has to be guaranteed. Due to the huge
masses, machine dynamics, inertia, arising forces, and torques require a complex closed-
loop control strategy. Excavators are hydraulically actuated and might therefore also run
into power limitations, have slow or delayed dynamic response times, and an actuator
coupling of different DOFs as the hydraulics system is self-contained and interconnected.
Nevertheless, the control precision decreases with the executed joint velocities while the
time for completely stopping movements increases.
If the machine is not well fixed on its outriggers while at the same time, its bucket
contains a lot of material, and the arm is almost extended, tipping over while stopping
suddenly or turning towards the side is possible. Another result is that huge forces will
be transferred into the ground below the machine. In the best case the machine will just
change its position on the ground. In the worst case the transferred forces might lead to
groundbreaking if the machine is standing too close to a slope or a trench. Only smoother
and slower movements can overcome these problems but lead to a degradation of the work
quality.
The coupled hydraulic actuation, as well as very large dynamic payloads, make it difficult to
derive analytical models of the excavator and its interaction with the ground material. This
is problematic for optimal motion planning algorithms, which require accurate dynamic
models of the robot. While soft material might be excavated very easily, it is impossible to
be reused for the creation of strong basement structures while assembling. On the other
hand, hard material will be difficult to excavate, as slow surface scraping techniques have
to be used instead of bucket filling by digging deep. Otherwise, the necessary ground
breaking torques might be too high. Additionally, the required excavation trajectories can
not be kept in hard material which extends the number of execution cycles.
Furthermore, the weather has a large influence on the soil properties concerning required
forces and assembly capabilities. The occurring problems can be reduced by the execution
of appropriate excavation trajectories.
A technical system, which can handle these factors, requires intense knowledge about the
physical world. Mathematical models describe the behavior of physical elements and can
be used to predict their behavior in the future. Nevertheless, these models require well
fitted data and usually involve a high computational effort.
3.6. Key Elements of Landscaping 67

3.6 Key Elements of Landscaping


Up to now the way the complex earth-moving task is usually executed by the human
operator has been examined. After analyzing the different parts of the operation, reasons
for the operator’s decisions and their influencing factors were presented. Main reason for
this approach is the identification of important elements in the operation, in order to be
able to transfer the gathered knowledge into an autonomous excavation system. In the
following, these key elements are defined as seven statements about the landscaping task.
The four global phases of the task are gathering environment information, displacement,
excavation, and finishing. After gathering comprehensive global knowledge about the
excavation site, the landscaping operation cyclically switches between a displacement and
an excavation phase, until the current surface shape almost equals the desired one and no
material can be excavated anymore. This description leads to statement 1.
Excavation Statement 1 (Global Excavation Cycle) During earth-moving the
displacement and excavation phases are constantly executed. Permanent collection of
environmental information is used in parallel to determine the current state of the
world and to decide when the finishing phase should be entered.

In the following, the four phases are gradually analyzed. Preliminary works concerning
information gathering about existing soil types in the environment, as well as weather
and machine type influences are described first. Good knowledge about the existing
ground types and possible objects is needed to precisely plan the excavation operation. It
influences which machines and tools have to be used to optimally perform the operation.
Material properties like cohesiveness or density have a large influence on the removability.
Weather has a large influence on the material properties and working conditions. Whereas
good weather might allow for long work periods, bad weather can lead to a complete
shutdown.
If the chosen machines are too small, too many loading cycles will be required, excavation
depths can not be reached, or ground-breaking forces are too low. Heavy machines can not
operate close enough to slopes or produce a too large compaction force on the ground. Over
the course of time the skilled operator has learned a lot of implicit process knowledge about
machine kinematics and dynamics, material characteristics, and applicable excavation
strategies which define his or her model of the world on the construction site.
For modeling the machine capabilities within a technical system, the Denavit-Hartenberg
notation, presented in [Hartenberg 55], is usually used for defining the forward kinematics
of the machine. This allows for determining the pose of the TCP for a given angular joint
configuration.
The direct kinematics for the excavator at hand are presented in appendix A.3. More
important is the inverse information, i.e. if there exists a joint configuration which sets the
TCP to the desired pose. This inverse kinematic problem is solved to deliver an answer
to that question and can also be utilized to determine the space of all possible limited
joint configurations, called configuration space (CSpace) [LaValle 06]. Based on this, the
workspace, which is the space of all reachable poses of the TCP, can be determined.
By setting up a dynamic model of the machine and its elements, the behavior of desired free
movements can be anticipated before the execution. The previous insights are concluded
in statement 2.
68 3. Human Executed Landscaping Process

Excavation Statement 2 (World Model) The system requires knowledge about


objects in the environment and inner machine properties concerning kinematic and
dynamic behavior models, defining its model of the world.

With complex human senses like color-based distance perception or spatial hearing, the
operator is able to quickly adapt to changing circumstances surrounding the machine. This
is permanently happening as soil properties and environmental conditions are usually not
constant during the operation. In case these senses should be transferred into a technical
system no single sensor will be capable of gathering enough data. Additionally, every sensor
delivers its measured value only with a specific precision depending on the circumstances.
Based on the used sensor principles, they will not deliver useful data under bad light
conditions, for uniform similar-colored objects, dusty environments, or while the machine
vibrates due to high shutter times. The update times of different sensor systems often play
an important role to get a consistent snapshot. Only multidimensional environment sensors
incorporating different measurement principles like color-based stereo-camera systems,
laser range finders, or time of flight (TOF) cameras with different blind spots facilitate
the development of a robust system, and could replace the human perception. Often, the
decision, whether this data is acceptable, cannot be made from the data itself. In a second
step, world knowledge modeling physical properties and heuristic filters have to be used
to detect and to remove outliers. Should the detected number of incorrect measurements
increase, the trust into the sensor measurement fades. In this case, the execution speed
needs to be reduced to allow for driving around or at least stopping in front of newly
detected obstacles in time. Statement 3 concludes these ideas concerning adaptivity.

Excavation Statement 3 (Adaptivity) Complex multidimensional environment


perception is required to adapt to changes in the highly dynamic environment of
the machine. Only a combination of different physical measurement principles will
guarantee a robust system.

A precise description of the desired state concerning local and global construction site
excavation follows. To plan the excavation operation, three-dimensional surface models
are required. They also store additional information about building site facilities, travel
paths, and areas which should not be influenced or traversed at all. The complete plan of
the construction site is a collection of three-dimensional surface plans. Due to the time
axis as an additional dimension, it is usually named the four-dimensional construction site
plan as presented in section 3.2.2. In case this data about the states of the environment
should be transferred into a technical system, adequate data structures need to be chosen
for efficiently storing and evaluating the data, which is concluded in statement 4.

Excavation Statement 4 (Current Excavation State) It is required to perma-


nently store and update the current, intermediate, and desired environment states
including static and dynamic object properties like shape, velocity, or detection uncer-
tainty. To be used for larger construction sites, efficiency concerning data size and
request delays should be considered while choosing a data storage.
3.6. Key Elements of Landscaping 69

After this, the requirements of the inner site displacement are depicted. If the current
area was already shaped by the excavator, the next standing position is planned. The
machine is moved there via traversable ground or inner site paths. As the travel speeds are
quite low, the shortest travel path should be chosen. In case the machine knows its precise
pose and those of all objects on the site at one point in time, either because they were
already delivered as input information or detected during a scan of the environment, it
would be possible to use standard deliberative trajectory planning methods like potential
fields [Koren 91], probabilistic roadmaps (PRMs) [Kavraki 96], or RRTs [LaValle 98].
Apart from their individual disadvantages like tendencies to get stuck in local minima or
operating in mostly static environments, these would allow for creating optimal trajectories
which consider specific cost criteria like time consumption, maximum velocities, or energy
efficiency. Statement 5 concludes these results.

Excavation Statement 5 (Displacement) First a new mounting pose needs to be


determined. Following that, a path planner utilizing global knowledge about the site
should plan a safe and optimal displacement path towards this pose.

By precisely analyzing the locally executed excavation and discussing common scenarios,
important sub-steps could be presented that are similar within each excavation cycle like
loading, transporting, dumping, and swinging back. In the mass excavation scenario the
amount of tons per hour is more important than the executed trajectory or the achieved
precision. Goal of the applied bucket filling strategies is a maximum amount of material
inside the bucket during a minimum filling period.
The landscaping scenario focuses on generating a specific surface shape. It is usually
performed at the end of the excavation process when the amount of material left is low.
The chosen digging strategy differs between deep and rather imprecise bucket filling in soft
soils and flat penetration strategies for surface scraping with specific angles in landscaping
operations. Appropriate attacking angles are used to avoid ground breaking while being in
the final phases of excavating trenches or footings with a specific shape.
The two swinging phases are either used to transport the filled bucket towards the dumping
position without losing material or to move it as fast as possible towards the next excavation
area without hitting any obstacles. Possible dumping areas are piles and trucks nearby.
In most cases a truck should be loaded with material. It has to be safely and efficiently
dumped onto a good position inside the truckbed. To achieve a uniform filling the bucket
is sometimes opened while moving over the truck. Statement 6 concludes the previously
presented results.

Excavation Statement 6 (Local Excavation Cycle) The excavation cycle con-


sists of the four elements loading, transporting, dumping, and swinging back. During
the excavation phase different strategies should be applied depending on soil properties
to either completely fill the bucket or not cross the desired surface borders.

After generally describing the whole task, an analysis of possible work constraints is
performed. This is required to design an autonomous system which solves the excavation
task, even under possible disturbances.
70 3. Human Executed Landscaping Process

The constraints are sorted into the three partially interconnected classes spatial, uncertainty,
and quality. Spatial constraints define the remaining workspace based on the initial
configuration space of the machine which is reduced by static and dynamic obstacles.
As previous research with mobile robots showed, the higher the number of dynamic
obstacles is, the more suitable are reactive control approaches in comparison to deliberative
ones. Uncertain knowledge inside the system arises from imprecise sensor data and error
propagation within the system, that may increase due to environmental influences. Only a
computational consideration of the currently estimated uncertainty level of each measured
value will lead to a safe task execution. The control precision, certainty, and safety usually
decreases with higher operation speeds due to higher dynamic influences. The quality
measurement value is high if the related task is either executed with a high productivity
for mass excavation or with a high precision for the landscaping task.
Especially the measuring uncertainty concerning the current properties of dynamic objects
in the environment or the machine dynamics is a difficult problem. To keep the executed
movements safe, usually the existing spatial constraints, modeled as the free workspace,
can be adopted. Apart from directly inserting the measured obstacle shapes, they are
grown accordingly to the related sensor uncertainty. The latter one is usually increased
by higher movement velocities of the sensor platform or of the measured objects. In the
worst case, the workspace might be shrunk in a manner that the overall task can not be
fulfilled anymore. Therefore, a good relation between maximum movement velocities and
remaining operation space should be kept. Statement 7 defines the central elements of the
constraints.

Excavation Statement 7 (Operation Constraints) To create or generate safe


and executable trajectories, the spatial system capabilities, uncertainty evolving from
noisy sensor data, and imprecise actuator values have to be incorporated during
planning. The task goals concerning mass excavation or landscaping define the
constraints for evaluating the quality of the results.

This section described the elements of the earth-moving task and defined seven statements
about its key elements. These need to be transferred to the control architecture in the
next chapter to fulfill the complex task of landscaping in an autonomous way.
4. A Control Architecture for
Autonomous Landscaping

The main goal of this thesis is the development of a cyclic operating robot control
architecture for autonomous landscaping. It should be capable of shaping the environment
on the construction site, which was designed by a human civil engineer before, without
any further intervention of a human being until the task is finished. All expectable
disturbances should be adequately handled without too much quality degradation. This
includes the avoidance of any undesired interaction or harm to any human, animal, or
existing infrastructure in the area of the controlled machine.
Based on previously analyzed capabilities of the human expert operator in chapter 3, an
extensible system is to be developed in the following chapter which creates an executable
plan of actions to solve the global landscaping task. Instead of creating one monolithic
central planner, which will be hard to handle and to extend during the development
process, a modular approach is chosen containing specific sub-planners incorporating
expert operator knowledge and mimicking the decisions of the real human during the
process. This keeps the structure extensible as it is always possible to replace existing
planners by better ones or add more functionality in additional modules.
In the following section, a classification of robots based on their task execution is performed.
Afterwards, system design rules and an appropriate modeling language is chosen which
will allow for defining the whole system structure in the rest of the chapter.

4.1 Classification of Robots Operating in a Linear or


a Cyclic Manner
In general, robots can be divided into the two types stationary and mobile. The first
class has a fixed basis that is connected to the environment and therefore has a precisely
defined workspace. Often these robots consist of kinematic chains built from rigid bodies
connected by joints. Different joint configurations lead to different poses of the end effector,
which usually defines the endpoint of the kinematic chain.
72 4. A Control Architecture for Autonomous Landscaping

As these machines operate in a rather well defined environment, there exist a lot of
proven deliberative planning approaches which can be used to control their movements in
undisturbed environments. In case the absence of unpredictable obstacles is guaranteed,
as in most assembly lines using industry robots, the machines can be controlled precisely
and be optimized to perform their designated task at a very high quality.
The second type fundamentally differs from these, as it is able to change its location by
locomotion and can therefore have a rather arbitrary workspace. To accomplish their
tasks in a complex and unknown environment, they usually incorporate sensors, a task
oriented programming approach, the capability to adopt to changing conditions in their
surroundings, learning from previous experiences, and an internal world model. The goals
usually include the manipulation of physical objects in the world. Mobile robots are
additionally divided by their movement medium into ground, aerial, and naval robots.
The previous classification differentiated the robots by their capability to locomote and the
medium on or in which they move. To create a well defined control architecture, this thesis
differentiates robots by the way the next operation is determined. The control system of
most mobile robots is “aware” of its action capabilities and chooses the next one based
on the current environmental conditions. Therefore, the complexity lies in finding a good
sequence of actions that lead to the desired goal. Finding this sequence is a rather linear
process and therefore these systems will be be defined as linear operating robots. The
planning process is depicted in figure 4.1.

Figure 4.1: Depiction of the planning process of a linear operating system creating a chain of
actions transforming the current state into the goal state.

Definition 4.1 (Linearly Operating Mobile Robots) Linearly operating mobile


robots are working towards a goal requiring a lot of complex decisions in between based on
the current environmental situation. The main task of the autonomous system is to find
an appropriate chain of actions that leads to the execution of the main task. An example
is a mobile robot autonomously driving from the current position to a desired one.

In contrast to these general task solving robots, there exist those that execute a complex
task consisting of specific steps that need to be performed one after another to succeed.
4.1. Classification of Robots Operating in a Linear or a Cyclic Manner 73

Possible tasks are excavation or loading of material, paving of roads, tearing down of
fabrics, or construction of buildings. For example, the material needs to be dumped
somewhere after the bucket of the excavator has been filled and before the next loading
operation can be performed. Another characterization is that this sequence of actions is
repeated over and over again until the whole task is finished. As the type of executed
action is fixed, the main task of the system is finding good parameters that optimize
the whole task as shown in figure 4.2. Definition 4.2 concludes these facts about cyclic

Figure 4.2: Depiction of the planning process of a cyclic operating system choosing an appro-
priate cycle transforming the current state into the goal state and defining its parameters.

operating robots.

Definition 4.2 (Cyclically Operating Mobile Robots) Cyclically operating mobile


robots solve a complex task by repeatingly executing specific action sequences over and over
again. The main task of the autonomous system is to precisely define how the actions are
performed to optimize the whole task execution. An example is an excavator performing
autonomous truck loading with gravel in an open mining pit.

As mobile robots have to operate in a complex environment with disturbances and different
kinds of tasks, none of the two presented approaches is capable of solving the problems on
its own. The real application might include parts that are better suited for linear planning
and those that include operation cycles.
Therefore, a hybrid approach constructing the system from both linearly and cyclically
operating elements using a hierarchical abstraction on multiple levels should be used to
model the overall system behavior. Starting from top to bottom, the system behavior can
be further refined until only linear and cyclic parts remain.
74 4. A Control Architecture for Autonomous Landscaping

In the following, important rules for the system design will be defined. Afterwards, an
appropriate modeling language, especially for the cyclic parts, will be chosen.

4.1.1 System Design Rules


At the beginning of the development of a mobile robot control system, knowledge about
the complex process which the robotic system should be able to perform afterwards is
gathered. By deducing knowledge about process parameters, the desired state, process
steps, and executed actions, the system can be developed. The first decision to take is if
the topmost system level is a linear or a cyclic process. Based on this decision the global
planner is either a linear or a cyclic one.

Design Rule 1 Based on knowledge about the process of automation and starting
from a top level, the process should be divided into linearly operating parts and parts
for cyclic operation.

The single actions ai can be defined for a linear planner. A cyclic one requires the definition
of required action sequences that characterize its operation. This initial set of actions and
action sequences can be sorted into linear and non dividable actions as well as cyclic ones
that can be subdivided further. For the latter ones this process can be called recursively
as presented in algorithm 4.1.

Design Rule 2 For each linear and cyclic part subtasks need to be defined first.
These need to be further refined until both control types can be clearly separated.

Algorithm 4.1: Algorithm for the iterative refinement of the global starting action
as into a list of sub-actions {a0 , ..., an }.
1 if LinearAction(as ) then
2 return {as };
3 else
4 if FurtherDividable(as ) then
5 {a0 , ..., an } ← CreateSubActions(as );
6 return {Algorithm 4.1(a0 ), ... , Algorithm 4.1(an )};
7 else
8 return {as };
9 end
10 end

Design Rule 3 For the cyclic parts a set of actions, action sequences, and action
cycles need to be be defined within an appropriate modeling language.

Previously, only the abstract process behavior was modeled. The actions of the cyclic parts
require a quite specific behavior that should be optimized concerning efficiency and quality.
This part can be performed by specialized planners that take the required decisions.
4.1. Classification of Robots Operating in a Linear or a Cyclic Manner 75

Design Rule 4 As the important part inside the cyclic actions is not choosing the
sequence of actions, but using appropriate parameters, specific planners should be
developed that deliver this information based on environmental information.

The previously presented rules define the operation of the machine under normal circum-
stances. In case of any larger disturbances the specific planners might not be able to
correctly achieve their goals without unforeseen consequences. Therefore, a safety layer
needs to be added that permanently supervises the system output and the state of the
local solvers. It has the power to override all commands from upper layers to prevent the
machine from damaging itself or other objects around.

Design Rule 5 The cyclically executed action sequences define the normal process
of operation. In case the current circumstances make a proper execution of the task
impossible, a safety layer needs to be installed to prevent the system from damaging
itself or other objects around.

Having described the way how the overall system should be structured, an appropriate
modeling language for the system behavior has to be chosen.

4.1.2 An Appropriate Modeling Language for the Architecture


As previously mentioned, there are a lot of existing solutions for creating efficient planners
for linearly operating systems. Chapter 3 showed that the task of earth-moving is a cyclic
operation. Therefore, this section discusses possible solutions for modeling fixed action
cycles. There exist multiple possible approaches for modeling a cyclic behavior inside
robotic systems. As they were partially presented in chapter 2, the focus lies on choosing
an appropriate modeling language.
The previously introduced parameterized scripts or modeling rules mostly represented a
small piece of knowledge about a specific machine operation. They were usually modeled
from if clauses including conditions and actions or as sequences of those clauses to realize
sequential behavior. They are very well suited for generating fast movements for tasks
that are quite similar in each cycle, like mass excavation, based on a few one-dimensional
parameters like current and desired surface height, excavation start distance, length, and
depth. Another feature is that they directly create trajectories in the joint space but not in
Euclidean space around the machine. As a three-dimensional surface shape is not provided
as the desired input, trajectories for performing complex a landscaping with the system
cannot be computed. Therefore, this approach will not be chosen within this thesis.
A very powerful approach are Petri nets which are a mathematical modeling language for
distributed systems and were presented in definition 2.2. They consist of places, transitions,
and arcs which connect a place to a transition or vice versa. While the previous places
of a transition are named input places, the ones behind are called output places. The
weighting function W : A → N, visualized as a number on each arc, defines how many
tokens it consumes, if it is connected to an input place, or how many it produces when
acting like an output arc.
Each place in a Petri net may contain an integer number of marks named tokens.
76 4. A Control Architecture for Autonomous Landscaping

A configuration of the net is called a marking and represents a distribution of tokens


over the places. Each transition is allowed to fire when the number of tokens on each
input place are equal or larger than the number on the input arcs. When the transition
fires, it consumes the input tokens and creates tokens in its output places. In general, the
execution of Petri nets is non-deterministic, which means that if multiple transitions are
enabled at one point in time, each may fire at an arbitrary moment. Due to this ability
and the existence of several tokens anywhere in the net, Petri nets are well suited for
modeling the concurrent behavior of distributed systems.
By putting a single token into the initial place, restricting the weighting function W to
W : A → {1}, and allowing only one ingoing and one outgoing arc per place, a distinct
execution of an action sequence can be enforced. Although Petri nets allow for modeling
deterministic cyclic behavior, they need to be restricted to do so. Therefore, solutions,
which do not allow for non-deterministic concurrent execution, are preferred for modeling
the cyclic task at hand.
Another approach for modeling the behavior of the machine are state machines consisting
of states, state transitions, and actions. When the set of states is finite, they are called
finite state machines. The transitions represent logical conditions that need to be fulfilled
to become activated. There are two types of FSMs: acceptors and transducers. The first
ones accept the input and return the result with the relating states. Transducers generate
outputs depending on the state via actions. They can be further separated into Moore and
Mealy FSMs. Moore automatons only use input actions, and the output purely depends
on the state. Within Mealy machines the output additionally depends on the input action.
This often leads to less states compared to the Moore machine, but reduces the perceivably.
Both types can be transformed into each other and are therefore equally powerful.
As the current state of the system defines the behavior and acceptors are usually easier to
understand, they will be used to model the system behavior within this thesis. The formal
definition of an acceptor FSM is given in 4.3. Additionally, it can be easily visualized
via named nodes representing the states and named arcs showing the transitions between
nodes.

Definition 4.3 (Finite State Machine (FSM)) A finite state machine M can be de-
fined as a quintuple M = (Σ, S, s0 , δ, F ) with

• Σ is the finite, non-empty set of symbols or the input alphabet,


• S is a finite, non-empty set of states,
• s0 is the initial state with s0 ∈ S,
• δ is the state-transition function: δ : S × Σ → S, and
• F is a possibly empty set of final states with F ⊆ S.

Each action cycle can be easily modeled in the following way. If there are for example five
actions {a0 , ...a3 , F inished} with a0 representing the start state and Finished being the
final state, the five input symbols {e0 , ...e3 , f } for successfully executing an action ei and
f for finishing the whole process can be used to model the overall behavior as depicted in
definition 4.4.
4.2. High-Level System Structure 77

Definition 4.4 (FSM Example Action Cycle) The finite state machine for the ex-
ample action cycle is then formally defined as

• Σ = {e0 , e1 , e2 , e3 , f },

• S = {a0 , a1 , a2 , a3 , Finished},

• s0 = {a0 },

• δ = {(a0 , e0 , a1 ), (a1 , e1 , a2 ), (a2 , e2 , a3 ), (a3 , e3 , a0 ),


(a3 , f, Finished)}, and

• F = {Finished}.

The state machine can then be visualized by the statechart in figure 4.3.

e0
start a0 a1

e3 e1

Finished a3 a2
f e2

Figure 4.3: Statechart for the example action cycle from definition 4.4.

This section presented an approach for modeling the desired behavior of cyclically operating
robots via state machines on the basis of the previously designed rules for system design.
These rules will be used afterwards to model and implement a robotic control architecture
for performing landscaping in an autonomous way, starting with the highest abstraction
level.

4.2 High-Level System Structure


The previously presented control approaches of autonomous excavation projects in chapter 2
can be divided into state-based approaches and script-based ones. Especially the latter ones
are suitable for implementing mass excavation scenarios at high speed, as the concurrent
execution of scripts and a specific parameter tuning allow for eliminating dead times and
optimizing the overall productivity. The state-based ones model the specific excavation
cycle and use low-level fuzzy-control to execute the task.
To the authors knowledge, none of the existing projects tried to solve the complex task
of landscaping. They usually either focused on pure mass excavation or digging a trench
and did not consider the creation of an arbitrary surface shape. By the means of gathered
knowledge about the human operated excavation process presented in chapter 3 and the
deduced statements, a system which additionally solves this complex task is developed in
the following. The modeling process starts from a most abstract point of view and refines
the system step by step.
78 4. A Control Architecture for Autonomous Landscaping

The flowchart introduced in figure 3.1 shows an abstract global execution cycle of the
excavation process shaping a large area on the construction site. On the basis of design
rule 1, this requires a global state machine controlling the whole landscaping process.
Based on this, the final autonomous decision system can be developed in the following.
According to statement 1, the whole excavation task can be solved by dividing the process
execution into three parts Environment, Displacement, and Excavation.
The Environment part delivers the complete information for the general excavation and
for drive planners and can be divided into the elements General, Global and Local
knowledge. From analyzing the previous projects in the area of autonomous excavation in
section 2.4, it can be deduced that complex landscaping would only be possible when a
middle layer is inserted between high-level control decisions and the hardware execution
generating paths and trajectories. Therefore, the two elements Path and Trajectory are
included into the displacement and excavation part creating the correspondent output.
To correctly trigger these parts, a Global Decision layer is added, operating on global
knowledge. A Safety layer filtering all control values related to the operation constraints
presented in section 3.5 prevents the system from performing undesired movements and is
therefore placed below the process execution layer. To uncouple the decisions of the system
from the specific machine controls, the lowest layer Hardware Abstraction performs all
required conversions from the real world into the software system and vice versa. The
abstract system structure and data exchange relationships are depicted in figure 4.4.

Figure 4.4: Abstract system structure and data exchange relationships of the six main system
parts Global Decision, Environment, Displacement, Excavation, Safety, and Hardware Ab-
straction. Red arrows represent information exchange and blue ones stand for control flow.
The Safety layer filters all control values towards the Hardware Abstraction. Three knowledge
sources for General, Global and Local knowledge are added to the Environment part.

Based on statement 3, the perception part should be rather continuously updated to be


able to react to changing environmental conditions. As all planners will be influenced
by the partially implicit knowledge the system has about itself and the environment, a
description of the environment knowledge part follows first.
4.3. Processing Environmental Information 79

4.3 Processing Environmental Information


This section describes the parts of the system which encapsulate knowledge about the
machine and its environment. This is motivated by the operator’s training on the machine
and his capability to estimate its kinematics and dynamics. This allows him or her to
solve the complex excavation tasks with the machine. Additionally, he or she usually
studies maps of the whole construction site including travel paths which allows him or
her to globally move the machine from one position to another one. Based on performed
test-drillings for soil estimation, the operator is also able to plan the initial excavation
strategy. Locally, he or she gathers information about its environment during machine
operation with all bodily sensors. This allows him or her to keep a constant updated
knowledge base of his or her local environment from which the required decisions can be
taken.
The three parts for General, Global, and Local knowledge will be described in the
following.

General Knowledge
The general knowledge about the machine incorporates everything that is independent
from the specific task but helps the driver during the operation of an excavator. This
is denoted as the world model of the operator concluded in statement 2. All system
parameters which define general machine properties like kinematics, dynamics, or sources
for uncertainties based on equipped sensors or controllers, can be regarded as incorporated
knowledge of the system about its physical impact possibilities. Background of this is the
capability of the system to be “aware” of its spatial characteristics and constraints.
Deduced kinematic solvers determine current element positions, velocities, and accelerations
and define the relationships within the system. Due to his or her skills, the operator is
usually able to estimate if a desired position around the machine can be reached at a
specific bucket angle. If a technical system shall give an answer to this question, it has to
solve the inverse kinematic problem determining a set of reachable joint configurations
which fit to a given TCP pose. There exist analytic solutions to the inverse kinematic
problem for single joints up to three DOFs. In general, there is no solution to arbitrary
single-chain kinematics which excavators usually possess. Therefore, numerical solutions
have to be developed to find an appropriate set of joint angles for a specific given pose of
the TCP. Closely related to that problem is the general decision if the desired position
and orientation is reachable at all, e.g. lies within the workspace of the machine, depicted
in section 3.5.1.
In case it is kinematically possible to continuously move somewhere, the questions arise if
it is possible to follow the path at a distinct velocity and to generate the required forces at
the bucket while executing a specific excavation trajectory. As mentioned in section 3.4.3,
the skilled operator has usually learned over time to perform an adequate digging operation
based on the task goals and the current ground properties. To incorporate this knowledge
into the system, a precise dynamics model of the machine and the environment should
be constructed here. The closer the model is to the behavior of the machine reality, the
better the outcome of movements can be predicted.
80 4. A Control Architecture for Autonomous Landscaping

Apart from being able to theoretically perform some operations with the machine at a
specific velocity, the knowledge about sources of uncertainty, described in section 3.5.2,
inside the system plays an important part.
The human operator uses visual feedback and his motion senses to estimate if the machine
is currently doing what it should be doing. Compared to this complex universal perception
system, technical solutions are usually equipped with internal sensors measuring only
specific element values or external ones for perceiving the environment around the machine.
All installed sensor systems can only deliver measured values within a specific range around
the real value, or might even fail completely under some circumstances like bad light
conditions. Additionally, the equipped actuators also have a distinct target range to which
they can be adjusted. Just gathering these uncertainty values within the system would not
make sense. In fact, they need to be handled by models transferring the local uncertainty
at the sensor or actuator to the global decision layer. High level system planners, which
are then aware of the achievable measurement and control precision for specific elements
of the system, can consider this knowledge for planning trajectories under uncertainty
according to statement 7.

Global and Local Knowledge


Global system knowledge in this context is related to the complete operation area of
the machine. In this case it is usually equivalent to the size of the construction site or
the mining pit. While performing a local excavation operation, the global knowledge
represents everything that is currently out of sight of the system and could only be reached
by driving the excavator there. Nevertheless, this knowledge is important for planning the
restructuring of the complete surface and for traveling on the site. The dimensions and
capabilities of the machine can have a tremendous influence on the kind and precision of
the information to store.
A human being usually has an abstract map of possible traveling paths in combination
with height levels and ground properties in mind. This allows him or her finding new
coarse excavation positions and implicitly planning paths there. The precise execution
including adaptation is then usually performed locally.
According to [Braun 09], a mobile robot must, when it is required to travel beyond its
sensory horizon, either rely on potentially ineffective or misleading local search strategies
or use some kind of world model, often referred to as a map. It can be provided a priori
or built from experience. Based on statement 4, the existing knowledge can be partially
gathered from the four-dimensional construction site plan which defines the starting
condition, intermediate steps, and the final state of the site. In addition to storing the
current surface shape, the map should also be able to store traveling paths, obstacles,
ground characteristics, and other properties required to fulfill the task. Different data
storage or map types have been developed which can be divided into the three classes of
metrical, topological, and hybrid maps.
The local knowledge is directly constructed from the data about the environment of the
machine that is gathered from internal and external sensors. Although the amount and
precision of the raw sensor data is quite high, the area to capture is way smaller compared
to a global site map.
4.4. Global Execution Cycle 81

As the goal is to perform highly precise excavation operations, metric grid maps storing
multiple surfaces and additional properties are perfectly suited for this task. Detected
obstacles or identified soil properties can be stored at specific height levels.
A highly precise localization on the excavation site is a very important requirement for the
whole operation, as it allows to fuse local gathered information with global knowledge and
goals. Although the used map types can help coarsely localizing the machine by identified
and tracked features, the required precision for the excavation task of ±5cm can usually
not be achieved.
The larger the distance between the measured and the actual pose of the machine is, the
lower is the achieved precision during the landscaping process. While mass excavation
might depend less on this requirement, the excavation of trenches, groundworks, or slopes
suffers from a lack of precision and will in the worst case require human intervention
afterwards. Also traveling on specific tracks within the construction site depends on good
knowledge of the current position. Multiple artificial landmarks on known positions on the
site can be installed to guarantee a precise local position detection. Externally, a technical
system could use global positioning systems like differential global positioning system
(DGPS), and construction site laser-based measurement systems like the Robostation from
AndroTec1 . Only a fusion of global and local localization systems will be able to deliver
a constant precision under all environmental circumstances. Locally the internal sensors
like wheel encoders, inertial measurement units (IMUs), and environmental perception
algorithms deliver additional positioning information.
The presented structures for storing knowledge about the general, global, and local system
environment deliver the data source for all autonomous decisions which are taken by the
rest of the system. The more certain and precise the information can be delivered to those
parts, the more precise the main task can be fulfilled. The control part of the system
taking the autonomous decisions is presented in the following.

4.4 Global Execution Cycle


The designated goal of the Global Decisions layer is to coordinate and control all lower
parts of the system in a manner that the autonomous landscaping operation is fulfilled
well. The separation of specific lower level solvers, that just need to be triggered and
solve their respective task on their own, reduces the design process to a minimum. An
appropriate modeling approach for the system behavior are statecharts which can be
successively refined and nested until the complete system solves the complex task. From
an execution point of view, the global execution cycle can be modeled according to design
rule 1 as a state machine shown in figure 4.5.

Definition 4.5 (FSM Global Execution Cycle) The finite state machine for the
global execution cycle according to figure 4.5 is formally defined as

• Σ = {reached, not reached, at position, local goal surface reached},

• S = {Global Goal Surface, Displacement, Excavation, Finished},


1
http://www.androtec.de/Englisch
82 4. A Control Architecture for Autonomous Landscaping

• s0 = Global Goal Surface,

• δ = {(Global Goal Surface, reached, Finished),


(Global Goal Surface, not reached, Displacement),
(Displacement, at position, Excavation),
(Excavation, local goal surface reached, Global Goal Surface)}, and

• F = {Finished}.

start

Global Goal reached


Finished
Surface
not reached
local goal surface reached Displacement

at position

Excavation

Figure 4.5: Global execution cycle of the whole excavation operation. Yellow boxes stand for
an interaction state with a module from the environment part of the system taking the decision.
Red boxes represent the activation of further decomposable or pure action parts.

Initially it is checked if the global surface already equals the intended model in Global
Goal Surface. This decision should be taken by a specific module in the environment part
of the system.
Should this evaluation become true, the whole task is solved, and no more work needs to
be done by the machine. Otherwise, the surface will have to be successively influenced
by driving to local excavation positions via the Displacement function and by performing
local excavation there, until the local goal surface is reached in the Excavation state.
As the refinement of these action blocks will lead to a lot of internal states, they will be
modeled as nested state machines. These are executed when those states are entered and
presented in the following sections by means of the design rules 2 and 3.

4.5 Displacement
As the whole area, which needs to be shaped, is usually larger then the workspace of the
machine, an efficient displacement and traveling function for mobility is needed to solve the
task. As there are usually preferred roads and possible areas which can be crossed by the
machine, a global construction site planner should be designed to create a long-distance
displacement schedule. It contains roughly planned machine mounting positions which will
allow for successively shaping the complete site by performing local excavation from there.
4.5. Displacement 83

The incorporated Path planner will create an adequate path to move the machine to the
next mounting position.
The displacement function falls into the category of a linear operation based on definition 4.1,
as it has a rather simple goal namely reaching a pose, but requires a correct sequence
of driving actions to achieve this goal. According to statement 5, a short and fast path
should be chosen. Local obstacle avoidance should be included to guarantee save traveling
without hitting objects or driving too close to slopes or holes. Figure 4.6 shows an abstract
state machine of the main task elements.

start Next Position

found
calculated reached
Path Driving Finished

Figure 4.6: Global displacement states starting with determination of the next mounting
position, travel Path determination and Driving there.

Definition 4.6 (FSM Global Machine Displacement) The finite state machine for
the global machine displacement according to figure 4.6 is then formally defined as

• Σ = {found, calculated, reached},

• S = {Next Position, Path, Driving, Finished},

• s0 = Next Position,

• δ = {(Next Position, found, Path), (Path, calculated, Driving),


(Driving, reached, Finished)}, and

• F = {Finished}.

At the beginning, the Next Position needs to be determined from which the next local
excavation should be performed. Once this position is found, an efficient Path is calculated
and executed while Driving there.
As described in the previous section, an appropriate map type for describing the environ-
ment status is a two-dimensional grid map with multiple object types per cell. From this
complex map, a simple occupancy grid can be constructed by deciding if a cell can be
traversed or not. For planning a path on a grid map various algorithms exit. The chosen
approach will be presented in chapter 5.
After developing the Displacement function of the system, the machine is able to suc-
cessively drive to new excavation positions and perform its landscaping task there. The
elements of this task will be presented in the following.
84 4. A Control Architecture for Autonomous Landscaping

4.6 Local Excavation Cycle


The next part of the system consists of the local excavation planning which is performed
within the workspace of the machine. Based on the previous analysis of the excavation
process in chapter 3, the most abstract level of the task can be modeled as the two states
Goal Surface Reached and Excavation Cycle visualized in figure 4.7.

start

Goal Surface reached


Finished
Reached
finished not reached
Excavation
Cycle

Figure 4.7: Most abstract visualization of the excavation process containing the two states
Goal Surface Reached and Excavation Cycle. Yellow nodes stand for direct interaction with
the Environment part of the system while red ones also execute operations with the machine.

In the first state it is checked if the difference of the currently measured surface and the
goal surface is below a previously defined thrashold, e.g. is reached or not. This should
be permanently evaluated inside the Environment part, in case of any updated sensor
information, and is just requested within this state. If this is evaluated to be true, the
excavation operation is considered as being finished. Otherwise a new Excavation Cycle
is started. This part clearly fulfills the requirements of definition 4.2 describing cyclically
operating mobile robots.

start

Goal Surface reached


Finished
Reached
not reached
finished
finished Swinging Back Digging

finished

Dumping Swinging
finished
Figure 4.8: Extended version of the initial state machine including the basic excavation cycle
consisting of the four states Swinging Back, Digging, Swinging, and Dumping.

The next development step subdivides the Excavation Cycle into the four states Digging,
Swinging, Dumping, and Swinging back according to statement 6. The bucket is usually
not positioned at the desired digging start position. Therefore, the whole operation starts
with the Swinging Back state.
4.6. Local Excavation Cycle 85

It moves the bucket towards the chosen entry point of the excavation operation based on
analyzed environment information. The extended diagram is depicted in figure 4.8.
Currently, it is not shown how the information about the environment influences the
execution of the states. Each of the four excavation states are subdivided into a perception
and an execution part. These additional states are shown in figure 4.9. While their possibly
complex algorithms are computed in parallel to the execution of movements, the transition
done is fired when a new stable solution is found.

start

Goal Surface reached


Finished
Reached
not reached
Excavation found
Swinging Back
Pose
finished

finished Excavation
Digging
chosen Strategy
finished
found
Dump Pose Swinging

finished
Dump
Dumping
chosen Strategy

Figure 4.9: Further extended version of the initial state machine adding the four perception
states taking specific decisions based on the environmental data Excavation Pose, Excavation
Strategy, Dump Pose, and Dump Strategy.

Definition 4.7 (FSM Excavation Cycle) The finite state machine for the global ma-
chine displacement according to figure 4.9 is then formally defined as

• Σ = {reached, not reached, found, finished, chosen},

• S = {Goal Surface Reached, Excavation Pose, Swinging Back,


Excavation Strategy, Digging, Dump Pose, Swinging,
Dump Strategy, Dumping, Finished},

• s0 = Goal Surface Reached,


86 4. A Control Architecture for Autonomous Landscaping

• δ = {(Goal Surface Reached, reached, Finished),


(Goal Surface Reached, not reached, Excavation Pose),
(Excavation Pose, found, Swinging Back),
(Swinging Back, finished, Excavation Strategy),
(Excavation Strategy, chosen, Digging),
(Digging, finished, Dump Pose),
(Dump Pose, found, Swinging),
(Swinging, finished, Dump Strategy),
(Dump Strategy, chosen, Dumping),
(Dumping, finished, Goal Surface Reached)}, and

• F = {Finished}.

A brief description of their contents is delivered in the following while their complex
algorithms will be presented in chapter 5.

The Excavation Pose module finds the next best local excavation pose for the bucket
based on heuristics about the operator’s decisions. Especially the position, amount,
and type of material to be removed at one place influence the decisions. Areas, where
the excavation precision does not yet play an important role, can be handled at first
as the execution speed can be increased.

The Excavation Strategy module chooses an adequate strategy based on the main
goals of the task concerning mass excavation or landscaping. The whole strategy is
additionally influenced by the ground properties as mentioned in statement 6 and
reaches from surface scraping in hard soils to deep penetration in softer soils. If there
should be larger rocks inside the ground, that cannot easily be excavated, specific
rock removal strategies have to be chosen to overcome these problems.

The Dump Pose is found based on the desired target, which is a truck in most cases.
Depending on the amount of material in the truck or the shape of the pile, an
adequate dump pose needs to be found to evenly and efficiently load the truck and
to not overload it, or dump where the pile will become unstable. If the material
contains larger rocks, the unloading height should not be too high, as the truck bed
can be damaged otherwise.

The Dump Strategy module chooses an appropriate strategy for unloading the material
inside the bucket. In general it is desired not to dump any material next to the
truck or pile, not to produce too much dust during dumping, but to produce an even
surface within the truck.

The developed architecture is capable of performing the determined excavation cycle in


chapter 3 independently from the specific machine parameters. According to design rule 4,
the parameter evaluation and decisions are handed over to specific problem solvers. This
prepares the integration of the application of perfectly suited planning algorithms, which
will be presented in chapter 5.
4.7. Safety Layer 87

As evaluated in section 2.4, the task of landscaping requires an adequate middle layer
between the high-level decisions and the machine controls creating the adequate excavation
and transport trajectories. Therefore, an adequate Trajectory generation module should
be developed, being suitable for the highly dynamic environment. In chapter 5 the reactive
and behavior-based trajectory generation layer will be presented.
Should these specific solver modules deliver control values that lead to possibly dangerous
movements, a safety layer needs to suppress the execution based on design rule 5. This
layer will be described in the following section.

4.7 Safety Layer


This layer incorporates the safety decisions that evolve from the spatial and uncertainty
constraints presented in sections 3.5.1 and 3.5.2. The goal is to adjust the given control
values from the upper layer in a way that the task can still be executed, but does not lead
to unsafe movements. The actions are executed within the three-dimensional workspace of
the machine.
The first step is the analysis of the current state by efficiently storing and retrieving
knowledge about the current obstacles in the environment of the machine. Once the
current state is stored, an active obstacle avoidance system can be developed. It should be
able to stop the TCP and movements of the superstructure element in case of any close
obstacle. Therefore, it has to run through the steps mentioned in the following.

1. Gather the current state of all arm joints.


2. Request the nearest distance to an obstacle for each joint.
3. Calculate the minimum and maximum joint limits based on these distances.
4. Transfer joint limits to workspace limits divided in azimuth, length, and height
restrictions for the joint elements and the TCP.

Based on the evaluated restrictions for each joint, two inhibition values for the positive
and the negative joint movement can be computed. The following three cases of inhibition
do exist.

Full inhibition occurs, when the current value is larger than the given bounds or within
a defined safety range around, and results in a value of 1.
Approximated inhibition proportionally adjusts the value inside a defined approxima-
tion range between 0 and 1.
Zero inhibition is the case, when the value is neither in the approximation nor in the
safety range, and results in an inhibition value of 0.

The computed inhibition value for each joint can be used to influence the respective
closed-loop controllers. While in case of an approximated inhibition the movements are
just slowed down, full inhibition completely suppresses the movement of that joint.
The next section concentrates on the way in which the taken decisions in terms of bucket
movements will be transferred to the real machine.
88 4. A Control Architecture for Autonomous Landscaping

4.8 Hardware Abstraction Layer


The output of the upper layers is either a TCP trajectory for the boom movements or a
planned path for the suspension. Both forms are independent from the precise machine
kinematic which has to execute these movements. For the boom control an inverse
kinematic (IK) solver can be constructed which continuously transfers desired TCP poses
into adequate joint configurations. For simple boom kinematics with four DOFs there exist
analytic solutions. General single chain excavator kinematics require a numerical solver. In
the following, a general approach for kinematics is presented which results from a master
project thesis performed in the context of this thesis and is presented in [Pluzhnikov 12].
The idea behind the general approach is that every joint has an attached controller deciding
in which direction it should rotate in order to solve the global task of moving the TCP
closer towards the desired point with the desired orientation.

start

Idle
output set
new pose set

Gather new pose set


Joint Angles

gathered

Output Found Find Better new pose set Output So Far


Solution found Solution i ≥ imax Best Solution

next iteration
output set

Figure 4.10: The state machine of the inverse kinematic solver starts operating, when a new
pose is set, and tries to find better solutions based on initially gathered sensor data. Should the
internal iteration counter i be larger than the maximum number of iterations imax , or a new pose
be set during this process, the so far best solution is delivered. Otherwise the found solution is
set.

Definition 4.8 (FSM Inverse Kinematic Solver) The finite state machine for the
inverse kinematic solver according to figure 4.10 is then formally defined as

• Σ = {new pose set, gathered, output set, next iteration, found},

• S = {Idle, Gather Joint Angles, Find Better Solution,


Output So Far Best Solution, Output Found Solution},

• s0 = Idle,
4.8. Hardware Abstraction Layer 89

• δ = {(Idle, new pose set, Gather Joint Angles),


(Gather Joint Angles, gathered, Find Better Solution),
(Find Better Solution, next iteration, Find Better Solution),
(Find Better Solution, new pose set, Output So Far Best Solution),
(Find Better Solution, i ≥ imax , Output So Far Best Solution),
(Find Better Solution, found, Output Found Solution),
(Output So Far Best Solution, output set, Find Better Solution),
(Output So Far Best Solution, new pose set, Gather Joint Angles),
(Output Found Solution, output set, Idle), }, and

• F = {}.

The inverse kinematic problem is solved incrementally according to the state machine
shown in figure 4.10 and definition 4.8. When a new desired TCP pose is set, the solver
becomes active by switching from Idle to the solving mode in Find Better Solution via
Gather Joint Angles. During each iteration, all joint controllers calculate a relatively
small step towards the desired direction, then the steps of all joints are simulated, and a
new virtual position of the TCP is calculated internally. The required decision for each
step is depicted in figure 4.11. Per solving cycle the local joint controller has to decide in
which direction and with which ∆ the joint needs be turned, in order to bring the current
TCP pose closer to the desired one.

+∆

−∆

current TCP
desired TCP
x

Figure 4.11: Schematic view of the local solving decision for a joint behavior per cycle. The
questions to solve are in which direction the joint needs to be turned (±) and which delta (∆) is
required to move the current TCP pose closer to the desired one.
90 4. A Control Architecture for Autonomous Landscaping

An additional internal parameter defines if the goal of the joint controller is reaching a
desired position or orientation. This allows to adjust that joints with a long lever like
the boom joint control the position and that the bucket joint mostly cares about the
orientation of the bucket in order to not spill any material.
The joint controllers use this virtual position as a new input and generate values for the
next step. The desired TCP pose and simulated virtual TCP pose are compared to each
other. If the poses are close to each other in position and orientation, a new pose is found
in Output Found Solution, and the last calculated values of the joint angles are provided
as output of the solver. Afterwards, the solver remains inactive until a new desired TCP
pose is provided as an input. Alternatively, if the task cannot be solved in a reasonable
number of iterations (i ≥ imax ) or a new desired pose was set in between, the values, that
lead to the best solution so far, are returned as the result. In this case the solver does not
stop working and continues the search for a better solution.

4.9 Discussion
By means of a short analysis of existing mobile robotic systems, they are subdivided by
their main way of operation into linearly and cyclically operating ones. Based on this
analysis, multiple general system design rules for cyclically operating robots are defined.
They are used together with the seven statements on the human operated earth-moving
from chapter 3 to built up the complete control architecture.
Starting with the high-level system structure, multiple required system parts are defined,
used for gathering Environment information, performing Displacement and controlling the
Excavation. The whole operation is triggered from a Global Decision Layer, designed
as a state machine based on design rule 1. Then the contents of the single parts are
developed.
The environment perception part is divided into task General, site Global, and excavation
Local parts containing adequate structures for data storing like topological, metrical
grid-based, or hybrid maps. This provides the basis for triggering the Displacement and
Excavation module from the Global Decision layer until the complete site surface is
shaped as desired. According to design rules 2 and 3, the system behavior is further
refined by adding substates and nested state machines. While the Displacement part is
responsible for planning a safe path towards the next mounting position and following
it afterwards, the Excavation module solves the complete local surface shaping part. It
cyclically finds the next excavation pose of the surface, fills the bucket, moves it towards
the desired dumping position, and dumps it there. Should the local surface equal the
desired one, the local excavation cycle is left.
Transferring these high-level decisions into a set of continuous machine executable actions
in the joint space is part of the Path and Trajectory subparts. As multiple types of
solvers are possible, a discussion and implementation example will be given in chapter 5.
A Safety layer below these control modules is introduced by means of design rule 5 which
filters the control data in order to avoid any contact with an object around the machine.
Finally, a Hardware Abstraction layer keeps the specific decisions of the system rather
independent from the precise machine kinematic by implementing general inverse kinematic
solvers that transfer the planned trajectories into joint movements.
4.9. Discussion 91

Based on the results from solutions of excavation projects in chapter 2 and based on
knowledge deduced about the human machine operator in chapter 3, an architecture is
presented which models the important parts of the landscaping task as multiple modules
on different system layers.
Each module is described afterwards by its most dominant elements defining its behavior.
Statecharts are used as a modeling language to incorporate the execution cycles within
these modules. High-level state machines abstract from system uncertainties and imprecise
knowledge by delegating the concrete decision to nested state machines. The lowest level
of states outsources decisions to problem-specific planners. The final state machine is
shown in figure 4.12. It contains all previously introduced states from the displacement
and excavation phases and executes them cyclically, until the task is finished. The contents
of these states will be presented in the following chapter.

start

Global Goal reached


Finished
Surface
not reached
local goal
found
surface Next Position Path
reached
calculated
Local Goal
Driving
Surface reached
not reached
Excavation found
Swinging Back
Pose
finished
Excavation
finished Digging
chosen Strategy
finished
found
Dump Pose Swinging

finished
Dump
Dumping
chosen Strategy

Figure 4.12: Visualized state machine of the global process including driving and excavation.

In figure 4.13 the current development state of the system is presented. So far the global
and local displacement and excavation cycles are defined which control the execution of
the landscaping task.
92 4. A Control Architecture for Autonomous Landscaping

Figure 4.13: Status of the system development after the architecture is designed. The process
cycle is implemented but no specific planners exist which solve the complex problems and take
decisions within each state.

OAll in all the delivered system structure is capable of modeling the desired excavation
process. All required states of the landscaping cycle are included while the system abstracts
from particular problems. These are outsourced into so far not specified problem solvers
according to design rule 4 which implement complex algorithms. Should one exist which
fulfills the requirements for each state, the whole system can basically operate and solve
its task. Over the course of time, better algorithms can be incorporated into those solvers
in order to improve the overall system performance.
The next chapter provides strategies for these problem solvers closing the complete
execution cycle. Chapter 6 will show afterwards that this structure is capable of handling
the global landscaping task for a real excavator and for a long operation time within a
complex simulation scenario.
5. Algorithms for Efficient
Landscaping

In this chapter the previously defined architecture is enhanced by adding low level planners.
To achieve this, the states from the defined statecharts are designed as independent modules
implementing specific problem solving algorithms. By partitioning the whole task into
sub-blocks handling a specific element, the system remains maintainable and extensible.
Additionally, single modules can be improved or exchanged later on if a better solution
can be found.
Based on the state machine presented in figure 4.5, the global task of landscaping consists
of continuously performing a machine displacement and excavation until the global goal
surface is created. In parallel to these operations, environment information needs to be
gathered about the current state of the world surrounding the excavator. A description of
suitable algorithms for analyzing the workspace of the excavator and the decision when the
goal surface is reached are given in the following section. Afterwards, the specific problem
solvers for the previously presented action states and their sub-automata are introduced.

5.1 Environmental Information


As presented in section 4.3, the specific planners of the system require some general
knowledge about the capabilities of the machine. One main part is the information if one
specific pose can be reached with the TCP, i.e. lies within the workspace of the machine. A
general algorithm is presented first which evaluates this numerically for general kinematics.

5.1.1 Analysis of the Workspace


As excavation machines used for landscaping often have six or more DOFs, no analytical
solution exists for determining if a specific pose can be reached. Nevertheless, a numerical
off-line algorithm can be used to approximate the workspace of the machine by rasterization.
The idea is that the three-dimensional space is divided into equally-sized cubes with an
adequate side length related to the robot precision.
94 5. Algorithms for Efficient Landscaping

As depicted in figure 5.1, each cell can be set to reachable and additionally stores angular
reachability ranges for roll, pitch, and yaw angles.

(a) (b)

Figure 5.1: Visualization of the three-dimensional voxel space (a) and an angular range circle
for one dimension of the possible orientations roll, pitch, and yaw (b). The reachability is color
coded as reachable (green) and not reachable (red).

An angular delta is used to to incrementally evaluate joint configurations by starting from


minimum joint angles and running towards their maximum. These configurations are
inserted into the direct kinematic solver which computes the relating pose of the TCP. In
case of linear joints, the appropriate procedure runs from the minimum to the maximum
length via a delta increment. Afterwards, the cell, in which the TCP lies, is marked as
reachable, and the orientation is stored inside its related angular range circles. The way,
in which the workspace is computed, is presented in algorithm 5.1 for seven rotational
joints. Some reachable poses lie within the machine itself or inside permanently existing
obstacles. To incorporate operator knowledge about these undesired poses, the workspace
is reduced by further subtracting the abstract shapes of the excavator model elements
shown in figure 5.2a, or of known obstacles from the configuration space. This previously
stored calculation of the workspace of the excavator delivers a data source for trajectory
planners which evaluate if specific poses or a whole trajectory would be reachable. A
visualization of the workspace of the excavator can be seen in figure 5.2b. High-level
trajectory planners will utilize this basic knowledge to calculate retractable trajectories.
After the workspace of the machine is calculated, the specific planners for determining
if the goal surface has been created and for performing the displacement and excavation
operations are presented.

5.1.2 Goal Surface Created


The goal of this state is to decide when the task to perform is finished. This is the case
when the desired surface is close to the currently measured one. Therefore, algorithms
which evaluate the current state on the site, either around the machine or for the whole
excavation area, need to be designed.
5.1. Environmental Information 95

Algorithm 5.1: Algorithm for the approximation of the workspace by running stepwise
through all i joint configurations from θimin till θimax , calculating the current pose of
the TCP via DirectKinematics(θ1 , . . . , θ6 ), and setting the voxel in the workspace
to be reachable with SetVoxelReachable(pose).
1 InitializeEmptyWorkspace(workspace);
2 for θ0 ← θ0min to θ0max do
3 for θ1 ← θ1min to θ1max do
4 for θ2 ← θ2min to θ2max do
5 for θ3 ← θ3min to θ3max do
6 for θ4 ← θ4min to θ4max do
7 for θ5 ← θ5min to θ5max do
8 for θ6 ← θ6min to θ6max do
9 pose ← DirectKinematics(θ0 , θ1 , θ2 , θ3 , θ4 , θ5 , θ6 );
workspace.SetVoxelReachable(pose);
10 end
11 end
12 end
13 end
14 end
15 end
16 end

(a) (b)

Figure 5.2: Visualization of the excavator workspace as a two-dimensional grid with a quadratic
safety area around the center of the machine (a) and within a simulation environment as a red
point cloud representing the reachable cells (b).

The currently measured and desired surface states are stored in two-dimensional grid maps,
respectively. Their related grid map structures are schematically shown in figure 5.3. In
the following, the reason for selecting this type of map will be described. Most of the
metrical maps are two or three-dimensional grid maps storing one or multiple properties
per cell, like probability of occupancy, elevation, or obstacle types [Elfes 89, Moravec 96].
96 5. Algorithms for Efficient Landscaping

x
Figure 5.3: Three-dimensional view of the current surface grid map (red) and the desired
surface map (green) visualized in one coordinate system.

Three-dimensional maps are rather rarely used due to their huge amount of required
storage space. Digital elevation maps (DEMs) are a variant of grid maps which store the
terrain heights and can therefore be used for a traversability analysis. To be able to store
also overhanging ground or geometries like trees or bridges, multiple levels need to be
stored per cell.
In [Pfaff 05] information about objects is classified into the four categories traversable,
non-traversable, vertical, and vertical-gap. This property is evaluated on their surrounding
space and stored in an extended elevation map. In [Triebel 06] this approach is further
extended to multi-level surface maps.
Unlike uniform grid maps, feature-based maps only store distinct properties and their
locations. A precise robot localization is required to store the correct feature poses inside
the map. Features can differ in distinctiveness and range from simple basic ones up to
unique landmarks. Data structures for feature maps are required to handle both a large
number of elements and a support for an efficient lookup of close neighbors. Should
the current estimated robot pose be imprecise, the metrical map can become seriously
corrupted. Due to these problems, topological maps were developed which represent
relevant places for navigation and their connections on an abstract level rather than the
exact metrical layout. They usually use graph structures to efficiently store, reorganize,
and search the data. The success of topological navigation techniques generally depends
on the ability to recognize previously saved nodes.
Due to [Braun 09], many researchers used combinations of metrical and topological ap-
proaches for solving the problems of autonomous mapping, robot localization, and naviga-
tion. These hybrid maps should combine the advantages of both map types and can be
classified by two approaches using hierarchy or abstraction to build the map. Hierarchical
hybrid maps are organized in multiple layers. Highly precise metrical maps are used for
local places in which the precision is needed, while large scale navigation utilizes the
computational tractability and compactness of topological data structures [Tomatis 03].
The structure of a hierarchical hybrid map is presented in figure 5.4.
Abstraction based hierarchical maps are usually built from metrical maps by creating an
abstract topological graph. Examples are Generalized Voronoi Graphs (GVG) [Thrun 98]
which model the topology of the free space.
5.1. Environmental Information 97

Figure 5.4: Visualized structure of a hierarchical hybrid map consisting of a higher topological
graph layer and locally precise metrical maps [Braun 09].

First, an occupancy grid is constructed using Bayesian probability techniques that deliver
the basis for a Voronoi diagram. Local distance minima of the base points of cells are
called critical points. Lines between those points and their base points divide the space
into topological regions that are used to construct a topological map.
Based on the suitability analysis of different map types for specific tasks like path planning
or localization performed in [Braun 09], a hierarchical hybrid map approach is chosen for
the global data storage of the system developed in this thesis. A higher topological graph
containing planned travel paths and local two-dimensional grid maps based on available
surface models and local distance information promises to handle larger construction sites.
The definition of the two map layers follows.

Definition 5.1 (Topological Map) A topological map M is defined as a pair M =


(N, E) with

• N is a set of map nodes with N = {n1 , n2 , . . . , nm }, and

• E is a set of map edges with E = {e1 , e2 , . . . , eo }.

Each map node n ∈ N has an attribute p~ which specifies its position using the earth
centered earth fixed coordinate system ECS.

Definition 5.2 (Map Edge) A map edge e ∈ E is a tuple e = ((n, n′ ), t, Σ), with

• (n, n′ ) is an ordered tuple containing map nodes with n, n′ ∈ N ∧ n 6= n′ ,

• t ∈ {speculative, traversable, untraversable} stands for the edge type, and

• Σ is a set containing travel cost information.


98 5. Algorithms for Efficient Landscaping

Middle-sized construction sites might require just one node and its nested metrical grid
map. It can be stored as a tuple of numbers of grid cells, their dimensions, and a set of
cells as defined in the following.
Definition 5.3 (2D Grid Map) A two-dimensional grid map G can be defined as
a tuple G = (n, d, C) with
• n = (x, y) ∈ N2 being the number of cells in x and y direction,
• d = (w, h) ∈ R2 representing width and height of each cell in meters, and
• C = {ci |i ∈ N ∧ 0 ≤ i ≤ (x · y)} containing the set of cells.
Each map cell ci can store multiple properties like elevations, soil properties, pathways,
obstacles, or undetermined object which could become relevant during displacement or
excavation operations. Efficient algorithms like A∗ [Hart 68] or D∗ [Stentz 94] can then be
used to plan optimal paths within the map. As the evaluation will depend on measured
sensor values in reality, the information will contain some uncertainty.
In case of quadratic cells with the side length l, the current height hc , and goal surface
height hg , the height difference hd per cell, the difference volume vd , and the remaining
volume to move vr in the area can be determined in equations 5.1-5.3.
hd = hg − hc (5.1)
vd = h d · l 2 (5.2)
x X y
X
vr = vdij (5.3)
i=0 j=0
Based on the specific goals of one of the tasks to perform like mass excavation, trenching,
or landscaping, minimum bounds can be defined for each cell concerning remaining volume
or height differences. For mass excavation the task can be considered as finished when
the amount of remaining volume vr is below a defined maximum remaining volume vrmax .
Landscaping requires that the height difference hd at each cell is below a maximum height
difference hdmax .
The same decision needs to be taken for the local excavation around the robot, depicted
in the state machine shown in figure 4.7.

5.2 Displacement
Operation of mobile robots driving autonomously in outdoor terrain is a research field
on its own and far beyond the scope of this thesis. In [Berns 11] and [Armbrust 10]
extensive overviews about existing approaches are given. Therefore, appropriate solutions
for the displacement function of the machine are presented, instead of completely handling
autonomous driving in general.
The displacement planner of the system is used when there is still material to excavate in an
area, but the excavator is currently mounted somewhere nearby or out of reach and needs
to move there first. Based on the developed structure presented in figure 4.6, the state
machine consists of the three states Next Position, Path and Driving. The developed
algorithms, which solve the complete task for the excavation system, are presented in the
following sections.
5.2. Displacement 99

5.2.1 Next Position


Finding the next position for mounting the machine is an important decision as only
good new poses allow to efficiently remove the material in the whole excavation area.
Although this decision is not within the focus of this thesis, a solution is developed based on
knowledge about traveling on excavation sites evolving from the following considerations.

1. As excavation in one area usually disables the transferability, only areas that do not
need to be traversed later should be chosen.

2. Trucks need to have the capability of driving towards the machine and of leaving
the area after being filled.

3. After the operation is finished the machine needs to leave the area. Therefore, the
way to the construction road needs to be free.

These considerations lead to the result that the planning of the next mounting position
and the path to get there should operate on existing global data of the construction site,
stored in a map.
The solution is to create a rating function providing the next available mounting position
for the machine. An appropriate data structure to store the environmental information
about the area to influence would be a two-dimensional grid map with possibly multiple
properties per cell like traversable, non-traversable, excavate, not-excavate, exit cell, and
final cell. An additional parameter for planning is the minimum width for all machines
which need to operate in that area like excavators, wheel loaders, or trucks. No pose should
be chosen that prevents the machines from moving to the exit or the final pose. Another
important factor is the influence area of the machine around its mounting position. It is
defined by the workspace of the machine and can therefore not be defined in general.
The problem of finding the optimal number of mounting positions on the current surface
of the excavation site can be regarded as a dense packing problem in a two-dimensional
space. For this type of problems the goal is to find positions and also orientations, in case
they are not uniformly shaped, for n objects inside a defined area A, which do not overlap
and additionally minimize the empty space E inside A. In our case, the goal is to cover
the whole area with a minimum amount of overlapping since otherwise the number of
mounting positions will be increased. Due to the rather spherical shape of the workspace
of the excavator presented in section 5.1.1, the problem is reduced to a dense packing
problem with uniform circles in a two-dimensional space. By artificially decreasing the
radius of the reachability CSpace sphere [Lozano-Perez 83], it can be guaranteed that even
the small empty areas between densely packed circles can be reached by the machine.
From these considerations, multiple rating functions can be defined which lead to finding
the next best mounting pose.

Border Rating
This rating function is based on the consideration that target areas which are close to
non-traversable ground should be excavated but can be reached from less positions than
areas in a completely open space (see consideration 1).
100 5. Algorithms for Efficient Landscaping

As the excavation operation reduces the traversability of an area, the tendency is that
areas which do not block traveling paths should be chosen first. Starting to excavate in
rather open areas might therefore block the access to many of those areas. Therefore,
it seems to be an appropriate strategy to start excavation in areas which are close to
non-traversable and not previously influenced ground.
A possible rating function would then operate in two steps. At first, all cells are found
which have at least one non-traversable cell as their neighbor. These are the cells which
cannot be reached from all positions around. Algorithm 5.2 presents a solution running
through all traversable cells and searching for the non-traversable property in surrounding
cells. In case a non-traversable cell is found it is added to the list of border cells.

Algorithm 5.2: Finding all neighbors of non-traversable cells.


input : A grid map M
1 for i ← 0 to (cells x) do
2 for j ← 0 to (cells y) do
3 if cellij ==traversable then
4 for k ← (i − 1) to (i + 1) do
5 for l ← (j − 1) to (j + 1) do
6 if celljk ==non-traversable then
7 AddToBorderCellList(cellij );
8 end
9 end
10 end
11 end
12 end
13 end

Afterwards, the rating of all cells which lie inside the reachability circle around each of
these cells is increased. The more neighboring cells cannot be traversed the higher is the
rating of the central cell. This favors those poses that can only be reached from a few
points and should therefore be handled early. Algorithm 5.3 performs the reachability
rating for each border cell. For each traversable cell a rating is computed which depends
on the distance to the central cellij multiplied by a border rating factor Br .

Algorithm 5.3: Performing the reachability rating.


input : A grid map M
1 for m ← 0 to (border list index) do
2 cellm == cellij ; for k ← i − half radius to (i + half radius) do
3 for l ← j − half
p radius to (j + half radius) do
4 rating ← (i − k)2 + (j − l)2 · Br ;
5 AddToCellRating(celljk , rating);
6 end
7 end
8 end
5.2. Displacement 101

Distance Rating

In the following the rating based on the traveled distance between the current and the
desired pose is described. It is multiplied with the existing cell ratings evaluated earlier.
As long travel distances are time-consuming, the goal is to minimize the travel paths. The
smaller the distance d of the current excavator position is to the goal position, the smaller
should the multiplication factor become. A maximum navigable distance dmax is used to
control the decrease factor. Additionally, too close positions within the workspace distance
dw surrounding the current one should be avoided to guarantee a minimum displacement.
Both elements are integrated into the distance rating function presented in equation 5.4.
(
d
if d < dw
mdistance = dw d (5.4)
1 − dmax else

Afterwards, the best rated cell is chosen and the mounting position on the site is calculated.
In the following, a short test is performed to show the capabilities of determining the next
mounting position.

Next Position Determination Test

This small test executes the previously defined algorithm for determining the next position
including its rating functions. They are executed stepwise on an artificial surface shape of
a construction site and shown in figure 5.5.
The initial currently reachable surface shown in figure 5.5a is set to not a number (NAN)
(grey) for non-traversable and to zero (blue) for traversable cells. The current excavator
position is visualized as a single height peak in that cell. Figure 5.5b shows the state
after the border rating function has evaluated the current surface map. As can be seen,
areas which are too close to the border are rated lower than those which are at the desired
distance to the excavation area. Other areas at the center of the originally reachable
surface are not rated at all as they are too far away from the borders. All in all the border
rating chooses regions from which the areas to excavate at are well reachable.
Afterwards, the distance rating is performed which leads to the fully rated surface shown
in figure 5.5c. Starting from the current excavator position, the rating starts to increase
from zero up to the desired workspace distance dw to avoid positions which are too close
to the current one. Above that border, the existing rating is reduced by the increasing
distance to the excavator position. The overall result is that the highest rated areas are
close to dw and therefore in the perfect excavation distance to the non-traversable surface.
This problem is beyond the scope of this thesis. On a real construction site, further rating
functions could be influenced by possible truck paths or other factors like material depots.
Nevertheless, the solution at hand shows the feasibility to use simple rating functions
which are directly deduced from human decision processes, for solving a rather complex
question. This solution will further prove its usability in choosing the next excavation
pose in section 5.3.1.
The following step is to transfer the calculated mounting pose as input to the Path
Finding module.
102 5. Algorithms for Efficient Landscaping

(a) Current reachable surface (b) Border rated surface

(c) Fully rated surface

Figure 5.5: Visualization of the currently reachable surface with one peak showing the current
excavator pose (a), the border rated map (b), and the final rated map including distance rating
(c). The warmer the colors are, the higher the cell is rated.

5.2.2 Path Finding


In case the environment of the machine is not known before, because the region is way larger
than the sensor range or the goal is to operate in unexplored terrain, local and reactive
control approaches like behavior-based control [Brooks 86, Proetzsch 10a] have shown
the capability to safely navigate for shorter distances, even at high velocities [Thrun 06].
Nevertheless, in case of medium ranges or longer distances, deliberative planning approaches
which plan on coarse maps are required to keep the robot on track [Braun 09].
Although local methods usually require less computational power in comparison to global
ones, they bear the risk to get stuck in local minima and not to find optimal paths in all cases.
This counts for potential field methods [Magid 06] and probabilistic roadmaps [Kavraki 96].
The worst case are long traveling times or not finding a path at all.
Global deliberative methods based on genetic algorithms [Huang 11] or graph-based
planners [Hart 68] might find optimal paths, but are either slow in convergence towards
the desired goal or computationally complex.
5.2. Displacement 103

Machines on excavation sites are not allowed to drive at high velocities for safety reasons.
Therefore, the main goal of a path planner is the creation of an optimally short and safe
path minimizing the overall displacement or traveling time. The low velocities, the fact
that that the construction site defines the exact borders for the planning space, and the
possibility to perform the planning procedure in parallel to the local excavation task,
basically reduce the negative impact of the computational complexity of global deliberative
planning methods tremendously.
Therefore, an optimal deliberative path planner has been developed for the system at
hand, operating on a map of the excavation site. The algorithm for finding a path was
initially developed in [Schank 13] and presented in [Schmidt 15]. A suitable map type
for storing the environmental information is a binary occupancy grid map. Each cell can
either be occupied (true) or free (false). This data storage does not require a huge amount
of memory as the cell size can be set according to the dimensions of the used machine.
For this task the cell size is set to 1 m × 1 m. As the traveling speed on the excavation site
is not that high, an optimal path minimizes travel times. Therefore, the search algorithm
A∗ [Hart 68] is used. As it is computationally expensive, the algorithm is extended to
decrease computation times for larger maps. One of these optimizations is graph pruning
as described in [Harabor 11].
The original A∗ equally searches solutions in all surrounding cells. A first optimization can
be performed by reducing the number of nodes for each cell, as the drive kinematic does
not allow for turning on a spot and additionally behaves different while driving forwards
or backwards. Instead of choosing every cell, only a series of states for each central cell is
defined. Each cell consists of the following three items:

1. Position — grid map coordinates (x, y),

2. Orientation – 45° compass directions (east, north-east, west, etc.), and

3. Driving direction – forward or backward.

A graph is then constructed from the grid map where occupied cells equal unreachable
ones. The child states of each central cell are shown in figure 5.6. The paths are influenced

Figure 5.6: Possible child states from a given state. Forward driving is colored with blue arrows
and backward driving with red ones [Schank 13].
104 5. Algorithms for Efficient Landscaping

by the costs for traveling from one cell to another. Possible factors are driving forward
or backward or changing the driving direction. Making driving backward more expensive
than forward leads to a minimum distance traveled in reverse. Associating a high cost for
changing the direction prevents from permanently switching between these modes.
To include safety into the path finding process, region growing is applied to the occupancy
grid map. By artificially increasing the cell size of obstacles, the dimensions of the robot can
be considered, and a minimum safety distance of the final path is guaranteed. Algorithm 5.4
presents a pseudo-code version of this method which is also depicted in figure 5.7.

Algorithm 5.4: Iterative region growing algorithm setting all k neighbors of occu-
pied cells to occupied via SetOccupied() during each iteration [Schank 13].
input : grid map M , number of iterations
1 for i ← 0 to iterations do
2 occupied cells ← FindAllOccupiedCells(M );
3 for j ← 0 to occupied cells.Size() do
4 neighbors ← GetEightNeigboursOfCell(occupied cellsj );
5 for k ← 0 to neighbors.Size() do
6 neighboursk .SetOccupied(true);
7 end
8 end
9 end

Figure 5.7: Visualization of the region growing algorithm executed with one iteration. Orange
cells are set to be occupied based on the previously occupied black cells [Schank 13].

A hierarchical approach similar to [Lee 09] is chosen to further improve the performance.
First a coarse map is constructed and, as the machine can not perform turns within the
size of the precise map due to its kinematic restrictions, the algorithm is only required to
be executed once on this map.
A coarse cell is set to occupied if one underlying cell is occupied. Although this reduces
the search space tremendously and provides better paths in line with the robot kinematics,
additional tests are required if the start or target position lies within an occupied block.
As shown in figure 5.8, it is checked for this block via the fine grid map if moving small
occupied cells to blocks around would allow for a free path to the desired cell.
5.2. Displacement 105

(a) (b) (c)

Figure 5.8: (a) The target position (red circle) lies within an occupied block of the coarse
map. (b) Analyzing the underlying cells shows that the target cell is free. The block is divided
into sectors (delimited by the blue lines), which are used to determine which neighboring blocks
should be set to occupied. (c) The block containing the target is now unoccupied, the obstacles
from the grid cells are moved to the neighboring blocks [Schank 13]

The created path often leads to reaching the position quite well. As the orientation is
usually adjusted within the last few path segments, the machine could often not achieve it
during tests. To improve the orientation accuracy, an additional alternate goal target is
set lying on a line in front of the machine and oriented like the desired goal orientation
as shown in figure 5.9. The algorithm is then executed two times searching for a path in
front of the desired pose for forward driving and one behind for moving backward.

Figure 5.9: Illustration of the alternate target poses used to reduce the orientation error at the
arrival. The dots in front and behind the arrow are alternate targets [Schank 13].

Because the coarse map is used for planning, the algorithm does not produce good paths
in case the target pose is very close to the current pose. If there are no obstacles in the
way and within the angular steering range of the machine, instead of performing complex
path planning, a direct line is constructed towards the goal.
Output of the previous steps are a sequence of poses. For the construction of the path only
orientation changes are important. Therefore, the sequence can be simplified by removing
intermediate ones that represent driving on a straight line. Those then can be replaced by
a one line segment as depicted in figure 5.10.
The desired path poses are created from the start and end points of the lines. The start
pose of the first segment is replaced by the current machine pose, while the final one is
just added after the end pose of the last segment. This ensures that the trajectory starts
from the current pose of the robot and reaches the target pose instead of the alternate
target pose used for path finding.
106 5. Algorithms for Efficient Landscaping

(a) (b)

Figure 5.10: A sequence of forward (blue) and backward (red) states after running the A∗ path
finding (a) and the path after the reduction process (b) [Schank 13].

To create a smooth transition between trajectory segments, the orientation at the last pose
of a segment is adjusted to match the orientation of the first pose in the next segment.

Qk Vk

qk
Qk−1 ◦ qk+1
Qk+1

qk−1 qk+2


Qk+2
Qk−2 ◦

Figure 5.11: Determining the tangent direction Vk of a way point based on neighboring way
points Qk−1 and Qk+1 [Arney 07]

Afterwards, a B-spline trajectory is generated from the previously computed poses, alike
the spline calculation presented in [Arney 07], as shown in figure 5.11. For this operation
the n + 1 poses of each path segment are used as way points Qk of the spline interpolation.
The tangents need to be computed before, as shown in the equation 5.5. They are used to
calculate the resulting tangent vectors T~1 to T~n−1 . When computing αk , the case of both
points standing in a perpendicular angle to each other and |~qk−1 × ~qk | becoming zero 0,
must be handled. In this case, α is set to 12 , which implies V~k = 12 (~qk + ~qk+1 ), meaning
that the tangent vector is the average of the two vectors between the way points.
5.2. Displacement 107

~qk = Qk − Qk−1 , k = 1, · · · , n
~q0 = 2~q1 − ~q2
~qn+1 = 2~qn − ~qn−1
|~qk−1 × ~qk |
αk = , k = 1, · · · , n − 1 (5.5)
|~qk−1 × ~qk | + |~qk+1 × ~qk+2 |
V~k = (1 − αk )~qk + αk ~qk+1 , k = 1, · · · , n − 1
V~k
T~k = , k = 1, · · · , n − 1
|V~k |
For computing the tangent vectors T~0 and T~n ,equation 5.6 is provided based on the
orientation yaw angle.  
cos(start.Yaw())
T~0 =
sin(start.Yaw())
  (5.6)
~ cos(end.Yaw())
Tn =
sin(end.Yaw())
In order to construct a cubic Bézier segment between each way point pair Qk and Qk+1 ,
two other control points are required. The Bézier control points are denoted by Pk,i where
Qk = Pk,0 and Pk,3 = Qk+1 . By iterating over k = 0, . . . , n − 1 points and using equations
in 5.7 and 5.8, the required control points for each segment can be calculated.

a = 16 − |T~k + T~k+1 |2
b = 12 · (Pk,3 − Pk,0 ) · (T~k + T~k+1 )
c = −36 · |Pk,3 − Pk,0 |2 (5.7)

−b + b2 − 4ac
α=
2a
1
Pk,1 = Pk,0 + αT~k
3 (5.8)
1 ~
Pk,2 = Pk,3 − αTk+1
3
Afterwards, equation 5.9 is used to calculate the interval limits [uk , uk+1 ] between each
way point pair of the n Bézier segments.

u0 = 0
(5.9)
uk+1 = uk + 3|Pk,1 + Pk,0 |

All of the control points Q0 ,P0,1 ,P0,2 ,. . .,Pn−2,2 ,Pn−1,1 ,Pn−1,2 ,Qn are then utilized for creating
a B-spline curve with the knot vector shown in equation 5.10.
 
u 1 u1 u2 u2 un−1 un−1
U = 0, 0, 0, 0, , , , , · · · , , , 1, 1, 1, 1 (5.10)
u n un un un un un
The resulting sequence of B-spline curves tagged with the suitable driving direction is then
delivered to the Driving state which cares about executing the path. It is described in
the following section.
108 5. Algorithms for Efficient Landscaping

y W CS

θe (t)
l(t)
lb + lv · v(t)
de (t)

p(t) xRCS

y RCS

xW CS

Figure 5.12: Parameters of the lateral controller [Fleischmann 13] with the look-ahead point
l(t), constructed from the communication delay lb , the velocity factor lv , the velocity v(t), the
heading distance error de (t), and the heading orientation error θe (t).

5.2.3 Driving
For executing the trajectory with the real machine, an adequate controller needs to be
chosen. [Fleischmann 13] has proposed a control approach for a heavy tractor at high
velocities. Due to the similar drive kinematic it fits well for controlling an excavator. Input
for this controller are the heading and the lateral error concerning the previously computed
trajectory. These and other required parameters are visualized in figure 5.12. An artificial
look-ahead point l(t) is defined to compensate for the delay in the system between the time
the commands are set by the controller and the actual execution on the machine. This
point is defined within the local robot coordinate system (RCS) positioned at the rear axle
of the robot with the x-axis pointing forward, according to equation 5.11. The current
velocity is represented by v(t), lb represents constant static delay of the communication
system, and the factor lv considers that the look-ahead point has to be further away at
higher velocities.
l(t)(RCS) = (lb + lv · v(t), 0)T (5.11)
Afterwards, the look-ahead point l(t)(RCS) is transformed into the world coordinate system
(WCS) via the current robot pose . This allows for calculating p(t) on the trajectory
spline, representing the shortest distance from the trajectory to the transformed look-ahead
point l(t)(W CS) . An efficient method for finding p(t) is the de Casteljau1 algorithm which
iteratively subdivides the trajectory spline into small linear sections and finds the minimum
distance to these linear sections afterwards. The first of the two values, the controller tries
to minimize, is the minimum distance between p(t) and l(t)(W CS) . It is called the lateral
error, defined as de (t). The second one is the heading error θe (t), defined as the angle
between a perpendicular vector to d~e (t) and the vector from the robots position towards
l(t)(W CS) .
1
http://en.wikipedia.org/wiki/De_Casteljau’s_algorithm
5.2. Displacement 109

The lateral controller is based upon the Stanley Controller [Thrun 06] and further refined
in [Schank 13]. It is similar to a PID closed-loop controller, with parameters kp1 and kp2
as proportional factors, one integral factor ki , and one differential factor kd . As driving in
reverse was originally not considered, equation 5.12, which calculates the steering angle,
is adapted to also support driving in reverse. A signum function was added to change
the sign of the heading error in case the velocity is negative. Due to the fact that tan−1
becomes undefined when approaching at zero, v(t) is set to a fixed minimum value to avoid
any undesired behavior.
¯e (t) + ki t d¯e (τ )dτ + kd d¯′ (t)
" R !#
k p 2 d t−T e
δ(t) = kp1 · θ̄e (t) · sgn(v(t)) + tan−1 (5.12)
v(t)

Inputs for equation 5.12 are the average heading error θ̄e (t), the average lateral error d¯e (t),
and its velocity d¯′e (t), which are obtained by applying a moving average filter to the error
values. To avoid any oscillations in the steering signal, another moving average filter is
applied to the steering angle output.

Displacement Tests
To show the capabilities of the developed solution, displacement tests are performed within
the complex simulation environment [Schank 13], presented in section 6.1. The results are
shown in figure 5.13.

(a) (b)

Figure 5.13: Results of simulated test runs performing almost linear driving (a) and parallel
displacement (b) [Schank 13]. The cell size is 1 m and black and green cells represent obstacles.
Planned trajectories are either blue (forward) or ocher (backward). Recorded trajectories are
visualized in a dark green.

They include driving forward in figure 5.13a, which often occurs during trenching, parallel
displacement in figure 5.13b, which is required during basement excavation or slope
shaping, and long-distance driving in a complex environment containing a lot of obstacles
in figure 5.14, which will happen when the excavator or a truck travels to the next
excavation area. The recorded trajectories show only little deviation from previously
planned ones, never cross an obstacle, and almost perfectly reach the new desired mounting
pose.
The controller had been used to control a heavy tractor under high positive speeds on a
field [Fleischmann 13]. Therefore, it will also be able to control an excavator at around
5 km
h
on a real excavation site performing forward and backward driving.
After the algorithms for the displacement functions have been developed, the solutions for
the autonomous excavation system are presented in the following sections.
110 5. Algorithms for Efficient Landscaping

Figure 5.14: Path of a simulated long-distance driving in a complex environment [Schank 13].

5.3 Local Excavation


In this section appropriate solutions for the task of transforming the surface surrounding
the machine from the current state into the desired one are presented. This task consists
of the previously designed state machine presented in definition 4.7, which triggers the
execution of specific planners. These take the decisions about the excavation poses, the
dumping poses, the shape of the excavation and free-motion trajectories, and when the
task goal is achieved. The specific planners are described in the following. Afterwards, the
behavior-based control structure connecting these is presented.
The state machine controlling the global excavation cycle, shown in figure 4.7, contains
the following states and corresponding questions to be answered:

1. Goal Surface Reached: Is the goal surface reached?

2. Excavation Pose: Where should the bucket excavate next?

3. Excavation Strategy: Which strategy should be chosen for excavation?

4. Dump Pose: Where should the material be dumped?

5. Dump Strategy: How should the dumping trajectory look like?

The first question can already be answered by using the solutions presented in section 5.1.2
and by applying them to the local grid maps around the machine. Only the maximum
overall volume vrmax and the maximum height difference per cell hdmax for local excavation
rating need to be defined.
The following four sections provide solutions for the remaining questions.
5.3. Local Excavation 111

5.3.1 Excavation Pose


The goal of the local excavation pose planner is to find a most suitable entry pose for the
bucket on the current surface in order to efficiently remove the material without breaking
the bounds of the desired shape. According to the statements about human excavation
in chapter 3, the most important influence factors are the workspace of the machine, the
currently measured surface shape, the desired surface, and the desired dumping area on a
pile or inside a truck bed. The task is to develop an appropriate planner which transfers
the gathered knowledge about the human excavation to good decisions within the software
system. By dividing the area surrounding the excavator, which can be reached by the
bucket, into quadratic cells and performing a rating, the cell with the best score can be
chosen afterwards. Figure 5.15 shows a schematic depiction of the surface rating grid
around the excavator.

lmax
lc

Excavator Truck

nc

Figure 5.15: Depiction of the quadratic surface rating grid. It is defined by the cell side length
lc and the number of cells nc per dimension. To guarantee that cells lie within the workspace of
the machine, lc · nc has to be larger then twice the maximum boom elongation lmax .

Based on the currently measured surface shape of the environment and a desired surface
shape, which are both stored in two-dimensional grid maps as depicted in figures 5.16a
and 5.16b, a third rated grid map is filled in figure 5.16c. Afterwards, the center of the
cell with the highest rating is taken as the desired excavation position which is depicted in
figure 5.18.
In the following, the cell rating functions shall be developed. There will be two categories
of rating elements, absolute cell rating factors and relative ones, defining the cell rating Cr .
112 5. Algorithms for Efficient Landscaping

(a) Current surface grid (b) Desired surface grid (c) Rated surface grid

Figure 5.16: Temperature visualization of the current 5.16a, desired 5.16b, and rated 5.16c
surface maps. The warmer the colors are, the higher the cell is rated.

Those who absolutely define the central rating, are summed up (s0 , . . . , sn ) for one central
cell. The relative ones act on the whole area and multiply each absolute cell rating with
a specific factor (m0 , . . . , mm ). The overall rating function for a cell can then be defined
according to equation 5.13.
n
! m !
X Y
Cr = si mj , with i, n, j, m ∈ N (5.13)
i=0 j=0

This allows to define multiple rating factors in the following.

Workspace Rating
Obviously, only such cells may be chosen, that are reachable for the machine. Additionally,
faster operations are possible when the diversity of possible joint movements is higher,
which means that they are not close borders of the workspace. Therefore, the workspace
rating factor mws ∈ [0, 1] is multiplied with the existing cell and set to zero when the cell
is unreachable.
mws can be calculated from the previously analyzed workspace of the machine, presented
in section 5.1.1. It stores the reachability of each cell and the angular ranges (rpitch , rroll ,
ryaw ) representing which orientations are reachable within this cell. Equation 5.14 shows
the calculation of that value.
(
0 if unreachable
mws = rpitch rroll ryaw (5.14)

+ 2π + 2π if reachable

Additionally, the removal of cells from the excavation area, which are blocked by obstacles
or should not be influenced, is quite important to avoid undesired movements. Here a
boolean function multiplication factor mo is defined in equation 5.15.
(
0 if blocked
mo = (5.15)
1 if free
5.3. Local Excavation 113

Distance Rating

Another criteria is the distance d from the origin of the coordinate system of the excavator.
During the loading operation the bucket is usually dragged closer to the machine which
leads to undesired material movements towards the machine. Therefore, the whole process
should start farther away from the machine. Therefore, minimum and maximum distance
values need to be defined dmin and dmax that set the rating borders. The multiplied distance
rating value md is defined in equation 5.16 and visualized in figure 5.17.

0
 if d ≤ dmin
d−dmin
md = dmax −dmin if dmin < d < dmax (5.16)

1 if d ≥ dmax

md

0 d
dmin dmax

Figure 5.17: Depiction of the distance rating function md , depending on the distance d with
parameters for the minimum dmin and the maximum distance dmax .

Difference Rating

The main goal of the excavation task is to quickly remove the material from the area and
to load it into a truck or on a dumping pile. The higher the task precision needs to be, the
slower it has to be executed. Therefore, areas with a lot of material to remove should lead
to a high rating. Another advantage of excavation at areas with a larger height difference is
that in case of excavating rather loose material, material from the sides will flow in anyway.
Figure 5.18 depicts the idea of the surface distance rating where the difference between the
current surface grid (red) and the desired surface grid (green) is used to perform the rating.
To determine the rating for the central cell, the neighboring cells have to be considered
too, as their difference influences the ability for the inflow of material. The number of cells
to be searched depends on the bucket size and is defined by the factors w and h.
Equation 5.17 presents the cell rating sd based on the height difference hd of each cell and
hdij of the neighboring cells. Each of these differences is multiplied with rating factors FC
for the cell itself and FA for the neighboring cells.
w
X h
X
sd = F C · h d + FA · hdij (5.17)
i=−w j=−h
114 5. Algorithms for Efficient Landscaping

Figure 5.18: Schematic view of the cell-based evaluation of the excavation area with cells
containing the current surface (red), the desired surface (green), high rated cells (blue), and the
highest rated cell (orange) which is finally chosen.

Border Rating

In case the material is organized as a pile or in a trench that should be removed, the
previously created difference rating would lead to excavating at the central areas of the
pile where a lot of material is situated. If the material does not flow in from the sides
because it is too hard or the area to excavate is too large, a lot of material will remain at
the borders of the excavation area.

Therefore, a border rating sb is introduced, which decreases the rating of cells that are
surrounded by cells with less height difference hd , as shown in equation 5.18. The factor FS
defines the strength of the negative rating, while w and h define the search radius around
the cell.
w
X h
X 
hsb = FS · 1 − hdij (5.18)
i=−w j=−h

Dump Vicinity Rating

The whole operation should be finished as fast as possible. A lot of time is spent during
the safe transportation of the filled bucket towards the dumping area. The larger the
panning angle is, the larger is the transportation time. On the other hand, the bucket
usually needs to achieve a minimum height to safely dump into the truck or on the pile
without hitting the sidewalls or already existing material. Therefore, a rating function as
depicted in figure 5.19 is used.
5.3. Local Excavation 115

mv

0 d
dmin dpeak dmax

Figure 5.19: Depiction of the dump vicinity rating function mv depending on the distance d
with parameters for minimum dmin , maximum dmax , and peak distance dpeak .

The minimum dmin , peak dpeak , and maximum dmax parameter values are used to define
the rating value mv depending on the distance d in equation 5.19.


 0 if d ≤ dmin

 d−dmin

if dmin < d ≤ dpeak
mv = dpeak −dd−dmin
(5.19)


 1 − d max
peak
−d peak
if d peak < d ≤ d max

0 if d ≥ dmax

The previously presented rating functions are currently parameterized based on analyzed
movements of real excavator operators during the task of loading a pile of gravel into a
truck. Depending on the currently chosen scenario, multiple parameter sets are required to
focus on specific aspects of that task. To automatically adapt and learn those parameters
during the execution has been assigned to future work.

Determination Test for the Excavation Pose


This small test executes the previously defined algorithm including its rating functions on
a defined current surface shape and a desired surface in order to analyze the results. They
are shown in figure 5.20.
The current surface height is set to 1 m for the whole area shown in figure 5.20a. As can
be seen in figure 5.20b, the workspace rating is already performed to remove unreachable
areas. The desired excavation depth is set to −3 m for a cubic hole with a side length of
10 m at the front right corner of the area.
First, the volume rating is executed and provides an evenly rated value for the areas
to excavate within the workspace of the machine, shown in figure 5.20c. The distance
rating presented in figure 5.20d shows that areas in a larger distance are rated higher than
closer ones. The border rating reduces the rating of the areas close to the border of the
excavation area. As this test only cares about excavation, the dump vicinity rating has
been left out. Finally, the combination of all performed ratings is presented in figure 5.20f.
The highest rated point is lying at the back of the excavation area center inside the
workspace. Transferred to the whole rectangular region, this pose is in the middle of the
area. This is a rather good choice, as the operator could perform the excavation quite fast
as he or she is not close to the borders and additional material might also flow in from the
sides after one excavation operation.
116 5. Algorithms for Efficient Landscaping

(a) Current surface and workspace rating (b) Desired surface

(c) Difference rating (d) Distance rating

(e) Border rating (f ) Analyzed surface

Figure 5.20: Temperature visualization of the current (a), desired (b), and fully rated (f)
surface maps. Figures (c), (d), and (e) show the result of the pure volume, distance, and edge
rating functions. The warmer the colors are, the higher is the cell rated.

5.3.2 Elliptic Excavation Trajectory


The idea behind the excavation strategy planner is to develop an algorithm that describes
the movement of the bucket and that can be adapted easily to different requirements
imposed by boundary constraints, surface shapes, and soil types. The created trajectory
should reach an optimum efficiency concerning time, volume, accuracy, and energy. One
of the questions is in which way the force can be reduced by changing the trajectory.
An experiment in [Singh 95] shows that the restive force and the shearing force increase
depending on the excavation depth. As the acceleration of the soil is higher at high bucket
speeds, the soil gets more compressed and a higher shear force occurs. An important
influencing factor is the orientation of the bucket pitch angle, denoted as rake angle ρ, as
shown in figure 5.21.
Based on different experiments, it could be shown that it has a tremendous influence on
the resistive force of the soil and the amount of lost soil during the excavation. In case
the rake angle is too high, the bucket does not get filled as the material is pushed away
in front of the bucket. Experiments showed that a rake angle with a difference of 10° to
the trajectory angle α is a good value. The trajectory will also change during the mass
excavation phase from fast entering and bucket filling for loose soil to surface scraping for
very hard soil, even if the specific trajectory is not the main goal. The closer the current
and desired surfaces are, the less material is moved, and the more important it is to shape
the desired surface precisely.
5.3. Local Excavation 117

Figure 5.21: Schematic depiction of the rake angle ρ setting the orientation while the smaller
angle α defines the path of the bucket [Singh 95].

The excavation trajectory planner has been initially developed in [Noppenberger 11]. It is
further extended in the context of this thesis and depends on gathered parameters about
the material to excavate, like soft- or hardness, and the height difference between the
current and the desired height in the area. The goal is that it should be easily adaptable
to environmental conditions by changing only a few parameters. A very simple but usable
structure is an ellipse, as depicted in figure 5.22. According to equation 5.20, it is fully
defined by its radii a and b with the center point c0 = (x0 , y0 ).

(x0 , y0 )
×
x

Figure 5.22: Visualization of an ellipse defined by four parameters a, b, x0 , and y0 .

(x − x0 )2 (y − y0 )2
+ =1 (5.20)
a2 b2

It can be used to define flat trajectories for slowly entering hard or steep material and for
moving out of the soil fast at the end of the operation.
The solution splits the whole excavation trajectory into the three partial trajectories
penetration, dragging, and scooping, with start and end points p~, ~q, ~r, and ~s and their
bucket orientation angles ρi .
118 5. Algorithms for Efficient Landscaping

The first and the last part are modeled by two ellipses connected via a line segment for
dragging, to be able to directly influence the slope angle of the penetration and scooping
section. An example trajectory including all required parameters is shown in figure 5.23.
The variables to determine are the central point ~e1 and the radii a1 , b1 for the penetration
ellipsis, and ~e3 , a3 , b3 for scooping respectively.

b3

b1
~s a3
~e3
p~
~e1 a1

~r

~q

Figure 5.23: Visualization of the excavation trajectory consisting of two ellipses around ~e1 and
~e3 , and an intermediate dragging line from ~q to ~r to. The planned trajectory from the start pose
to the final pose is visualized in red with intermediate bucket poses in blue.

The equations for determining these values are presented in the following. From an
externally set parameter for the soil factor sf ∈ [0, 1], being zero for very soft and one
for very hard soil, the dimensions of the chosen bucket like height bh , width bw , and
depth bd , the desired depth for penetration dpenetration , scooping depth dscooping , penetration
radius a1 , scooping radius a3 , and dragging length ldragging can be determined as shown in
equation 5.21. For soft soil the whole bucket is usually entered and directly closed, while
harder soil requires more dragging of the bucket.
Due to [Bradley 98], dragging towards the center of the excavator is more efficient. There-
fore, the second ellipse is multiplied with a delta height factor δd with 0.5 ≤ δd ≤ 0.9,
depending on the kinematics of the machine.

dpenetration = bd · (1.0 − sf )
a1 = bh · (1.0 − sf )
dscooping = δd · bd · (1.0 − sf ) (5.21)
a3 = δ d · a1
ldragging = bd · (1.0 − sf )

Within this thesis these values could only be determined empirically and therefore count as
additional parameters. While trenching or landscaping, the desired surface shape should
not be crossed.
5.3. Local Excavation 119

A minimum height difference dmin can be evaluated from the currently measured and the
desired surface shape. This value can then be used to define the maximum penetration
depth dmax together with a minimum penetration height hdmin , as shown in equation 5.22.

dmax = min(hdmin , dpenetration ) (5.22)

From these values the ellipse radii b1 and b3 are determined as presented in the equation 5.23.

b1 = dmax
(5.23)
b3 = min(b1 , dscooping )

Based on the penetration start point p~ = (xp , yp ), determined by the excavation pose
planner in section 5.3.1, the center point of the first ellipse can be defined as follows.
a1
~e1 = (xp + , yp ) (5.24)
2
Afterwards, the dragging angle αd is derived for the linear segment as shown in equa-
tion 5.25.
αd = atan2(dscooping − dpenetration , ldragging ) (5.25)
It allows to determine the penetration finish point p~finish on the ellipse and the dragging
finish point d~finish , defining the dragging part in equation 5.26.
 π  π 
p~finish = x1 + a1 · cos − αd , y1 − b1 · sin − αd = (xpfinish , ypfinish ) = ~q
2 2 (5.26)
d~finish = (xpfinish − ldragging , ypfinish − (dscooping − dpenetration )) = (xdfinish , ydfinish ) = ~r

Finally, the center of the second ellipse ~e3 can be calculated as the last missing value for
determining the whole excavation trajectory.

~e3 = (xdfinish − a3 · sin(αd ), ydfinish + b3 · cos(αd )) (5.27)

Based on measured properties of the material to excavate and on the chosen bucket the
solution for designing the excavation trajectory only requires a few parameters to be fully
determined. It can be adopted easily from steep penetration and complete bucket filling in
the mass excavation scenario, up to surface scraping in landscaping without penetrating
the material too deep. Therefore, it is an appropriate solution for generating general
excavation trajectories.

5.3.3 Dumping Pose


Filling of material should happen locally, if possible, to avoid driving with a loaded bucket.
In case not enough material is available to fill regions with positive height differences, the
global displacement planner should contain strategies for a material transport within the
excavation site instead of a truck loading. Solutions for this general problem were far
beyond the focus of this thesis.
The goal of the dump pose planner within this thesis is to choose an adequate dumping
pose on a pile or inside the truck bed. Concerning truck loading, the whole truck bed
should be evenly filled afterwards and not be higher then the truck bed walls.
120 5. Algorithms for Efficient Landscaping

Especially at the beginning and if the material might contain larger boulders or rocks, the
dumping height should not be too high to avoid damaging the truck.
Although the pose of the truck nearby will be delivered by the perception system, a specific
strategy needs to be followed to efficiently load the truck bed without damaging the truck.
The dump position planner is described in the following. It uses the currently measured or
approximated truck bed volume presented in [Schmidt 14] and shown in figure 5.24, to
determine the next best dumping position.

x
Figure 5.24: Two-dimensional grid containing the measured and approximated volume of
material inside the truck [Schmidt 14].

The strategy to determine the position in the truck is similar to the one used by the
excavation pose planner. The truck bed is divided into cells which are rated by multiple
rating functions. These functions are inspired by the following ideas:

1. No position should be chosen which is unreachable or outside the truck.


2. Areas with less material should be filled first.
3. Loading too close to the sidewalls increases the probability of spilling material.

These ideas lead to the development of appropriate rating functions for the workspace
rating mw , the remaining volume rating sv , and the sidewall rating ms , merged in the
overall cell rating cr , which is defined as cr = mw · ms · (sv ). The single rating functions
will be described in the following.
5.3. Local Excavation 121

Workspace Rating
Similar to the workspace rating for finding the excavation pose, no cell should be chosen
which is not reachable from the current excavator pose or blocked by some obstacle. The
information about the workspace of the excavator gathered in section 5.1.1 and about
detected obstacles mentioned in section 5.5 is used to suppress every other rating for these
cells. Therefore, the result is multiplied by 0 in this case, as defined in equation 5.28.
(
0 if unreachable or blocked
mw = (5.28)
1 else

Remaining Volume Rating


For performing the remaining volume rating, the difference between a grid containing a
fully filled truck and the currently measured truck volume is evaluated. Also the rating
of the neighboring cells is considered to dump in an area with a low volume of material.
Equation 5.29 presents the formula for the remaining volume rating sv with dhij being
the height difference in a cell, FC and FA representing weighting factors, and cw and ch
containing the number of searched cells in width and height direction around the central
cell to be rated. cw ch
X X
sv = F C · d h + FA · dhij (5.29)
i=−cw j=−ch

Sidewall Rating
Since the material is rather loose after being excavated, it will flow away from the dumping
position towards the sidewalls of the truck anyways. Additionally, the probability to spill
material is increased when dumping too close to the sidewalls of the truck. Therefore,
sidewall rating functions concerning the width w and length l of the truck bed are chosen
to favor areas at the center of the tuck, as depicted in figure 5.25.

m sw m sl

1 1

0 w 0 l
wleft wcenter wright lfront lcenterfront lcenterback lback
(a) (b)

Figure 5.25: Visualized rating functions for the width (a) and length (b) axis of the sidewall
rating.

In contrast to the width rating function, the one for the length has an equally rated area
at the center to define the desired loading zone within the truck bed, because the length is
usually way larger then the width.
122 5. Algorithms for Efficient Landscaping

The functions for computing the two independent ratings for the width msw and length
msl are given in equation 5.30, while the overall sidewall rating function is defined as the
product of the two ratings ms = msw · msl .



 0 if w ≤ wleft
 w−wleft

if wleft < w ≤ wcenter
msw = wcenter −w w−w
left

 1 − wright −w center
center
if wcenter < w ≤ wright


0 if w ≥ wright
(5.30)


 0 if l ≤ lfront
l−lfront



 lcenter −lfront
 if lfront < l ≤ lcenterfront
front
m sl = 1 if lcenterfront < l ≤ lcenterback
 l−lcenterback
1− if lcenterback < l ≤ lback




 lback −lcenterback
0 if l ≥ lback

After these highly specific planners required for the local excavation have been presented,
the central structure is described which controls the correct execution of these planners
and generates the trajectories of the free motion based on their decisions.

5.3.4 Behavior-based Free Motion Trajectory


In this section the structure for executing the excavation task is described. As already
mentioned, the state machine defined in 4.7 is implemented to trigger the execution of the
task. How the excavation trajectory is created has already been described in section 5.3.2.
In the following, the strategy for generating the trajectories for the free motion and for
triggering the specific planners is developed.
In literature, a lot of approaches for planning trajectories for robots with high DOFs have
been presented. Classic approaches, often evolving from industry robotics, use a deliberative
approach to plan the complete trajectory beforehand. B-Splines were used [Kim 11] to
find optimal paths minimizing cylinder forces and swing torques. PRMs [Kavraki 96]
and RRTs [Maeda 11] are found to be very effective in finding collision-free paths, using
random samples for path planning. They can be tuned to operate quite fast [Langari 15].
Genetic algorithms (GAs) [Huang 11] or evolutionary methods are computational efficient,
but have a lot of parameters that must be set appropriately, which is often not a trivial
task. This also applies to the parametrized script approach [Rowe 97a], which operates in
the joint space and is used to create specific trajectories for a machine performing mass
excavation, excluding any handling of obstacles.
A rather complete model of the surrounding space is used as the input for all of these
methods. A coarse map of the construction site exists which is suitable for global path
planning within the displacement function. No precise data is available for the local
excavation process whose goal dimensions lie within the range of centimeters. Concerning
the boom operation, the real machine has to operate in a continuously changing environment.
Often, the weather and ground conditions on the site and the positions of human beings
and other machines in the area change. Although planning with uncertainty could also be
added [Ferguson 04], a standard deliberative planning approach is not suitable to adopt
to continuously changing conditions.
5.3. Local Excavation 123

The planner would perform permanent replanning and therefore deliver no benefit to rather
lightweight reactive planners. Biology-inspired reactive approaches [Brooks 86, Arkin 98,
Rosenblatt 97, Nicolescu 00] have shown to generate suitable trajectories for complex
robotic systems. Their modularity allows for an incremental system design as new abilities
can be easily added. At the robotics research lab, the integrated behavior-based control
architecture (iB2C) [Proetzsch 10b] showed to produce safe and efficient control values
for autonomous robots within complex outdoor environments. Therefore, it is chosen for
developing the generation of trajectories during the task of autonomous excavation.
The whole structure is built from behavior modules and groups, that have typed ports
defining their interface, and edges that can be used for data transfer between equally typed
ports. Behavior modules and groups already have predefined ports and related internal
methods, which define and handle their specific behavior interface. Behavior-based groups
can subsume other modules and groups to built up hierarchically nested structures. As
groups are handled like modules from the outside, the term module will be used for both
element types in the following.
As a single behavior module usually represents a small part of the behavior of the system,
a lot of “intelligence” is implicitly encoded in its structure. A single behavior including its
specific ports is shown in figure 5.26.


e
s a
 , s , i 
F e
i r

u
Figure 5.26: Behavior module of the iB2C [Proetzsch 07] architecture with its specific behavior
ports for stimulation (s), inhibition (~i), activity (a), target rating (r), normal input (~e) and
normal output (~u) ports, and its transfer function F .

The full capabilities of the incoming and outgoing ports of each behavior module are
described in [Proetzsch 10b] and will therefore only be briefly explained to understand the
way in which the outputs are generated within a behavior network.

The Activity a ∈ [0, 1] notifies about the actual amount of influence the behavior
wants to have to stimulate other behaviors, with 0 representing no influence and 1
representing maximum influence.

The Target Rating r ∈ [0, 1] defines the satisfaction of the behavior in relation to its
goal, where at 0 stands for total satisfied and 1 for the opposite.
124 5. Algorithms for Efficient Landscaping

The Stimulation s ∈ [0, 1] determines the amount of activation of a behavior from the
outside, beginning with 0 till full stimulation at 1.

The Inhibition ~i ∈ [0, 1]k can be used by other behaviors to suppress its stimulation.

The Input Vector ~e ∈ Rm contains the additional input ports of this module.

The Output Vector ~u ∈ Rn consists of the non-behavior specific module output ports.

The Transfer Function F(~e, s,~i) calculates the output vector ~u and therefore defines
the complex behavior of the module.

From the stimulation s and the inhibition vector ~i the remaining stimulation called
activation A ∈ [0, 1] can be computed as shown in equation 5.31. It defines how much this
behavior is triggered by other behaviors.

A = s · (1 − max(~i)) (5.31)

As there are usually multiple behaviors implemented inside the system and some might try
to influence the same output value, a useful resolving of conflicts needs to be performed.
Within the iB2C architecture this coordination is done by fusion-behaviors as shows the
small network in figure 5.27 consisting of three competing behaviors and one fusion module.

Figure 5.27: Small behavior network containing one fusion behavior (blue) and three coordinated
behaviors with their activities ai , target ratings ri , and their output vectors ~ui , to the fusion
behavior [Proetzsch 10b]

According to the interface of the standard behavior nodes, the fusion module provides
ports which allow the n behaviors to be fusioned Bi (n, i ∈ N, 0 ≤ i < n), to connect their
activities ai , target ratings ri , and their output vectors ~ui .
From these values and from a defined transfer function F for fusioning the input values,
a merged output vector ~uf , fusion activity af , and the resulting target rating uf are
computed. Apart from defining own fusion functions, the following three functions are
already integrated and suitable for most of the cases.
5.3. Local Excavation 125

The Maximum Fusion only forwards the control value of the most active behavior. It
is chosen when only the strongest signal should pass and a real fusion is not desired.
~uf = ~us , rf = rs where s = argmax(ai ) , af = max(ai ).
i i

The Weighted Average Fusion weights the control values of the competing behaviors
related to their activity a. The behaviors want to achieve different goals, and stronger
ones should get a higher influence on the fusioned values.
p−1 p−1 p−1
a2j
P P P
aj · ~uj aj · rj
j=0 j=0 j=0
~uf = p−1
, af = p−1
·A , rf = p−1
P P P
ak ak ak
k=0 k=0 k=0

The Weighted Sum Fusion sums up the control values of the merged behaviors based
on their activity. It is used when the behaviors logically contribute to one final value
and should be merged.
p−1
P
p−1 p−1
! aj · rj
X aj · ~uj X a2j j=0
~uf = , af = min 1, ·A , rf =
max(ai ) max(ai ) p−1
P
j=0 i j=0 i ak
k=0

Additionally, multiple design guidelines for structuring behavior networks have been
developed in [Proetzsch 10b]. One aspect focuses on the way in which a complex task is
divided into a possibly hierarchical network of modular behaviors solving the task. Next to
splitting up based on task goals, system requirements, execution regions, or used sensors,
the most important aspects for this thesis are the division along sequences to execute and
the division along DOFs to control.
This knowledge allows to construct the behavior-based trajectory generation in the following.
This part of the system creates the trajectories that should be executed on the machine
in joint space coordinates. The motion of the bucket tip during excavation consists of
adjusting the length, the height, and the orientation. While swinging the bucket, the
superstructure is turned towards the dumping or excavation pose. This motion pattern can
be described best via the cylinder coordinate system. It defines each point in Euclidean
space via the length l, the height h, and the azimuth angle ϕ according to figure 5.28.
As the previously presented planners generate positions in Euclidean space (x, y, z) these
are transferred to polar coordinates (l, h, ϕ) via equation 5.32.
p
l = x2 + y 2 , h = z , ϕ = atan2(y, x) (5.32)
The inverse conversion from polar to Euclidean coordinates is performed by equation 5.33.
x = l · cos(ϕ) , y = l · sin(ϕ) , z=h (5.33)
The behavior layer is subdivided into two levels. The higher one utilizes the special
planners and creates trajectories by continuously computing new poses for the TCP in
polar coordinates. These are then transformed into the joint space by the lower layer. It
contains the inverse kinematic solver which also realizes a safe motion of the machine.
Both layers are described in the following.
126 5. Algorithms for Efficient Landscaping

z=h

l
y

ϕ
x

Figure 5.28: Schematic cylinder coordinate system including the length l, the height h, and
the azimuth angle ϕ for positioning the bucket.

Generation of Polar Trajectories

The state-related behaviors utilize the previously presented specific planners for choosing
the excavation or dumping pose and their strategy.

The behavior-based layer consists of a behavior network implementing all the capabilities
of each state from state machine shown in 4.7 as a distinct behavior group according to
the division along sequences rule. The states executing a trajectory are Swinging, Digging,
Swinging Back, and Dumping and implemented as the behavior groups ApproachDumpPose,
ExcavationEllipses, ApproachExcavationPose, and DumpMaterial in figure 5.29.

The sensor systems for environmental perception installed on the real test platform are
presented in section 6.1. They require an initial procedure for gathering enough information
about the current state in the first place. Therefore, an additional state Initial Scanning
has to be added to the state machine shown in figure 4.7 and described by definition 5.4.
CI SO

ExcavationEllipses InitialScanning DumpMaterial ApproachTargetPose


5.3. Local Excavation

Length Length Azimuth Height Pitch Roll Yaw


Azimuth left Height up Pitch left Roll left Yaw left ApproachDumpPose ApproachFinishPose ApproachExcavationPose
further closer right down right right right

BDB BDB BDB BDB BDB BDB


BDB BDB BDB BDB BDB roll BDB Approach
length length azimuth height pitch yaw
azimuth left height up pitch left roll left right yaw left Pose
further closer right down right right

Length Azimuth Height Pitch Roll Yaw

DeltaToAbsoluteValues

CylinderToCartesianConverter

DetectTrajectoryDeviation

SI CO

Figure 5.29: Structure of the behavior-based network for autonomous excavation comprising the behavior groups ApproachDumpPose,
ExcavationEllipses, ApproachExcavationPose, and DumpMaterial that realize the states of the of the FSM presented in figure 4.7.
127
128 5. Algorithms for Efficient Landscaping

Definition 5.4 (Implemented FSM Excavation Cycle) The finite state machine
for the global machine displacement according to figure 4.9 is defined as

• Σ = {reached, not reached, found, finished, chosen},

• S = {Initial Scanning, Goal Surface Reached, Excavation Pose, Swinging Back,


Excavation Strategy, Digging, Dump Pose, Swinging, Dump Strategy,
Dumping, Finished},

• s0 = Initial Scanning,

• δ = {(Initial Scanning, finished, Goal Surface Reached),


(Goal Surface Reached, reached, Finished),
(Goal Surface Reached, not reached, Excavation Pose),
(Excavation Pose, found, Swinging Back),
(Swinging Back, finished, Excavation Strategy),
(Excavation Strategy, chosen, Digging),
(Digging, finished, Dump Pose),
(Dump Pose, found, Swinging),
(Swinging, finished, Dump Strategy),
(Dump Strategy, chosen, Dumping),
(Dumping, finished, Goal Surface Reached)}, and

• F = {Finished}.

This additional state and the Finished state are represented by InitialScanning and
ApproachFinishPose inside the behavior network.
The internal structure of the different behavior groups representing the states is described
in the following. As the output of each group is a desired pose of the TCP, the rule for
division along DOFs is used for splitting up each dimension of the pose, the behavior
wants to influence like, azimuth, length, height, roll, pitch, and yaw into single behaviors.
Like this, the output of each dimension can be tuned by adjusting the parameters of one
specific behavior module.

InitialScanning As the laser scanners only deliver their data in two vertically oriented
scan planes, three-dimensional distance data can only be accumulated over time by
merging all points into one point cloud. To gather enough information for the first
excavation cycle, an initial scan starting from a minimum to a maximum torso angle
has to be performed by mbbTurnTorso while three Keep-behaviors adjust the length,
height, and pitch to the desired initial values. This is encoded in the structure shown
in figure 5.30.
5.3. Local Excavation 129

iB2C Output

Output Fusion

mbbTurnTorso

Keep Initial Length Keep Initial Pitch Keep Initial Height

Deliver Initial Length Deliver Initial Pitch Input iB2C Input Deliver Initial Height

Figure 5.30: Structure of the InitialScanning group containing mbbTurnTorso per-


forming the initial turning and three Keep-value behaviors for each other dimension to
influence.
By installing multidimensional sensor systems or a 360° LiDAR System as presented
in [Chan 13], the complete environment could be instantly perceived and the state
machine would just switch on the perception part of the system.

ApproachDumpPose, ApproachExcavationPose, ApproachFinishPose They set


the parameters for approaching a specific pose in three-dimensional cylinder co-
ordinates. All behaviors get their input from external modules determining the
dump, the excavation, and the final TCP pose. They use the ApproachTargetPose
behavior group to achieve their goal. This group contains one control behavior per
coordinate axis following the division by DOFs rule (length, height, azimuth, roll,
pitch, yaw) which adjusts the current TCP pose towards the desired one as depicted
in figure 5.31.
iB2C
Output

Output Fusion

Adjust Adjust Adjust


Pitch Length Azimuth

Adjust Adjust Adjust


Yaw Height Roll

iB2C
Input
Input

Figure 5.31: Schematic structure of the ApproachTargetPose group.


130 5. Algorithms for Efficient Landscaping

Each of these Adjust-behaviors implements a PID controller as its transfer function.


The proportional P , integral I, and differential factor D are set to compute the
delta output value ∆o from the current input value cI and the desired input value
dI according to equation 5.34.
X e
u = ∆o = P · e + I · ei + D · (5.34)
∆t
The activity a and target rating r, defined in equation 5.35, depend on the parameters
for satisfaction. These are a delta δt around the target, which covers measurement
errors, and an approaching goal range δg, which handles the linear decrease of r.
(
0 if |e| ≤ δg
a=
1 if |e| > δg
(5.35)

0
 if |e| ≤ δg
e
r = δg−δt if δt < |e| ≤ δg

1 if |e| > δt

DumpMaterial efficiently dumps the material inside the truck or on the pile. The
DumpAtPoint behavior utilizes the three previously presented Adjust- behaviors
to execute the dumping process. The modular structure of the group is shown in
figure 5.32. It consists of increasing the Length, Height, and opening Pitch angle
of the bucket in parallel which leads to the overall behavior depicted in figure 5.33.

iB2C
Output

Output Fusion

Adjust Adjust Adjust


Height Length Pitch

DumpAtPoint

iB2C
Input
Input

Figure 5.32: Structure of the DumpMaterial Figure 5.33: Side view of the dump
group containing the DumpAtPoint behavior con- trajectory of the DumpMaterial behav-
trolling three Adjust- behaviors for a parallel ior resulting from three behaviors work-
Height, Length, and Pitch angle adjustment. ing in parallel.

Output of this behavior-based action layer is a desired TCP pose of the machine. The
lower layer presented in the following section guarantees that this pose is reached if possible
and without hitting an obstacle in the space around the machine.
5.4. Hardware Abstraction via Inverse Kinematics 131

5.4 Hardware Abstraction via Inverse Kinematics


The iB2C elements module, group, and fusion behavior are used to build up the structure
of the solver, which is depicted in figure 5.34, according to state machine presented in
figure 4.8. It was initially developed in [Pluzhnikov 12].

Sensor Controller
Output Input

OvercomeLocalMinima DoubleToActivityInhibition

TaskSolvedSwitch

BoomJointSolver

DirectKinematicsSolver

OutputMultiplexer

Controller Sensor
Output Input

Figure 5.34: Modular structure of the inverse kinematic solver. It contains four elements which
deliver their sensor values (yellow) and control values (red) via specific interface channels. The
horizontal bars in the BoomJointSolver module visualize the activation (yellow), the activity
(green), and the target rating (red) of the behavior-based group.

BoomJointSolver
The core element of the solver is the group BoomJointSolver which contains a set of
identical controllers, one for each joint according, to the division along DOFs rule for
behavior networks. During each iteration cycle the desired delta joint value is calculated
locally.
According to the kinematic structure of the bucket excavator, the four joints for the
boom, dipper, stick, and bucket pitch operate in the same plane. This can lead to
negative consequences, as all the joints, unaware of each other could move towards the
same direction resulting in a too large global step. To prevent this undesired movement,
inhibition connections are used. In case a joint which is close to the end of kinematic chain
moves, it inhibits other joints rotating in the same plane and suppresses their activity for
one iteration. The inhibition signals propagate in this way from the end of the kinematic
chain to its beginning across all the joints, moving in the same plane.
132 5. Algorithms for Efficient Landscaping

Each joint controller consists of two instances which work in different directions for
decreasing and increasing the angle. This permits to inhibit one direction from the outside,
which will be used for the collision avoidance presented in section 5.5.
Each controller has two parts which operate simultaneously. Its structure is represented
in figure 5.35. One part is trying to reach the desired position (Solve Position De-

iB2C
Output
Output

Fusion

Solve Solve
Position Orientation
Decrease Decrease

iB2C
Input
Input

Figure 5.35: Internal structure of the decrease joint part of a joint controller containing one
module for position and one for orientation adjustment.

crease/Increase), another one adjusts the desired orientation (Solve Orientation


Decrease/Increase) of the TCP. Their results are combined by a Fusion behavior with
a weighted fusion function, which creates the control values by summing up the input
values and dividing them by two.
The relation, between the influence of the the positioning part and the one of the orientation
part is defined by a special coefficient Kw . If Kw = 1, only the positioning part is important
and the output of the orientation part is neglected. If Kw = 0 only the orientation is
active. If 0 < Kw < 1, both parts are considered but with different importance. This
factor facilitates to adjust the influence of one joint on the resulting output concerning
position and orientation. The joints at the end of the kinematic chain which are closer
to the bucket mostly deal with the orientation of the TCP. The farther away a joint is
from the end of the kinematic chain, the more position-oriented it is. This is motivated
by the increasing lever arm lengths from the end of the chain towards the beginning. For
example, an angular change of the boom joint leads to a way larger positional change and
less orientational change at the TCP, in comparison to the bucket pitch joint.
Each of the four behavior modules composing a joint controller has a clear and simple
structure. It receives the actual joint angle and the x and y coordinates of the actual
and desired TCP points within the local two-dimensional joint rotation plane as an input.
Then, each behavior tries to move the actual point to the desired point by rotating
the corresponding joint. The maximum increment of the angle for one step is limited.
Additionally, it depends on how close the actual and desired points are relative to each
other. The latter one allows to decrease the maximal step size in a region close to the
desired pose and therefore increases the accuracy.
5.4. Hardware Abstraction via Inverse Kinematics 133

DirectKinematicsSolver
The DirectKinematicsSolver module also shown in figure 5.34 provides the input for
the joint controllers. The module contains a model of the direct kinematic chain in
Denavit-Hartenberg notation [Hartenberg 55], presented in appendix A.3. The chain is
updated with the current values of the joint angles provided to its input. Afterwards, the
module provides data for both joint controllers responsible for the positioning and the
orientation of the TCP, correspondingly. For the positioning part, the module translates
the coordinates of the actual and desired positions of the TCP into the coordinate frames
connected to corresponding joints. The resulting x and y coordinates serve as an input for
the joint controllers.
For the orientation part, coordinates representing the actual and the desired orientation
of the TCP are translated into the corresponding joint coordinate frames. The frames
are represented as 3 × 3 rotation matrices. Each column of a rotation matrix represents
coordinates of the three basis vectors i, j, k of the corresponding coordinate system. A
joint can perform a rotation only around one axis and cannot adjust all three vectors
simultaneously. Therefore, only those vectors that can be affected most should be chosen.
As the rotation around the z-axis can change only the x−and y−coordinates of the basis
vectors, the basis vectors with the least z-coordinates should be picked, i.e. the ones with
the lowest deviation from the xy-plane of the joint. As both the actual (a) and the desired
(d) TCP orientations have to be considered at the same time, the final selection of output
coordinates is made on the basis of the criteria presented in equation 5.36.

arg min(|idz | + |iaz |, |jdz | + |jaz |, |kdz | + |kaz |) (5.36)

The x−and y−coordinates of the corresponding coordinate vectors then serve as an input
for the joint controllers.

TaskSolvedSwitch
The main purpose of the TaskSolvedSwitch module depicted in figure 5.34 is an estimation
whether the desired pose of the TCP is achieved. It generates the activation signal for the
behavioral network. Therefore, it is activated when the new desired pose is introduced
until the task has been solved. It also generates the reset and output current position
signals for the OutputMultiplexer module.

OutputMultiplexer
This module decides when and which signals should be provided as an output of the
solver and which signals the DirectKinematicsSolver module receives as an input. The
decision whether it is chosen is based on ratings for orientation and the position. For
this particular task the orientation rating should be prioritized as it is important for an
excavator not to lose the content of the bucket.
The previously presented kinematic solver is able to numerically solve arbitrary open
kinematic chains with n degrees of rotational freedom. By adding a behavior for adjusting
the length of linear joints, the solver can be easily extended. Up to now, safety is not
handled within the solver. To show the extensibility of the approach, the collision avoidance
part is presented in the following which controls the inverse kinematic solver via inhibition
ports.
134 5. Algorithms for Efficient Landscaping

5.5 Safety via Collision Avoidance


In this section the concept for the obstacle avoidance system is introduced which extends
the inverse kinematic solver and prevents it from undesired collisions with other objects.
It requires a data structure to store the geometries of environmental objects. To prevent
self collision, the geometry of the excavator itself needs to be stored. Additionally, the
perceived shapes of other objects in the environment like human beings, construction
machines, buildings, material stocks, or vegetation have to be saved to avoid a collision.
By also inserting artificial or virtual objects, the system can be prevented from hitting
imperceivable objects known beforehand, digging to deep, or entering a safety area. The
collision avoidance was initially developed in [Göckel 13] and presented together with
low-level safety fields in [Zolynski 14].

PolarOctree Module
There exist multiple approaches for storing objects in the space around a robotic system.
Vector-based approaches store perceived objects as a list of vectors tagged with properties
like shape or type, which does not require a lot of memory. Collision avoidance for larger
spaces with a lot of obstacles has an increased computational complexity as the path to
execute needs to be checked for possible collisions with all elements from the list. Spatial
map types like three-dimensional metrical grid maps of equal-sized cells require a lot of
memory. In addition, they allow for local collision checks around a central cell which can
be performed in parallel. Nevertheless, as the area around the excavator usually contains
a lot of free space, a lot of requests have to be performed during the generation of a safe
trajectory.
Using an efficient topological sorting structure which combines the benefits of vector
based maps with those for grid maps is the solution for a data efficient storage and for
performing fast requests for specific sub-spaces. A suitable structure is denoted as an
octree [Meagher 80], which fits optimal because it spans easily over a large space but can
also be very detailed in the areas where precision is needed.
As presented in section 5.3.4, the autonomous excavation system internally operates in
polar coordinates. Therefore, a cylindrical version of the octree is the most suitable solution
for storing the obstacles. The following definition 5.5 specifies its structure precisely.

Definition 5.5 (Cylindrical Octree) A cylindrical octree O is defined as a tuple O =


(N, E) with

• N is a set of map nodes with N = {n1 , n2 , . . . , nm }, and

• E is a set of map edges with E = {e1 , e2 , . . . , eo }.

Each map node n ∈ N has an attribute status s ∈ {occupied, semi-occupied, empty}.

Definition 5.6 (Map Edge) A map edge e ∈ E is a tuple e = (n, n′ ), with

• (n, n′ ) being an ordered tuple of map nodes with n, n′ ∈ N ∧ n 6= n′ .


5.5. Safety via Collision Avoidance 135

While the structure of the cylindrical octree is the same as for the Cartesian version,
the main difference is that three-dimensional cylinder coordinates are used instead. To
separate the cells into eight sub-cells the three dimensions azimuth, length, and height
are also divided by two. Each cell stores a status property which is either set to occupied,
semi-occupied, or empty.
Besides this, each cell can have additional attributes for indicating arbitrary object
properties like type or velocity. Figure 5.36 shows an initially empty root tree and two
separation steps into sub-trees. In the second division step the original room is already
partitioned into 64 sub-trees. The separation is only performed, in case the cells are
semi-occupied. The maximum number of possible sub-cells in the second division step is
64.

(a) (b) (c)

Figure 5.36: Visualized octree before the subdivision (a), after the first subdivision, (b), and
after the second subdivision (c). Each dimension is bisected, while the dotted lines visualize the
cuts [Göckel 13].

Usually, large regions of the octree stay empty and therefore unseparated, which leads to
the benefit of a relatively low memory usage. An important aspect of the low allocation is
the high processing speed for all operations.
This is due to the fact that all methods can operate recursively on the octree and terminate
early if the requested region of the tree is empty or fully occupied. Figure 5.37 visualizes
the empty grid structure, an excavator with a nearby truck as inserted obstacles, and
the structure after their insertion. Whereas the left part of the tree is empty, the areas
occupied by objects are highly detailed. In this example, a request of the status for points
in seven of eight first-level cells can be returned without any recursion.

ObstacleOctree Module
The module acting as a gateway between the PolarOctree data structure and accessing
modules is the ObstacleOctree. It instantiates the empty tree, initially inserts the
excavator shape to avoid self-collisions, and provides multiple module ports for setting
tree parameters, storing new obstacles, and requesting distances to stored objects.
136 5. Algorithms for Efficient Landscaping

(a) The empty octree struc- (b) Inserted objects for self-collision (c) Visualization of the octree
ture, visualized as a blue and the truck nearby, visualized as after the insertion of the truck
point cloud. a red point cloud. and the excavator.

Figure 5.37: Different visualizations of the octree structure.

Distance data point clouds gathered from the environment perception part can also be
sorted into the grid for modeling the current surface around the machine. In table 5.1 all
ports and important methods which are necessary to achieve those tasks are specified.

Ports Content
Parameters workspace dimensions, minimum cell size
Input distance data point cloud, object shapes, distance
requests
Output distances to obstacles, status visualizations, workspace
limits
Methods Update(): Checks in periodic intervals for new jobs
like adding objects or status requests
CreateTree(): Initializes the tree instances and cre-
ates the self-collision module

Table 5.1: Port definitions of the ObstacleOctree module.

Restriction Module

Up to now only capabilities of the octree for storing and requesting data have been
presented. In the following it will be described how this structure is used for an active
dynamic obstacle avoidance. Section 5.4 presented that each of the behavior-based boom
joint controllers solves the task for position or orientation separated into angular increase
and decrease. Via the inhibition of one direction, this joint can be prevented from moving
further towards an obstacle during the movement. Full inhibition will completely freeze
the motion of this joint. The collision avoidance is then implemented by defining a
watchdog Restriction module knowing which joints it needs to inhibit in order to prevent
a supervised element from hitting an obstacle. It requests the closest distance between
its given position and the nearest object in the tree from the ObstacleTree module and
calculates the resulting inhibition for the joints to influence. Depending on the element
to supervise, minimum and maximum distance factors dmin and dmax are defined for the
calculation of inhibition i, as shown in equation 5.37 and visualized in figure 5.38.
5.5. Safety via Collision Avoidance 137


1
 if 0 ≤ d < dmin
dmin −d
i= 1+ dmax −dmin
if dmin ≤ dmax (5.37)

0 else

0 d
dmin dmax

Figure 5.38: Visualization of the function for calculating the inhibition i. The inhibition is
fully active below a minimum distance at dmin and shrinks linearly to zero at dmax .

The interface of the Restriction module is presented in table 5.2.

Ports Content
Parameters minimum inhibition distance factor
Input Current position of elements, minimum and maximum
joint angles
Output Increase and decrease inhibitions
Methods CalculateInhibitions(): Calculates the inhibitions
for the relating joints

Table 5.2: Port definitions of the Restriction module supervising a system element like the
boom, the cabin, or the bucket position.

Due to the fact that the gathered environmental information determining the position of
obstacles might be noisy and imprecise, objects which are found at the border for fully
inhibition dmin will continuously switch between full and lower inhibition. In this case
the relating joints will be uninhibited for a few control cycles when the object disappears,
allowing it to move towards the obstacle.
To prevent this, a history smoother is added which eliminates the effect of this switching
behavior. It guarantees that the full inhibition status is only abandoned when it is really
safe and not when only a few values are above dmin . The behavior is shown in figure 5.39.
The previously presented structure is capable of actively avoiding the collision with obstacles
in the area around the machine during the operation. If there are too many obstacles, this
local approach might prevent the machine from moving at all.
138 5. Algorithms for Efficient Landscaping

Full
inhibition
Partial
inhibition
No
inhibition
input value inhibition state

Figure 5.39: Visualization of the history smoother preventing the inhibition state to fall below
1 in case the input value drops below full inhibition for only a few cycles [Göckel 13].

In this case a global collision avoidance extension needs to be developed which directly
influences the behaviors generating the excavation trajectory. As this is beyond the scope
of this thesis, the cyclic operating system for autonomous excavation and landscaping has
been modeled completely.
The following section will therefore conclude and discuss the contents of this chapter.

5.6 Discussion
Initially, important planners and their implemented algorithms for taking complex decisions
within the system have been presented. These include the decision when the task is finished
and where the excavation and the displacement operations are executed.
All of the presented algorithms operate on knowledge which is gathered from the environ-
ment via sensor systems delivering noisy and imprecise information. Therefore, the quality
of the output directly depends on the sensor precision. While the rather coarse map used
within the displacement function does not depend on highly precise data, this does not
hold for the local excavation function. Only a precise localization of the machine itself and
internal and external data gathering will allow for achieving the desired precision within a
few centimeters for each dimension.
The displacement function relies on an optimized A∗ path planning in combination with a
trajectory controller that has already proven its capability to control heavy machines on
a given trajectory before. It has been extended to also precisely follow the path in case
of driving backwards. The developed optimizations of the A∗ algorithm, can cope with
large excavation sites with a few hundred meters in size, because they combine the original
optimality of derived paths with a computational efficiency.
Concerning the excavation part, the most important questions were, where to excavate
and dump the material and which strategy is to choose to perform this task. To answer
the first question, suitable rating-based solutions have been presented which incorporate
the knowledge about the decision making of an expert operator regarding multiple rating
elements. These are combined to the final rating of each grid cell around the machine or
within the truck bed. As it is beyond the scope of this thesis to perform own surveys or
long-term tests with real operators, or an analysis of their precise decision making, the
current results were mostly gathered from an analysis of related works.
5.6. Discussion 139

In case future research projects focus on that specific topic, the developed solution at
hand allows to easily integrate their results as additional rating functions. It was deduced
from related research, that the specific shape of the excavation trajectory is important
as it largely influences the occurring forces and bucket fillage based on current material
properties. Therefore, a new ellipsis-based excavation trajectory generation approach has
been presented that only depends on a few parameters about the material to handle. It
allows for setting appropriate values reaching from performing deep excavation in soft
material to surface scraping in hard material. As the borders for maximum depth and
inclination can be set too, it is also perfectly suitable for being used in landscaping
where the desired surface shape should not be crossed. Afterwards, the complex behavior-
based trajectory generation for the free motion of the bucket has been developed which
coordinates all the previous planner decisions for generating trajectories in Euclidean space
during the machine operation. Its structure is mostly influenced by dividing the task
sequences into separate modules and by splitting up the control behaviors along the DOFs
of the system. Afterwards, the general behavior-based inverse kinematic solver has been
presented, which numerically solves the inverse kinematic task via multiple behaviors and
can be applied to arbitrary open kinematic chains consisting of hinge and linear joints. The
extensibility of this modular solver approach has been proven by adding a safety layer for
collision avoidance, operating on a very efficient octree obstacle map of the environment,
which dynamically prevents the kinematic chain from hitting objects around the machine.
The goal of this chapter was to present suitable solutions for each of the local problems
which need to be solved to perform an excavation and landscaping in an autonomous way
according to the system sequence developed in the previous chapter. The final system
structure is now completely defined as shown in figure 5.40.

Pa
t
en

th
g
m

in

Fo
ce

llo
an
la

w
Pl

in
isp

g
th
D
Pa

Next Trajectory
Position Path Control

Excavation

Dump Dig

Legend:
Architecture How Where How Where
Sub-architecture
Planner

Expert Operator Knowledge


Figure 5.40: Status of the system after the crucial algorithms have been developed. The process
is controlled by the architecture while specific decisions are taken by the planners.
140 5. Algorithms for Efficient Landscaping

Due to the modular structure of the system, the system behavior could be easily extended
by replacing the existing planners, in case better solutions would be found for solving a
specific sub-problem in the future. By implementing additional excavation or interaction
planners for different bucket types or tools, the capabilities of the system can be successively
extended.
The next chapter will show the capabilities of the complete architecture in combination
with the previously developed algorithms to solve the overall task of landscaping, including
the sub-tasks of mass excavation and trenching, in an acceptable way. The tests are
performed inside a complex simulation environment and on a real excavator operating
under realistic construction site conditions.
6. Landscaping Test Scenarios

In this chapter the developed control architecture and the implemented algorithms for
cyclic operating excavators performing landscaping in an autonomous manner are evaluated
and discussed. The experiments are executed inside a complex simulation environment
and on a real excavator test platform.
As the construction sector is not part of the life of an average person, the names of
the machine elements, the attachments, and the technical terms my be unknown to the
reader and have to be explained first to be able to understand the test scenarios and
possibly occurring problems later. Therefore, this chapter starts with an introduction of
the developed test platform which was built by extending an existing wheeled excavator
from VOLVO Construction Equipment (CE). For safe and cost-efficient experiments, a
complex simulation environment was developed which is used to evaluate, the previously
developed system architecture under well-defined, but realistic conditions. Afterwards, it
is shown, what can be transferred from reality into the simulation and vice versa. As the
simulation allows for defining specific start conditions, for delivering the ground truth, and
for executing many test cycles, way more experimental setups can be evaluated than on
the real robot.
Afterwards, different excavation scenarios are defined which are executed within the
simulation and on the real excavator. They can be divided into the two parts evaluation of
machine control and of autonomous excavation. The first part consists of executing multiple
previously planned trajectories. This will show the quality of the implemented closed-loop
control system and provide information at which execution velocities an appropriate
modeling precision can be achieved. The second part defines test scenarios for the two
main operation areas for an autonomous machine — mass excavation and landscaping.
Recorded movements of human machine operators executing the same tasks allow for
evaluating the quality of the results. The goal is either to load as many tons per hour into
a nearby truck with the machine, to excavate a defined planar shape, to dig a trench, to
create a slope, or to model a complex surface shape within a defined precision. After each
test scenario, the recorded data is presented and discussed.
In the following section the experimental platform and its simulated variant are described.
142 6. Landscaping Test Scenarios

6.1 Real Excavator and Simulation


By means of a description of the used test platform, including the extended electrification
elements like sensors and actors which had to be added to convert it from a standard
excavator to a robot, the names of machine elements and the technical terms will be
resented. Afterwards, the implemented simulation environment that, has been built up for
safe and for cheap testing under guaranteed circumstances, will be presented. The experi-
mental platform and the simulation environment were initially presented in [Schmidt 10a]
and [Schmidt 10b].

Test Platform
The main goal of the implementation on a test platform is to exemplarily show that the
developed system is capable of taking the correct decisions under realistic conditions. The
experiments consist of performing an excavation operation and of loading a real dump
truck. They are executed under similar conditions compared to those on a real construction
site. Therefore, the gathered raw data and measured results can afterwards be used to
make assumptions about the behavior of a whole class of similar machine types. It would
not make sense to show the possibility of automating a construction machine by using
an exotic one with a rather specialized purpose and a low market share. By selecting a
very commonly used machine with a wide variety of applications, multiple automation
scenarios can be examined, although a more specialized machine might be chosen if the
relating tasks like mass excavation are to be executed for a long period. Together with
VOLVO Construction Equipment (CE)1 a standard wheeled mobile excavator VOLVO
EW/180B [VolvoCE 05] was chosen, as shown in figure 6.1.
According to [Bauer 07], the machine belongs to the class of hydraulics-driven standing
mobile excavators. This means that it is usually mounted on its outriggers and on the
shield during the operation. Therefore, all forces usually arise from the movement of the
torso and the mounted boom and stick. Although the dipper can be moved in general, it is
usually not activated while scooping during the excavation operation. The main reason
for this behavior is that the human operator has to control it via a foot pedal inside the
cockpit which is not very precise. The machine is often equipped with a backhoe bucket,
connected to the bucket pitch joint, as shown in figure 6.2, for performing a step-by-step
loading cycle. To allow more versatile operations required for landscaping within this
thesis, a tiltable backhoe bucket is installed to allow for precise landscaping tasks, e.g.
generating slopes at a specific angle. It can be tilted up to 45° via the bucket roll joint.
Although it might sometimes be used at a riverbank and therefore perform excavation in
water, the general application areas are dry middle-sized and large sites where the machine
is used to remove material from the ground and to shape the surface in a desired way.
If the average removal depth is smaller than one meter and the area to influence is quite
large, a lot of time will be spend to move the machine to the new mounting position. For
such a scenario, supporting drive-excavators like wheel loaders should be used to transport
the material to a central pile. Mounted next to this pile, the machine can the perform mass
excavation and truck loading with a high productivity. The dimensions of the machine are
shown in figure 6.2.
1
http://www.volvoce.com
6.1. Real Excavator and Simulation 143

Dipper
Stick

Bucket pitch
Boom

Truck Truck bed Torso

Bucket roll

Outrigger Shield

Figure 6.1: Picture of the excavator test platform, including the technical terms for machine
elements. It was delivered as a standard 18 t wheeled excavator EW/180B machine produced by
VOLVO Construction Equipment. Next to it there is the truck whose truck bed is to be loaded.

Figure 6.2: Dimensions of the 18 t excavator test platform with M = 2.92 m, L = 8.72 m, C =
3.17 m, and E = 1.29 m [VolvoCE 05].

The excavator, as delivered from the factory, was only compatible with a human operator.
It neither contained actuators which could be used for steering the machine, nor internal or
external sensors which allowed a closed-loop control. Therefore, a corresponding concept
had to be developed, to allow for adjusting joint angles and velocities [Hillenbrand 10].
In [Hillenbrand 14] it has been extended to allow the control of the substructure including
wheels, the outriggers, and the shield. A precise description of the used actuators, the
sensors, and the control hardware can be found in appendix A.2.
144 6. Landscaping Test Scenarios

The achievable control precision of the real machine plays an important role. Regarding
the experiments performed within this thesis, length measurement sensors are used to
indirectly measure the joint angles of the boom, the dipper, the stick, and the bucket pitch
joint. They measure the elongation of the related cylinder. In the following, the relation
between the sensor precision and the measurement error at the bucket tip will be presented
to motivate the usage of highly precise systems. Due to the sizes of the excavator boom
elements and the desired maximum positioning error of around 5 cm (±2.5 cm) at the
center of the bucket, a required precision can be calculated. While the azimuth and roll
errors eazimuth and eroll only depend on one sensor as depicted in equations 6.1 and 6.2,
the pitch error epitch depends on the other four joints, as shown by equation 6.3. The error
propagation for epitch is depicted in figure 6.3.

z epos
ezero
eneg

Figure 6.3: Graphical representation of the boom deviation caused by the propagation of the
sensor errors for the boom, the dipper, the stick, and the bucket pitch joint for a specific arm
pose, concerning zero error ezero = (x, z), positive error epos = (x − ∆x, z + ∆z), and negative
error eneg = (x + ∆x, z − ∆z) at all joints.

eroll = ebucket roll (6.1)


eazimuth = etorso (6.2)
epitch = eboom + edipper + estick + ebucket pitch (6.3)
In the following, the formulas for calculating the measurement errors ∆x and ∆y inside
the x/z boom plane are presented. Formula 6.4 defines the general error ∆v of value v,
which is determined via k measured values mk having a measurement error of ∆mk .
v
u K  2
uX ∂v
∆v = t ∆mk (6.4)
k=1
∂m k

It is the square root of the sum of the squared product of the partial deviations of v and
the delta measurement errors ∆mk .
6.1. Real Excavator and Simulation 145

As shown in appendix A.4, for each joint i, i ∈ {boom, dipper, stick, pitch} the measured
cylinder length ci , and the two arm element parts ai and bi form a triangle. Therefore, the
joint angle αi can be calculated via the law of cosines as follows.
 2
ci − a2i − b2i

αi = arccos (6.5)
−2ai bi
The angular measurement error ∆αi is calculated via formula 6.4 from the measurement
delta ∆ci in equation 6.6.
 
 
1  ci
∆αi =  ∆ci (6.6)

 2 2 2 2 
ci −ai −bi ai bi
1 − −2ai bi

For calculating the TCP position (x, z) in the plane of the boom with the arm element
lengths li , formula 6.7 is derived from the direct boom kinematics presented in appendix A.3.
 ! 
I i
! I i
X X X X
(x, z) =  cos αj lj , sin αj lj  (6.7)
i=0 j=0 i=0 j=0

From formula 6.4, the positional errors can be calculated in general, according to equa-
tion 6.8. v v 
u K u K
u 2 u 2 
uX ∂x uX ∂y
(∆x, ∆y) = t ∆αk , t ∆αk  (6.8)
u u 
 ∂αk ∂αk 
k=1 k=1

Inserting equation 6.7 for calculating the positions into equation 6.8 yields equation 6.9.
v
u K  2
uX I i
!
u X X
∆x = u t  − sin αj lj ∆αj 
i=k j=0
k=1
v (6.9)
u K  2
uX I i
!
u X X
∆y = u
t  cos αj lj ∆αj 
i=k j=0
k=1

As can be seen in formula 6.6, the denominator of the multiplication factor is smaller than
one for a triangle with an angle between ±90°. The resulting multiplication factor for ∆ci
is larger than one and increases quartically with the cylinder length ci . The global position
errors, shown in equations 6.9, are computed as the sum of local joint errors. These are
calculated from the squared sum of the angular joint errors multiplied with the element
length lj and the sine or cosine of the sum of the joint angles. As the sine and cosine
functions operate between −1 and 1 and the length and the angular error increase linearly,
the overall positional error increases quadratically.
Therefore, sensor systems with a small absolute error are chosen for these four joints. Most
suitable sensors are the MTS Tempsonics R-Series [Mts 14] with a resolution of 16 bit
(0.5 µm) and a maximum error of 1 µm.
146 6. Landscaping Test Scenarios

The larger the cylinders are elongated, the larger is the measurement error. Table 6.1
shows the parameters for the error calculation of the maximum elongation cimax and the
calculated local angular deltas ∆αi calculated via formula 6.6.

Joint ai bi cimax li ∆αi


Boom 0.69 m 2.09 m 2.73 m 2.09 m 1.033 23 × 10−5 rad = 0.000 591 998°
Dipper 1.87 m 0.71 m 1.97 m 3.84 m 0.148 425 × 10−5 rad = 0.000 085 041 1°
Stick 2.49 m 0.72 m 3.11 m 2.45 m 0.565 829 × 10−5 rad = 0.000 324 196°
Pitch 2.12 m 0.60 m 2.62 m 1.35 m 5.658 29 × 10−5 rad = 0.000 339 496°

Table 6.1: Table with the parameters of the four boom joints and the angular deviation ∆αi
calculated via formula 6.6.

Afterwards, the global error can be calculated via equation 6.9. The αi values are the
relating angles of the maximum elongation of the cylinders cimax . The final resulting
maximum positional error is (∆x, ∆z) = (3.168 41 × 10−5 m, 4.227 18 × 10−5 m) which is
very precise for the system. Therefore, the main source for measurement errors of the
position are tolerances between pins and bushes of the joints, imprecisely measured boom
element lengths, and incorrect mounting of the sensor systems.

Simulation
It would have been possible to perform all experiments directly on the test platform.
Nevertheless, it would have been more dangerous and way more expensive due to the
operational costs. Furthermore, it is almost impossible to create the same starting
conditions for all test scenarios. Therefore, a simulation environment shown in figure 6.4
was built, which is used for performing safe basic and long-term tests under controlled
parameters [Schmidt 08].

Figure 6.4: Screenshot of the simulation environment including the complex model of the
excavator, a dumping truck, and a simulated material pile for excavation.
6.1. Real Excavator and Simulation 147

To achieve a good match between the simulation scenario and real world tests, the
simulation tool has to facilitate a realistic representation of three-dimensional objects and
their environment, including their physical properties like masses and shape. In [Braun 07],
the flexible three-dimensional simulation framework SimVis3D based on open inventor
(OIV)2 has been presented.

It allows to simulate common sensor systems like optical cameras, laser scanners, infrared,
and ultrasonic sensors, as well as their physical properties. A single scene may contain a
huge number of three-dimensional models either provided in the OIV file format or in the
more general virtual reality modeling language (VRML)3 standard. The scene is defined
in an XML description file which is parsed and translated into a scene graph when starting
the simulation.

For this thesis, a SimVis3D simulation containing a realistically shaped excavator and
an environment model has been realized [Wettach 10]. Due to the high dynamics of the
excavator, the Newton physics engine4 is used to simulate all the machine masses, the
boom elements and joints, as well as the undercarriage including wheels and steering joints.
To achieve this, each visual three-dimensional scene element is extended with a collision
shape, a mass, and is connected to a joint for performing complex movements.

One important difference to a lot of previous robotic research projects and their simulation
environments is that the machine should be able to actively interact with a complex
material like soil. Therefore, a possibility to excavate soil and to dump it into a truck
needed to be developed. The simulation should facilitate a realistic visualization of the
material that is removed from the pile and of the the dumping into the truck, so that it
can be used for testing the environmental perception.

Initially, a particle-based soil simulation has been developed which basically allows for
realistic excavation of material [Schmidt 09]. As the computational complexity could not
be reduced to a reasonable level, an alternative has been invented based on a simple
overlapping simulation. In the area, where the soil can be removed, the space is divided
into three-dimensional cubic voxel with a side length of 5 cm. Multiple desired surface
shapes like piles, slopes, or trenches can be generated by adequately filling the voxel grid.
In case the bucket excavates somewhere and its three-dimensional shape touches a specific
voxel, it is just removed from the volume. Like this, the successively removal of material is
possible. The dumping area simulation basically performs an inverse process. The whole
approach is precisely presented in [Feldmann 16]. Similar to the way how sand falls down
in an hour glass and rests on top of the lower pile or slides to the side, the material is
successively dumped in parallel from the filled bucket into a voxel space.

By initially loading a three-dimensional shape into the space, the dumping area can be
situated inside a truck bed or on some other existing structure. Both voxel spaces are finally
visualized as a textured height field. This leads to ongoing changes in the environmental
state and can simulate the continuous material transfer from the pile into the truck bed or
to the dumping area.

2
Coin3D http://www.coin3d.org
3
http://www.w3.org/MarkUp/VRML
4
http://www.newtondynamics.org
148 6. Landscaping Test Scenarios

6.2 Test Scenarios


In the following, the test scenarios are presented which are used to show the capabilities
of the final system under realistic circumstances. During these tests, the environmental
information was gathered with the simulated or the real laser scanners mounted on the left
and right hand side of the excavator. The two point clouds are merged and filtered together
into a consistent three-dimensional point cloud of the environment. Perception modules,
which were not part of this thesis, generate a two-dimensional grid map containing the
currently measured surface height around the machine. Additionally, they determine the
pose of the truck bed relative to the center of the excavator [Böhm 15].
The scenarios are divided into three parts. First, previously planned trajectories are
executed without any autonomous functionality of the system. This allows for evaluating
the control precision of the test platform. Afterwards, a mass excavation including truck
loading is performed. For this purpose, the task is recorded during the execution by
human machine operators, too, and it is compared to the results of the autonomous system.
Finally, multiple landscaping tests with a successively increasing complexity are executed.
These start with horizontal leveling and trenching, continue with the creation of slopes,
and finish with shaping arbitrary surfaces in a fully autonomous way.
The tests are usually executed first within the complex simulation environment and
afterwards on the test platform in a realistic excavation site scenario if possible. As the
bucket roll joint could not be controlled on the test platform due to technical problems, the
tests which included slope creation could only be performed in simulation. A developed data
recording module is used to store the raw sensor data from the process during operation
for a subsequent analysis. Especially, recorded trajectories from the test platform can be
visualized inside the simulation scene for better understanding.

6.2.1 Trajectory Following


Currently, the internal parameters of the developed software and for the closed-loop control
of the real system are tuned by hand. Without a more precise analysis of the dynamics
and intense parameter tuning which is beyond the scope of this thesis, the behavior cannot
be improved tremendously. The goal of this first experiment is to evaluate the achievable
control precision of the system and the influence of the velocity on the execution inside
the simulation and on the test platform with the current parameter set.
The trajectory is created from of multiple reachable points. Intermediate points are
calculated via linear interpolation. This approach is chosen, instead of using the behavior-
based network for generating the free-motion trajectory presented in section 5.3.4, in order
to enforce a distinct repeatable trajectory which is independent from parameters inside the
behavior network. The data is recorded directly in the simulation environment and with
the internal joint sensors of the real excavator. Like this, the error sources remaining for
this test comprise numerical rounding errors inside the inverse kinematic solver presented in
section 5.4, the conversion from joint angles to cylinder lengths presented in appendix A.4,
and the measurement errors of the real sensors presented in section 6.1.
The yaw angle of the TCP directly arises out of the parallelism of the x axis of the TCP
coordinate system towards the vertical plane in which the boom, the dipper, the stick, and
the bucket pitch joint are situated and cannot be adjusted directly.
6.2. Test Scenarios 149

Therefore, one trajectory point only consists of the five values x, y, z, roll, and pitch. The
position is constantly changed along the line between two points via the trajectory running
velocity vt . Depending on the angular differences for roll and pitch linearly increasing
between the starting and the end point and the distance to the target point, the current
desired angles are computed. The coordinates and a visualization of the trajectory points
for each scenario are presented in figure 6.5.

(a) Trajectory Scenario I. (b) Trajectory Scenario II.

1: (7.5, −0.2, 1.75, 0°, 63°) 1: (7.5, −0.2, 3.0, 0°, 51°)
2: (7.5, −0.2, 0.5, 0°, 63°) 2: (7.5, −0.2, 0.5, 0°, 51°)
3: (6.0, −0.2, 1.0, 0°, −63°) 3: (6.0, −0.2, 1.0, 0°, −51°)
4: (6.0, −0.2, 1.5, 0°, −63°) 4: (5.0, 4.0, 2.0, 0°, −51°)
5: (5.0, 4.0, 2.2, 0°, −51°)
Figure 6.5: The reachable supporting points of the two trajectory scenarios and a visualization
as points (green) inside the simulation environment.

Scenario I simulates a pure excavation whereat the material is excavated in front of the
machine and dumped after lifting it at almost the same place without any torso movement.
The second scenario additionally turns the torso to the side while the boom is lifted to
perform a movement similar to a material dumping operation. Afterwards, the TCP is
moved back towards the starting position. In the following the results for the trajectories
within the simulation and on the real test platform are presented and discussed.

Results
The results of executing trajectory one within the simulation are presented in figure 6.6. It
shows normalized graphs of the differences between the desired and the currently measured
position of the TCP at different running velocities. As can be seen, the lowest difference
occurs for the slowest execution velocity at 0.1 ms and increases with higher execution
velocities. There seems to be an almost linear relation between velocity and the resulting
distance error. One reason why the distance is not even perfectly kept at low speeds
inside the simulation is that the numerical inverse kinematic solver is adjusted to achieve a
minimum precision of 5 cm. Additionally, there might be a few unreachable poses existing
inside the trajectory.
150 6. Landscaping Test Scenarios

∆(m)

0.2

0.15

0.1

0.05

0.0 %
0 10 20 30 40 50 60 70 80 90 100

Figure 6.6: Visualization of the position difference ∆(m) of trajectory I for different velocities
0.1 ms (red), 0.2 ms (blue), 0.4 ms (green), and 0.8 ms (brown) executed inside the simulation
environment.

In case of an unreachable pose, the numerical solver favors orientation precision over
positional vicinity. This solving behavior is intended as no material should be spilled when
the bucket is filled during transport operations. The pictures of the tests executed on
the real machine will show that no material is spilled during autonomous truck loading
operations (see figure 6.18). For the first two velocities, the achievable positional difference
remains within 5 cm for almost the whole trajectory. There are a few points along the
trajectory, that cannot be reached perfectly, which results in higher errors up to 7 cm.
Even at 0.4 ms the error is kept below 10 cm in most cases.
As a result from these first experiments performed in front of the machine without any
torso movement, a velocity around 0.4 ms is executable in the simulation without breaking
a bound of 10 cm. In this case the precision is still suitable for performing landscaping
operations reasonably, and the velocity is at an adequate level for mass excavation.
Now the results are presented for trajectory II in which the torso joint is also included to
simulate a dumping procedure next to the machine. The results are visualized as positional
difference graphs in figure 6.7. Again, it can be seen that the velocity has a large influence
on the achievable precision. The previously identified linear relationship between velocity
and positional error is almost retained for this test. Only velocities below 0.2 ms keep
the required precision of around 10 cm, while higher velocities up to 0.8 ms totally break
all bounds. At the highest velocity the desired end position is unreachable for 70 % of
the trajectory, similar to the first scenario. This leads to large deviations. Nevertheless,
a velocity of around 0.2 ms is suitable for a reasonable excavation and dumping in the
simulation environment.
Now the results of the execution on the real test platform are presented. Equally to the
previous tests inside the simulation environment, trajectory I was executed at different
velocities. The positional difference is presented in figure 6.8.
6.2. Test Scenarios 151

∆(m)

1.0

0.8

0.6

0.4

0.2

0.0 %
10 20 30 40 50 60 70 80 90 100

Figure 6.7: Visualization of the position difference of trajectory II for different velocities 0.1 ms
(red), 0.2 ms (blue), 0.4 ms (green), and 0.8 ms (brown) executed inside the simulation environment.

∆(m)

1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0 %
10 20 30 40 50 60 70 80 90 100

Figure 6.8: Visualization of the position difference ∆(m) of trajectory I for different velocities
0.1 ms (red), 0.2 ms (blue), 0.4 ms (green), and 0.8 ms (brown) executed on the real test platform.
152 6. Landscaping Test Scenarios

It can be seen immediately from the presented difference graphs that the linear relationship
between velocity and distance error remains, although the absolute errors are way higher.
It is remarkable that even for very slow executions at 0.1 ms and 0.2 ms the error can reach
0.9 m. Driving faster than these velocities is unsuitable for performing landscaping at all,
as the error increases up to 1.6 m at 0.8 ms .
Additionally, the minimal error never falls below 0.5 m. This can be explained by comparing
the desired and the recorded values of the four trajectories to each other. Instead of
just showing them inside a three-dimensional plot, they are directly presented within the
virtual environment, shown in figure 6.9, to visualize the excavation setting as the context
in which the experiments take place.

(a) (b)

(c) (d)

Figure 6.9: The desired (green) and the recorded (red) trajectory points while running trajectory
I on the real test platform at different velocities 0.1 ms (a), 0.2 ms (b), 0.4 ms (c), and 0.8 ms (d),
visualized inside the simulation scene.

The whole trajectory is executed with a 5° deviation of the torso angle around the 0°
operating point. This leads to a distance error of around 0.4 m at the TCP which explains
the minimal deviation. The reason for this behavior is that the parameters for the closed-
loop control of the torso in combination with a rather low-resolution encoder do not allow
for adjusting this joint with a higher precision. Therefore, the achievable overall precision
largely suffers from the deficiencies of the torso joint. In case this angular deviation is
excluded from the distance calculation, the remaining error of trajectory I executed at
0.1 ms reaches 0.2 m. However, the recorded points for velocities between 0.2 ms and 0.8 ms
only roughly follow the original trajectory and totally break all precision boundaries.
6.2. Test Scenarios 153

Although the recorded trajectory looks acceptable in figure 6.9a, the currently parame-
terized system requires an execution speed of less then 0.1 ms , if landscaping should be
performed and no obstacles should be hit accidentally during the execution.
Afterwards, trajectory II is executed which also includes turning the torso joint. The results
are shown in figure 6.10. Similar to the previous recordings, the relationship between

∆(m)
5.0
4.6
4.2
3.8
3.4
3.0
2.6
2.2
1.8
1.4
1.0
0.6
0.2
0.0 %
10 20 30 40 50 60 70 80 90 100

Figure 6.10: Visualization of the position difference ∆(m) of trajectory II for the different
velocities 0.1 ms (red), 0.2 ms (blue), 0.4 ms (green), and 0.8 ms (brown) executed on the real test
platform.

velocity and error remains linear and a minimal error of 0.3 m exists for most cases. This
can again be explained by the lack of precision of the torso joint adjustment.
To be able to follow a path including turning, the movement of this joint needs to be
performed slower. Even after subtracting the minimal error, the errors are still quite large
for a velocity of 0.1 ms . That is because of the different dead times of the real joints on
the test platform. Especially the torso joint starts to move quite late which can lead to a
huge deviation. The previously presented results show that the overall velocity needs to be
further reduced to 0.05 ms in case a high precision is required for the torso joint. As this is
usually only the case at the end of the free motion when the dumping or the excavation
area is approached, it will not play a large role if there are only a few obstacles around.
154 6. Landscaping Test Scenarios

Discussion

The goal of this section was to show the negative influence of an inappropriately tuned
real test platform by comparing it to the execution within the simulation. While the
used trajectory generation avoided numerical errors evolving from bad parameterized
behaviors, the remaining sources for deviations are the inverse kinematic solver and the
numerical rounding errors during computation. Since these error sources are the same
for the execution in the simulation and on the test platform, the deviation between both
types results from the closed-loop control of the real system.
By comparing the simulation results to the ones achieved on the real machine, it can
be seen directly that there is a huge difference concerning the reachable precision and
speed. While following a predefined trajectory in the simulation environment is suitable
at velocities up to 0.2 ms , this needs to be reduced to 0.1 ms or less on the test platform,
even when there is no movement of the torso joint involved. If the torso moves too, a
reduction to 0.05 ms or less is required, in order to obtain a certain precision. It should
be additionally mentioned that the values measured within the simulation represent the
ground truth, whereas the values recorded during the real execution are affected by sensor
noise depending on the applied hardware. Therefore, the absolute errors would still be
slightly higher for the test platform which would require even slower movements.
Although the virtual environment can not simulate the movement of a real hydraulic-driven
excavator realistically, especially the very complex interaction with the material, it can be
regarded as an optimally controlled machine. As the real tests were executed within rather
loose material and the machine was mounted on its outriggers and shield, the interaction
of the bucket with the material never led to any pressure problems within the system.
Thus, a real test platform with a well adjusted closed-loop control system provides a
better relationship between velocity and precision and can therefore be operated at higher
velocities.
In the following, the two main scenarios for mass excavation and landscaping and the
experiments performed are presented. During all operations the machine operates cyclically
to solve the given task in a fully autonomous manner.

6.2.2 Mass Excavation and Truck Loading


The truck loading scenario is a standard scenario for mass excavation of material, as
depicted in figure 6.11. The excavator is safely mounted at the center of the scenario and
has the goal to transfer the whole material inside the loading area into nearby trucks.
Neither is the relative position of the truck known, nor is the shape of the loading area
given to the control system beforehand. It has to find the truck pose and perform the
loading and dumping process in a completely autonomous manner, only based on gathered
knowledge of the environment via its perception system.
The mounted sensors do not provide a complete knowledge about the working space
immediately as described in section A.2.2. Due to sensing via two planar laser scanners,
an InitialScanning phase is always the first operation of every test run. A more
complex sensor system like the Velodyne HDL-32E, which is capable of directly gathering
a three-dimensional point cloud of the environment, makes such an initial scan obsolete.
6.2. Test Scenarios 155

Figure 6.11: Depiction of the truck loading scenario including a loading area (L) and the truck
to fill (T) close to the excavator (E).

Recorded values for this operation are the number of executed cycles, the initial time
(tinitial ), the minimum time (tcmin ), the maximum time (tcmax ), the average (tcaverage ) time
for one loading cycle, and the overall time for the whole operation tfull .
To be able to compare the achieved results to a real operator later on, tests with two
human machine operators are performed.

Human Machine Operator

The following trials allow for analyzing the shape of the executed excavation trajectories
and for evaluating the quality of the work of the autonomous excavation system later
on. They are executed on the test platform equipped with all previously presented sensor
systems. It is therefore possible to record the operator’s movements during his or her work.
While the first person is medium skilled without many hours of experience in the field, the
second one is well trained in performing excavation tasks. The task for both drivers is to
completely load the piles shown in figure 6.12 into a truck standing nearby.
The amount of material for both drivers is always about 20 m3 . After each test, the
material is dumped at the same position by unloading the truck bed there. The state
of the remaining piles after the operation is shown in figure 6.13. Obviously, the pile is
almost completely removed in both cases and loaded into the truck.
What can be seen additionally is that material was dragged towards the machine during
the operation which can thus not be removed anymore. This usually happens during fast
removal of material when the operator pulls out the bucket too late and therefore drags
material towards the machine. For this final ground clearing operation, the machine would
have to drive backwards which is not considered here.
156 6. Landscaping Test Scenarios

(a) (b)

Figure 6.12: Pictures of the initial piles of the autonomous truck loading test for operator one
(a) and operator two (b) marked by red boxes.

(a)

(b)

Figure 6.13: The piles of operator I (a) and operator II (b) after the truck loading, marked by
red boxes.

The execution times for the number of cycles are presented as two graphs in figure 6.14.
They are taken from a recorded video of the whole operation leading to a precision of
around one second. Table 6.2 concludes the results of these graphs by delivering the
required cycles, the minimum time tcmin , the maximum time tcmax , the average cycle time
tcaverage , and the full time tfull required to complete the operation.

By comparing the two graphs it can be seen that the deviation of the different cycle times
of the expert operator II is way smaller then those of operator I. The two outliers in the
first graph at cycles number 7 and 14 with cycle times above 65 seconds result from a
bad excavation operation which did not fill the bucket in the first place. Therefore, it was
performed twice during this cycle leading to significant increase of time.
6.2. Test Scenarios 157

t(s)

68
64
60
56
52
48
44
40
36
32
28
24
20
16
12
8
4
0 c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Figure 6.14: Required times for each cycle of the operation for operator I (red) and operator II
(blue).

Operator Cycles tcmin tcmax tcaverage tfull


I 15 24 s 68 s 38.14 s 9 min 32 s
II 13 23 s 35 s 27.93 s 6 min 3 s

Table 6.2: A table showing the recorded values for the two machine operators, including the
required cycles, the minimum time tcmin , the maximum time tcmax , the average cycle time tcaverage ,
and the full time tfull required until the operation is finished.

As already presented in section 3.4.2, the skilled operator is able to plan the digs ahead and
therefore does not need to perform a complex repositioning of the bucket. Furthermore,
he or she is able to adapt the excavation trajectory during the operation to achieve a full
bucket. This improved behavior also leads to a better average cycle time tcaverage of around
28 s. Including the outliers, the unskilled one needs around 10 s more for a full loading
cycle.
To be able to analyze their movements, the trajectories were directly recorded on the
machine during the execution. The results are visualized inside the simulation environment,
shown in figure 6.15 for operator I and II. They are depicted from two perspectives to
highlight different aspects of the trajectory.
According to the recordings from the front in figures 6.15a and 6.15c, is that the filled
bucket is directly lifted to the dumping height and length after the excavation operation is
finished.
This avoids any adjustment when the bucket is above the dumping area and additionally
avoids a collision with the truck bed. In parallel, the turning process towards the truck
starts. As the first adaptations concerning height and length are performed rather fast,
while keeping a closed bucket orientation, the main part of the free movement consists of
turning the torso.
158 6. Landscaping Test Scenarios

(a) Operator I front view (b) Operator I top view

(c) Operator II front view (d) Operator II top view

Figure 6.15: Recorded trajectories from the real driver visualized inside the simulation envi-
ronment for the two operators showing a front (a, c) and a top view (b, d).

In case the truck does not move or the desired dumping area is not completely filled yet,
this behavior leads to similar trajectories running on a sector of a circle, as can be seen
in the top views of figures 6.15b and 6.15d. When moving back to the pile position, the
height and length are retained. Only when the bucket comes closer to the pile, its height
and length are adjusted. This can be explained by the fact that the operator has only a
coarse shape of the pile in mind and can just start to choose the excavation pose when he
or she sees the pile again. In case the old dumping position inside the truck is filled, a new
one is chosen, leading to an adaptation of the circle radius or the elongation of the boom.

The main difference between the medium and expert operator concerning the shape of the
trajectory is the smaller amount of outliers from a circular path in case of the more skilled
operator. This way he or she can perform similar movements with the machine that allow
to increase the speed of the operation.

In the following, the same task is performed using the autonomous excavation architecture
developed in this thesis.
6.2. Test Scenarios 159

Autonomous Operation

Figure 6.16 shows the initial piles of the different truck loading scenarios executed within
the simulation environment. The task starts with a surface scan in order to initially
determine the pile and the truck position within the collected three-dimensional distance
data. This adds some extra time to the whole operation.

(a) Scenario 1 (b) Scenario 2

(c) Scenario 3 (d) Scenario 4

Figure 6.16: The different truck loading scenarios with pile volumes of (a) 15.1 m3 , (b) 21.4 m3 ,
(c) 25.3 m3 , and (d) 30.43 m3 to remove inside the simulation environment.

Scenario Center (x/y) Length Width Height Volume


1 (9.5 m, 8.5 m) 5m 5m 1.5 m 15.1 m3
2 (9.5 m, 8.0 m) 4.5 m 6.0 m 2.0 m 21.4 m3
3 (10.0 m, 8.0 m) 5.0 m 5.0 m 2.5 m 25.3 m3
4 (10.5 m, 7.5 m) 5.0 m 6.0 m 2.5 m 30.43 m3

Table 6.3: The parameters of the four pile scenarios concerning their relative center position,
their length, their width, their height at the center, and the resulting volume.

The scenarios mostly differ in the relative positions between the excavator and the pile as
well as in the volume and the shape of the pile, as shown in table 6.3. Similar times are
required for dumping the material during all runs, as the position of the truck remains
fixed. The goal of all tests is to stop when only 2 m3 or less of the pile are left after
the material has been dumped. At first, they are executed within the simulation and
afterwards on the real platform.
160 6. Landscaping Test Scenarios

Simulation Results
Although the simulation environment uses a physics engine to reproduce real effects like
masses, friction, and collision with other elements in the scene, the complex hydraulics
system could not be modeled. As mentioned in the previous section, this leads to an
almost perfectly closed-loop controlled machine whereat occurring dead-times, joint delays,
and dynamic effects do not play an important role. Therefore, the parameters presented in
table 6.4, that define the velocity of the operation, could be optimized towards a minimal
execution time However, the initial scanning delta could not be reduced, because the
recorded 3D point cloud has to be dense enough for finding the truck at the beginning
and for a precise analysis of the pile.

∆Height ∆Length ∆Azimuth ∆Roll ∆Pitch ∆Initial Scanning


0.06 m 0.06 m 0.3° 0.15° 0.5° 0.2°

Table 6.4: Parameters for the behavior execution of the autonomous control in delta (∆) values
per cycle time. The initial scanning delta defines how fast the torso is turned during this phase.

The results for the different scenarios executed inside the simulation environment are
shown in table 6.5 while pictures of the remaining piles are presented in figure 6.17.

Scenario Cycles tcinitial tcmin tcmax tcaverage tfull


1 10 35.482 s 21.06 s 30.77 s 27.901 s 5 min 46 s
2 18 35.546 s 20.294 s 30.77 s 26.999 s 8 min 11 s
3 24 35.58 s 20.362 s 30.107 s 26.92 s 9 min 11 s
4 26 35.548 s 20.272 s 29.623 s 26.724 s 11 min 51 s

Table 6.5: Results of the test runs in the simulation for each scenario, including the required
cycles, the initial time tcinitial , the minimum tcmin , the maximum tcmax , the average cycle time
tcaverage , and the full time tfull required to complete the task.

As can be seen, there is almost nothing left from the initial pile. More important is that
the average cycle times for each scenario are around 28 s, which is a similar value to that of
the skilled machine operator presented in the previous section. The pure execution times
without the initial scanning for the scenarios lead to material movements of around 15 m3
in 270 s, 21 m3 in 450 s, 25 m3 in 500 s, 30 m3 in 710 s.
3 3
By choosing an average value of 0.045 ms for this operation, a material movement of 162 mh
is performed. This is a good result for a truck loading operation, as it is almost equal to
excavating a basement with a depth of 2 m for a small house with 9 m × 9 m = 81 m2 in only
one hour. As the machine has to reposition itself for excavating a larger area, sometimes
must wait for the new truck to arrive after one is completely filled, or requires multiple
attempts for removing in case the material is densely packed, it would take longer for a
bigger scenario. By setting a conservative multiplication factor of 3 for these expectable
3
time delays, the operation lasts three hours and reduces the mass movement to 54 mh ,
which is a quite realistic value.
6.2. Test Scenarios 161

(a) Scenario 1 (b) Scenario 2

(c) Scenario 3 (d) Scenario 4

Figure 6.17: The remaining piles of the four removal scenarios (a), (b), (c), and (d).

The autonomous truck loading operation would be even more productive than the human
operator in an open mining pit where the machine can continuously load trucks nearby with
loose material. A situation like this occurs when a rope belt conveyor continuously refills
the pile with material that the excavator needs to load into trucks. Another large benefit of
the autonomous machine compared to the human operator in this very monotonous scenario
is, that no exhaustion takes place over the course of time. As the sensor systems scan
the working space via active beams, the task execution does not suffer from bad lightning
conditions. The machine is able to operate until other physical or social restrictions like a
lack of fuel, bad environmental conditions, or noise-free periods prevent it from continuing.

Real World Results

In the following, the experimental results for the real test platform are presented. Initially,
an adjustment of the trajectory execution parameters to the ones presented in table 6.6 is
performed. As the previous section has shown, this is required to keep the control precision
within acceptable bounds during the excavation and the free motion. Additionally, the
allowed amount of volume left after the pile removal had to be increased to 5 m3 as the
real area around the machine was not as even as the simulated one and therefore contained
small elevations that were also counted.

∆Height ∆Length ∆Azimuth ∆Roll ∆Pitch ∆Initial Scanning


0.03 m 0.03 m 0.1° 0.075° 0.25° 0.1°

Table 6.6: Parameters for the behavior execution of the autonomous control in delta (∆) values
per cycle time on the real machine. The initial scanning delta defines how fast the torso is turned
during this phase.
162 6. Landscaping Test Scenarios

Based on the results of the trajectory following in section 6.2.1, the values are either
halved in comparison to the parameters for the simulation, or even divided by three for
the ∆Azimuth parameter. This guarantees the required precision by performing very slow
movements in case the torso joint is involved.
Similar to the simulation experiments multiple scenarios for the pile removal are tested.
As shown in figure 6.18, they are executed within two different material types — gravel
and soil.

(a) (b)

(c) (d)

Figure 6.18: The four truck loading piles for the real excavator with different materials, shapes,
and volumes, marked by red boxes.

Scenario Cycles tcinitial tcmin tcmax tcaverage tfull


1 13 62.397 s 63.957 s 106.925 s 85.342 s 18 min 16 s
2 17 61.945 s 61.853 s 106.821 s 86.171 s 24 min 43 s
3 16 62.457 s 60.971 s 105.935 s 85.048 s 23 min 2 s
4 19 61.963 s 62.891 s 103.627 s 87.506 s 26 min 43 s

Table 6.7: Results of the test runs executed on the real machine, including the required cycles,
the initial tcinitial , the minimum tcmin , the maximum tcmax , and the average tcaverage cycle times as
well as the full time tfull required to complete the task.

The measured results of the real scenarios are presented in table 6.7, while figure 6.19
shows the remaining piles after the removal operation.
6.2. Test Scenarios 163

(a) (b)

(c) (d)

Figure 6.19: The remainders of the four pile removal mass excavation scenarios (a), (b), (c),
and (d) marked by red boxes.

The execution times show that the initial scanning time was almost doubled while the rest
of the cycles took in average three times longer than within the simulation. This could be
expected as the initial scanning delta was halved and the value for ∆Azimuth was reduced
to one-third of the simulation value, to handle the bad control state of the torso joint.
Therefore, the overall execution times are also only three times higher than the ones for
the simulation. The number of required cycles is sometimes higher than the ones within
the simulation. The reason is that the simulated pile is reduced directly by the overlapping
bucket volume and the pile shape. In reality, the complex interaction of the bucket with
the material will often not lead to a completely loaded bucket. Here the achievable sensor
precision plays an important role. It is required to plan an adequate excavation trajectory
through the real pile in order to fill the bucket.
Nevertheless, the remaining piles shown in figure 6.19 reveal that the autonomous excavation
system is able to remove the material almost completely. During the operation, some
of the pile material was dragged very close to the machine as can be seen especially in
figures 6.19a and 6.19d. As this also happened during the human excavation tests in
section 6.2.2, is is an acceptable result. Similar to the human operated tests, this material
is lying within the safety distance of the machine. Since the planner has to stay of this
area to prevent self collisions, the respective part of the pile cannot be removed.
164 6. Landscaping Test Scenarios

To compare the executed trajectories to a human driver, they were exemplarily recorded
during the first scenario in simulation and reality. Figure 6.20 shows the results from a
top and a front view.

(a) Simulation top view (b) Simulation front view

(c) Test platform top view (d) Test platform front view

Figure 6.20: Recorded trajectories from the autonomous mass excavation operation visualized
inside the simulation environment, showing a top view (a) and a front view (b) of the execution
inside the simulation and a top view (c) and a front view (d) of the execution on the real test
platform.

The first impression is that both trajectories look rather similar compared to those from
the real human operator, presented in figure 6.15. Hence the division of the trajectory
into the four elements loading, transporting, dumping, and swinging back, according to
statement 6, has proven successful. The lack of control precision for the real test platform
leads to higher noise inside the recorded trajectories.
As can be seen in figures 6.20a and 6.20c, both operators execute a circular path concern-
ing the dumping of material. Here, the behavior-based trajectory control developed in
section 5.3.4 generates similar movements to those of the human operator.
Additionally, the chosen dump and excavation poses based on surface rating functions
presented in section 5.3.1 and 5.3.3 are in the same areas on the pile or in the truck. The
one larger circle section leading up to the cabin of the truck results from the recorded
initial scanning procedure. The behavior of approaching the excavation position, shown
in figures 6.20b and 6.20d, is also very similar to the one of the human operator. The
bucket height is kept during most of the turning movements towards the excavation pose.
6.2. Test Scenarios 165

Although the control system stores the exact surface state from the last scan and can
choose the pose from this data, in general it is programmed to constantly update its
knowledge about the environment, according to statement 1. Furthermore, it takes its
decision on newest data, gathered by the left scanner, while turning back to the pile. Like
this, the system adapts to any intermediate surface changes which might have happened
due to a break down of pile material, based on statement 3.
Overall the autonomous mass excavation procedure has proven successful to work within the
simulation and on the real test platform. It created similar shaped trajectories compared to
the previously recorded human operators. The rather good material transfer times within
the simulation could not be achieved in reality as the operation velocity of the machine
had to be reduced to one-third. In case the closed-loop control of the real excavator is
improved, these adjustments can be successively reduced to allow for an autonomous mass
excavation at a velocity comparable to a skilled human operator. Considering also the
possible operation times, even the presented test platform will beat any operator in the
long run.
The previous tests showed that the machine is capable of autonomously removing material
without any concern of the remaining shape. The following tests incorporate a desired
surface shape that reaches from leveling to a specific height over trenching up to generating
a slope with the machine.

6.2.3 Landscaping
This scenario evaluates the capabilities of the system to model a specific desired surface in
the area around the machine as depicted in figure 6.21.

Figure 6.21: Depiction of the landscaping scenario including the excavator pose (E), the
dumping pose (D), and the landscaping area (L).

Input for this operation is a previously defined surface shape which the machine shall
create by successively removing material from the existing pile and by dumping it into the
nearby dumping area or the truck.
166 6. Landscaping Test Scenarios

As the main goal is not to move as many tons per hour as in the truck loading scenario,
the task is considered to be finished when the currently measured surface shape is below a
difference height in the whole shaping area.
Instead of showing arbitrary landscaping operations, the tests are sorted into different
complexity levels in which additional capabilities concerning environment adaptation are
required. These different levels are represented by the following test goals.

Horizontal leveling and trenching starts at the current shape and has the goal to
generate a horizontal plane with a specific height. In case the desired height is below
the surface, a trench is created. These first tests show the capabilities of the decision
system to choose an adequate excavation position and to horizontally restrict the
excavation depth in order to not break the bounds of the desired horizontal plane.

Slope creation has the goal to model a desired slope angle defined by a front height and
a back height in a specific rectangular region. Additionally, for a restriction of the
excavation depth of the path, the inclination of the excavation trajectory should not
break the bounds of the slope in this case.

Complex shaping is the creation of a rather arbitrary shape with the tilt bucket of the
excavator. This task requires to generate a very complex excavation trajectory in
three three-dimensional space in order to not excavate too much material.

In the following the different horizontal leveling scenarios including a final trenching test
are presented and discussed.

Horizontal Leveling and Trenching

(a) (b)

(c) (d)

Figure 6.22: Visualization of the different horizontal leveling scenarios with planes at the
desired heights of (a) 1.0 m, (b) 0.75 m, (c) 0.5 m, and (d) 0.25 m.
6.2. Test Scenarios 167

During the first experiments horizontal leveling is performed. Afterwards, the desired plane
height is set to be below the surface height in order to create a trench. The four desired
scenarios for the horizontal leveling tests are visualized as color-coded height fields in
figure 6.22. The goal is to either reduce the existing pile to 1.0 m, 0.75 m, 0.5 m, or 0.25 m.
All of these experiments are executed on the first pile scenario shown in figure 6.16a,
because it contains a central height of 1.5 m and is almost completely reachable from the
excavator position.
Within the simulation environment the pile is always completely filled at the beginning. The
resulting piles of the four scenarios are shown in figure 6.23. Obviously, all resulting piles

(a) Scenario 1 (1.0 m) results (b) Scenario 2 (0.75 m) results

(c) Scenario 3 (0.50 m) results (d) Scenario 4 (0.25 m) results

Figure 6.23: The results of the four horizontal leveling scenarios reducing the pile to different
heights executed inside the simulation environment.

were almost perfectly modeled to their desired horizontal leveling height. The remaining
deviations are below the defined precision bound of 10 cm. However, the simulated gravel
pile only removes every overlapping space of the three-dimensional models of the bucket,
and no real material movement is simulated.
Therefore, the created trajectories did not break the desired surface height bounds. Tests
on the machine are necessary to decide if the chosen strategy also works with real material.
The results of the experiments with the real excavator are presented in the following. The
operation starts with a soil pile having a central height of around 1.5 m. It has a similar
168 6. Landscaping Test Scenarios

shape as the pile in simulation scenario II (see figure 6.16b) and is shown in figure 6.24.
The allowed difference between the desired height and the current one is set to 10 cm.

Figure 6.24: Initial pile for the leveling operation executed on the test platform, marked by a
red box.

The four scenarios are successfully executed on this pile and the resulting state after each
step is shown in figure 6.25. However, the created heights do not look as smooth as within
the simulation. The target precision of 10 cm could not be kept in reality. One explanation
for that is the lack of control precision of the real system. In combination with the
measurement uncertainty evolving from the sensor system for environmental perception,
this leads to an error of around 0.25 m for the real operation. Nevertheless, the four pictures
show that the system is capable of successfully cutting the pile to the desired heights of
1.0 m, 0.75 m, 0.5 m, and 0.25 m. The created surfaces can be considered as rather flat
concerning the achievable control bounds of the test platform. Every improvement in
control precision will lead directly to better shaped piles.
A final experiment shows the capability of the system to dig a trench. For this operation
the only change is the desired surface shape, depicted in figure 6.26 showing two trenches.
As there was no test area available in which it was allowed to dig into the ground with the
real excavator, the experiments could only be performed inside the simulation environment.
Nevertheless, due to the rather good results for the horizontal leveling operation, it can be
assumed that the trenching task would also be performed with an acceptable precision.
Figure 6.27 shows the trenches created in the simulation. As can be seen, the trenches are
generated at the desired position and look similar to the height fields in figure 6.26. At
the end of the trench the width could not be kept exactly. One reason for this behavior is
the completely unadapted surface rating procedure used for finding the excavation pose
described in section 5.3.1.
The bucket width does not play an important role for removing material from a pile.
While creating a trench the minimum excavation width is defined by the bucket width.
Additionally, only excavation poses that do not break the trench sidewalls should be chosen.
6.2. Test Scenarios 169

(a) Leveling to 1.0 m. (b) Leveling to 0.75 m.

(c) Leveling to 0.5 m. (d) Leveling to 0.25 m.

Figure 6.25: The results of the four horizontal leveling scenarios for different piles in reality
(a), (b), (c), and (d), marked by red boxes.

(a) Trench 1 (−0.5 m) (b) Trench 2 (−1.0 m)

Figure 6.26: The two desired trenches to excavate with a height of −0.5 m (a) and −1.0 m (b).

Another parameter that needs to be adapted for this operation is the lifting height at the
end of the excavation procedure. It needs to be higher than the depth of the trench and
the bucket height to avoid moving the filled bucket towards the dumping pose when the
bucket is still inside the ground. For these two problems the system can be easily extended
by an additional trench wall rating and by an adapted lifting height calculated in the same
way as the functions presented in section 5.3.1.
Overall the height leveling experiments have proven the developed system as being capable
of creating a rather flat surface at a desired level. The ellipsis-based excavation trajectory
planner presented in section 5.3.2 is able to create trajectories that successfully remove
the material without tremendously undershooting the desired height.
170 6. Landscaping Test Scenarios

(a) Trenching to −0.5 m (b) Trenching to −1.0 m

Figure 6.27: The resulting trenches created inside the simulation with a depth of −0.5 m (a)
and −1.0 m (b).

The trenching tests also have proven that a desired trench can be created in general, at least
inside the simulation. If the real machine can be controlled with a similar precision than
in the simulation environment, the results can compete with those of a human operator.
The next test extends the previous landscaping procedure from horizontal to angular
leveling by generating different slopes within an existing pile of material.

Slope Creation
In the following experiments the goal is to generate a slope of a specific inclination in a
defined area. The two different scenarios with different angles and starting heights are
shown in figure 6.28.

(a) (b)

Figure 6.28: The different slope generation scenarios with (a) heights from 0.0 m to 1.5 m and
(b) heights from 0.5 m to 2.0 m.

Here, an additional challenge is to plan the executed trajectory in a way that does not
break any boundaries of the slope and that does not just stay above one specific height as
in the previous scenario. The resulting piles, depicted in figure 6.29, show that the distinct
shapes were successfully generated inside the simulation environment. The visible steps
occur due to the voxel based soil removal which does not operate continuously. There are
no remarkable holes in the created slopes.
6.2. Test Scenarios 171

(a) (b)

Figure 6.29: The results of the two slope creation scenarios I (a) and II (b).

In this scenario the bucket roll joint had to be used extensively in order to tilt the
bucket along the desired slope angle. Here the ellipsis-based trajectory generation from
section 5.3.2 created adequate motions including the bucket roll joint at the correctly
chosen excavation positions presented in section 5.3.1.
Without this type of bucket it is rather impossible or at least very unproductive to create
a slope. In case of a standard bucket the only way to model such a slope is by using a
lot of small excavation procedures only touching the pile at one side of the bucket to not
break the desired surface. It can be compared to performing a lot of horizontal leveling
steps to create a staircase along the desired shape. As the bucket roll joint of the real
machine could not be closed-loop controlled, it was impossible to perform these and the
following experiments on the real platform.
In the following section the complex surface shaping tests are presented allowing the
machine to design a surface from a combination of horizontal leveled planes and slopes.

Complex Shaping
In the following experiments the elements from the two previous scenarios are merged to
create a more complex surface shape consisting of slopes and horizontal planes. The goal
scenarios are depicted in figure 6.30. They define a horizontal leveling operation at 1.5 m
and 1.0 m to create an even plane on top of the pile, and a defined slope at its front. The
goal is to show that the whole control system including the determination of the next
excavation position and the creation of an appropriate bucket trajectory, works without
breaking the bounds of the desired surface.
The target is considered as achieved when there is no negative height difference between
the current and the desired surface of more than 10 cm. The results of respective test runs,
starting with a large initial pile shown in figure 6.31 are presented in figure 6.32.
Obviously, the results of both scenarios look similar to the previously defined surfaces. The
fact that there are some more deviations of the created surface, especially those whereat
the top of the slope switches to the horizontal plane, might evolve from bad decisions
about the bucket roll angle at this border region.
172 6. Landscaping Test Scenarios

(a) (b)

Figure 6.30: The different complex surface scenarios with a horizontal plane at 1.5 m and a
slope to 0 m in the front (a), and a wider pile with the maximum height at 1.0 m (a).

Figure 6.31: Initial state of the complex shaping scenario including a pile of 23.84 m3 .

(a) (b)

Figure 6.32: Resulting piles of the complex shaping operation for scenarios I (a) and II (b).

Based on the fact that the chosen excavation pose from section 5.3.1 is on the horizontal
area or on the slope, the ellipsis-based trajectory generation, presented in section 5.3.2,
did not consider the bucket roll joint correctly. Here, some improvements for calculating
the roll angle shall be developed in the future.
6.3. Discussion 173

Similarly to the last real experiments performed for leveling, which led to almost the same
trajectories inside the simulation and the reality, it can be expected, although the bucket
roll joint was not controllable on the real excavator, that the modeling process can be
executed within the control bounds of the real excavator. Therefore, the tests show that
the control system architecture is capable of performing autonomous landscaping, even for
complex desired surfaces.

6.3 Discussion
All in all, the presented experiments have revealed that the goal of developing a control
architecture performing excavation and landscaping tasks has been achieved. Comparisons
to human operators show that the ellipsis-based trajectory control during the excavation
(section 5.3.2) and the behavior-based control during the free motion (section 5.3.4) lead
to similar trajectories of the manually steered and the fully controlled machine. The fact,
that some material is dragged towards the machine during the operation, shows that the
trajectory is not completely optimal, but comparable to that of a human operator, who
also suffers from such deficiencies. With additional sensor systems, an online-adaptation
of the excavation trajectory could lead to improved results.
Also the chosen excavation (section 5.3.1) and dumping (section 5.3.3) poses lie in similar
areas. With these capabilities the mass excavation and landscaping tasks, including truck
loading, could be performed in an autonomous way within the simulation environment
and in similar scenarios on the real test platform by cyclically executing the identified
task elements from statement 6. Due to a lack of precise machine closed-loop control and
restrictions of the used sensor systems concerning localization and 360° environmental
perception, the execution speed had to be decreased tremendously on the real machine.
Therefore, the important factors like cycle time and precision are not as good as in
simulation whereat the machine can be controlled quite well. In the latter case the cycle
times of about 28 s were comparable to those of a skilled human operator. The results
from the simulation show that speed and precision deficiencies are not a general problem
of the architecture and will become smaller when the closed-loop control of the machine
is enhanced. Due to the hardware abstraction layer the developed control strategy can
also be used for excavation machines with similar kinematics performing cyclic tasks. The
achieved cycle times and the directly related mass movements, measured in simulation and
counted in tons of material per hour, are quite good for an 18 t excavator. Although the
conditions inside the simulation can be considered as almost ideal, even a worst case time
factor of three leads to rather acceptable cycle times and mass movements, compared to a
skilled human operator. Especially for the case of a machine operation for almost 24 hours
per day, this autonomous excavation approach produces an unbeatable mass movement in
tons per day.
Besides this, the horizontal leveling scenarios showed the capability of the machine to
create an even plane under multiple circumstances inside the simulation environment and
on the real test platform. The executed trench digging scenarios also produced similar
looking trenches compared to the desired surfaces, at least in simulation. Although it was
not possible to execute those experiments on the real machine, due to the unavailability of
a suitable test site, similar outputs can be expected as for the horizontal leveling tests
above surface level.
174 6. Landscaping Test Scenarios

As the bucket roll function is not controllable on the real platform, the experiments
for slope creation and complex surface shaping could only be performed in simulation.
In case the difficulty became higher while creating a slope, the system has proven to
correctly create a surface within the desired bounds for precision. Nevertheless, it should
be considered that no shifting of material is simulated and that the control precision is
higher within the simulation. This leads to better results in comparison to real excavation
tests.
Also the even more complex combination of both previous scenarios, the construction of a
slope with a leveled surface on top, has been solved. With these capabilities, the system is
able to create an arbitrary surface around the machine. These operations usually require
a rather skilled operator as the permanent control of three to four joints is required. Even
if the autonomous machine is not as fast as a human operator during short working times,
its capability to operate for longer periods without exhaustion or labor restrictions is a
tremendous benefit.
In spite of the previously mentioned problems concerning simulation realism, machine
control capabilities, or sensor precision, that mainly influenced the presented experimen-
tal results, the developed control approach has generally proven successful to take the
required decisions for performing mass excavation and landscaping with an excavator in
an autonomous manner. Therefore, future research needs to care mostly about increasing
the precision and the velocity of the executed actions.
7. Conclusion and Outlook

The thesis at hand presented a control architecture for cyclically operating excavators
performing landscaping. The result is a fully autonomous system designed for long-term
operation. As the approach is tailored for robots which have to execute a chain of specific
tasks in a rather similar way, based on knowledge an expert operator has gathered during
its operation over a long course of time, it can be transferred to systems performing similar
operations in the future.
In chapter 2 recent research projects from the area of autonomous excavation have been
analyzed. As a result, most of them focus on the optimization of one specific task like mass
excavation or simple surface shaping as trenching. The high-level control approaches using
FSMs, statecharts, Petri nets, or parameterized scripts, allow these systems to cyclically
perform their operation in an adequate manner. Unfortunately, their low-level control
approaches like fuzzy control, neural networks, or scripts create the trajectories directly in
the joint space. Therefore, they cannot be used to plan a distinct excavation trajectory in
a three-dimensional space which is required for landscaping. Furthermore, the presented
tests are either executed with a robotic arm under laboratory conditions, a mini-excavator,
or a larger machine which has only four DOFs and is equipped with a standard bucket
only.
A result of this analysis is that, although mass excavation and trenching can be performed
in an autonomous way, none of the recent projects considers the creation of a rather
arbitrary surface shape as a goal. Nevertheless, some of the high-level control approaches
like FSMs and PNTs are well suited for modeling the cyclic behavior of construction
machines in general. As the information retrieved from these systems focuses on mass
excavation or trenching, it cannot be used to develop a control approach for complex
landscaping. Therefore, expert knowledge about the way in which a human operator
performs landscaping in general has been gathered in chapter 3. The important elements
of the global excavation cycle concerning environment, displacement, excavation, and
finishing, are identified and are further divided into their sub-elements.
Concerning the environmental information, the contents of construction site maps defining
the current and the desired state are presented. The displacement function contains
strategies the human operator follows to efficiently handle the whole area on the site.
176 7. Conclusion and Outlook

As the focus of this thesis lies in the area of landscaping, this process is analyzed extensively.
After presenting common scenarios, a comparison between a beginner and an expert
operator is performed. This leads to the insight that the path of a skilled operator is
rather smooth concerning digging forces and can be fitted to a cubic polynomial. An
analysis of the local excavation cycle reveals that it consists of the four subtasks loading,
transporting, dumping, and swinging back, which are cyclically executed until the global
excavation task is finished. As the system should also handle previously unconsidered
states, the operation constraints concerning spatiality, uncertainty, and quality of the
earth-moving operation are defined. Here the influences of the seven factors task goals,
kinematics, obstacles, weather, sensors, soil, and dynamics are discussed. As a result
of this analysis seven key elements concerning the capabilities of a system performing
landscaping in an autonomous way have been defined in section 3.6. These describe how
the global excavation cycle proceeds (see statement 1), how the world model looks like (see
statement 2), which adaptivity the system requires (see statement 3), what the current
excavation state is (see statement 4), how the displacement is organized (see statement 5),
which elements define the local excavation cycle (see statement 6), and which operation
constraints might influence the operation (see statement 7).
Based on the extracted information and results from related work projects, the system
architecture is designed in chapter 4. It starts with defining principles for cyclically
operating robots like excavators, suggesting in which way cyclic and linear subtasks should
be modeled. These principles include process descriptions of the way in which the system
should be developed, namely as hierarchically nested FSMs including specific problem
solvers within each state.
The whole modeling process is based on gathered expert knowledge about the landscaping
task. Each of the previously determined elements of the global excavation cycle is modeled
according to the design principles, in order to develop the complete control architecture
for autonomous landscaping. Nested FSMs are formally defined for controlling the cyclic
execution of the displacement and the excavation phases.
This leads to a hardware abstraction layer computing the machine kinematics. It provides
safety and bridges the gap between the real system and the control architecture. The
latter one allows for controlling the landscaping task on an abstract level, independently
from real world parameters. By adopting the hardware abstraction layer to another system
with different interfaces and kinematics, the architecture can be reused for other robots
performing cyclic tasks.
The algorithmic solutions for the operations presented in chapter 5 constitute the missing
link between the execution on the machine and the high-level architecture. Different
methodologies from the areas of deliberative, reactive, and hybrid planning have been
implemented. The chosen solutions depend on the specific requirements for the trajectory
generation and their execution constraints during the displacement, the excavation, and
the dumping operation. The global workspace analysis, the displacement functions, and
the excavation planners utilize deliberative approaches to guarantee optimality concerning
planned paths or handling machine dynamics. During the free motion and the dumping
process, the trajectory generation uses a reactive behavior-based approach to constantly
adopt to occurring changes in the environment.
Due to the six DOFs of the boom kinematics, no analytic solution for the computation of
the workspace of the excavator exists.
177

Therefore, a numeric approach has been developed which operates incrementally, which
can be parallelized, and which is computed offline beforehand. It is suitable for arbitrary
machine kinematics consisting of linear, hinge, screw, or ball joints. By running stepwise
through all possible joint configurations and storing reached poses, the workspace is
evaluated successively.
The displacement function should deliver minimum travel times. This results in the
development of an extended A∗ path planner. It reduces the computational complexity
by considering the excavator kinematics and by operating on different precision layers.
A global occupancy grid map of the excavation site is used to plan an optimal path for
the excavator. The planned path is executed with an extended version of a trajectory
following algorithm. This approach has been developed for heavy machines with the same
drive kinematics. It allows to control a machine up to 18 km
h
. Therefore, it is also perfectly
suited for controlling an autonomous excavator during the displacement operation.
Excavation and dumping positions are determined by implementing rating functions
that operate on grid maps containing the currently available surface information of the
environment. Based on extracted knowledge about the excavation operated by a human
including spatial and quality constraints from chapter 3, these functions influence the
rating of each cell. The coordinates of the highest-rated cell are chosen as the next best
position. This approach can be extended easily by additional rating functions or by
replacing existing ones with improved versions in the future.
To plan the excavation trajectory, an ellipsis-based approach has been developed. It
guarantees to fulfill all requirements concerning the angle of penetration, the allowed
excavation depth, and the desired removal angle. The result are trajectories which do
not undershoot the desired surface shape, transfer a minimum amount of forces into the
ground, and lead to well filled buckets. Another important feature is that the approach
requires only a few parameters. This results in a simple and straight-forward process of
parameterization based on a few measured soil properties.
The part of the trajectory which is executed in the air does not require precise movements
influenced by dynamics but should avoid collisions with obstacles. Therefore, the trajecto-
ries are generated via one behavior for each of the six axes of the pose coordinate system.
They take the previously determined excavation and dumping positions and generate a path
in Euclidean space. This reactive approach allows for successively increasing the system
capabilities by adding new behaviors for additional tasks. The generated trajectories are
continuously transferred into feasible joint configurations via an behavior-based inverse
kinematic solver. The solutions are numerically determined by implementing behaviors for
each element of the kinematic chain. These nodes continuously approach the desired pose
in the joint space until the generated TCP pose is almost equal to the desired one. This
approach represents a general solution for arbitrary single-chain kinematics consisting of
linear and hinge joints.
Active safety can be added to the behavior-based control via watchdog nodes which
supervise each element of the excavator deserving protection, like boom parts, the cabin, or
the rear carriage. These safety behaviors determine the minimum distance to an obstacle
and inhibit the movement of relating joints towards that direction. For this task, a complex
storage system for dynamic obstacles based on a cylinder coordinate octree has been
developed.
178 7. Conclusion and Outlook

It allows for a precise but efficient storing of complex object shapes and for a fast retrieval of
distances to those objects. The result is a safety system which stops any movements towards
a detected obstacle. By adding artificial entities for previously known but undetectable
objects like pipes, basements of buildings, or other infrastructure, the probability of
performing any undesired contact is reduced to zero. The combination of the previously
created control architecture and the developed algorithms results in a completely modeled
landscaping system, ready to perform its task in an autonomous way. It produces efficient
and safe trajectories which permanently adapt to changing environmental conditions.

To demonstrate the capability of the architecture to solve the problems occurring in


a realistic scenario, a real excavator and a complex simulation environment have been
developed. They are initially presented in chapter 6. The real test platform is an extended
18 t wheeled excavator equipped with a tilting bucket for landscaping, additional sensors
for joint angles, closed-loop controllers adjusting the hydraulic valves of the machine, and
a three-dimensional environmental perception. The virtual environment is capable of
visually modeling the realistic shape of the excavator, the nearby truck, and the material
piles via a simple soil simulation for excavation and dumping. A physics engine is used to
model the behavior of the machine. Additionally, internal and external sensor systems are
simulated to be capable of performing environmental perception. Although the dynamics
of the machine and the material cannot be modeled precisely, the system provides the
ground truth and can be used for performing cheap and safe long-term experiments. A
set of test scenarios has been developed and executed which shows the capabilities of the
proposed control system under realistic circumstances. At first, the experiments are usually
performed inside the simulation environment, afterwards on the real excavator. The first
task is to follow a preplanned trajectory in order to analyze the achievable precision of the
system. As a result the velocity of the test platform needs to be halved in comparison to
the simulation to keep the desired bounds of 10 cm. A more precisely controllable machine
would overcome this restriction. The next three scenarios start with mass excavation,
continue with height leveling and trenching, and finally perform landscaping operations
like slope creation and complex shaping of surfaces.

The test results show that the system is capable of performing all tasks in simulation as
well as in reality without any intervention of a human being. In most of the cases the
deviation lies below 10 cm. As the closed-loop control of the test platform is not as good as
desired, the execution velocity had to be reduced to one-third to achieve the same precision
compared to the simulation results. Additional experiments have been conducted by human
operators with different skill levels and recorded on the real excavator. The operators
had to load a pile of material into a nearby truck as fast as possible without spilling too
much material. The recorded trajectories are rather similar to those generated by the
autonomous system. Additionally, the fast movements inside the simulation environment
lead to cycle times which are comparable to those of the skilled human operator.

The main benefit of the control architecture is the capability to perform the complex task
of landscaping on the real excavator and inside the simulation autonomously. Additionally,
it is able to take the complex decisions required to cyclically perform the mass excavation
with a similar output of tons per hour as a human expert operator. For the landscaping
operations, it is able to plan and execute adequate trajectories which shape the surface in
the desired manner at lower velocities.
179

A better closed-loop control of the excavator would improve the relation between velocity
and achievable precision.
In the following, extensions for the proposed strategies and future research options are
presented. The thesis has proven the capability of the developed approach to work
for an autonomous excavator. One possible extension is the transfer to wheel loaders,
forklifts, drilling machines, or other cyclically operating robots. By implementing a suitable
hardware abstraction layer for controlling the machine, the design principles leading to the
control architecture presented in chapter 4 can be reused for similar types of machines.
In this thesis, FSMs are modeling the cyclic system behavior. On a lower level the
generation of the free motion is performed via a behavior-based network. As presented
in [Armbrust 12] and [Armbrust 15], the state machines could be integrated into this
behavior-based network. This leads to a better interaction between the system layers.
Inside the developed system a lot of parameters like execution velocities or rating factors
exist. These have to be set for planning specific excavation trajectories, for performing
surface evaluation, or for controlling the free motion of the machine via behaviors. They
were specifically adjusted to operate well for the excavator at hand. To improve the
generality of the approach, an additional layer is required which automatically determines
these appropriate values. A solution could be to apply learning strategies for improving
these values during the operation. On a lower level, many parameters for the closed-loop
control of the autonomous system exist. A lot of effort could be put into this layer to be
capable of precisely controlling the machine at higher velocities. First steps in this regard
have been taken in [Juhasz 12] and [Schmidt 13], where a realistic dynamic model of the
excavator including its hydraulic system has been built up. It is directly coupled to the
autonomous control architecture to perform control parameter tuning. These improvements
would allow to increase the the productivity of the system.
So far the environmental perception detects only the surface and the truck nearby. An
important extension for future developments is to detect static and especially dynamic
obstacles around the machine. In particular, the detection of human beings is very
important to guarantee the safety of the operation under all circumstances. Promising ap-
proaches for person and object detection are currently developed and presented in [Piao 16]
and [Leroch 16]. The integration of other sensor types delivering texture information and
not only distance data is necessary to improve the detection capabilities of the system.
Until this is performed, the developed obstacle avoidance cannot be used to prevent the
real excavator from hitting other machines or humans during operation.
Although this thesis presents solutions for the displacement function and the safety
adaptation of the system during operation, they could not be tested on the real excavator.
The main reason for this is the lack of continuous and complete environmental perception
and of a precise localization. With only two planar laser scanners it is not possible to
reasonably localize the excavator during driving and to constantly determine dynamic
obstacles in the environment. Future research will need to integrate sensor systems
and algorithms that enable the machine to shape a whole excavation area by constantly
displacing itself.
At the present time, the developed architecture is able to control the excavator to safely
shape the surrounding surface in a fully autonomous way with a precision of about 10 cm.
q.e.f.
180 7. Conclusion and Outlook
8. Acronyms

CAD computer aided design

CAN controller area network

CPLD complex programmable logic device

CSpace configuration space

DEM digital elevation map

DGPS differential global positioning system

DH Denavit Hartenberg

DOF degree of freedom

FPGA field programmable gate array

FSM finite state machine

FTA fault tree analysis

GA genetic algorithm

GL ground level

GPS global positioning system

iB2C integrated behavior-based control architecture

IK inverse kinematic

IMU inertial measurement unit

IO input-output

laser light amplification by stimulated emission of radiation


182 8. Acronyms

LRF laser range finder

MPC model predictive control

NAN not a number

OIV open inventor

PID proportional integral differential

PNT Petri net transducer

POMDP partially observable Markov decision process

pose position and orientation

PRM probabilistic roadmap

RCS robot coordinate system

RHC receding horizon control

RNG random number generator

RRT rapidly exploring random tree

SLAM simultaneous localization and mapping

TCP tool center point

TOF time of flight

UML unified modeling language

VRML virtual reality modeling language

WCS world coordinate system

XML extensible markup language


A. Appendix

A.1 Forces during the Excavation Process


In section 5.3.2 the algorithm for generating the elliptic excavation trajectory is presented.
It is designed to be applicable to multiple material types and depends on corresponding
parameters. In order to calculate these parameters based on performed measurements,
the main factors that influence the force during excavation are described in the following,
classified by soil type, excavation depth, relative velocity, and rake angle
Obviously, the soil type is a very important influence factor. As it is very difficult to
measure the occurring forces on a real excavator during operation, the approaches presented
in literature are usually executed under laboratory conditions. For instance in [Lee 08], a
standard digging path, shown in figure A.1, has been executed in three different types of
soil with a small robotic arm in order to determine their influence.

Figure A.1: Running a planned digging trajectory with a robotic arm for measuring the
occurring forces of the soil [Lee 08].

Figure A.2 shows the recorded torques for different materials. In case of sand (see
figure A.2a), a peak up to 10 N m occurs when the sand wall breaks and the bucket starts
to push the ground forward at around 210 s. A rather smooth curve is recorded for clay
(see figure A.2b) which stays below 7 N m. This can be explained as in this case a good
wall cutting is performed without any pushing.
184 A. Appendix

A lot of different measurement results occur inside gravel (see figure A.2c) as the structure
breaks very often. In this case the torque went up to 20 N m. It is shown that the force
peaks in gravel are nearly twice as high as the peaks in the other two types of material.

(a) Sand (b) Clay

(c) Gravel

Figure A.2: Recorded torques from ten standard digging cycles illustrating the resistive behavior
of different kinds of material like sand (a), clay (b), and gravel (c) [Lee 08].

Due to [Singh 95], it is important that the bucket does not get filled with too much material,
as the structural integrity of the soil walls around might crash otherwise. In this case, the
boundaries of the desired shape define the constraints for the executed trajectories. It is
also analyzed how the evolving forces change depending on different motion patterns. The
resistive force is usually higher when the excavation depth is larger, as a larger volume of
soil has to be moved. The same relation holds for the shearing force. Figure A.3a shows
the measurements for three different depths.
Furthermore, the relative velocity of the bucket influences the resistive force of the soil.
As can be seen in figure A.3b, a higher velocity of the bucket leads to a larger force. The
resistive force increases in an exponential way depending on the distance, but linearly with
the velocity. A first reason for this behavior is a higher acceleration of the material at
higher velocities.
A.1. Forces during the Excavation Process 185

(a)

(b)

Figure A.3: Resistive forces for different depths (a) and velocities (b) [Singh 95].

The surface inside the soil, where the cohesion fails and material layers are moving relative
to each other, is called the failure surface. The higher acceleration of the material increases
the normal stress on the failure surface. Additionally, the soil gets more compressed during
a faster bucket movement leading to a higher shearing strength.
The rake angle ρ is another important influencing factor. As depicted in figure A.4a, it
represents the orientation of the bucket blade and depends on the smaller angle of the
path direction α.
186 A. Appendix

(a) (b)

(c) (d)

Figure A.4: Visualization of the rake angle ρ and the smaller angle α of the path direction (a),
recorded resistive forces for different rake angles (b), the computed relation between rake angle
and the resulting failure surface (c), and resistive forces in z-direction for different ǫ = ρ − α to
evaluate ground contact (d) [Singh 95].

Figure A.4b shows the changes of the resistive force for different rake angles. The highest
value of the resistive force is achieved while ρ is 50°, while the values for angles of 30° and
40° degree are lower. This implies that the resistive force changes non-monotonically for
different rake angles.
[Singh 95] assumes that the rake angle also influences the angle of failure, which has a
direct effect on the resistive force of the material. Their relationship, which is calculated
via an analytical wedge model, is depicted in figure A.4c. It shows that the rake angle has
an influence on the angle of the failure surface. To achieve a low angle of the failure surface,
the rake angle should be either low or high. In general, a low rake angle seems to be
better as it also reduces the resistive force, as already shown in figure A.4b. Furthermore,
it is presented that the rake angle has an influence on the volume of material lost while
excavating. This can be explained by a push operation which occurs in case the rake angle
is too high.
Another experiment has been performed, executing a trajectory with varying values for the
difference ǫ between the rake angle ρ and the angle of the moving vector α, as presented
in equation A.1, in order to determine the smallest value for ǫ.

ρ≤ǫ+α (A.1)

As a result, a small ρ with an ǫ less then 10° leads to positive reactive forces in z direction.
A.1. Forces during the Excavation Process 187

This can be explained by the contact between the bucket blade and the soil below it, as
shown in figure A.4d. To definitely achieve that the bucket blade is not pushing the ground
due to imprecise control of the trajectory, an angle of 10° was chosen as a good value for ǫ.
An analysis of different kinds of soil failures has been performed in [Aluko 00]. Figure A.5
shows three types of failures.

(a)
(b)

(c)

Figure A.5: Different types of soil failure: shearing failure (a), crescent failure (b), and tensile
failure (c) [Aluko 00].

The one shown in figure A.5a is called shearing failure. It is often used in analytical models
to calculate the resistive force. This kind of undesired behavior leads to a shearing process
of multiple blocks of soil above each other. Figure A.5b depicts the so called crescent and
lateral failure. During this type, the soil is pushed forwards and upwards (crescent failure)
in the higher layer and forwards and sideways (lateral failure) in the lower layer. It usually
occurs if the rake angle is too high or if the material is very soft. The third kind, shown in
figure A.5c, is named tensile failure. This is a crack which runs through the material until
it reaches the soil surface. Here, the soil blocks are not shearing above each other. This
occurs when the soil is very hard and dry.
Experiments depicted in figure A.6 show that an increasing rake angle leads to switching
from a cracking to a shearing operation. In the example, the soil was cracking at a rake
angle of around 25° and shearing when the angle became 40°.
Additionally, the type of bucket and especially its blade influence the force tremendously.
This fact has been presented in [Fielke 99], where the influence of the blade shape and
the Poisson’s ratio on the failing surface is discussed. The Poisson’s ratio is the relation
between the contraction in one direction and the extension into another direction. It
describes the compressibility of an object. A thick blade or thick teeth shown in figure A.7
leads to a higher deformation and consequently to an earlier failure of the soil.
188 A. Appendix

ρ = 25° ρ = 25° ρ = 25° ρ = 25°


(a) (b) (c) (d)
x = 30 mm x = 58 mm x = 156 mm x = 172 mm

ρ = 40° ρ = 40° ρ = 40° ρ = 40°


(e) (f ) (g) (h)
x = 104 mm x = 218 mm x = 230 mm x = 255 mm

Figure A.6: Photographies of changing soil failures with the rake angle ρ and displacement x
in clay loam soil with cracking failure at ρ = 25° and shearing failure at ρ = 40° [Aluko 00].

(a) (b)

(c) (d)

Figure A.7: Digging results for a thin cutting blade (a) and a thick one (b) and photographies
of the soil failure for a blade without teeth (c), and one with 5 teeth (d) [Fielke 99].

Finally, there exist several analytical models for predicting the resistive forces. In [Aluko 00],
some of those models have been presented and compared. However, it can be stated that
the models are mostly imprecise and that the calculated forces deviate up to fifty percent
from the measured ones.
A.2. Robotic Test Platform 189

A.2 Robotic Test Platform


In the following, the elements of the installed control system depicted in figure A.8 including
actuators, sensors, and computer hardware are described.

Figure A.8: Hardware structure of the real test platform including PCs, DSP boards, sensors,
displays, and network gear.

A.2.1 Actuators
Originally, the excavator has been provided by the partner Volvo CE as a standard human-
operated machine. Therefore, the cockpit contains multiple control elements like a steering
wheel, pedals, electrical fittings, and two joysticks which are hydraulics driven. With the
four axis of the two joysticks, the operator can precisely control only the four boom joints
torso, boom, stick, and bucket pitch of the machine. Additional joints are controlled by
a foot pedal for the dipper arm joint or with buttons on the joystick for the bucket roll
joint. As the control precision is way lower for these joints, they are usually not directly
adjusted during the operation, but only in the air before material interaction.
The possibility to control the excavator via electric signals did not exist out of the box.
To manually move the it or restore the test area, the goal was to always keep its standard
human operability.
A solution which strictly switches between human and automatic steering was not desired,
as a human being inside the cockpit during tests should not have to hit a switch in order
to take over control. Furthermore, the chosen solution allows the implementation of driver
assistance systems which actively suppress or fully block the operator’s motion commands
in case of a predictable collision.
190 A. Appendix

Therefore, the chosen solution consists of seven electro-hydraulic valve pairs for the boom
joints and three pairs for the undercarriage. Each pair is used to control both directions of
a single joint independently from the others, which is an advantage in comparison to the
human control capability. Regarding the superstructure, the torso, the boom, the dipper,
the stick, the bucket pitch, and the bucket roll joint can be actuated, in the undercarriage
the wheels, the steering, and the outrigger respectively the shield. The valves have been
installed inside the circuit of the pilot pressure hydraulics system in parallel to the joysticks
as shown in figure A.9.

Figure A.9: Picture of the installed electro-hydraulic control valves for controlling the joints.

If the valves are fully closed and therefore produce zero output, the normal human-operated
steering of all joints is possible. In case the operator still remains inside the cabin during
a specific task, parts of the software system can be used for assisting. One possibility is an
active damping system for movements in case of a detected obstacle in the extrapolated
path of the boom.

A.2.2 Sensors
Two categories of sensors have been installed on the excavator. The internal sensors are
used for the closed-loop control of the machine itself and operate independently from
objects in the surroundings. The working space is perceived by external sensors. The
external ones are mostly used for perceiving the environment of the machine. Both classes
are described in the following.

Internal Sensors

At the beginning, the main focus laid on the automation of the excavation function.
Therefore, the superstructure joint sensors have been installed first. Additionally, the
machine must not be damaged during its normal operation procedure, as all these values
will influence the usage on a real site. For measuring the joint angles of the boom,
dipper, stick, and bucket pitch, which are indirectly turned by the elongation of the
hydraulics cylinders, sensors with a high precision have to be used, as the measurement
error propagates through the kinematic chain, and the arm element lengths are quite large.
A.2. Robotic Test Platform 191

Figure A.10: Photography of the sensor for measuring the stick length mounted externally on
the on the cylinder of the excavator.

For the torso and bucket roll joints, directly mounted angular joint encoders are sufficient.
The linear sensors which suited most are the MTS Tempsonics R-Series [Mts 14] with a
resolution of 16 bit (0, 5 µm) and a maximum error of 1 µm.
As shown in figure A.10, the sensors are mounted externally on the cylinders where they
indirectly measure the relating joint angle. The formulas for length to angle conversion as
well as the different sensor mount points are presented in appendix A.4. For measuring
the bucket roll angle and the torso angle, two absolute optical encoders with an angular
resolution of 17 bit are used. In order to be able to improve the closed-loop control of the
overall machine concerning the current loads, four pressure sensors per joint, two for the
pilot pressure and two for the main pressure, have been installed in the torso.
In order to control the displacement of the excavator, additional sensors had to be installed
in the undercarriage. They are either mounted at the inner side of the rim to measure the
wheel velocity, as shown in figure A.11a, or to measure the lengths and derived angles at
the steering axle and at the swing axle of the machine via an attached wire rope mechanism,
as depicted in figures A.11b and A.11c.

(a) Wheel velocity sensor mounted (b) Steering axis length sensor with (c) Swing axis length
inside the rim. a wire rope mechanism. sensor.

Figure A.11: Pictures of the sensor systems mounted inside the substructure.
192 A. Appendix

External Sensors
The main sensors for perceiving the working space around the excavator are two LRFs
from SICK shown in figure A.12a. According to the data sheet in [SICK 14], the scanners
have a maximum range of 50 m at 75 percent reflectivity, a scanning angle of 270° with 0.5°
angular resolution, a statistical error of 12 mm and can operate from −30 ° ◦C to 50 ° ◦C.

(a) SICK LMS-151 used for environment detec- (b) Schematic top view of the two laser scanner
tion. It delivers reliable and precise distance mount points on the left and right hand side of
data up to 50 m. the excavator.

As the natural motion of an excavator is the permanent turn of the torso between the
excavation position on the one hand, and the truck on the other hand, the single-planed
laser scanners have been mounted at the left and right at the front of the excavator, as
shown in figure A.12b. During the operation, the sensors provide a continuous update of
the excavation area and the truck position, particularly tailored to the test scenarios in
chapter 6. In order to guarantee a safe operation on the real excavation site, an additional
array of 2D sensors or a rotating 3D sensor will be required for a dense detection of
dynamic obstacles around the machine at a high frequency.

A.2.3 Control Hardware


The used control hardware can be divided into a lower and a high layer. The lower layer
performs the real-time closed-loop control of the machine on an integrated circuit board,
and the high level contains the complex autonomous software architecture running on a
standard 64 bit PC hardware.
As the closed-loop joint control has to run under real-time requirements the first imple-
mentation for the superstructure of the excavator has been performed on a rather simple
board with a Motorola DSP 56F803 connected to a complex programmable logic device
(CPLD) as presented in [Berns 04]. The CPLD is used to read out the values from the
internal sensors for joint angles, lengths, and pressures. The current control for the pilot
valves is realized through pulse width modulated amplifiers which are directly connected
to the input-output (IO) interfaces of the DSP [Hillenbrand 10]. Control and sensor values
are exchanged via a controller area network (CAN) [Bosch 91] bus.
When the substructure of the machine was also electrified, the capacity of the used DSP
board was too low to also control the additional joints of the wheels and the steering.
A.3. Boom Kinematics 193

A rack containing more powerful micro-controller circuit boards using field programmable
gate arrays (FPGAs) replaces the DSP board and is used to read out the sensors and to
perform the closed-loop control of the joints [Hillenbrand 14]. The implemented closed-loop
controller consists of two cascaded controllers for position and velocity. The latter one is
used to reduce the lag between the actual and the desired joint position. All elements of
the new hardware exchange their data via Ethernet with the control PC.
This PC is mounted within a 19 inch rack A.13 and contains a mini-itx mainboard with a
powerful Intel®Core™i7 Processor and a gigabit Ethernet card. It runs a Linux derivate
named “Robuntu” Linux, which is mainly based on the Ubuntu distribution1 . The main
extensions are additional hardware drivers and robotic specific configurations.

Figure A.13: Picture of the used Intel®Core™i7 PC in a 19 inch rack for easy mounting.

A.3 Boom Kinematics


An important information for robot control is the precise position (x, y, z) and orientation
(α, β, γ) of the TCP relative to the center point of the chassis C. Therefore, the required
mathematical fundamentals based on figure A.14 are presented in the following.
From the logical point of view, the boom kinematic includes the boom joints and the torso
turning joint. Depending on the type of the installed boom (mono-block boom or 2-piece
boom), there are four or five joints to control. Since the mono-block boom can be seen as
a special case of the 2-piece boom where the dipper joint has a minimum and a maximum
turning angle of 0°, the boom kinematic is generally the same for both types. Input values
are the desired turning angles of the hinge joints of the different boom elements. As this
angle can only be delivered directly to the torso rotation joint, the other angles of the
boom joints have to be transferred into the desired hydraulic cylinder translation lengths
depending on their physical construction, as presented in section A.4.
1
The Ubuntu Linux distribution can be found under http://www.ubuntu.com.
194 A. Appendix

2.5

1.5
δ2 δ3
1 δ4
TCP
0.5
δ1
x
C
−0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
−0.5

Figure A.14: Schematic view of the 2-piece boom of the bucket excavator consisting of the
four joints (green circles) boom, dipper, stick, and bucket pitch, starting from (0, 0). The brighter
illustration in the back shows the initial pose, and the more colorful one in the front presents an
extended pose.

As there exist more complex bucket constructions including a roll joint for tilting the
bucket, as it is used within the Thor project, and the usage of a tilt-rotator adds and
additional yaw joint, a more general approach to direct kinematics is useful here. A
standard approach in robotics is the Denavit Hartenberg (DH) approach [Hartenberg 55].
By defining coordinate systems at the center of each joint, whose z-axis is along the
rotation axis of that joint, the x-axis runs in parallel to the next arm segment, and the
y-axis finally leads to an orthogonal system in which the number of parameters per active
joint are reduced to four.

For hinge joints, Θ defines the initial and the variable joint angle, d the distance along the
x-axis, a one along the y-axis, and α the twist around the x-axis. In table A.1 the initial
parameters for the DH chain in Thor are presented which define the related transformation
matrix.

The final homogeneous transformation matrix BKSYAW T can then be calculated according
equation A.2 by multiplying the local transformation matrices.

BKS
YAW T = BKS TORSO BOOM DIPPER STICK PITCH ROLL
TORSO T · BOOM T · DIPPER T · STICK T · PITCH T · ROLL T · YAW T (A.2)

From this matrix the actual pose of the TCP can be extracted. By additionally delivering
the interim transformation matrices of the calculation, all current joint positions can be
observed over the course of time.
A.4. Calculation of Joint Angles based on Cylinder Lengths 195

Transformation Matrix θ d a α

BKS
TORSO T 0° boom mountz boom mountx 90°
= 1.992m = 0.344m

TORSO T 0° boom mountz boom length 0°


BOOM
= -0.200794m = 2.09m

BOOM T 0° 0 dipper length 0°


DIPPER
= 3.843m

DIPPER T 0° 0 stick length 0°


STICK
= 2.45m

STICK T −10° 0 apitch 90°


PITCH
= 0.574176m

PITCH T −90° droll 0 −90°


ROLL
= 0.440697m

ROLL T −90° ljoint to edge ledge to tcp 180°


YAW
= 1.0m = 0.42m

Table A.1: Table with the DH parameters for the excavator boom kinematics of the test
platform.

A.4 Calculation of Joint Angles based on Cylinder


Lengths
In the following, the formulas for calculating the boom joint angles of the four joints boom,
dipper, stick and bucket pitch from measured cylinder lengths and vice versa are given.
This conversion is needed as the boom kinematics, presented in section A.3, operates on
angles, but the hardware controller takes desired cylinder lengths as control values. The
bucket roll joint and torso joint sensors and controllers do not need this conversion as they
already produce and take angles.
Figures A.15, A.16, A.17, and A.18 show the schematic side view of the different boom
joint parts. From a geometrical point of view, the calculation of the first three arm joints
can be done via the law of cosine presented in equation A.3. The fixed lengths ai and
bi are taken from the model sizes. To calculate the elongation for the stick, an initial
constant angle β3 is subtracted from the desired joint angle γ3 as its mounting point is not
at the center of the dipper arm in equation A.4. The conversion for the bucket pitch joint
is more complex as the hydraulic cylinders elongation influences the joint angle indirectly.
q
ci = a2i + b2i − 2ai bi cos(γi ) (A.3)
q
c3 = a23 + b23 − 2a3 b3 cos(γ3 − β3 ) (A.4)
196 A. Appendix

A.4.1 Boom Joint

b1
c1

γ1
m1 ∆x
δ1
a1 ∆z

Figure A.15: The mounting point of the boom joint sensor m1 and the conversion between the
cylinder length c1 to joint angle γ1 via boom length b1 and delta mounting positions ∆x and ∆z.

Figure A.15 shows a schematic view of the mounting construction of the boom joint. The
formulas for the conversion from the measured boom cylinder length c1 to the joint angle
γ1 are given in equations A.5, A.6, and A.7.

q
a1 = (∆x)2 + (∆z)2 (A.5)
 
∆z
δ1 = asin (A.6)
a1
 2
c1 − a21 − b21

γ1 = acos − δ1 (A.7)
−2a1 b1

The calculation of the cylinder length c1 from the given joint angle γ1 is shown in
equation A.8.
q
c1 = a21 + b21 − 2 · a1 · b1 · cos(γ1 + δ1 ). (A.8)
A.4. Calculation of Joint Angles based on Cylinder Lengths 197

zero axis
α2
∆x2
m2
δ2
b2 ∆z2
δ1 γ2

∆z1 a2
c2

∆x1

Figure A.16: Mounting point of the dipper joint sensor m2 and conversion between cylinder
length c2 to joint angle γ2 conversion via delta mounting positions ∆x1 ,∆z1 , ∆x2 , and ∆z2 .

A.4.2 Dipper Joint


For the dipper joint, the length c2 to angle α2 conversion formulas, depicted in figure A.16,
are presented in equations A.9, A.10, A.11, A.12, and A.13, while b2 is known before.
 
∆x1
δ1 = asin (A.9)
a2
q
a2 = δx21 , δz12 (A.10)
 
∆x2
δ2 = acos (A.11)
b2
 2
c2 − a22 − b22

γ2 = acos (A.12)
−2a2 b2
α2 = −π + (γ2 + δ1 + δ2 ) (A.13)
The angle α2 to length c2 conversion formula is shown in equation A.14.
q
c2 = a22 + b22 − 2 · a2 · b2 · cos(α2 − δ1 − δ2 + π) (A.14)
198 A. Appendix

A.4.3 Stick Joint

c3 ∆z2
δ2
α3 b3
γ3∆x
∆z1 2
a3
m3
∆x1

δ1

Figure A.17: Mounting point of the stick joint sensor m3 and conversion between cylinder
length c3 to joint angle γ3 conversion via delta mount positions ∆x1 ,∆z1 , ∆x2 , and ∆z2 .

There are multiple equations from A.15 to A.18 to convert the stick length c3 to angle α
as depicted in figure A.17.  
∆z1
δ1 = asin (A.15)
a3
 
∆z2
δ2 = asin (A.16)
b3
 2
c3 − a23 − b23

γ3 = acos (A.17)
−2a3 b3
α3 = −(γ3 − δ2 + δ1 ) (A.18)
The inverse formula for converting the angle α3 to to length c3 is given in equation A.19.
q
c3 = a23 + b23 − 2 · a3 · b3 · cos(−α3 + δ2 − δ1 ) (A.19)

A.4.4 Bucket Pitch Joint


As can be seen in figure A.18, the bucket joint length c4 to angle α4 conversion is more
complex then those of the others. Equations A.20 till A.26 perform this conversion while
a4 , a7 , dd7l4 , and d8 are known before.
 
∆z
β4 = asin (A.20)
a4
 
∆z
β6 = asin (A.21)
d7
 2
d7 + l32 − c24

β5 = acos (A.22)
2 · d7 · l3
A.4. Calculation of Joint Angles based on Cylinder Lengths 199

∆z

c4

d7

a4
∆x
l3
β6
β5 b4 l2

β7 d4 Θ
l4
α4 γ4
β4 l1
m4

Figure A.18: Mounting point of the bucket pitch joint sensor m4 and conversion between
cylinder length c4 to joint angle γ4 conversion via delta mount positions ∆x, and ∆z, and known
elements lengths l1 till l4 .

β7 = π − β5 − β6 (A.23)
q
b4 = l42 + l32 − 2 · l4 · l3 · cos(β7 ) (A.24)
 2
l4 + b24 − l32
 2
l1 + b24 − l22
 
γ4 = acos + acos (A.25)
2 · l 4 · b4 2 · l 1 · b4
π
α = − γ4 (A.26)
2
The bucket pitch angle γ4 to length c4 conversion has different formulas for α4 being larger
or smaller than −90°. If the angle is larger than −90° equations A.27 till A.31 count.
q
d4 = l42 + l12 − 2l4 l1 cos γ4 (A.27)
 2
l2 + d24 − l32
 2
l1 + d24 − l42
 
Θ = acos + acos (A.28)
2l2 d4 2l1 d4
q
b4 = l12 + l22 − 2l1 l2 cos(Θ) (A.29)
 2
l + b24 − l32

α4 = acos 4 − β4 (A.30)
2l4 b4
200 A. Appendix

q
c4 = b24 + a24 − 2b4 a4 cos(α4 ) (A.31)
In the other case equations A.32 till A.39 can be used to calculate the length c4 .

π
γ4 = − − α4 (A.32)
2
γ5 = π − γ4 (A.33)
q
d4 = l42 + l12 − 2 · l4 · l1 · cos γ5 (A.34)
q
d5 = d2d7l4 + l12 − 2 · dd7l4 · l1 · cos γ5 (A.35)
 2
l3 + l42 − l22

−1
β8 = cos (A.36)
2 · l3 · l4
 2
d7 + d24 − d25

−1
β9 = cos (A.37)
2 · d7 · d4
β5 = 360° − β8 − β9 − β6 (A.38)
q
c4 = d28 + l32 − 2 · d8 · l3 · cos β5 (A.39)

q.e.c.
Bibliography

[Aluko 00] O. Aluko, D. Seig, “An experimental investigation of the characteristics of and
conditions for brittle fracture in two-dimensional soil cutting”, Soil and Tillage Research,
vol. 57, no. 3, pp. 143–157, 2000.
[Arkin 98] R. Arkin, Behaviour-Based Robotics, MIT Press, 1998. ISBN-10: 0-262-01165-4;
ISBN-13: 978-0-262-01165-5.
[Armbrust 10] C. Armbrust, T. Braun, T. Föhst, M. Proetzsch, A. Renner, B.-H. Schäfer,
K. Berns, “RAVON – The Robust Autonomous Vehicle for Off-road Navigation”, in
Using robots in hazardous environments: Landmine detection, de-mining and other
applications, Y. Baudoin, M. K. Habib, Eds., Woodhead Publishing Limited, 2010,
ch. 15. ISBN-10: 1 84569 786 3; ISBN-13: 978 1 84569 786 0.
[Armbrust 12] C. Armbrust, D. Schmidt, K. Berns, “Generating Behaviour Networks
from Finite-State Machines”, in Proceedings of the 7th German Conference on Robotics
(ROBOTIK 2012). May 22–25 2012.
[Armbrust 15] C. Armbrust, Design and Verification of Behaviour-Based Systems Realising
Task Sequences, ser. RRLab Dissertations, Verlag Dr. Hut, München, 2015. ISBN-13:
978-3-8439-2261-6.
[Arney 07] T. Arney, “Dynamic path planning and execution using B-Splines”, in Third
International Conference on Information and Automation for Sustainability (ICIAFS).
December 4–6 2007, pp. 1–6.
[Bauer 07] H. Bauer, Baubetrieb, 3 ed., Springer-Verlag Berlin/Heidelberg, 2007. ISBN
978-3-540-32113-2.
[Bauer 92] H. Bauer, Bauverfahren im Erdbau, Springer-Verlag Berlin/Heidelberg, 1992,
vol. Baubetrieb 1, ch. 5, pp. 61–174. ISBN 978-3-540-32113-2.
[Bernold 03] L. Bernold, J. Lloyd, M. Vouk, “Equipment operator training in the age of
internet2”, Nist Special Publication Sp, pp. 505–510, 2003.
[Berns 04] K. Berns, T. Braun, C. Hillenbrand, T. Luksch, “Developing Climbing Robots
for Education”, in Proceedings of the 7th International Conference on Climbing and
Walking Robots (CLAWAR). Madrid, Spain, September 22–24 2004, pp. 982–900.
[Berns 11] K. Berns, K.-D. Kuhnert, C. Armbrust, “Off-road Robotics - An Overview”, KI
- Künstliche Intelligenz, vol. 25, no. 2, pp. 109–116, May 2011. http://dx.doi.org/10.
1007/s13218-011-0100-4.
202 Bibliography

[Böhm 15] S. Böhm, “Detection of multiple object types within a pointcloud”, Masters
thesis, Robotics Research Lab, Department of Computer Sciences, University of Kaiser-
slautern, 2015.

[Bosch 91] Bosch, “CAN Specification Version 2.0”, Robert Bosch GmbH, Tech. Rep.,
September 1991.

[Bradley 93] D. A. Bradley, D. W. Seward, J. E. Mann, M. R. Goodwin, “Artificial


intelligence in the control and operation of construction plant - the autonomous robot
excavator”, Automation in construction, vol. 2, no. 3, pp. 217–228, 1993.

[Bradley 94] D. A. Bradley, D. W. Seward, T. Heikkila, P. Vaha, “Control architectures


and operational strategies for intelligent, high-powered manipulators”, in Proceedings of
the 11th International Symposium on Automation and Robotics in Construction. 1994,
pp. 367–372.

[Bradley 98] D. A. Bradley, D. W. Seward, “The Development, Control and Operation of


an Autonomous Robotic Excavator”, Journal of Intelligent and Robotic Systems, vol.
21, no. 1, pp. 73–97, January 1998.

[Braun 07] T. Braun, J. Wettach, K. Berns, “A Customizable, Multi-Host Simulation and


Visualization Framework for Robot Applications”, in Proceedings of the 13th Interna-
tional Conference on Advanced Robotics (ICAR07). Jeju, Korea, August 21–24 2007, pp.
1105–1110.

[Braun 09] T. Braun, Cost-Efficient Global Robot Navigation in Rugged Off-Road Terrain,
ser. RRLab Dissertations, Verlag Dr. Hut, 2009. ISBN: 978-3-86853-135-0.

[Brooks 86] R. A. Brooks, “A Robust Layered Control System for a Mobile Robot”, IEEE
Journal of Robotics and Automation, vol. RA-2, no. 1, pp. 14–23, April 1986.

[Cannon 99] H. Cannon, “Extended Earthmoving with an Autonomous Excavator”,


Diploma thesis, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, May
1999.

[Cao 94] T. Cao, A. C. Sanderson, “Task decomposition and analysis of robotic assembly
task plans using Petri nets”, IEEE Transactions on Industrial Electronics, vol. 41, no. 6,
pp. 620–630, 1994.

[Chan 13] T. O. Chan, D. D. Lichti, D. Belton, “Temporal Analysis and Automatic Cali-
bration of the Velodyne HDL-32E LiDAR System”, ISPRS Annals of Photogrammetry,
Remote Sensing and Spatial Information Sciences, vol. II-5/W2, pp. 61–66, 2013.

[Coste-Maniere 00] E. Coste-Maniere, R. Simmons, “Architecture, the backbone of robotic


systems”, in Proceedings of the IEEE International Conference on Robotics and Automa-
tion 2000 (ICRA 2000), vol. 1. 2000, pp. 67–72.

[de Mello 90] L. S. H. de Mello, A. C. Sanderson, “AND/OR graph representation of


assembly plans”, IEEE Transactions on Robotics and Automation, vol. 6, no. 2, pp.
188–199, 1990.
Bibliography 203

[Douglass 03] B. P. Douglass, “Real time UML”, in Formal Techniques in Real-Time and
Fault-Tolerant Systems: 7th International Symposium, FTRTFT 2002, Co-sponsored
by IFIP WG 2.2, Oldenburg, Germany, September 9-12, 2002. Proceedings, vol. 2469,
Springer. 2003, p.5̃3.

[Elezaby 08] A. Elezaby, M. Abdelaziz, S. Cetinkunt, “Operator Model for Construction


Equipment”, in Proceedings of the International Conference on Mechtronic and Embedded
Systems and Applications (MESA), IEEE. 2008, pp. 582–585.

[Elfes 89] A. Elfes, “Occupancy Grids: A Probabilistic Framework for Robot Perception
and Navigation”, Dissertation, Department of Electrical and Computer Engineering,
Carnegie Mellon University, Pittsburgh, PA, USA, 1989.

[Feldmann 16] P. Feldmann, “Entwicklung einer effizienten Abladesimulation”, Bache-


lors thesis, Robotics Research Lab, Department of Computer Sciences, University of
Kaiserslautern, 2016.

[Ferguson 04] D. Ferguson, A. Stentz, “Planning with Imperfect Information”, in Proceed-


ings of the IEEE International Conference on Intelligent Robots and Systems (IROS),
vol. 2. September 2004, pp. 1926–1931.

[Fielke 99] J. M. Fielke, “Finite element modelling of the interaction of the cutting edge
of tillage implements with soil”, Journal of agricultural engineering research, vol. 74, no.
1, pp. 91–101, 1999.

[Filla 12] R. Filla, “Simulating Operability of Wheel Loaders - Operator Models and
Quantification of Control Effort”, in Commercial Vehicle Technology 2012 - Proceedings
of the Commercial Vehicle Technology Symposium (CVT). March 14–15 2012, pp. 69–80.

[Fleischmann 13] P. Fleischmann, T. Föhst, K. Berns, “Trajectory Planning and Lateral


Control for Agricultural Guidance Applications”, in The 2013 ICITA Journal of In-
formation Technology and Applications. July 1–4 2013. ISBN: 978-0-9803267-5-8, in
press.

[Frank 12] B. Frank, L. S. M. Alaküla, “On wheel loader fuel efficiency difference due to
operator behavior distribution.”, in Commercial Vehicle Technology 2012 - Proceedings of
the Commercial Vehicle Technology Symposium (CVT). March 13–15 2012, pp. 329–346.

[Frick 72] K. N. Frick, F. Neumann, Baukonstruktionslehre Teil 1 - Baugrund und Erdar-


beiten, BG Teubner, 1972. ISBN: 978-3-8348-2564-3.

[Friedrich 13] K. Friedrich, L. Jedmowski, “Einstufung der Grabbarkeit auf Grundlage


der DIN 18300 und Verknüpfungsregel 1.35 der Methodendokumentation Bodenkunde”,
Jahrestagung der DBG 2013, September 7–12 2013.

[Göckel 13] F. Göckel, “Development of a behavior-based obstacle collision avoidance for


the autonomous excavator THOR”, Bachelors thesis, Robotics Research Lab, Department
of Computer Sciences, University of Kaiserslautern, October 2013.
204 Bibliography

[Green 90] P. Green, D. W. Seward, D. A. Bradley, “Knowledge acquisition for a robot


excavator”, in Proceedings of the 7th Intl. Symposium on Robotics in Construction. 1990,
pp. 351–357.

[Günthner 09] W. A. Günthner, S. Kessler, T. Frenz, J. Wimmer, “Transportlogistikpla-


nung im Erdbau: Entwicklung eines Simulationsverfahrens zur Optimierung der trans-
portlogistischen Ablaufplanung im Erdbau basierend auf dem Ansatz der Berechnung
von Stetigförderern im Bereich der Fördertechnik”, Technische Universität München,
2009. Lehrstuhl für Fördertechnik Materialfluss Logistik.

[Günthner 11] W. Günthner, Digitale Baustelle-innovativer Planen, effizienter Ausführen:


Werkzeuge und Methoden für das Bauen im 21. Jahrhundert, Springer-Verlag, 2011.
ISBN: 978-3-642-16485-9.

[Ha 00] Q. Ha, Q. Nguyen, D. Rye, H. Durrant-Whyte, “Impedance control of a hydrauli-


cally actuated robotic excavator”, Automation in Construction, vol. 9, no. 5–6, pp.
421–435, 2000.

[Ha 01] Q. Ha, Q. Nguyen, D. Rye, H. Durrant-Whyte, “Fuzzy sliding-mode controllers


with applications”, IEEE Transactions on Industrial Electronics, vol. 48, no. 1, pp.
38–46, 2001.

[Ha 02] Q. Ha, M. Santos, Q. Nguyen, D. Rye, H. Hugh Durrant-Whyte, “Robotic Exca-
vation in Construction Automation”, Robotics Automation Magazine, IEEE, vol. 9, no.
1, pp. 20–28, March 2002.

[Ha 04] Q. Ha, D. Rye, “A control architecture for robotic excavation in construction”,
Computer-Aided Civil and Infrastructure Engineering, vol. 19, no. 1, pp. 28–41, 2004.

[Harabor 11] D. D. Harabor, A. Grastien, “Online Graph Pruning for Pathfinding On


Grid Maps”, in Proceedings of the Twenty-Fifth Conference on Artificial Intelligence
(AAAI-11). 2011.

[Harel 87] D. Harel, “Statecharts: A visual formalism for complex systems”, Science of
computer programming, vol. 8, no. 3, pp. 231–274, 1987.

[Hart 68] P. E. Hart, N. J. Nilsson, B. Raphael, “A Formal Basis for the Heuristic De-
termination of Minimum Cost Paths”, in IEEE Transactions of Systems Science and
Cybernetics, vol. 4, no. 2. July 2 1968, pp. 100–107.

[Hartenberg 55] R. S. Hartenberg, J. Denavit, “A Kinematic Notation for Lower Pair


Mechanisms Based on Matrices”, Journal of Applied Mechanics, vol. 77, pp. 215–221,
1955.

[Heim 94] R. Heim, Tiefbau: Grundwissen für das Baukader, ser. Grundwissen für das
Baukader, Rolf Heim Verlag, 1994. ISBN: 978-3952091814.

[Hillenbrand 10] C. Hillenbrand, D. Schmidt, N. Bennett, P. Bach, K. Berns, C. Schindler,


“Feasibility Study for the Automation of Commercial Vehicles on the Example of a Mobile
Excavator”, in Commercial Vehicle Technology 2010 - Proceedings of the 1st Commercial
Vehicle Technology Symposium (CVT 2010), K. Berns, C. Schindler, K. Dreßler, B. Jörg,
Bibliography 205

R. Kalmar, J. Hirth, Eds. Kaiserslautern, Germany: Shaker Verlag, March 16–18 2010,
pp. 22–31. ISBN 978-3-8322-9040-5.

[Hillenbrand 14] C. Hillenbrand, J. Hirth, B. H. Leroch, M. Frank, “Closed-Loop Joint


Angle Control for a Multi-Axes Hydraulics Arms - Towards Autonomous Construction
Machines”, in Commercial Vehicle Technology 2014 - Proceedings of the Commercial
Vehicle Technology Symposium (CVT 2014). Kaiserslautern, Germany, March 11–13
2014, pp. 37–46.

[Huang 11] H.-C. Huang, C.-C. Tsai, “Global Path Planning for Autonomous Robot
Navigation Using Hybrid Metaheuristic GA-PSO Algorithm”, in Proceedings of the
SICE Annual Conference 2011. September 13–18 2011.

[Juhasz 12] D. T. Juhasz, D. Schmidt, L. Kiekbusch, P. U. Schmucker, P. K. Berns,


“Modellierung und verteilte Simulation eines autonomen Mobilbaggers”, Tagungsband
Fachtagung Digitales Engineering zum Planen, Testen und Betreiben Technischer Sys-
teme, pp. 123–130, June 26–28 2012.

[Kavraki 96] L. E. Kavraki, P. Svestka, J.-C. Latombe, M. H. Overmars, “Probabilistic


roadmaps for path planning in high-dimensional configuration spaces”, IEEE Transac-
tions on Robotics and Automation, vol. 12, no. 4, pp. 566–580, 1996.

[Kim 11] Y. B. Kim, H. Kang, J. H. Ha, M. S. Kim, P. Y. Kim, S. J. Baek, J. Park, “A


study on the virtual digging simulation of a hydraulic Excavator”, Proceedings of the
28th International Symposium on Automation and Robotics in Construction (ISARC),
pp. 95–100, 2011.

[Koren 91] Y. Koren, J. Borenstein, “Potential field methods and their inherent limitations
for mobile robot navigation”, in Proceedings ot the IEEE International Conference on
Robotics and Automation (ICRA 1991), IEEE. 1991, pp. 1398–1404.

[Koyachi 10] N. Koyachi, S. Sarata, “Autonomous Wheel Loader Yamazumi-4”, in Pro-


ceedings of Robotics 2010. Clermont-Ferrand, France, September 3–4 2010.

[Lang 03] H. J. Lang, J. Huder, P. Amann, Bodenmechanik und Grundbau: Das Verhalten
Von Boden und Fels und Die Wichtigsten Grundbaulichen Konzepte, Springer, 2003.
ISBN: 978-3-642-14687-9.

[Langari 15] S. M. Langari, A. Hammad, “Improving the Performance of RTT Path


Planning of Excavators by Embedding Heuristic Rules”, Journal of Automation in
Construction, 2015.

[LaValle 06] S. M. LaValle, Planning Algorithms, Cambridge University Press, 2006. ISBN:
978-0521862059.

[LaValle 98] S. M. LaValle, “Rapidly-Exploring Random Trees A New Tool for Path
Planning”, TR 98-11, Computer Science Department, Iowa State University, October
1998.
206 Bibliography

[Lee 08] S. Lee, D. Hong, H. Park, J. Bae, “Optimal path generation for excavator with
neural networks based soil models”, in Proceedings of the IEEE International Conference
on Multisensor Fusion and Integration for Intelligent Systems (MFI 2008), IEEE. 2008,
pp. 632–637.

[Lee 09] J.-Y. Lee, W. Yu, “A coarse-to-fine approach for fast path finding for mobile
robots”, in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS 2009). 2009, pp. 5414–5419.

[Lemser 03] D. Lemser, “Hydraulikbagger auf Rädern oder Ketten (Teil 1)”, Tiefbau,
September 2003.

[Lemser 04] D. Lemser, “Hydraulikbagger auf Rädern oder Ketten (Teil 2)”, Tiefbau,
March 2004.

[Leroch 16] B. H. Leroch, J. Hirth, D. Schmidt, K. Berns, “Sensor Data Representation


A System for Processing, Combining, and Visualizing Information from Various Sensor
Systems”, in Commercial Vehicle Technology 2016 – Proceedings of the Commercial
Vehicle Technology Symposium (CVT 2016). 2016.

[Lever 95] P. J. Lever, F.-Y. Wang, “Intelligent excavator control system for lunar mining
system”, Journal of Aerospace Engineering, vol. 8, no. 1, pp. 16–24, 1995.

[Li 07] H.-X. Li, X.-X. Zhang, S.-Y. Li, “A three-dimensional fuzzy control methodology
for a class of distributed parameter systems”, IEEE Transactions on Fuzzy Systems, vol.
15, no. 3, pp. 470–481, 2007.

[Lorenz 11] M. Lorenz, J. Lorenz, Das Baustellenhandbuch für den Tiefbau, Forum Verlag
Heckert, 2011. ISBN: 978-3865861313.

[Lozano-Perez 83] T. Lozano-Perez, “Spatial planning: A configuration space approach”,


IEEE Transactions on Computers, vol. 100, no. 2, pp. 108–120, 1983.

[Maeda 11] G. J. Maeda, S. P. N. Singh, H. Durrant-Whyte, “A Tuned Approach to


Feedback Motion Planning with RRTs under Model Uncertainty”, in Proceedings of the
International Conference on Robotics and Automation (ICRA 2011). 2011.

[Magid 06] E. Magid, D. Keren, E. Rivlin, I. Yavneh, “Spline-Based Robot Navigation”,


in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and
Systems (IROS 2006). IEEE, 2006, pp. 2296–2301.

[Meagher 80] D. Meagher, “Octree Encoding: A New Technique for the Representation,
Manipulation and Display of Arbitrary 3-D Objects by Computer”, Rensselaer Polytech-
nic Institute, Tech. Rep., 1980.

[Moravec 96] H. Moravec, “Robot Spatial Perception by Stereoscopic Vision and 3D


Evidence Grids”, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, Tech.
Rep. CMU-RI-TR-96-34, September 1996.

[Mts 14] Mts. Tempsonics - Absolute, berührungslose Positionssensoren R-Serie Katalog.


Mts Sensors. 2014.
Bibliography 207

[Neumann 06] D. Neumann, U. Weinbrenner, U. Hestermann, L. Rongen, Frick/Knöll


Baukonstructionslehre 1, 34 ed., B.G. Teubner, February 13 2006. ISBN 978-3-8351-
0001-5.

[Nicolescu 00] M. N. Nicolescu, M. J. Matarić, “Extending Behavior-Based Systems Capa-


bilities Using An Abstract Behavior Representation”, in Working Notes of the AAAI
Fall Symposium on Parallel Cognition. North Falmouth, MA, November 3–5 2000, pp.
27–34.

[Noppenberger 11] N. Noppenberger, “Digging trajectory generation for the autonomous


excavator control system”, Project thesis, Robotics Research Lab, Department of Com-
puter Sciences, University of Kaiserslautern, November 2011. unpublished.

[Peterson 81] J. L. Peterson, Petri net theory and the modeling of systems, Prentice Hall
PTR, 1981.

[Pfaff 05] P. Pfaff, W. Burgard, “An Efficient Extension of Elevation Maps for Outdoor
Terrain Mapping”, in Proceedings of the 5th International Conference on Field and
Service Robotics, P. Corke, S. Sukkarieh, Eds. Port Douglas, Australia: Springer, July
29–31 2005, pp. 195–206.

[Piao 16] S. Piao, L. Kiekbusch, D. Schmidt, K. Berns, D. Hering, S. Wirtz, N. Hering,


J. Weiland, “Real-time multi-platform pedestrian detection in a heavy duty driver assis-
tance system”, in Commercial Vehicle Technology 2016 – Proceedings of the Commercial
Vehicle Technology Symposium (CVT 2016). 2016.

[Pluzhnikov 12] S. Pluzhnikov, D. Schmidt, J. Hirth, K. Berns, “Behavior-based Arm


Control for an Autonomous Bucket Excavator”, in Proceedings of the 2nd Commercial
Vehicle Technology Symposium (CVT 2012), K. Berns, C. Schindler, K. Dreßler, B. Jörg,
R. Kalmar, G. Zolynski, Eds. Kaiserslautern, Germany: Shaker Verlag, March 13–15
2012, pp. 251–261.

[Proetzsch 07] M. Proetzsch, T. Luksch, K. Berns, “The Behaviour-Based Control Archi-


tecture iB2C for Complex Robotic Systems”, in Proceedings of the 30th Annual German
Conference on Artificial Intelligence (KI). Osnabrück, Germany, September 10–13 2007,
pp. 494–497.

[Proetzsch 10a] M. Proetzsch, Development Process for Complex Behavior-Based Robot


Control Systems, ser. RRLab Dissertations, Verlag Dr. Hut, 2010. ISBN: 978-3-86853-
626-3.

[Proetzsch 10b] M. Proetzsch, T. Luksch, K. Berns, “Development of Complex Robotic Sys-


tems Using the Behavior-Based Control Architecture iB2C”, Robotics and Autonomous
Systems, vol. 58, no. 1, pp. 46–67, January 2010. doi:10.1016/j.robot.2009.07.027.

[Rocke 94] D. J. Rocke, “Control System for Automatically Controlling a Work Implement
of an Earthmoving Machine To Capture Material”, US Patent 5528843, June 1994.

[Rocke 95] D. J. Rocke, “Automatic Excavation Control System and Method”, US Patent
5446980, September 1995.
208 Bibliography

[Rocke 96] D. J. Rocke, “Control system for automatically controlling a work implement
of an earthworking machine to capture material”, 1996. US Patent 5,528,843.
[Rosenblatt 97] J. Rosenblatt, “Utility Fusion: Map-Based Planning in a Behavior-Based
System”, in Proceedings of FSR ‘97 International Conference on Field and Service
Robotics. 1997.
[Rowe 97a] P. Rowe, “Increasing Productivity for Autonomous Mass Excavation A Thesis
Proposal”, Unpublished, 1997.
[Rowe 97b] P. Rowe, A. T. Stentz, “Parameterized scripts for motion planning”, in Pro-
ceedings of the IEEE/RSJ International Conference on Intelligent Robotic Systems, vol.
2. Grenoble , France, September 7–11 1997, pp. 1119–1124.
[Rowe 99] P. S. Rowe, “Adaptive motion planning for autonomous mass excavation”,
Dissertation, Carnegie Mellon University, 1999.
[Santos 00] M. Santos, Q. Ha, D. Rye, H. Durrant-Whyte, “Global control of robotic
excavation using fuzzy logic and statecharts”, in Proc. 17th Symp. Automat. Robot.
Construction. 2000, pp. 559–565.
[Schank 13] C. Schank, “Development of the alignment and displacement functions for
thors undercarriage”, Masters thesis, Robotics Research Lab, Department of Computer
Sciences, University of Kaiserslautern, October 2013.
[Schmidt 08] D. Schmidt, “Dynamic modelling and control of a mobile bucket excavator”,
Project thesis, Robotics Research Lab, Department of Computer Sciences, University of
Kaiserslautern, September 11 2008. unpublished.
[Schmidt 09] D. Schmidt, “Soil Simulation and Behaviour-Based Control for Landscap-
ing Tasks of an Autonomous Bucket Excavator”, Diploma thesis, Robotics Research
Lab, Department of Computer Sciences, University of Kaiserslautern, April 24 2009.
unpublished.
[Schmidt 10a] D. Schmidt, K. Berns, “An autonomous excavator for landscaping tasks”,
in Proceedings for the joint conference of ISR 2010 and ROBOTIK 2010. Munich,
Germany: VDI Düsseldorf, June 6–9 2010, pp. 819–826.
[Schmidt 10b] D. Schmidt, M. Proetzsch, K. Berns, “Simulation and Control of an
Autonomous Bucket Excavator for Landscaping Tasks”, in Proceedings of the 2010 IEEE
International Conference on Robotics and Automation (ICRA 2010). Anchorage, Alaska,
USA, May 3–8 2010, pp. 5108–5113.
[Schmidt 13] D. Schmidt, T. Juhasz, K. Berns, U. Schmucker, “Interconnection of the
behavior-based control architecture and a detailed mechatronic machine model for
realistic behavior verification of the Thor project”, in Informatik 2013, ser. Lecture
Notes in Informatics (LNI). Koblenz, Germany: Springer, September 16–20 2013.
[Schmidt 14] D. Schmidt, K. Berns, “Behavior-based trajectory adaptation based on
bucket-volume estimation”, in Commercial Vehicle Technology 2014 – Proceedings of
the Commercial Vehicle Technology Symposium (CVT 2014). Kaiserslautern, Germany,
March 11–13 2014, pp. 347–356.
Bibliography 209

[Schmidt 15] D. Schmidt, K. Berns, “Construction Site Navigation for the Autonomous
Excavator Thor”, in Proceedings of the Sixth International Conference on Automation,
Robotics and Applications. Queenstown, New Zealand, February 16–19 2015.

[Seward 07] D. Seward, C. Pace, R. Agate, “Safe and effective navigation of autonomous
robots in hazardous environments”, Autonomous Robots, vol. 22, no. 3, pp. 223–242,
2007.

[Seward 96a] D. Seward, F. Margrave, I. Sommerville, R. Morrey, “LUCIE the robot


excavator-design for system safety”, in Robotics and Automation, vol. 1, IEEE. 1996, pp.
963–968.

[Seward 96b] D. W. Seward, A. Bradshaw, F. Margrave, “The Anatomy of a Humanoid


Robot”, Robotica 14.04, vol. 14, pp. 437–443, 1996.

[Shao 08] H. Shao, H. Yamamoto, Y. Sakaida, T. Yamaguchi, Y. Yanagisawa, A. Nozue,


“Automatic Excavation Planning of Hydraulic Excavator”, Intelligent Robotics and
Applications, pp. 1201–1211, 2008.

[Shi 95] X. Shi, F.-Y. Wang, P. J. A. Lever, “Task and behavior formulations for robotic
rock excavation”, in Proceedings of the 1995 IEEE International Symposium on Intelligent
Control, IEEE. 1995, pp. 248–253.

[Shi 96a] X. Shi, P. J. A. Lever, F. Y. Wang, “Experimental robotic excavation with fuzzy
logic and neural networks”, in Proceedings of the IEEE International Conference on
Robotics and Automation (ICRA 1996), vol. 1, IEEE. 1996, pp. 957–962.

[Shi 96b] X. Shi, F. Y. Wang, P. Lever, “Experimental results of robotic excavation using
fuzzy behavior control”, Control Engineering Practice, vol. 4, no. 2, pp. 145–152, 1996.

[SICK 14] SICK. Laser scanners LMS1xx / LMS15x / Outdoor / Short Range. SICK AG
Waldkirch. 2014.

[Singh 95] S. Singh, “Synthesis of Tactical Plans for Robotic Excavation.”, Dissertation,
The Robotics Institute Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA
15213, 1995.

[Singh 98] S. Singh, H. Cannon, “Multi-resolution planning for earthmoving”, in Proceedings


of the International Conference on Robotics and Automation (ICRA 1998), vol. 1, IEEE.
1998, pp. 121–126.

[Stentz 94] A. Stentz, “Optimal and Efficient Path Planning for Partially-Known En-
vironments”, in Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA 1994), vol. 4. San Diego, CA, USA, May 8–13 1994, pp. 3310–3317.

[Stentz 98] A. Stentz, J. Bares, S. Singh, P. Rowe, “A robotic excavator for autonomous
truck loading”, Autonomous Robots, vol. 7, no. 2, pp. 175–186, 1998.

[Stentz 99] A. Stentz, J. Bares, S. Singh, P. Rowe, “A Robotic Excavator for Autonomous
Truck Loading”, Autonomous Robots, vol. 7, no. 2, pp. 175–186, September 1999.
210 Bibliography

[Thrun 06] S. Thrun, M. Montemerlo, H. Dahlkamp, D. Stavens, A. Aron, J. Diebel,


P. Fong, J. Gale, M. Halpenny, G. Hoffmann, K. Lau, C. Oakley, M. Palatucci, V. Pratt,
Pasc, “Stanley: The Robot that Won the DARPA Grand Challenge”, Journal of Field
Robotics, vol. 23, no. 9, pp. 661–692, September 2006.

[Thrun 98] S. Thrun, W. Burgard, D. Fox, “A probabilistic approach to concurrent mapping


and localization for mobile robots”, in Machine Learning, vol. 31, no. 1. 1998, pp. 29–53.

[Tomatis 03] N. Tomatis, I. R. Nourbakhsh, R. Siegwart, “Hybrid simultaneous localization


and map building: a natural integration of topological and metric”, Robotics and
Autonomous Systems, vol. 44, no. 1, pp. 3–14, 2003.

[Triebel 06] R. Triebel, P. Pfaff, W. Burgard, “Multi Level Surface Maps for Outdoor Ter-
rain Mapping and Loop Closing”, Proceedings of the IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS), 2006.

[Vesely 81] W. E. Vesely, F. F. Goldberg, N. H. Roberts, D. F. Haasl, Fault Tree Handbook,


Washington, DC: U.S. Nuclear Regulatory Commission, 1981. ISBN: 978-1500178208.

[VolvoCE 05] VolvoCE. Volvo Excavators EW180B. Volvo Construction Equipment. 09


2005.

[Wang 04] F. Y. Wang, “Agent-based control for fuzzy behavior programming in robotic
excavation”, Transactions on Fuzzy Systems, vol. 12, no. 4, pp. 540–548, 2004.

[Wettach 10] J. Wettach, D. Schmidt, K. Berns, “Simulating Vehicle Kinematics with


SimVis3D and Newton”, in 2nd International Conference on Simulation, Modeling and
Programming for Autonomous Robots. Darmstadt, Germany, November 15–18 2010.

[Zhou 12] M. Zhou, F. DiCesare, Petri net synthesis for discrete event control of manu-
facturing systems, Springer Science and Business Media, 2012, vol. 204.

[Zolynski 14] G. Zolynski, D. Schmidt, K. Berns, “Safety for an Autonomous Bucket


Excavator During Typical Landscaping Tasks”, in New Trends in Medical and Service
Robots, ser. Mechanisms and Machine Science, A. R. at al, Ed., Springer International
Publishing Switzerland, April 2014, vol. 20, ch. 24, pp. 357–368.

Das könnte Ihnen auch gefallen