Anda di halaman 1dari 7

Automation in Construction 15 (2006) 571 577

www.elsevier.com/locate/autcon

A 3D model based control of an excavator


Tomi Makkonen a,*, Kelervo Nevala b,a, Rauno Heikkila c
a

University of Oulu, Department of Mechanical Engineering, P.O. Box 4200, FIN-90014, Finland
b
VTT Electronics, P.O. Box 1100, FIN-90570 Oulu, Finland
University of Oulu, Research Unit of Construction Technology, P.O. Box 4400, FIN_90014, Finland
Accepted 26 July 2005

Abstract
New technologies facilitate machine control systems, which use data from CAD and 3D measurement systems to automatically control
construction machinery, such as an excavator. This paper examines the possibilities of controlling a six degrees of freedom (DOF) excavator with
the final objective of controlling the movements of the excavator by using a positioning system such as a GPS in conjunction with a CAD model
of the road surface. In comparison with the traditional 4 DOF machine, the excavator was provided with two additional degrees of freedom by
applying a 2 DOF Rototilt, an accessory commonly in use. To study this problem, Msc.Adams with Matlab/Simulink was used as a simulation
environment. In this paper the path of the bucket is calculated by using the CAD reference of the target plane.
D 2005 Elsevier B.V. All rights reserved.
Keywords: Robotic excavator; Path generation; Dig planning; Modelling; Simulation; Triangular terrain model; CAD

1. Introduction
A robotic excavator is not a new idea as there are many
interesting and advanced systems; for example, Autonomous
Truck Loading from Carnegie Mellon University [1], LUCIE
from Lancaster University [2] and Komatsu PC05-7 in ACRF
[3]. However, in general, the level of automation in the
construction industry is relatively low compared to that in the
other fields of industry. Although various research projects
have been conducted for automating different tasks in
construction, only a few applications are commonly in use. It
would seem, however, that the general level of technology has
finally reached a point where there are means of meeting even
the specific needs of construction automation.
In our study we have focused on, firstly, the intensive use of
a modelling environment, secondly, an assumption that a CAD
model of the target surface is available, thirdly, a 3D
positioning systems such as GPS is available, and fourthly,
the excavator has six degrees of freedom instead of the
traditional four degrees.

Simulation tools like Msc.Adams and Matlab/Simulink are


well suited for virtual development of excavator automation,
especially so for considering the problem of path generation or
checking a set of equations like inverse kinematics. They are
an efficient tool when developing new control methods and
algorithms. Properties of an automated system can be designed
in detail before the new methods move to the prototype stage.
Also, development work will be accelerated and solutions
optimized accordingly.
A road surface CAD model with 3D measurements has been
used successfully in machine control automation, at least for
the road grader [4,5]. The reported speed increase was between
30% and 60%.
Based on the triangular terrain model, the theme in this
paper is to derive equations for the buckets position and
orientation so that paths L1, L2 and L3 are obtained (see
Fig. 5). We are also interested in defining the kind of
information needed about the CAD model and to present it
accordingly.
1.1. Excavator with 6 DOF

* Corresponding author.
E-mail addresses: Tomi.Makkonen@oulu.fi (T. Makkonen),
Kalervo.Nevala@vtt.fi (K. Nevala), Rauno.Heikkila@oulu.fi (R. Heikkila).
0926-5805/$ - see front matter D 2005 Elsevier B.V. All rights reserved.
doi:10.1016/j.autcon.2005.07.009

One of the drawbacks of a traditional excavator with 4 DOF


that slightly weakens its possibilities as a robotic excavator is

572

T. Makkonen et al. / Automation in Construction 15 (2006) 571 577

Fig. 1. Six coordinate systems attached to an excavator with Rototilt.

the orientation of a buckets cutting edge which is always


parallel to the y-axis of the coordinate system K 0 (see Fig. 1),
thus limiting the accuracy of bucket control.
So, even if the centre point of the buckets cutting edge is at
the desired location, its corner might be displaced several
tenths of a centimetre from the target surface. If the yaw angle
of an excavator is 45-, the displacement of the corner of a 1-mwide bucket can be as high as 35 cm.
Rototilt [6] is shown in Fig. 2. It is widely used (and
well-liked) among excavator operators because it generates
two additional degrees of freedom yielding the driver more
power to operate. Moreover, the necessity of moving the
excavator body is greatly reduced while, for example,
digging trenches with a 4 DOF excavator is only possible
when the body is located in the same line with the trench.
With 6 DOF, this can also be done from the side of the
trench line.

1.2. Short introduction to a 6 DOF excavator model and


previous work
Geometry of an excavator is drawn using Msc.Adams [7], a
program designed to simulate mechanical systems. For control
and programming the Matlab/Simulink environment is used.
Both products are linked so that the model inside Msc.Adams
can be controlled from Simulink, which speeds up development work.
A basic model includes:
1. Analytically solved inverse kinematics for a 6 DOF
excavator (Fig. 1).
2. Positioning and orientation using 2 GPS sensors and an
inclinometer (Fig. 3) so that the transformation matrix T MCS
SCS
between the SCS (Site Coordinate System) and MCS
(Machine Coordinate System) can be calculated.

Fig. 2. Rototilt and demonstration of possibilities with extra two degrees of freedom.

T. Makkonen et al. / Automation in Construction 15 (2006) 571 577

Fig. 3. Coordinate systems.

3. A velocity P-controller to drive the joints to a position


calculated by the inverse kinematics.
Some information on the simulation of a 6 DOF excavator
can be found in [8].
2. Path generation for 3D
The file format we chose for the study of the excavator
automation is the triangular terrain model (see Figs. 4 and 8).
Triangles defined by vertices determine the plane. It is possible
to generate a text file of the x, y, and z coordinates of the points
defining the vertices of the triangles. This xyz text file is the
starting point for our study.
2.1. Triangle compilation
As mentioned above, the xyz format is the base of
calculations. The first step is to transform the information into
triangles as information given as points alone is not enough for
the purposes of path generation. The Delaunay triangulation
method [9] was chosen as the method of triangulation because
it is included in the Matlab function library.
After triangulation we get a matrix in which every row is
composed of three points in space and a triangle number. The
triangle number is called Tri.
After joining the triangles together, the unit normal vector
w is calculated by using a cross product for every triangle. If we
denote the vertices as N 1(x 1, y 1, z 1), N 2(x 2, y 2, z 2) and N 3(x 3,
y 3, z 3), and 2 sides of a triangle as a and b we get:
0
1
0
1
x 3  x1
x2  x1
1
a @ y2  y1 Ab @ y 3  y1 A :
z2  z1
z3  z1
Therefore, the unit normal for the triangle formed by the
vertices N 1, N 2, and N 3 can be calculated as follows:
ab
:
2
w
ja  bj
There are two possible directions for unit normal vector
w and only one is chosen so that its direction in the SCS
coordinate system (see Fig. 3) is in the positive z direction.

573

This determination is done in an IF THEN ELSE statement


as follows:
3
IF wz  0; THEN w w; ELSE w  w
When considering a large model of a highway with a large
number of triangles it is practical to bind sorting parameters for
every triangle. A simple solution is to calculate the maximum
and minimum distance between the triangle and the SCS
coordinate frames origin as follows:
0 p 1
x21 y21 z21
B p
C
distmin min@ x22 y22 z22 A
p
x23 y23 z23
0 p 1
x21 y21 z21
B p
C
4
distmax max@ x22 y22 z22 A:
p
2
2
2
x3 y3 z 3
When the position of a point is known in the SCS frame,
only the triangles that fulfil the condition a point can be in a
triangle only if the distance of the point is between [distmin,
distmax] are considered.
The resulting triangle compilation matrix size is Tri  14
and the form is then as follows:


N1 N3 N3 w distmin distmax
tricomTri;i
:
5
M M M M
M
M
2.2. Basic math for triangles, lines and points
Surprisingly, only simple mathematics is required when
working with the L1 3 path generation problem in Fig. 5. Two
basic problems can be defined:
1) At what point p does a line intersect a plane defined by
triangle vertices?
This problem can be solved as in [10] as follows:
 D wN
p
where D  wN
6
wN
Any of the three vertices can be chosen as the point N. If
w I N = 0, the line is parallel to the plane.

Fig. 4. Part of road in a triangular format. Picture captured from MicroStation.

574

T. Makkonen et al. / Automation in Construction 15 (2006) 571 577

Let us denote the end point of L1 as L1end [x, y, z] and we


choose the direction of L1 as follows:
1
MCS
xproj TSCS
1::2;1
9
This is not perfectly accurate, but if the excavator is close
to the target plane and the reach is approximated as a
sphere, it gives a close enough approximation for an initial
study.
For the L1end we then get:
L1end x;y OMCS 1::2 distmaxL1xproj

Fig. 5. Schematic representation of a top view of an excavator on a triangular


surface. L1, L2 and L3 are target paths for the bucket.

2) If a point is on the plane defined by the triangle, is it


located inside the area defined by the vertices?
Fig. 6 presents a situation where point p (x, y, z) is located
inside the triangle, defined by points N 1, N 2 and N 3. (In a
simulation environment, it is practical to give two local origins
which are located at points N 1 and N 2.) Fig. 6 shows that point
p can be defined as a component of vectors a, b and d as
follows:
t1 a t2 b g1
t3  a t4 d g2

where the coefficients, t 1, t 2, t 3, and t 4 must be positive in


order for the point to be inside the triangle. (Since the point is
on the plane of the triangle, we can discard the z-coordinates.)
Solving Eq. (7) yields:
0

ay bx by ax
t1
B y g1x g1y ax C
C
B t2 C B a
B C B ay bx by ax C
@ t3 A B dy g2x g2y dx C
@ ax dy dx ay A
t4
ax g2y g2x ay
a1
x dy dx ay 0
0
1
0
1
x3  x2
x  x1
x  x2
g1 @ y  y 1 A g2 @ y  y 2 A d @ y 3  y 2 A
z3  z2
0 z  z1 1
0 z  z2 1
x3  x1
x2  x1
a @ y2  y1 Ab @ y3  y1 A
z2  z1
z3  z1

where O MCS[1..2] is the MCS origin in the SCS frame, and


distmaxL1 is a system-specific parameter giving the maximum reach of an excavator, similarly distminL1 is defined
as the minimum reach. For the complete vector L1 we can
then write a discrete function:
L1 x;yn L1end x;y  n=kmax distmaxL1  distminL1xproj
11
where n = [1, 2, 3. . . k max] and k max is the number of
samples and gives a resolution for triangle change. When
n = k max, the starting point of L1 is acquired.
The procedure is the same for L2 and L3, only L2end[x, y]
and L3end[x, y] are calculated slightly differently by using
parameter k lev which defines the distance between paths L1,
L2 and L1, L3. It should be noted that k lev is given in 2D,
and thus in 3D the distance might vary.
L2end x;y L1end x;y  klev ty
L3end x;y L1end x;y klev ty :
where ty

0 bx g1y g1x by 1

And if every t i  0, the point is located inside the area defined


by the vertices.
2.3. Identification of triangles on the path in 3D
The next step is to find triangles which are on the path of
vectors L1, L2 and L3 (see Fig. 5). To simplify the
calculation, we can remove the z-coordinate information as
the projection to the xy-plane includes all necessary geometric
information.

10

MCS
TSCS
1::2;2
MCS
1::2;2j
jTSCS

12

The next step is to find triangles by using Eq. (8) and then
reduce all unnecessary data points. An example of the resulting
group is given in Fig. 7. One can see how the points are chosen
at the end and the start of the path, and between them only
when the triangle changes.
After specifying the path matrix in 2D it is transformed into
3D by using the normal vector w, which was created at the
triangle compilation stage. One form of the equation for the
plane is:
0 10 1 0 10 1
wx
x
wx
x1
@ wy A@ y A  @ wy A@ y1 A 0
13
z
wz
wz
z1
which can be solved for z as follows:
0
0 1 0 11
x1
wx
1@
14
wx x wy y  @ wy A@ y1 AA:
z
wz
wz
z1
A data set (the same as in Fig. 7) for the path point matrix in
3D is illustrated in Fig. 8.
1

Matrix notation M[i..j, n..m] corresponds to submatrix M[i to j; n to m].

T. Makkonen et al. / Automation in Construction 15 (2006) 571 577

575

N3(x3,y3,z3,)

d
b
g1

N1(x1,y1,z1,)
origin 1

g2
p(x,y,z)

N2(x2,y2,z2,)
origin 2

Fig. 6. Point p inside a triangle.

2.4. Path and orientation of a bucket


In a previous study of a 6 DOF excavator, the inverse
kinematics was created to bind the K 0 and K 6 coordinate systems
(see Fig. 1), and the bucket was left out of the study. The reason
for this was mainly that the bucket shape and size might vary a
lot, and that it was still unclear what the best position and
orientation for K 7 (see Fig. 9) would be. So, we need to create a
transformation matrix from the bucket tip to K 6 as follows:
2
3
1 0 0
0
60 1 0
LV 7
7
A67 6
15
4 0 0 1  LK 5
0 0 0
1
To simplify the creation of path vectors, a control matrix is
defined by using points created in Section 2.3. The format is:


Tri x y
z
pathcont
:
16
M M M M
As one can see, the first column contains the triangle
number, so we can use the tricom matrix (5) to read specific

Fig. 8. Points defining L1, L2 and L3 on 3D triangle surface. Data set is the
same as in Fig. 7.

information from triangles. The last three columns define the


points illustrated in Fig. 8. The path is then defined as follows:
pathveci pathconti;2::4


pathconti 1;2::4  pathconti;2::4
d
:
jpathconti 1;2::4  pathconti;2::4j
17
The above parameters can be expressed as a function of
time so that d = speed time. In this way the constant speed for
bucket movements is achieved. For index i, a triangle change,
we get a simple condition:
d < jpathconti 1;2::4  pathconti;2::4j:

18

Orientation of a bucket is calculated when buckets xy


plane is parallel to the triangle it is travelling over. Let us
name the transformation matrix, which defines orientation and
position of a bucket in the SCS frame as T 7SCS. By examining
Fig. 9, it is clear that the z-axis of the K 7 coordinate system

Fig. 7. Points defining L1, L2 and L3 on a 2D triangulated surface. Compare to


Fig. 5.

Fig. 9. Coordinate systems K6 and K7.

576

T. Makkonen et al. / Automation in Construction 15 (2006) 571 577

Fig. 10. Superimposed picture of an excavator performing cuts L1 3.

has to be in the opposite direction of the triangle normal


vector w. Thus we get:
7
TSCS
1::3;3  w:
19
Logically (see Fig. 9) we can see that the direction of the yaxis should point away from the excavator. More exactly its
direction should be opposite to pathvec:
pathveci
7
:
20
TSCS
1::3;2 
jpathveci j
We know that the x-axis needs to be on the plane defined by
the triangle (as is the y-axis) and its direction is obtained using
the cross product as follows:
7
T 7 1::3;2  TSCS
1::3;3
7
TSCS
1::3;1 SCS
:
21
7
7
jTSCS
1::3;2  TSCS
1::3;3j
The transformation matrix T 7SCS now fully defines the
desired bucket position and orientation in the SCS frame.

2.5. Verifying the equations for path generation in a simulation


environment
A target surface similar to Fig. 8 representing a flat area
and a slope was created in Msc.Adams. The idea is to simulate
the following sequence which was considered effective for a
road construction project:
1. When an excavator is brought to the site, tricom matrix (5)
containing information about triangles is calculated as
presented in Section 2.1.
2. The driver decides where to locate the excavator and when
to start robotic excavation.
3. The transformation matrix T MCS
SCS is calculated based on GPS
information.
4. By using equations presented in this paper, pathcont
matrix (16) is calculated using the path set points for L1,
L2 and L3.

Fig. 11. Simulated excavator performing cuts L1, L2 and L3. Position and velocity of the centre point of a cutting edge. Buckets target speed = 1000 mm/s.

T. Makkonen et al. / Automation in Construction 15 (2006) 571 577

5. As the excavator moves the transformation matrix T MCS


SCS is
constantly updated. The orientation and position presented
in matrix T 7SCS change for every triangle change and for
every simulation step.
7
6. Using matrix T MCS
SCS to transform T SCS into the Machine
Coordinate System, the desired set points and orientation for
the bucket can be calculated. Then by using the inverse
kinematics equations joint angles for the excavator are
calculated.
7. As a result, the excavator will follow desired paths. A
superimposed picture of an excavator performing the
sequence is presented in Fig. 10.
However, since the target of the simulation was to verify the
equations presented above and the logical correctness of
information flow, the simulation is not perfect as can be seen
in Fig. 11. The path between vectors for example, from L1
end point to L2 start point is not controlled by the path vector
which leads to high movement speeds. Also it should be noted
that the cutting edge does not act smoothly when the bucket
goes over the corner line (Fig. 10). Namely the setpoints for
joint angles are calculated directly for an individual joint
through inverse kinematics without any coordination between
the joints. Because of this, when the corner line is crossed, the
new group of calculated set points for the joints is very
different from the previous one, and the individual joints will
attain their newly calculated position at different times.
Another source of error, and also a limitation on the way
point calculation presented in this paper, is the requirement for
constant bucket speed (17). When travelling over a sharp
turning point, like the corner line in Fig. 10, the buckets target
speed should be lowered. We suggest that variation in speed be
included in path calculation in the future studies.
3. Conclusion
This paper showed how to use a CAD model of a surface to
position an excavator the bucket. A triangular terrain model
was first compiled in the xyz file format, and then equations
were derived from that file in order to calculate the target
transformation matrix T 7SCS used to control the position and
orientation of the excavator bucket.
By combining this result with the transformation matrix
T MCS
SCS , which in our model was created using information from
2 GPS sensors and an inclinometer, it was possible to form the
way points for the bucket in 3D, and for a 6 DOF excavator it
was also possible to define the orientation. Matrices defining
the target points, pathcont, and information gathered from

577

triangles, tricom, were found to contain all the data needed to


create the path.
Equations and data flow were modelled in parallel using the
Msc.Adams and Matlab/Simulink programs. A 6 DOF excavator performing three cutting lines (Fig. 5), using a CAD
model of the terrain and a 3D positioning system was shown in
Fig. 10.
The formulas presented above provide a basic tool for
working with a CAD model of the target surface, and
especially for controlling an excavator. The simple theme of
finding the xyz points at which a straight line projects itself
onto a 3D surface and of reducing the information to a
minimum by using the table of triangles, should be useful in
more complex cases than this one. A most ambitious idea is to
automate the movements of an excavator cabin and to perform
autonomous grading on the road construction site.
References
[1] A. Stentz, J. Bares, S. Singh, P. Rowe, A robotic excavator for
autonomous truck loading, Proceedings of the 1998 IEEE/RSJ Intl.
Conference on Intelligent Robots and Systems. Victoria, B.C. Canada,
1998, pp. 1885 1893.
[2] Q. Ha, M. Santos, Q. Nguyen, D. Rye, H. Durrant-Whyte, Robotic
excavation in construction automation, IEEE Robotics and Automation
Magazine 9 (1) (2002) 20 28.
[3] D.A. Bradley, D.W. Seward, Developing real-time autonomous excavation
the LUCIE story, Proceedings of the IEEE Conference on Decision &
Control 3 (1995) 3028 3033.
[4] R. Heikkila, M. Jaakkola, The efficiency of a 3-D blade control system in
the construction of structure layers by road grader automated designbuild of road construction in Finland, ISARC2002, 9th International
Symposium on Automation and Robotics in Construction, Washington,
DC, the United States of America, 2002, pp. 475 480.
[5] R. Heikkila, M. Jaakkola, Towards model based automation different
types of 3-D machine control models for the automatic control of road
construction machinery, ISARC2004, 21st International Symposium on
Automation and Robotics in Construction, 21 25 September 2004. Jeju,
Korea, 2004, pp. 53 58.
[6] Indexator, company home pages, WWW-pages, Url: http://www.indexator.
se, 17.6.2004.
[7] MSC.Software Corporation, company home pages, WWW-pages, Url:
http://www.mscsoftware.com, 17.6.2004.
[8] T. Makkonen, K. Nevala, Simulating an excavator equipped with a
rotating bucket the 6 DOF system, OST 03 Symposium on Machine
Design, ISBN: 951-42-7215-3, 2003, pp. 46 52.
[9] P. George, H. Borouchaki, Delaunay Triangulation and Meshing:
Application to Finite Elements, Paris, Hermes, ISBN: 2-86601-692-0,
1998, p. 413.
[10] Katara, M., Computer graphics, PDF format, www.cs.tut.fi/tgraf/2003/
luennot/T0-39.pdf, 17.6.2004. (in Finnish)

Anda mungkin juga menyukai