DOI: 10.1515/ata-2016-0001
Acta Technologica Agriculturae 1/2016
Dušan Páleš et al.
Acta Technologica Agriculturae 1
Nitra, Slovaca Universitas Agriculturae Nitriae, 2016, pp. 1–5
ApproximAtion of Vehicle trAjectory with B-Spline curVe
Dušan PÁLEŠ*, Veronika VÁLIKOVÁ, Ján ANTL, František TÓTH
Slovak University of Agriculture in Nitra, Slovak Republic
In this contribution, we present the description of a B-spline curve. We deal with creation of its basis function as well as with
creation of the curve itself from entered control points. Following the literature, we formed an algorithm for B-spline modelling
and we used it for the planar and spatial curve. The planar curve is made of chosen points. The spatial curve approximates the
trajectory of a real vehicle, which trajectory was obtained by the set of measured points. The modelled curve very exactly describes
the polygon created from the linked control points. With the lowering degree of the curve, this one is more clamping to the given
polygon and for the extreme case it is transformed to the polygon itself. The advantage of the B-spline curve use is, for example in
comparison with a Bézier curve, high adaptability, which is expressed in its parameters – besides entered control points, these are
knots generated on the curve and degree of the curve.
Keywords: B-spline curve; Cox-de Boor formula; curve fitting
The most effective way for determination of curves for
Let U = {u0, u1, u2, ... , um} be non-decreasing sequence
practical use is to use a set of control points. These control of (m + 1) real numbers, thus u0 ≤ u1 ≤ u2 ≤ ... ≤ ui ≤ ui + 1
≤
points can be accompanied by other restriction for the ... ≤ um. These numbers are called knots, the set U is called
curve, for example boundary conditions or conditions the knot vector, and the half-opened interval 〈ui, ui + 1) is
for curve continuity (Sederberg, 2012). When a smooth the i-th knot span. Seeing that knots ui may be equal, some
curve runs only through some control points, we refer to knot spans may not exist, thus they are zero. If the knot ui
curve approximation. The B-spline curve is one of such appears p times, hence ui = ui + 1 = ... = ui + p - 1, where p >1,
approximation curves and is addressed in this contribution. ui is a multiple knot of multiplicity p, written as ui(p). If ui is
A special case of the B-spline curve is the Bézier curve (Páleš only a solitary knot, it is also called a simple knot. If the knots
and Rédl, 2014; Rédl et al., 2014).
are equally spaced, i.e. (ui + 1 - ui) = constant, for every 0 ≤ i
The B-spline curve is applied to a set of control points ≤ (m - 1), the knot vector or knot sequence is said uniform,
in a space, which were obtained by measurement of real otherwise it is non-uniform.
vehicle movement on a slope (Rédl, 2007, 2008). Data were
Knots can be considered as division points that
processed into the resulting trajectory (Rédl, 2012; Rédl and subdivide the interval 〈u0, um〉 into knot spans. All B-spline
Kučera, 2008). Except for this, the movement of the vehicle basis functions are supposed to have their domain on 〈u0,
was simulated using motion equations (Rédl, 2003; Rédl and um〉. We will use u0 = 0 and um = 1.
Kročko, 2007).
To define B-spline basis functions, we need one more
parameter k, which gives the degree of these basis functions.
Recursive formula is defined as follows:
material and methods
N
i, 0 (u) = 1, u1 ≤ u ≤ ui + 1
(1)
B-spline basis functions
N
i, 0 (u) = 0, for other u
Bézier basis functions known as Bernstein polynomials are
used in a formula as a weighting function for parametric
representation of the curve (Shene, 2014). B-spline basis
functions are applied similarly, although they are more
complicated. They have two different properties in
comparison with Bézier basis functions and these are: 1)
solitary curve is divided by knots, 2) basis functions are not
nonzero on the whole area. Every B-spline basis function
is nonzero only on several neighbouring subintervals and
thereby it is changed only locally, so the change of one
control point influences only the near region around it and
not the whole curve.
u − ui
ui +k − ui
ui +k +1 − u
Ni , k −1(u) + Ni +1, k −1(u)
(2)
N
i , k (u) =
ui +k +1 − ui +1
This definition is usually referred to as the Cox-de Boor
recursion formula. If the degree is zero, i.e. k = 0, these basis
functions are all step functions that follows from Eq. (1).
i, 0 (u) = 1 is only in the i-th knot span 〈ui, ui + 1). For example,
if we have four knots u0 = 0, u1 = 1, u2 = 2 and u3 = 3, knot
spans 0, 1 and 2 are 〈0, 1), 〈1, 2) and 〈2, 3), and the basis
functions of degree 0 are N0, 0 (u) = 1 on interval 〈0, 1)
N
Contact address: *Dušan Páleš, Slovak University of Agriculture in Nitra, Faculty of Engineering, Department of Machine Design,
Tr. Andreja Hlinku 2, 949 76 Nitra, Slovakia, e-mail: dusan.pales@uniag.sk
1
- 10.1515/ata-2016-0001
Downloaded from De Gruyter Online at 09/12/2016 06:04:32AM
via free access