Você está na página 1de 28

Multibody System Dynamics 9: 237264, 2003.

2003 Kluwer Academic Publishers. Printed in the Netherlands.


237
General Spatial Curve Joint for Rail Guided
Vehicles: Kinematics and Dynamics
JOO POMBO and JORGE A. C. AMBRSIO
IDMEC/IST, Av. Rovisco Pais, P-1049-001 Lisboa, Portugal;
E-mail: jorge@dem.ist.utl.pt
(Received: 17 December 2001; accepted in revised form: 9 October 2002)
Abstract. In the framework of multibody dynamics for rail-guided vehicle applications, a new kine-
matic constraint is proposed, which enforces that a point of a body follows a reference path while the
body maintains a prescribed orientation relative to a Frenet frame associated to the spatial track curve.
Depending on the specic application, the tracks of rail-guided vehicle are described by analytical
line segments or by parametric curves. For railway and light track vehicles, the nominal geometry of
the track is generally done by putting together straight and circular track segments, interconnected by
transition track segments that ensure the continuity of the rst and second derivatives of the railway
in the transition points. For other applications, the denition of the track is done using parametric
curves that interpolate a given number of control points. In both cases, the complete characterization
of the tracks also requires the denition of the cant angle variation, which is done with respect
to the osculating plane associated to the curve. The track models for multibody analysis must be
in the form of parameterized curves, where the nominal geometry is obtained as a function of a
parameter associated to the curve length. The descriptions adopted here ensure, not only that the
type of continuity of the original track denition is maintained, but also that no unwanted deviations
from the nominal track geometry are observed, which can be perceived in the dynamic analysis as
track perturbations. In this work different types of track geometric descriptions are discussed. The
application of cubic splines, to interpolate a set of points used to describe the track geometry, leads to
undesired oscillations in the model. The parameterization of analytical segments of straight, circular
and cubic polynomial track segments does not introduce such oscillations on the track geometry but
it is rather complex for the description of railways with large slopes or with vertical curves. Splines
with tension minimize the undesired oscillations of the interpolated curve that describes the railway
track nominal geometry, but the curve segment parameters are not proportional to the length of the
track. It is proposed here that the nominal geometry of the track is described by a discreet number
of points, which are organized in a tabular manner as function of a parameter that is the length of
the track measured from its origin to a given point. For each entry, the table also includes the vectors
dening the Frenet frames and the derivatives required by the track constraint. The multibody code
interpolates such table to obtain all required geometric characteristics of the track. With applications
to a roller coaster, the suitability of this description is discussed in terms of the choice of original
parametric curves used to construct the table, the size of the length parameter step adopted for the
table and the efciency of the computer implementation of the formulation.
Key words: railway dynamics, Frenet frame, spatial curve geometry, prescribed motion constraint.
238 J.POMBO AND J.A.C. AMBR

OSIO
Figure 1. Two body arrangement to model the track foundation exibility. The base body
has a prescribed motion while the track element has a motion relative to it described by the
in-plane degrees-of-freedom, i.e. two translations and one rotation.
1. Introduction
The dynamic analysis of railway [13], roller coaster [4] or any other type of rail
guided vehicles requires an accurate description of the track geometry. The track
is composed of two rails, which can be viewed as two parallel line dened in a
plane that sits in a spatial curve, dened hereafter as the reference path. The basic
ingredient to dene the track is therefore the geometry of the reference path, which
must include the vertical gradients, lateral curves and cant. Any track irregularities
can be perceived as deviations from the reference path parallel lines, representing
the rails. Typically, these are modeled by adding to the track perfect geometry small
perturbations that are either measured experimentally or generated numerically.
Furthermore, the track exibility, or the deformability of its foundations, can also
be introduced on the model by allowing that a track body moves with respect to
a track reference, as depicted by Figure 1. There, the track reference element has
to move along the reference path and have an orientation compatible with it. The
objective of this work is to present a description of the spatial geometric features of
the tracks and its computational implementation in a form suitable to the multibody
methodology adopted for the modeling of railway systems. The introduction of the
track irregularities and the exibility of the track foundations are not considered in
this work.
Depending on the specic application, the reference path of the track geometry
can be described by a number of types of parametric curves [5]. For railway and
light track vehicles the description of the nominal geometry of the track is generally
done by putting together straight and circular track segments, interconnected by
transition segments that ensure the continuity of the rst and second derivatives
of the railway in the transition points [1, 6]. Moreover, these transition elements
are responsible for the smooth variation of the lateral accelerations of the vehicles,
when they move from a straight track to a circular track or between two track seg-
ments of the same type with different radius or orientations. For other applications,
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 239
parametric curves that interpolate a given number of control points are commonly
used to dene the track geometry. In any case, the complete characterization of the
tracks also requires the denition of the cant angle variation along the reference
path. For at tracks, the cant angle in a given point of the reference path is mea-
sured in the plane perpendicular to the reference path, between a line that seats on
both rails and the horizontal plane. For tracks with a full spatial geometry a new
denition of this angle is introduced. It is proposed that the osculating plane of the
reference track plays the role of the horizontal plane of the at track in measuring
the cant angle.
In this work two types of track geometric descriptions are discussed in the
framework of the multibody models for railway dynamics analysis, i.e., analyti-
cal segments [7] and cubic splines [10, 11]. The application of cubic splines to
interpolate a set of control points describing the track geometry leads to undesired
oscillations in the track model [12]. For instance, if a spline interpolation is used
to describe the geometry of the reference path made of a straight segment followed
by a circular segment, the result will not be a perfect straight line but simply a
curve that oscillates in turn of the original lines. Another drawback, in the direct
application of this approach, is that the local parameter used in each spline segment
is not linearly related with the length of the segment, e.g., a given point of the
reference path for which the local curve parameter is half of the parameter interval
is not necessarily located half way along the curve. Other methodologies using
splines with tension or Akima splines [11], are alternative techniques for the pa-
rameterization of the reference path geometric description in railway applications.
Although these alternative forms of interpolation have the potential to minimize
the undesired oscillations of the interpolated curve they are not discussed here.
The reference path parameterization with analytical segments, which use
straight, circular and transition curves, does not introduce unwanted oscillations on
the track geometry. However, this description is rather complex to model railways
with large slopes or with vertical curves. Some of the commercial codes that adopt
this description impose that the tracks are basically horizontal in order to avoid
difculties [79].
Regardless of the form in which the reference path geometry is described a
suitable kinematic constraint must be dened in order to enforce not only that a
particular point of given body of the multibody systems follows the reference path
but also that the body orientation does not change with respect to a Frenet-frame as-
sociated to the curve. The methodology proposed here for the general spatial curve
joint can use any descriptive form for the curve. The position, the Frenet-frame
vectors and their derivatives, which are used in the denition of the constraint, are
pre-processed and included in a table as function of the curve length from the origin
to the actual point position. Therefore, during the dynamic analysis the quantities
involved in the general spatial curve joint are obtained by linear interpolation of
the tabulated values. The length parameter step is small enough to ensure that for
any reasonable speed of the rail guided vehicle not more than once a time step the
240 J.POMBO AND J.A.C. AMBR

OSIO
Figure 2. Cant and cant angle.
quantities are obtained by interpolation with the same point limits. The constraint is
implemented in the general purpose multibody computer program DAP-3D [13].
The constraint features and its computational efciency are discussed through the
application to the dynamic analysis of a roller coaster in different tracks.
2. Physical Aspects of Rail Guided Systems
Some physical aspects relevant for the track geometric description of rail guided
systems are examined here. Special emphasis is put in the description of the meth-
ods used to derive the analytic properties of parametric curves required to establish
the general spatial curve kinematic constraint.
2.1. CANT AND CANT ANGLE
When traveling in horizontal curves, rail guided vehicles are inuenced by centrifu-
gal forces, which act away from the center of the curve and tend to overturn the
vehicles. The sum of a vehicle weight and its centrifugal force produces a resultant
force directed toward the outer rail. In order to counteract this force, the outer
rail in a curve is raised, which is called cant or superelevation, h
t
, and is dened
according to Figure 2 [3]. The base for the denition of cant is the distance 2b
0
,
between the nominal wheel-rail contact points. Angle
t
, in Figure 2, called cant
angle, is given by:

t
= arcsin(h
t
/2b
0
). (1)
A curve is designed as being balanced at the equilibrium speed when the travel-
ing vehicles produce a resultant force through the centerline of the track. Under this
condition, the vertical rail forces are equal, so that maximum utilization of traction
effort and minimum wear on wheels and rails can be realized [1].
At this point it should be noted that it is assumed that the curve is horizontal and,
therefore, the denition of the cant angle uses the horizontal plane as the reference
plane. For a spatial curve it is not clear what the reference plane is, relative to which
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 241
Figure 3. Transition curves and superelevation ramps.
the cant angle should be dened. In this work it is assumed that the cant angle is
dened with respect to the osculating plane, which is presented later together with
the descriptive geometry of the reference path curve.
2.2. TRANSITION CURVES AND SUPERELEVATION RAMPS
When trains are operated at normal speeds, a circular curve with cant cannot be
followed directly by a tangent track, i.e., a straight track segment. A transition
between these two types of elements, designated by transition curve, is required in
order to minimize the change of lateral acceleration of the vehicles. Usually, the
radius of a transition curve is changed continuously, decreasing from an innite
radius at the tangent end to a radius equal to that of the circular curve at the
other end. This change of radii provides a smooth transition from tangent to curve
segments, and vice versa, also allowing for the superelevation to change gradually
over its length. Therefore, the cant is also changed continuously leading to the so-
called superelevation ramp. In general, the transition curve and the superelevation
ramp have the same start and end points, i.e., the curvature and the superelevation
in transition curves correspond to each other, as illustrated in Figure 3 [1, 3].
2.3. ANALYTIC PROPERTIES OF PARAMETRIC CURVES
The denition of the general spatial curve kinematic constraint requires a rather
elaborate geometric description of the properties of the parametric curves used.
The analytic properties of the curves are classied as intrinsic or extrinsic [5]. The
intrinsic properties are local properties that vary from point to point, thus, they are
only computed at specic points. These properties include the principal vectors,
designated by tangent, normal and binormal vectors, the principal planes, desig-
242 J.POMBO AND J.A.C. AMBR

OSIO
nated by normal, osculating and rectifying planes, the curvature and the torsion.
The extrinsic or global properties are those that depend on the over-all character-
istics of a geometric element. For a given curve these include the arc length and
whether or not it is a plane curve or a straight line. In this section the focus is only
on some of the local and global properties, which are important for the denition
of the kinematic constraint. The interested reader can obtain additional information
in [5].
2.3.1. Parametric Curves
A parametric curve consists on a point-bounded collection of points that have
Cartesian coordinates given by continuous, one-parameter, single-valued mathe-
matical functions in the form:
x = x(u),
y = y(u),
z = z(u), (2)
where u is the parametric variable. The curve is point-bounded because it has two
denitive end points corresponding to the interval limits of the parametric variable
u. The coordinates of any point on a parametric curve are treated as the components
of the vector g(u) given by
g g(u) =
_
_
_
x(u)
y(u)
z(u)
_
_
_
. (3)
In order for the curve, represented in Figure 4, to be used in the kinematic
constraint it is required that the moving frame represented by vectors t, n and b is
dened. The unit vectors that characterize the frame, known as Frenet frame, are
dened in the intersection of the different planes represented in Figure 4. For a
straight line it is assumed that the osculating plane is either horizontal, if the line
is in the XY plane, or that its orientation is such that its intersection with the XY
plane is perpendicular to the straight line.
2.3.2. Unit Tangent Vector
On a parametric curve, the tangent vector at point g is denoted by g
u
and it is found
by differentiating g(u) with respect to the parametric variable. Thus,
g
u
(u) =
dg(u)
du
. (4)
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 243
Figure 4. The moving frame.
Note that when u appears as a superscript, it indicates differentiation with respect to
u. It should be also noticed that the relationship between the parametric derivatives
and the ordinary derivatives of Cartesian space is:
dy
dx
=
dy/du
dx/du
. (5)
In many situations, it is necessary to work with the unit tangent vector to the curve
at point g(u), which is given by:
t =
g
u
||g
u
||
. (6)
2.3.3. Principal Unit Normal Vector
The principal normal vector at point g(u) is normal to the curve and consequently
it must lie in the plane normal to the unit tangent vector [5]. However, among
the many possible normal vectors, the unit principal normal vector points towards
the spatial center of curvature of the curve. Given the parametric expression for a
curve, the principal normal vector is found by [5]:
k = g
uu

g
uu
T
g
u
||g
u
||
2
g
u
, (7)
where g
uu
is the second derivative of g(u) with respect to the parameter u. Finally,
the principal unit normal vector, is obtained as:
n = k/||k||. (8)
244 J.POMBO AND J.A.C. AMBR

OSIO
2.3.4. Binormal Vector
In order to dene the Frenet frame associated to the reference path another vector
normal to the curve in point g(u) needs to be dened. Using the principal tangent
and normal vectors, given by Equations (6) and (8) respectively, the third vector,
denominated by binormal vector, is dened as
b =

tn. (9)
The expressions for the three characteristic vectors associated with each point
on a curve have been developed. They are intrinsic properties since they vary
from point to point. In Figure 4 it is clear that these elements form a local, three-
dimensional orthogonal coordinate system consisting of three axis vectors. This
coordinate system, known as Frenet frame, is also designated by moving trihedron
of the curve in some literature [5].
2.3.5. Arc Length
The arc length is an extrinsic property of the curve since it is a global characteristic
that doesnt vary from point to point. The length of a parametric curve is given by
[5]
L =
u
2
_
u
1
_
g
u
T
g
u
du, (10)
where u
2
> u
1
are two arbitrary values of the curve parametric variable.
It should be noticed that the parameter u used for the denition of the curve is
not necessarily directly related with the length of the curve from its origin to the
current position of the point represented by the parameter. Within the framework
of the application of the parametric description of the spatial curve in the denition
of the general spatial path kinematic constraint a replacement of parameter u by
a length representative parameter is necessary. This is discussed together with the
computer implementation of the kinematic constraint at a later stage.
3. Multibody Systems Methodology
The methodology, developed here, is implemented in the computer program DAP-
3D [13], which is suitable for the spatial dynamic analysis of general multibody
systems. The multibody methodology, based on Cartesian coordinates, is briey
described in order to introduce the formulation of the general spatial curve con-
straint. Finally, the new constraint is formulated and its implementation aspects are
discussed.
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 245
3.1. EQUATIONS OF MOTION FOR MULTIBODY SYSTEMS
A multibody system is dened as a collection of rigid and/or exible bodies con-
strained by kinematic joints, which control their relative motion, and eventually
acted upon by a sets of internal and/or external forces. The position and orientation
of each body i in the space can be described by a position vector r
i
and a set of
rotational coordinates p
i
, which are organized in a vector as [13]
q
i
= {r
T
, p
T
}
T
i
. (11)
According with this denition, a multibody system with nb bodies is described by
a set of coordinates in the form:
q = {q
T
1
, q
T
2
, . . . , q
T
nb
}
T
. (12)
The dependencies among system coordinates, which result from the existence
of mechanical joints interconnecting the several bodies, are dened through the
introduction of kinematic relationships involving the coordinates, which are des-
ignated by kinematic constraints. In order to guide the system during the analysis,
driving constraints are also dened to control the system degrees-of-freedom along
the time. After being joined in a consistent manner, in the global constraints vector,
these linear and/or non-linear equations are written in short as [13]
(q, t ) = 0, (13)
where q is the generalized coordinates vector, dened in (12), and t is the time vari-
able, resulting from the existence of driving constraints. The second time derivative
of Equation (13) with respect to time yields the accelerations equations:

(q, q, q, t ) = 0
q
q = , (14)
where
q
is the Jacobian matrix of the constraints, q is the acceleration vector and
is the vector that contains all contributions that depend on the velocities and on
time.
For an unconstrained mechanical system [13], the matricial form of the
equations of motion are given by
M q = f, (15)
where M is the global mass matrix, containing the mass and moments of inertia of
all bodies, and f is the force vector, containing all forces and moments applied on
system bodies, as well as the gyroscopic forces.
The system kinematic constraints (13) can be added to the equations of mo-
tion (15) using the Lagrange multipliers technique [13]. Dening by the vector of
the unknown Lagrange multipliers, the equations of motion for a constrained me-
chanical system can be written as a system of differential and algebraic equations
as
_
M
T
q

q
0
_
_
q

_
=
_
f

_
. (16)
246 J.POMBO AND J.A.C. AMBR

OSIO
The Lagrange multipliers are associated to the kinematic constraints and are
physically related with the reaction forces generated between the bodies intercon-
nected by kinematic joints. These reaction forces, due to the kinematic joints, are
given by [13]
f
(c)
=
T
q
. (17)
According to this methodology, the dynamic analysis of multibody systems in-
volves the calculation of the vectors f and , for each time step. Equation (16) is
then used to calculate the system accelerations q. These accelerations together with
the velocities q are integrated in order to obtain the new velocities q and positions
q for the time step. This process proceeds until the complete description of the
system motion is obtained, for the selected time interval. The usual procedures
to handle the integration of sets of differential-algebraic equations must still be
applied in this case in order to eliminate the constraint drift or to maintain it under
control [13].
3.2. GENERAL SPATIAL CURVE KINEMATIC CONSTRAINTS
The general spatial curve kinematic constraint equations are derived now and the
resulting formulation is implemented in the computer program DAP-3D [13]. This
constraint is the basis of the denition of the tracks for the rail guided vehicles by
enforcing that a body moves along the railway. When such body travels along the
track, not only the railway path has to be followed, but also its spatial orientation
has to be prescribed, according to railway characteristics. The formulation used
to implement these kinematic constraints that dene the Frenet frame is described
next.
3.2.1. Prescribed Motion Constraint
The objective here is to dene the constraint equations that enforce a certain point,
of the given rigid body, to follow the reference path. Consider a point R, located on
a rigid body i, that has to follow the specied path, as depicted in Figure 5. The path
is dened by a parametric curve g(L), which is controlled by a global parameter L,
which represents the length traveled by the point along the curve until the current
location of point R. This parameter L should not be confused with parameter u
used in Equations (2) through (10). The kinematic constraint is written as

(pmc,3)
= 0 r
R
i
g(L) = 0, (18)
where r
R
i
= r
i
+ A
i
s
R
i
represents the coordinates of point R with respect to the
global coordinate system (x, y, z), r
i
is the vector that denes the location of the
body-xed coordinate system (, , )
i
, A
i
is the transformation matrix from the
body i xed coordinates to the global reference frame and s
R
i
represents the co-
ordinates of point R with respect to the body-xed reference frame. The vector
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 247
Figure 5. Prescribed motion constraint.
g(L) = {x(L), y(L), z(L)}
T
represents the Cartesian coordinates of the curve
where point R is constrained to move and L is the curve parametric variable. For
notational purposes (.)

means that (.) is expressed in body-xed coordinates. The


constraint equations are assigned with a superscript of two indices where the rst
denotes the type of constraint and the second denes the number of independent
equations that it involves.
It should be noticed that the constraint requires the introduction of the new
coordinate L in the multibody system, which is the length of the curve traveled by
point R from the start of the curve up to its current position. Therefore, the velocity
and acceleration vectors also include the time derivatives of this parameter.
The velocity equation is obtained as the time derivative of Equation (18) with
respect to time

(pmc,3)
= 0 r
R
i
g(L) = 0
_
I s
R
i
A
i

dg
dL
_
_
_
r

L
_
_
= 0, (19)
where the Jacobian matrix is

(pmc,3)
q
=
_
I s
R
i
A
i

dg
dL
_
(20)
in Equation (20), I is a 3 3 identity matrix and s
R
i
= A
i
s
R
i
represents the coordi-
nates of point R with respect to the (, , )
i
coordinate system, written in global
coordinates.
The acceleration equation is obtained by the derivative of Equation (19) with
respect to time. The resulting equation is

(pmc,3)
= 0
_
I s
P
i
A
i

dg
dL
_
_
_
r

L
_
_
=
i

i
A
i
s

P
i
+
d
2
g
dL
2

L
2
, (21)
248 J.POMBO AND J.A.C. AMBR

OSIO
Figure 6. Local frame alignment constraint.
where r
i
= { x y z}
T
i
are the translational accelerations of body i,

i
=
{

}
T
i
represents the angular acceleration of the body-xed coordinate
system (, , )
i
, expressed in local coordinates, and

L is the second time deriv-
ative of the curve parametric variable. The contribution of the constraint for the
right-hand-side of the accelerations Equation is given the 3 1 vector, written as

#
=
i
s
R
i
+
d
2
g
dL
2

L
2
. (22)
Therefore, Equations (18, 20) and (22) represent the quantities that must be
implemented in constraint module of the computer code.
3.2.2. Local Frames Alignment Constraint
The second part of the constraint ensures that the spatial orientation of body i
remains unchanged with respect to the Frenet frame associated to the reference
path curve, as represented in Figure 6.
Consider a rigid body i where (u

, u

, u

)
i
represent the unit vectors associated
to the axis of the body-xed coordinate system (, , )
i
. Consider also that the
Frenet frame of the general parametric curve g(L), is dened by the principal
unit vectors (t, n, b)
L
, as depicted in Figure 6. Assume that, at the initial time
of analysis, the relative orientation between the body vectors (u

, u

, u

)
i
and the
curve local frame (t, n, b)
L
are such that the following equations hold

(lfac,3)
= 0
_
_
_
n
T
u

b
T
u

n
T
u

_
_
_
=
_
_
_
a
b
c
_
_
_
. (23)
The kinematic constraint ensures that this alignment will remain constant through-
out the analysis. The transformation matrix from the body i xed coordinates to
the global coordinate system is written as
A
i
= [u

]
i
. (24)
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 249
With the purpose of having a more compact notation, let the following unit vectors
be dened
u
1
= {1 0 0}
T
; u
2
= {0 1 0}
T
; u
3
= {0 0 1}
T
. (25)
Equation (23) is now re-written as

(lfac,3)
= 0
_
_
_
n
T
A
i
u
1
b
T
A
i
u
1
n
T
A
i
u
3
_
_
_
=
_
_
_
a
b
c
_
_
_
. (26)
The velocity equation for this constraint is obtained as the time derivative of
Equation (26), expressed as

(lfac,3)
= 0
_
_
_
_
_
_
_
_
_
0
T
n
T
A
i
u
1
_
dn
dL
_
T
A
i
u
1
0
T
b
T
A
i
u
1
_
db
dL
_
T
A
1
u
1
0
T
n
T
A
i
u
3
_
dn
dL
_
T
A
i
u
3
_

_
_
_
r

L
_
_
= 0. (27)
The contribution of frames alignment constraint (27) to the Jacobian matrix is the
submatrix 3 7 given by

(lfac,3)
q
=
_
_
_
_
_
_
_
_
_
0
T
n
T
A
i
u
1
_
dn
dL
_
T
A
i
u
1
0
T
b
T
A
i
u
1
_
db
dL
_
T
A
i
u
1
0
T
n
T
A
i
u
3
_
dn
dL
_
T
A
i
u
3
_

_
, (28)
where 0
T
is a 1 3 null vector. The acceleration equation is the time derivative of
Equation (27), and it is written as

(lfac,3)
= 0
_
_
_
_
_
_
_
_
_
0
T
n
T
A
i
u
1
_
dn
dL
_
T
A
i
u
1
0
T
b
T
A
i
u
1
_
db
dL
_
T
A
i
u
1
0
T
n
T
A
i
u
3
_
dn
dL
_
T
A
i
u
3
_

_
_
_
r

L
_
_
250 J.POMBO AND J.A.C. AMBR

OSIO
=
_

_
_
2

L
_
dn
dL
_
T
A
i

i
+ n
T
A
i

i
+

L
2
_
d
2
n
dL
2
_
T
A
i
_
u
1
_
2

L
_
db
dL
_
T
A
i

i
+ b
T
A
i

i
+

L
2
_
d
2
b
dL
2
_
T
A
i
_
u
1
_
2

L
_
dn
dL
_
T
A
i

i
+ n
T
A
i

i
+

L
2
_
d
2
n
dL
2
_
T
A
i
_
u
3
_

_
, (29)
The contribution of the local frames alignment acceleration equation, described by
Equation (29) for the right-hand-side of the accelerations equation [13] is the 31
vector, written as

=
_

_
2

L
_
dn
dL
_
T
A
i

i
+ n
T
A
i

i
+

L
2
_
d
2
n
dL
2
_
T
A
i
_
u
1

_
2

L
_
db
dL
_
T
A
i

i
+ b
T
A
i

i
+

L
2
_
d
2
b
dL
2
_
T
A
i
_
u
1

_
2

L
_
dn
dL
_
T
A
i

i
+ n
T
A
i

i
+

L
2
_
d
2
n
dL
2
_
T
A
i
_
u
3
_

_
. (30)
The complete set of quantities that is necessary to implement computationally
in the general spatial curve constraint is described by Equations (18, 20, 22, 26, 28)
and (30) represent the quantities that must be implemented in constraint module of
the computer code.
4. Pre-Processor for Railway Geometric Description
For multibody analysis, the track models must be dened in the form of parame-
terized curves. Here, two different parametric track descriptions, using analytical
functions and cubic splines, are presented. A pre-processor program uses these
parametric descriptions in order to dene the nominal geometry of a railway us-
ing a discrete number of points as function of the curve length parameter. This
information is organized in a database where all quantities, necessary to dene the
spatial curve constraint, are obtained as a function of the track length, measured
from its origin, i.e., from the point where the analysis starts.
4.1. CURVE FOR THE REFERENCE PATH BY ANALYTICAL FUNCTIONS
The pre-processor program, developed to parameterize the reference path geome-
try, supports the three types of analytical segments identied before, i.e., tangent,
transition and circular segments. These segments are dened analytically and are
characterized by their length, horizontal/vertical curvature and cant angle. The for-
mulation of the analytical segments is similar to the track description adopted by
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 251
the commercial codes, such as ADAMS/Rail [79]. The reference path tangential
analytical segments are dened by:
x(L) = L,
y(L) = 0,
x(L) = 0. (31)
The transition curves are expressed as
x(L) =
2
K
h
sin
_
K
b
2
L
_
,
y(L) =
2
K
h
_
1 cos
_
K
h
2
L
__
,
z(L) =
2
K
v
_
1 cos
_
K
v
2
L
__
. (32)
While the circular curve segments are depicted by
x(L) = sin(K
h
L)/K
h
,
y(L) = [1 cos(K
h
L)]/K
h
,
z(L) = [1 cos(K
v
L)]/K
v
, (33)
where L is the distance traveled while K
h
and K
v
represent, respectively, the
horizontal and vertical track curvatures given by
K
h
= R
1
h
; K
v
= R
1
v
(34)
R
h
and R
v
being the horizontal and vertical track radii, respectively.
The analytical expressions for the curve segments are given as function of the
travel distance L for each segment. Therefore, within the framework of Equa-
tions (31) through (33), L is a local parameter and the position of a point moving on
the curve, obtained by these equations, must be transformed to global coordinates
by using an appropriate coordinate transformation. Moreover, it should be noticed
that Equations (31, 32) and (33) are based on the simplication that the horizontal
travel distance is approximately equal to the total travel distance. This assumption
is valid as long as the track grade is relatively small [7].
According to the presented formulation, the reference path is obtained by
assembling a number of analytical segments. The actual form how these track seg-
ments are ordered and their characteristics are left for the user to dene. However,
in order to ensure the smooth transition between railway segments, the introduction
of transition curve segments between a straight and circular curve segments, or
between segments of the same type, is required if comfort is a concern. This issue,
252 J.POMBO AND J.A.C. AMBR

OSIO
Figure 7. Points interpolated by cubic spline segments.
that is application dependent, is left for the user to decide. A detailed description
on the track geometries and their reasoning in terms of comfort, vehicle wear and
normalization is out of the scope of this work and it can be found in [6].
4.2. CURVE FOR THE REFERENCE PATH BY CUBIC SPLINES
The reference path curve can also be described using cubic spline curves that in-
terpolate a set of control points given by the user. The advantage of these curves is
that the continuity of their rst and second derivatives is guaranteed. Furthermore,
the position of any point over the curve is dened in terms of a local parameter that
can be associated to, but it is not, the length traveled over the curve.
A parametric cubic curve is dened as [10]
g(u) = a
3
u
3
+ a
2
u
2
+ a
1
u + a
0
, (35)
where g(u) is a point on the curve, u is the parametric variable and a
i
are the
unknown algebraic coefcients that must be calculated. Equation (35) can be
separated into the three components of g(u), such that
x(u) = a
3x
u
3
+ a
2x
u
2
+ a
1x
u + a
0x
,
y(u) = a
3y
u
3
+ a
2y
u
2
+ a
1y
u + a
0y
,
z(u) = a
3z
u
3
+ a
2z
u
2
+ a
1z
u + a
0z
. (36)
Let a set of points g
i
, representing the reference path, be dened by their coordi-
nates (x, y, z)
i
as represented in Figure 7. When the cubic spline segments are used
to represent the interpolation curves, the algebraic coefcients a
i
in Equation (35),
are written explicitly in terms of the boundary conditions, i.e., segment end points
and tangent vectors [10]. In this sense, each spline segment is
g(u) = [u
3
u
2
u 1]
_
_
_
_
2 2 1 1
3 3 2 1
0 0 1 0
1 0 0 0
_

_
_

_
g(0)
g(1)
g

(0)
g

(1)
_

_
, (37)
where the spline local parameter u [0, 1] and g(0) and g(1) represent the coor-
dinates of the end points of each segment. The spline derivatives, g

(0) and g(1),


GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 253
at the end points are calculated in order to ensure C
2
continuity between spline
segments. Assuming that the second derivatives of the rst and last points, of the
set to be interpolated, are null, the cubic spline is referred to as natural [10]. In this
case, the rst derivatives in all other control points are obtained as
_
_
_
_
_
_
_
_
_
2 1
1 4 1
1 4 1
.
.
.
1 4 1
1 2
_

_
_

_
g

0
g

1
g

2
.
.
.
g

n2
g

n1
_

_
=
_

_
3(g
1
g
0
)
3(g
2
g
0
)
3(g
3
g
1
)
.
.
.
3(g
n1
g
n3
)
3(g
n1
g
n2
_

_
. (38)
Once the g

i
values are obtained by Equation (38), they are used (Equation (37)) to
obtain the points coordinates anywhere in the cubic splines segments.
In order for the cubic splines to be used in the kinematic constraint their geo-
metric characteristics must be expressed as function of the reference path length
L, measured from its origin, and not as a function of the parameter u. The relation
between L and u is given by
L(u) =
k1

n=1
L
0
n
+ L
actual
k
(u), (39)
where k is the number of the spline segment where the point is actually located, u
is the spline parametric variable and L
0
i
corresponds to the length of the ith spline
segment that, referring to Equation (10), is given by
L
0
=
1
_
0
_
g
u
T
g
u
du. (40)
Note that, according to the cubic splines formulation, the local parametric vari-
able u [0, 1]. The parameter L
actual
(u) represents the length of the actual spline
segment from its origin to the actual location of the point and it is dened as
L
actual
(u) =
u
_
0
_
g
u
T
g
u
du. (41)
In order to implement the kinematic constraint in the computer code it is nec-
essary to nd the value of the cubic spline parametric variable u that corresponds
to a prescribed segment length L. It is clear from Equations (39) and (41), that
the relation between these two parameters is not linear. Consider the parametric
variable, u
R
, corresponding to a point R, located on the kth cubic spline segment,
254 J.POMBO AND J.A.C. AMBR

OSIO
Figure 8. Cant angle contribution to the track model.
and to which it is associated a curve length L
R
k
, measured from the kth segment
origin. In this case, the parameter u is obtained from the parameter L using
u
R
_
0
_
g
u
T
g
u
du L
R
k
= 0. (42)
This non-linear equation is solved, in a pre-processor, using the NewtonRaphson
method [11, 13].
4.3. INTRODUCTION OF A PRESCRIBED CANT ANGLE IN THE KINEMATIC
CONSTRAINT
As referred before, in horizontal curves the outer rail is usually raised in order
to reduce the effects of the centrifugal acceleration on vehicles. In this sense, the
railway superelevation has to be taken into account when creating a track model.
The pre-processor program, developed to construct railway databases, automati-
cally accounts the contribution of the track cant for the calculation of the curve
geometry. The cant angle is dened here as the angle between vector n
R
and the
osculating plane as measured in the normal plane, all described in Figure 8.
Let the track cant angle, on a point R of the parametric curve g(L), be des-
ignated by
R
. Assume that the reference path moving frame is dened by its
principal unit vectors (t, n, b)
L
, which are dened by Equations (6, 8) and (9).
Thus, due to the track cant, the parametric curve reference frame rotates about the
t axis by an angle
R
, as shown in Figure 8. Therefore, it is necessary to calculate
the new components of the principal unit vectors (t
R
, n
R
, b
R
)
L
of the curve moving
frame after the rotation. Such vectors obtained as
t
R
= A
L
t

R
; n
R
= A
L
n

R
; b
R
= A
L
b

R
, (43)
where A
L
represents the transformation matrix from the parametric curve local
frame to the global reference frame (x, y, z) given by
A
L
= [t n b]
L
. (44)
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 255
The relationship between the principal unit vectors before and after a rotation
R
about the t axis is
t

R
= R

; n

R
= R

; b

R
= R

, (45)
where R

is the rotation transformation matrix for rotations around t axis given by


R

=
_
_
1 0 0
0 cos
R
sin
R
0 sin
R
cos
R
_
_
(46)
and t

, n

, b

represent the principal unit vectors expressed in local coordinates,


written as
t

= {1 0 0}
T
; n

= {0 1 0}
T
; b

= {0 0 1}
T
. (47)
Notice that, in keeping with the right-hand convention,
R
is positive in a counter-
clockwise sense when viewed from a point on the positive t axis and toward the
origin [5]. Substituting (45) in (43), and after rearranging, the new components of
the principal unit vectors, after the cant angle rotation, are expressed as:
t
R
= t,
n
R
= n cos(
R
) + b sin(
R
),
b
R
= n sin(
R
) + b cos(
R
). (48)
According with this formulation, the user must set the cant angle for the be-
ginning and for the end points of every track segment. The values of the cant
angle are linearly interpolated between the segment end points, regardless of the
parametric description of the curve [11]. With the complete information available,
a pre-processor program uses Equation (48) to calculate the geometric parameters
that dene the reference path geometry and store them in the railway database.
4.4. TRACK INFORMATION INCLUDED IN RAILWAY DATABASE
The direct use, in the general spatial curve constraint, of the equations of the
reference path, as obtained by any of the parametric descriptions previously pre-
sented, is neither practical nor efcient from the computational point of view.
As the kinematic constraint is to be used in within the framework of a dynamic
analysis program, where the rail guided vehicles may have a large number of
bodies constrained to move in general spatial curves, the solution of the nonlinear
Equations (42) and the sets of Equations (33, 36, 48) and so forth at every time
step would be an heavy burden on the code. An alternative implementation of
these equations is the construction of a table where all quantities appearing in the
denition of the kinematic constraint are tabulated as function of the global length
parameter.
256 J.POMBO AND J.A.C. AMBR

OSIO
Figure 9. Structure of reference path geometric information table.
After selecting any of the parametric descriptions of the spatial curve presented
before the length parameter step, L adopted for the database construction has to
be chosen. Then, the pre-processor program automatically constructs a table with
all parameters necessary to dene the geometric characteristics of the reference
path, taking into account the track cant variation. These geometric parameters are
organized in columns as function of the length parameter L of the track, measured
from its origin up to the actual point in the track. The multibody program interpo-
lates linearly the table in order to obtain all required geometric characteristics of the
track. If the size of the length parameter step L is set to be similar to the product
of the vehicle velocity by the average integration time step used during dynamic
analysis, then only a few number of interpolations, if any, will be performed in
between two successive lines of the table.
In Figure 9 it is presented the structure of the railway database obtained with
the pre-processor program, where the adopted step size for the track length is
L = 0.1 m. As shown, a railway database consists of a table with 37 columns
where each one corresponds to a railway geometric parameter. The rst column of
the database corresponds to the track length L with a step size L being the corre-
sponding Cartesian coordinates (x, y, z) are stored in the following three columns.
Columns 5 through 10 store the rst and second derivatives of the Cartesian coor-
dinates with respect to L, required for the Jacobian matrix, given by Equation (20)
and the right-hand-side of the acceleration equations presented by Equation (22).
The next three columns contain the information about the Cartesian components of
the unit tangent vector t, which is dened in Equation (6). Columns 14 through 19
store the rst and second derivatives, of the unit tangent vector components, with
respect to L, required by Equations (28). The next three columns of the railway
database contain the Cartesian components of the principal unit normal vector n,
which is dened in Equation (8). Columns 23 through 28 store the components of
the rst and second derivatives, of the vector n, with respect to L. The next three
columns contain the Cartesian components of the binormal vector b, which is de-
ned in Equation (9). Columns 32 through 37 store the rst and second derivatives,
of the binormal vector components, with respect to L.
After the railway database construction, by the pre-processor program, the track
model is completely dened. Therefore, we can assemble with the multibody mod-
els of the railway, roller coaster or other types of rail-guided vehicles, in order to
perform the dynamic analysis of the whole system. For this purpose, the multibody
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 257
Figure 10. Horizontal track geometry.
program has to interpolate the railway database in order to obtain all required
geometric characteristics of the track as described before.
5. Application Examples
The discussion of the methodology proposed for the general spatial curve con-
straint is carried here based on some application examples. The rst includes a
horizontal track model, with geometric characteristics similar to the ones used
in train and tram railway networks. The second one concern the application to a
three-dimensional track model with a geometry analogous to the one used on roller
coasters designs [4].
5.1. HORIZONTAL TRACK MODEL APPLICATION
In this application example, the horizontal track geometry has the characteristics
presented in Figure 10. Since the track has no vertical curves or grade, the limita-
tions of using analytical segments are overcome. Therefore, the track model is built
using either analytical functions or cubic splines. In order to compare the different
descriptions of the track geometry and their impact in the accuracy of the models
developed, three reference paths are modeled using analytical segments and spline
curves with different control points increments. As the emphasis of this work is the
track model and not the vehicle model itself only a single body, representing the
complete vehicle, is considered for the dynamic analysis performed here. The track
models are rst pre-processed and the relevant geometric information is included
in the tables format described before.
The track models are assembled considering transition curves with lengths of
10 m each. The cant angle for the circular curve is 0.2 rad and null for the
tangent track. This angle varies linearly n the transition segment. The track cant
angle adopted corresponds to the equilibrium cant, i.e., the cant for zero track
plane acceleration at a given curve radius and speed [3, 4]. For the track model
258 J.POMBO AND J.A.C. AMBR

OSIO
Table I. Comparative parameters of dynamic simulations performed in the horizontal track models.
Track model Analysis Initial Average CPU Time Constraint Traveled
time velocity time-step violations
()
distance
Analytical functions 34.5 sec 10 m/s 10
2
sec 139 seg. 1 10
2
344.8 m
Cubic splines 34.5 sec 10 m/s 10
2
sec 139 seg. 2 10
5
345.0 m
()
Maximum
Figure 11. Acceleration of the vehicle center-of-mass in the y direction for tracks described
by cubic splines and by analytical segments.
that uses spline segments the distance between the control points is 1 m. In either
case the rigid body has a mass of 176 Kg and inertias of I

= 144.5 Kg m
2
,
I

= 2.2 Kg m
2
and I

= 144.5 Kg m
2
. A initial velocity of 10 m s
1
is assigned
for the simulations. Several parameters characterizing the simulations with the two
track models are summarized in Table I.
A rst observation is that the integration time-step is not sensitive to the descrip-
tion adopted for the track model. This is not surprising because all computational
costs associated to the interpolation of the railway table are exactly the same re-
gardless of the parametric description adopted. At the most, different track models
could induce more or less oscillations in the curves with consequences in the in-
tegration time-steps size, when variable time stepping algorithms are used. In all
track models used this effect has not been an issue. Another aspect that shows
in Table I is that the distance traveled for the 34.5 second of simulation is not
exactly the same for both track models. This reects that the different track models
have slightly different lengths resulting from the different parametric descriptions
adopted.
A comparative graphic of the accelerations of the vehicle center of mass in the
y direction obtained for the two track models is presented in Figure 11. As it can
be seen, there is a good agreement between the results obtained with the two forms
of parameterization. The discontinuities observed at 10 s and at 26 s suggest that
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 259
Figure 12. Acceleration of the vehicle center of mass in the y direction for track models
described by cubic splines with different distances between control points.
Figure 13. Roller coaster geometry.
the length of the transition curves is too small in face of the vehicle velocity and
of the track curve radius. The response peaks observed in the results obtained with
the track model described by cubic splines are a direct result of the oscillations
inherent to the interpolation process of the control points.
The inuence of the distance between the control points of the splines on
the acceleration response is observed in Figure 12 where the vehicle center of
mass accelerations in y direction are presented for two track models described
by cubic splines, but with distances between control points respectively of 1 m
and 10 m. The track with larger distances between control points exhibits a
smoother response. However, the acceleration response deviates more clearly from
the acceleration obtained with the analytic segments.
In Figure 12 it is clear that though larger distance between control points leads
to a smoother track the amplitudes for the acceleration oscillations are also higher.
Smaller distances between the control points lead to a perturbation of the dynamic
response in terms of acceleration that can be perceived in a dynamic analysis of a
complete railway vehicle as perturbations of the railway. Therefore, caution must
be used in the parametric interpolation curve description selected for the track
model.
260 J.POMBO AND J.A.C. AMBR

OSIO
Figure 14. Views of the roller coaster as used in the simulations.
Table II. Comparative parameters of dynamic simulations performed in the roller coaster models.
Track model Analysis Initial Average CPU time Constraint Traveled
time velocity time-step violations
()
distance
Distance = 1 m 49.6 seg. 2 m/s 10
2
sec 11 m 50 s 9 10
2
1,010.5 m
Distance = 5 m 49.6 seg. 2 m/s 10
2
sec 11 m 52 s 9 10
2
1,009.8 m
()
Maximum
5.2. ROLLER COASTER MODEL APPLICATION
The second application example is a three-dimensional track model of a roller
coaster with the geometry illustrated in Figure 13. Since the track has vertical
curves and grade, its model cannot be parameterised with analytical segments and,
therefore, the track model is build using only cubic splines. In this roller coaster
example, two track models with distances between control points respectively of
1 m and 5 m are build. In Figure 14, two views of the roller coaster are presented. A
single body vehicle model is assembled with the two track models and the dynamic
simulations of the systems are performed.
The motion resulting from the simulations, observed from two different view-
points, is sketched in Figure 15. Table II contains comparative parameters that
characterize the dynamic simulations performed with the two roller coaster models.
These parameters are similar to the ones observed in Table I, which means that the
time stepping control of the integration algorithms are not sensitive to the track
complexity.
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 261
Figure 15. Views roller coaster motion resulting from the simulations.
262 J.POMBO AND J.A.C. AMBR

OSIO
Figure 16. Acceleration of the roller coaster vehicle center of mass in the z direction.
In Figure 16, a comparison of the vehicle center of mass acceleration in the z
direction, achieved for the two track models, is presented. There is a good correla-
tion between the results obtained with both models. The large peaks of acceleration
observed are direct results of the sudden change of the vertical curvature between
parts of the track with different geometric characteristics. These sudden changes
reect the fact that no transition curves are used in this roller coaster design. The
smaller perturbations observed in the results result from the oscillations inherent to
the spline interpolation process and, therefore, do not have a physical meaning.
6. Conclusions
A kinematic constraint representing a general spatial curve joint has been devel-
oped here and its computational implementation has been presented. The strategy
adopted for the computer implementation of the joint starts by having the spatial
curve expressed in a parametric form. A moving reference frame is dened in the
curve such a way that the axes are dened in the intersections of the normal, oscu-
lating and rectifying planes. The introduction of the cant angle and of its variation
along the curve has also been implemented. The reference plane used in the spatial
curve to dene the cant angle is the osculating plane, which is the horizontal plane
in case of a at curve. After recognizing that the parameters used in the curve
denition are not necessarily related to the arc length of the curve a transformation
is proposed. Recognizing the fact that the transformation equations are nonlinear
and that it is not efcient to calculate the curve vectors and their derivatives during
the dynamic analysis a pre-processor to generate all geometric properties of the
curve is suggested. The result of the use of this pre-processor is a table where
all quantities involved in the constraint are tabulated as function of the arc length
traveled by the constrained point of a system body in the curve.
This methodology has the advantage of making the time required for the dy-
namic simulation of the rail-guided vehicle completely independent of the track
GENERAL SPATIAL CURVE JOINT FOR RAIL GUIDED VEHICLES 263
complexity and of the type of parametric curve used. Any descriptive form of
parametric curves is dealt with in the pre-processor while the dynamic analysis
program only has to proceed with linear interpolations of the railway table. By
ensuring that the arc-length step is small enough the linear interpolation procedure
does not introduce any signicant error in the geometric description of the curve.
The results presented show that the parameterization with cubic splines can
be used either to describe the track geometry of horizontal tracks or fully three-
dimensional roller coasters. The major drawback of this formulation is its de-
pendence on the distance between the control points used to describe the track
geometry. The use of cubic splines also leads to undesired oscillations in the track
model, which can be perceived as track irregularities during dynamic analysis.
The parameterization with analytical functions does not produce the oscillations
observed in the cubic splines formulation but it is limited to tracks with horizon-
tal geometry. Other parametric descriptions of the general spatial curve, such as
splines with tension and Akima splines, can be implemented in the pre-processor
program as alternative techniques for railway parameterization. These alternative
forms of interpolation are expected to minimize the undesired oscillations of the
interpolated curve.
The general spatial curve kinematic now described serves as the basis for the
construction of the railway as it provides a moving frame, associated to the curve
where the osculating plane is dened with respect to which the cant angle can be
dened. The actual geometry of the tracks can now be described with respect to this
moving frame providing one of the basic ingredients for the use of the multibody
code in the context of railway dynamics applications.
Acknowledgements
The support of Fundao para a Cincia e Tcnologia (FCT) through the PRAXIS
XXI Project, with the reference BD/18180/98, on Mtodos Avanados para Apli-
cao Dinmica Ferroviria (Advanced Methods for Railway Dynamics) made
this work possible and is gratefully acknowledged.
References
1. Dukkipati, R.V. and Amyot, J.R., Computer-Aided Simulation in Railway Dynamics, Marcel
Dekker, New York, 1988.
2. Garg, V.K. and Dukkipati, R.V., Dynamics of Railway Vehicle Systems, Academic Press,
Toronto, 1984.
3. Andersson, E., Berg, M. and Stichel, S., Rail Vehicle Dynamics, Fundamentals and Guidelines,
Royal Institute of Technology (KTH), Stockholm, 1998.
4. Wayne, T., Roller Coaster Physics An Educational Guide to Roller Coaster Design and
Analysis for Teachers and Students, Charlottesville, 1998.
5. Mortenson, M. E., Geometric Modeling, John Wiley & Sons, New York, 1985.
264 J.POMBO AND J.A.C. AMBR

OSIO
6. Pinto, A. R. V., Bases Tcnicas dos Traados do Metroplitano de Lisboa, (Track Geome-
try Technical Bases of Lisbon Underground Company), Revista da Ordem dos Engenheiros,
Portugal, 1978 [in Portuguese].
7. MDI Mechanical Dynamics, ADAMS/Rail 9.1 Technical Manual, 1995.
8. MDI Mechanical Dynamics, ADAMS/Rail 9.1.1 ADtranz Milestone I Release Notes, 1999.
9. MDI Mechanical Dynamics, ADAMS/View 9.0 Training Documentation, 1998.
10. Anand, V., Computer Graphics and Geometric Modeling for Engineering, John Wiley and
Sons, New York, 1994.
11. Pina, H. L. G., Mtodos Numricos (Numerical Methods), McGraw-Hill, Lisboa, Portugal,
1995 [in Portuguese].
12. Ambrsio, J., Trainset kinematic: A planar analysis program for the study of the gangway
insertion points, Technical Report IDMEC/CPM/97/005, Lisbon, Portugal, 1997.
13. Nikravesh, P. E., Computer-Aided Analysis of Mechanical Systems, Prentice Hall, Englewood
Cliffs, NJ, 1988.
14. Ambrsio, J., Implementation of typical track geometries, Technical Report PEDIP
No. 25/00379, Lisbon, Portugal, 2000.
15. Jalon, J. de and Bayo, E., Kinematic and Dynamic Simulation of Multibody Systems, Springer-
Verlag, Heidelberg, 1993.

Você também pode gostar