Conference PaperPDF Available

General construction scheme for unit quaternion curves with simple high order derivatives

Authors:

Abstract

This paper proposes a new class of unit quaternion curves in 3 . A general method is developed that transforms a curve in 3 (de- fined as a weighted sum of basis functions) into its unit quaternion analogue in 3 . Applying the method to well-known spline curves (such as Bezier, Hermite, and B-spline curves), we a re able to construct various unit quaternion curves which share many im- portant differential properties with their original curve s. Many of our naive common beliefs in geometry break down even in the simple non-Euclidean space 3 or 3 . For exam- ple, the de Casteljau type construction of cubic B-spline qu aternion curves does not preserve 2-continuity (10). Through the use of decomposition into simple primitive quaternion curves, our quater- nion curves preserve most of the algebraic and differential properties of the original spline curves.
A General Construction Scheme for Unit Quaternion Curves
with Simple High Order Derivatives1
Myoung-Jun Kim2
, Myung-Soo Kim3
, and Sung Yong Shin2
2Korea Advanced Institute of Science and Technology (KAIST)
3Pohang University of Science and Technology (POSTECH)
ABSTRACT
This paper proposesa new class of unitquaternion curves in 3 .
A general method is developed that transforms a curve in 3(de-
fined as a weighted sum of basis functions) into its unit quaternion
analogue in 3 . Applying the method to well-known spline
curves (such as B´ezier, Hermite, and B-spline curves), we are able
to construct various unit quaternion curves which share many im-
portant differential properties with their original curve s.
Many of our naive common beliefs in geometry break down
even in the simple non-Euclidean space 3or 3 . For exam-
ple, the de Casteljau type construction of cubic B-spline quaternion
curves does not preserve 2-continuity [10]. Through the use of
decomposition into simple primitive quaternion curves, our quater-
nion curves preserve mostof thealgebraic anddifferential properties
of the original spline curves.
CR Descriptors: I.3.5 [Computer Graphics]: Computational
Geometry and Object Modeling – Curve, surface, solid, and object
representation, – Geometric algorithms. Keywords: Quaternion,
rotation, orientation, 3 , B´ezier, Hermite, B-spline
1 INTRODUCTION
In computer animation, it is very important to have appropriate
tools to produce smooth and natural motions of a rigid body. A
rigid motion in 3can be represented by a Cartesian product of two
component curves: one in the Euclidean space 3and the other
in the rotation group 3 [3, 12]. The curve in 3represents
the center position of the rigid body, and the other curve in 3
represents its orientation. Often, techniques for specifying a rigid
motion construct the two curves independently. It is relatively
easy to produce smooth curves in the Euclidean space. B-spline,
Hermite, and B´ezier curves exemplify well-known techniques for
constructing position curves in 3. However, smooth orientation
curves in 3 are much more difficult to construct.
1This research was partially supported by the Korean Ministry of Science and
Technology under the contract 94-S-0 5-A-03 of STEP 2000 and TGRC-KOSEF.
2Computer Science Departme nt,KAI ST, Taejeon 305-7 01,Korea.
3Dept. of Comp uter Science, POSTECH, Pohang 79 0-784, Korea.
E-mail: mjkim, syshin @jupiter.kaist.ac.kr and mskim@vision.postech.ac.kr.
The spline curves in 3are usually defined in two different but
equivalent ways: i.e., either as an algebraic construction using basis
functions or as a geometric construction based on recursive linear
interpolations [2]. This paper proposes a general framework which
extends the algebraic construction methods to 3 . Most of the
previous methods are based on extending the linear interpolation in
3to the slerp (spherical linear interpolation) in 3 [14, 16, 17,
18]. The two (i.e., algebraic and geometric) construction schemes
generate identical curves in 3; however, this is not the case in
the non-Euclidean space 3 [10]. Many of our commonplace
beliefs in geometry breakdown in the non-Euclidean space 3 .
When the recursive curve construction is not based on a simple
closed form algebraic equation, it becomes extremely difficult to
do any extensive analysis on the constructed curve. For example,
consider the problem of computing the first derivative of the cubic
ezier quaternion curve or the squad curve generatedby a recursive
slerp construction [17, 18]. Though Shoemake [17, 18] postulates
correct first derivatives, the quaternion calculus employed there
is incorrect (see [9] for more details). Kim, Kim, and Shin [9]
developed a correct quaternion calculus for the rst derivatives
of unit quaternion curves; however, an extension to the second
derivatives becomes muchmore complex (also see [11] for a related
quaternion calculus on blending-type quaternion curves).
More seriously, the 2-continuity of a spline curve in 3may
not carry over to 3 . Furthermore, the curve conversion be-
tween two different spline curves, e.g., from a cubic B´ezier curve to
the corresponding cubicB-spline curve, may notwork out in 3
[10]. Kim, Kim, and Shin [10] show that there is no 2-continuity
guaranteed for the cubic B-spline quaternioncurves which are gen-
erated by the recursiveslerp construction of Schlag [16]. Similarly,
the B-spline quaternion curve of Nielson and Heiland [13] also fails
to have 2-continuity (see [10] for more details).
In this paper, we take an important step toward generalizing
the algebraic formulation of spline curves in 3to similar ones
in 3 . In the new algebraic formulation, the computation of
high order derivatives becomes almost as easy as that of the spline
curves in 3. We show that the quaternion curves generated in
this way preserve many important differential properties of their
original curves in 3. They are defined in simple closed algebraic
forms of quaternion equations, and they have the same degrees of
geometric continuity as their counterparts in 3.
As a demonstration of the feasibility of our proposed method,
we first construct a B´ezier quaternion curve with control unit
quaternions. Then, the cubic B´ezier quaternion curve is used to
construct a Hermite quaternion curve. We also construct a -th
order B-spline quaternion curve which is 2-continuous and lo-
cally controllable. There are many other spline curves which can
be defined by weighted sums of control points; our construction
method is general in that all these spline curves are extendible to
their corresponding quaternion curves. Since it is possible to ma-
nipulate the position curve as well as the corresponding orientation
curve in a unified manner, the modeling and manipulation of rigid
motions can be managed more conveniently.
The key to the success of our construction method is that the
quaternion curve is formulated as a product of simple primitive
quaternion curves: exp , 1 , for some
fixed angular velocity 3and real valued function ,
where exp : 33 is an exponential map [3]. Each
primitive curve, , represents a rotation about a fixed axis,
3, for which the derivative formula has an extremely
simple form: exp .
Since the chain rule can be applied to the quaternion product:
1, the resulting differential formula has the
simplest expression that one can expect for unit quaternion curves.
Furthermore, a similar technique can be used to obtain high order
derivatives of our quaternion curves. There have been many other
methods suggested for the construction of quaternion curves, in-
cludingtheCAGD approaches basedon constructingrational curves
on the 3-sphere 3[8, 20]. Nevertheless, no method has provided
such a simple derivative formula. The only exception is the method
ofPobegailo[15] which constructsa -continuous sphericalcurve
as a product of 1 rotation matrices: 1 1 . The gen-
erated curve is, however, essentially restricted to the B´ezier type
quaternion curve of our method.
The development of closed form equations for the second order
derivatives provides an importantstep toward solving the important
problem of torque minimization for 3D rotations [1, 6, 7]. How-
ever, the torque minimization problem requires much more. The
optimal solution is given as a critical path in the problem of cal-
culus of variations among a set of quaternion paths which satisfy
the given conditions. For this purpose, we may need to extend
the quaternion curve construction scheme of this paper to that of
quaternion surfaces and volumes. This is currently a difficult open
problem. Therefore, the important problem of torque minimization
for 3D rotations has not been solved in this paper. Nevertheless, the
basic algebraic approach taken in this paper provides an important
conceptual framework for future research toward this goal.
The rest of this paper is organized as follows. In Section 2,
we briefly review some useful concepts and definitions related to
unit quaternions. Section 3 describes the main motivation of this
work. Section 4 outlines our basic idea for constructing unit quater-
nion curves. Section 5 constructs the B´ezier, Hermite, and B-spline
quaternion curves and discusses their differential properties. Sec-
tion 6 shows someexperimental results with discussions onpossible
further extensions. Finally, in Section 7, we conclude this paper.
2 PRELIMINARIES
2.1 Quaternion and Rotation
Given a unit quaternion 3, a 3D rotation 3 is
defined as follows:
1for 31
where isinterpreted as a quaternion 0 and the
quaternion multiplication is assumed for the products [3, 17, 18].
Let cos ˆ sin 3, for some angle and unit vector
ˆ2, then is the rotation by angle 2 about the axis ˆ. The
multiplicative constant, 2, in the angle of rotation, 2 , is due to the
factthat appears twice in Equation (1). Also note that ;
that is, two antipodal points, and in 3, represent the same
rotation in 3 .
The two spaces 3and 3 have the same local topologyand
geometry. The major difference is in the distance measures of the
twospaces 3 and 3. A rotation curve 3 istwice
aslongasthecorresponding unitquaternion curve 3. When
a smooth rotation curve has an angular velocity 2 3,
the unit quaternion curve 3satisfies:
2
In this paper, we construct the unit quaternion curves in 3, instead
of 3 ; therefore, we interpret the velocity component of
as the angular velocity, instead of 2 .
The unit quaternion multiplication is not commutative; the or-
der of multiplication is thus very important. Let 1 2 be
a sequence of successive rotations. When each is measured in
the global frame, the product 1 1 is the net rotation of
successive rotations. However, when each is measured in the
local frame, the final product 1 2 represents the net rota-
tion. Note that the latter is the same as the successive rotations
of 1 2 1 in the global frame. Here, we assume each
rotation is specified in the local frame. This is simply for notational
convenience; in the local frame, we can write the multiplications in
the same order asthe rotations. By reversing the order of quaternion
multiplications, the same construction schemes can be applied to
the quaternion curves defined in the global frame.
2.2 Exponential and Logarithmic Maps
Given a vector ˆ3, with ˆ 2, the exponential:
exp
0
cos ˆ sin 3
becomes the unit quaternion which represent the rotation by angle
2about the axis ˆ, where is computed using the quaternion mul-
tiplication [3, 11, 18]. The exponential map exp can be interpreted
as a mapping from the angularvelocity vector (measured in 3) into
the unit quaternion which represents the rotation. When we limit
the domain of exp so that , the map exp becomes 1-to-1 and
its inverse map log can be defined for unit quaternions. (See [9]
for more details on exp and log.) The power of a unit quaternion
with respect to a real valued exponent is defined to be a unit
quaternion: exp log .
Giventwounit quaternions 1and 2, the geodesic curve 1 2
3(which connects 1and 2) has constant tangential velocity
log 1
12. The geodesic curve equation is given by:
1 2 1exp log 1
12 1 1
123
The geodesic 1 2 is also called the slerp (spherical linear inter-
polation) between 1and 2.
3 MOTIVATION
For a translational motion in 3, the position curve is repre-
sented by:
04
where is the velocity and 0is the initial position. This relation
can also be represented by the following linear differential equation:
5
However, as shown in Equation (1), the relation between and
is non-linear: .
One of the most important problems in aero-space engineering
is how to find a torque optimal rotational path which connects the
start and target orientations [7]. Many numerical methods have
been suggested to find the optimal path, in which Equation (1)
plays an important role as governing equation [6]. Barr et al. [1]
also raised torque optimization as a significant problem in computer
animation, and they constructed a torque optimal piecewise slerp
quaternion path (i.e., as a sequence of discrete unit quaternions) by
using a non-linear optimization technique. There still remains the
important open problem of how to construct such a torque optimal
path with piecewise spline quaternion curves which have simple
closed form equations. An immediate open problem concerns the
computation of high order derivatives of a unit quaternion curve. In
this paper, we resolve the crucial problem of how to formulate the
quaternion curves and their high order derivatives as closed form
equations.
For a unit quaternion curve 3, we may reformulate the
curve in the following equivalent form:
exp log
By applying the chain rule to this equation, we obtain the first
derivative formula:
exp log log
where exp log is the differential (i.e., Jacobian matrix) of
exp. Kim, Kim, and Shin [9] used this formula to provide simple
1-continuity proofs for various previous methods [11, 17, 18].
The second and high order derivative formulas, however, become
extremely complex even with this representation. Moreover, for
general quaternion curves , their logarithmic curves, log ,
also have very complex formulas. In this paper, we exploit simple
primitive quaternion curves which allow simple formulas for
both the high order derivatives and the logarithmic curves.
Shoemake [18] used the formula:
log 16
In general, this formula is incorrect. For example, Equation (6)
claims that: 22 . However, we have:
22
since the quaternion multiplication is not commutative (also see [9]
for more details). Nevertheless, there is a special case where this
formula works. When the quaternion curve is restricted to the
rotation around a fixed axis 3: i.e.,
exp
for a real-valued function , has a simple form:
exp
which is equivalent to the formula of Equation (6) in this special
case. Higher order derivatives of are also easy to compute by
the chain rule.
To makegood use ofthis simple differential property, all the unit
quaternion curvesof this paperwill be constructedas the products of
primitive quaternion curves: exp , 1 ,
for a fixed angular velocity 3and a real valued function
. Since the chain rule can be applied to the quaternion prod-
uct: 1, the quaternion curve derivative can
be obtained in an extremely simple form. Furthermore, applying
a similar technique recursively, high order derivatives can also be
obtained in simple forms. In this paper, we construct each com-
ponent quaternion curve to be -continuous by choosing
-continuous basis function . Therefore, their quaternion
product 1becomes -continuous.
q0
ω1
q1
ω2
q2
ωn
qn
Figure 1: Piecewise Slerp Interpolation of .
4 BASIC IDEA
4.1 Cumulative Form
Given a sequence of points 0 1 3, the simplest 0-
continuous curve 3, which interpolates each point at
, is given by the following linear interpolation:
0 1 1 2 2
01
where 1
0 if
if 1
1 if 1
Similarly, given a sequenceof unitquaternions 03,
we can construct a 0-continuous unit quaternion curve 3,
which interpolates each unit quaternion at , as follows:
0exp 1 1 exp 2 2 exp
01exp
where log 11
This is a piecewise slerp(spherical linear interpolation)of (see
Figure 1). In the rotational space, a slerp implies a rotation with a
constant angular velocity (around a fixed rotation axis). The slerp
curve segment joining and 1is the geodesic interpolation,
which is given by: exp , based on Euler’s theorem of
principal rotation.
At this point, we may generalize to other functions, rather
than a piecewise linear function, so that the resulting quaternion
curve becomes -continuous while interpolating the given se-
quence of unit quaternions. The two sequences and can
be viewed as basis functions and their coefficients, respectively.
We call 0exp the cumulative form of with their co-
efficients . The cumulative form has several advantages over
other quaternion curve representations:
1. It has a simple closed form equation, which simplifies the
evaluation of curve points and reduces the numerical errors.
2. Itfacilitates straight-forwardcomputations ofhighorderderiva-
tives.
3. Using -continuous basis functions , we can easily
construct -continuous quaternioncurves,which are further
controlled by the coefficients .
4. A well-chosen set of basis functions makes the constructed
quaternion curves locally controllable.
5. Since exp 1, the quaternion curves are in 3.
4.2 Cumulative Basis
In the Euclidean space 3, there are many well-known spline curve
construction schemes such as ezier and B-spline curves. Most
of the spline curves are represented as the sums of basis functions
with their control points as the coefficients. Let be the basis
functions and be the control points. Then, the spline curve
, determined by , is given by:
0
which is called the basis form of . We present a general scheme
thatconvertsthe basis formtothe cumulative formofthequaternion
curve. Using this method, we can easily construct various unit
quaternion curves from their analogues in the Euclidean space 3.
The basis form can be first converted into the following form:
0 0
1
where 1
Then, the corresponding quaternion curve is obtained as follows:
0
0
1
exp 7
by converting to , 0to 0,to log 11,
and vector addition to quaternion multiplication. Equation (7) is
given in a cumulative form. One needs to be extremely careful in
the order of multiplication: 11. If the angular velocities are
given in the global frame, the quaternion multiplication: 11
should be used, instead of 11. The new basis is called
the cumulative basis of . The cumulative form is the basic
tool for our quaternion curve construction in 3 . Simply by
deriving a cumulative basis , we can easily obtain a quaternion
curve which shares many important differential properties with its
counterpart in the Euclidean space 3.
5 A NEW CLASS OF QUATERNION CURVES
5.1 B´
ezier Quaternion Curve
We can represent an -th order B´ezier curve with Bernstein basis
1 as follows:
0
8
where ’s are the control points. For the B´ezier curve given in a
basis form, we can applyour quaternion curveconstruction method.
We first reformulate Equation (8) as follows:
0˜0
1
˜
where the cumulative basis functions are given by:
˜9
Then,byconvertingit to thecumulativeform,we can obtain the -th
order B´ezier quaternion curve with control points as follows:
0
1
exp ˜10
where log 11
Note that ˜01. This ezier quaternion curve has a different
shape from the ezier quaternion curve of Shoemake [17].
5.2 Hermite Quaternion Curve
A cubic Hermite curve is defined by two end points, and , and
two end velocities, and . Alternatively, the Hermite curve can
be represented by a cubic B´ezier curve:
3
0
11
with the condition:
0 1 323312
where 3for 0 1 2 3.
Similarly, a cubic B ´ezier quaternion curve can be used to de fine
a Hermite quaternion curve which interpolates two end unit quater-
nions, and , and two end angular velocities, and . From
Equation (10), the cubic B´ezier quaternion curve is given by:
0
3
1
exp ˜13
where ˜ ˜ 3for 1 2 3. The quaternion counterpart
of Equations (12) is given by:
0 1 exp 3 2exp 3 13
These four identities determine the three coefficients of the cubic
ezier quaternion curve in Equation (13) as follows:
1log 1
01log 1exp 3 3
2log 1
12log exp 3 1 1 exp 3 1
3log 1
23log exp 3 13
Using these three angular velocities, we canconstruct a cubic Her-
mite quaternion curve from Equation (13). Note that we can assign
arbitrarily large angular velocities at the curve end points. The
angular velocity 2provides an extra degree of freedom in choos-
ing the number of revolutions while not losing the end point
interpolation property. That is, instead of 2, we may use
2 2 for an integer
where 2 2 2 . The curve shape changes, depending on the
number of revolutions. (Note that the angular velocity is measured
here in 3; therefore, the magnitude is half the rotation in the
physical space.) Figure 2 shows the graphs of basis functions ˜’s.
Figure 3 shows Hermite quaternion curves with the same control
points, but with different angular velocities ’s. Since it is difficult
to visualize the quaternion curves in 3, they are projected onto a
unit sphere in 3.
Now, we will show that the cubic Hermite quaternion curve
interpolates the two orientations, and , and the two angular
Figure 2: Graphs of ˜.
qa
qb
Figure 3: Examples of Hermite Quaternion Curves.
velocities, and , at the curve end points. It is easy to show
that: 00exp 0 exp 0 exp 0
0
10exp 1exp 2exp 3
01
011
121
23
3
The first derivative of is given by:
0exp 1˜1 1 ˙
˜1exp 2˜2exp 3˜3
0exp 1˜1exp 2˜2 2 ˙
˜2exp 3˜3
0exp 1˜1exp 2˜2exp 3˜3 3 ˙
˜3
where ˜11 1 3˜23223˜33
˙
˜13 1 2˙
˜26 1 ˙
˜332
Thus, we have:
00exp 013exp 0 exp 0
0exp 1˜1exp 0 20exp 3˜3
0exp 1˜1exp 2˜2exp 0 30
0
10exp 1 10exp 2exp 3
0exp 1exp 2 20exp 3
0exp 1exp 2exp 3 33
01
011
121
2333
3
which meansthat the quaternioncurve has its angular velocities
10 0 10 and 11 1 11
at the curve end points.
5.3 B-spline Quaternion Curve
The B-spline curve is very popular in computer graphics because
of its extreme smoothness and local controllability. By moving a
control point, we can selectively modify the B-spline curve without
losing its geometric continuity. In this section, we consider how
to convert a B-spline curve in 3into its quaternion analogue with
a cumulative form. Then, we investigate the properties such as
-continuity and local controllability.
A B-spline curve is defined by a weighted sum of B-spline
basis functions , which are 2-continuous 1 -th
order piecewise polynomials. Given a set of control points , a
B-spline curve is given by:
0
The B-spline basis functions are defined by the following
recurrence relation [4]:
11 if 1
0 otherwise
and
1111 1
It is easy to show that s are 2-continuous piecewise poly-
nomials of degree ( 1). They are 2-continuous every-
where, and may not be 1-continuous only at the knots .
Each has a non-zero support on the interval , i.e.,
0 for or .
The B-spline curve may be reformulated in the following cu-
mulative form:
0 0
1
where 1
and
if 1
1 if 1
0 if
By converting to , 0to 0,to , and summation
to quaternion multiplication, the corresponding quaternion curve is
obtained in a cumulative form as follows:
0
0
1
exp
where log 11. This gives our B-spline quaternion curve,
which is 2-continuous and locally controllable with the control
points and the angular velocities . The B-spline quater-
nion curve also allows arbitrarily large angular velocities between
two consecutive control points . Figures 4 and 5 show the
graphs of basis functions 4and 4, respectively. Note
that isnon-constant onlyin the interval 1,whereas
is non-constant in . Figure 6 shows examples of B-
spline quaternion curves. The local shape controllability is shown
with dashed curves.
Figure 4: B-spline Basis Functions.
Figure 5: Cumulative B-spline Basis Functions.
Now, we can investigate some interesting differential and ge-
ometric properties of the B-spline quaternion curve: i.e., -
continuity and local controllability. It is easy to show that
is 2-continuous since it is a weighted sum of 2-continuous
functions . Therefore, the -th order B-spline quaternion
curve is 2-continuous as well. Since the cumulative basis func-
tion is non-constant in the interval 1, the quater-
nion curve on the interval 1can be represented
by:
01
1exp 12exp
1exp 0
12exp
This equation shows that the quaternion curve depends only
on the quantities: 1,1,, that is, only on the
controlpoints: 1. In other words, by moving the
control point , the curve shape is influenced only on the interval
.
Furthermore, the derivation of is extremely simple due to
the B-spline differentiation formula [4]:
11
11
where ’s are constants. Therefore, we have:
1
11
In the case of a uniform B-spline, there is a further reduction to:
1.
q1
q2
q4
q5
q6
q3
Figure 6: B-spline Quaternion Curve with Six Control Points.
6 EXPERIMENTAL RESULTS
6.1 Torque Computation
The spline interpolation in 3produces a path which minimizes
the energy:
¨2
while satisfying given constraints. Thus, the spline interpolation
path does not generate unnecessary force (or acceleration). The
energy minimization property makes the spline interpolation very
useful. As far as rotational motion is concerned, it is important to
minimize torque (or angular acceleration). Most of the previous
results on quaternion interpolation have concentrated on improving
the computational efficiency rather than attacking the more chal-
lenging problem of energy minimization.
Barr et al. [1] took an important step toward the energy min-
imization. The quaternion path is approximated by discrete unit
quaternions and a time-consuming non-linear optimization is em-
ployed in the algorithm. There still remains an important open prob-
lemconcerninghowto constructanenergyminimizationquaternion
path, ideally with a closed form equation and without using a time-
consuming optimization technique. In this paper, we have provided
a useful step toward the resolution of this problem by introducing a
new class of spline quaternion curves for which high order deriva-
tives can be obtained in simple closed form equations. Although
the problem of how to deal with these closed form equations is still
unsolved, our quaternion curves exhibit promising behaviors by
generating relatively small torque compared with those generated
by the previous methods.
Our cubic quaternioncurves generate asimilar amount of torque
(inthe range of 5%)tothat of Shoemake [17]when thecontrolunit
quaternions have small angular variations. However, our curves
perform much better when the variations are large. The meth-
ods based on recursive slerp constructions may generate twisted
curves when the spherical control polygon on 3has edges of rel-
atively large lengths. This effect can be explained as follows. The
slerp-basedmethods generatea sequenceofintermediatequaternion
curves ’s, and blend each pair of two consecutive curves
and 1to generate another sequence of quaternion
curves 1’s:
1exp log 11
for some blending function . When the variations of con-
trol quaternions are large, the two quaternion curves and
1have large curve lengths. They may have complex wind-
ingshapes inthecompactspace 3. Thedifference quaternioncurve
11would also wind many times. However, the
measure, log 11, is always bounded by , which
totally ignores the large amount of winding. As a result, the blend-
ingcurve 1experiences largebending,which produces large
torque. As the intermediate curves with bending shapesare blended
recursively,the resulting quaternion curve has a twisting shape.
Our quaternion curves do not suffer from such a degener-
acy. This is because our primitive quaternion curve
exp may accommodate arbitrarily large angular velocity
. The resulting curve has a large number of winding; however,
the curve does not produce extraordinary bending and/or twisting.
Therefore, our curves perform much better when the angular varia-
tions are large. Furthermore, our curves have 2-continuity, which
means that there is no torque jump at the curve joint. The piecewise
cubic quaternion curves (based on the de Casteljau type construc-
tion) are not 2-continuous; they have torque jump at each curve
joint. High degree rational spherical curves have 2-continuity
[19]; however, their speeds are less uniform than the curves based
on the de Casteljautype construction. Therefore, the rational curves
generate redundant tangential accelerations, which has undesirable
effect.
6.2 Animation Examples
We present some examples to demonstrate the feasibility of our
quaternioncurves. Figure7 showsan animationofa flyingboomerang.
In this example, the motion path is composed of a Hermite curve
for the translation and a Hermite quaternion curve for the rotation.
Using the Hermite quaternion curve, we can specify arbitrary ori-
entations and angular velocities of the boomerang at the start and
end of the animated motion. Note that the boomerang experiences
many revolutions. This effect is obtained by assigninglarge angular
velocities at both ends.
Ourcubic B-spline quaternioncurveproducesextremely smooth
motions. Figure 8 shows a motion path, which is specified by a
B-spline curve with six control points. A rigid motion path can
be used to specify the sweeping of a 2D cross section. Figure 9
shows a sweep object generated from the same motion path given
in Figure 8. Figure 10 shows an example of B-spline quaternion
interpolation for a rigid body, where the position and orientation
interpolation curves are constructed by the B-spline interpolation
curves in 3and 3 , respectively. Six keyframes are used in
this example, and they are shown in dark tints.
7 CONCLUSIONS
A general construction method is proposed for unit quaternion
curves. Given a spline curve in 3, the spline curve is reformulated
in a cumulative basis form and the corresponding quaternion curve
is constructed by converting each vector addition into the quater-
nion multiplication. The quaternion curve is formulated as a finite
product of simple quaternion curves, which makes the evaluation
of high order derivatives quite straightforward. The constructed
quaternion curves preserve many important differential properties
of their counterparts in 3. Furthermore, the quaternion curves
and their high order derivatives are given by simple closed form
equations.
Experimental results are quite promising in that our quaternion
curves use small torque compared with the previous quaternion
curves, especially when the control quaternions have large varia-
tions. Although the important torque minimization problem has
not been solved in this paper, our approach provides an important
initial step toward this goal.
Figure 7: Boomerang Animation using one Hermite Quaternion
Curve.
Figure 8: Rigid Motion by a Cubic B-spline Quaternion Curve.
Figure 9: Sweeping with Cubic B-spline Quaternion Curves.
Figure 10: Example of B-spline Quaternion Interpolation.
REFERENCES
[1] BARR, A., CURRIN, B., GABRIEL, S., AND HUGHES, J. Smooth
interpolation of orientations with angular velocity constraints
using quaternions. Computer Graphics (Proc. of SIGGRAPH
’92) (1992), pp. 313–320.
[2] BARRY, P., AND GOLDMANN, R. A recursive evaluation algo-
rithm for a class of Catmull-Rom splines. ComputerGraphics
(Proc. of SIGGRAPH ’88) (1988), pp. 199–204.
[3] CURTIS, M. Matrix Groups, Springer-Verlag, 1972.
[4] DE BOOR, C. A Practical Guide to Splines, Springer-Verlag,
1978.
[5] HAMILTON, W. Elements of Quaternions (Volume I, II),
Chelsea Publishing Company, 1969.
[6] JUNKINS, J., AND TURNER, J. Optimal continuous torque
attitude maneuvers. J. Guidance and Control 3, 3 (1980),
pp. 210–217.
[7] JUNKINS, J., AND TURNER, J. Optimal Spacecraft Rotational
Maneuvers, Elsevier, 1986.
[8] JUTTLER, B. Visualization of moving objects using dual
quaternion curves. Computers & Graphics 18, 3 (1994),
pp. 315–326.
[9] KIM, M.-J., KIM, M.-S., AND SHIN, S. A compact differential
formula for the first derivative of a unit quaternion curve. To
appear in J. of Visualization and Computer Animation (1995).
[10] KIM, M.-J., KIM, M.-S., AND SHIN, S. A 2-continuous B-
splinequaternioncurve interpolatinga given sequenceof solid
orientations. Proc.of ComputerAnimation’95 (1995), pp. 72–
81.
[11] KIM, M.-S., AND NAM, K.-W. Interpolating solid orienta-
tions with circular blending quaternion curves. To appear in
Computer-Aided Design (1995).
[12] NIELSON, G. Smooth interpolation of orientation. Models
and Techniques in Computer Animation (Proc. of Computer
Animation ’93) (1993), N. Thalmann and D. T. (Eds.), Eds.,
Springer-Verlag, pp. 75–93.
[13] NIELSON, G., AND HEILAND, R. Animated rotations
using quaternions and splines on a 4D sphere. Pro-
grammirovanie(Russia)(July-August 1992), Springer-Verlag,
pp. 17–27. English edition, ProgrammingandComputerSoft-
ware, Plenum Pub., New York.
[14] PLETINCKS, D. Quaternioncalculus asa basictool incomputer
graphics. The Visual Computer 5, 1 (1989), pp. 2–13.
[15] POBEGAILO, A. Modeling of spherical and orientation
splines. To appear in Proc. of Pacific Graphics ’95 (1995).
[16] SCHLAG,J.Usinggeometricconstructions tointerpolateorien-
tation with quaternions. Graphics GEMS II, Academic Press,
1992, pp. 377–380.
[17] SHOEMAKE, K. Animating rotation with quaternion curves.
Computer Graphics (Proc. of SIGGRAPH ’85) (1985),
pp. 245–254.
[18] SHOEMAKE, K. Quaternion calculus for animation. Math for
SIGGRAPH (ACM SIGGRAPH ’91 Course Notes #2) (1991).
[19] WANG, W. Rational spherical curves. Presented at
Int’l. Conf. on CAGD, Penang, Malaysia (July 4-8, 1994).
[20] WANG, W., AND JOE, B. Orientation interpolation in quater-
nion space using spherical biarcs. Proc. of Graphics Interface
’93 (1993), pp. 24–32.
APPENDIX
In this appendix, we provide the pseudo codes for the construction
of quaternion curves presented in Section 5.
B´
ezier Quaternion Curve
// 0: control points
double ˜1
quaternion Bezier 0 1
return (01exp log 11˜;
end
Hermite Quaternion Curve
// : the start and end orientations
// : the start and end angular velocities
double ˜11 1 3,˜23223,˜33
quaternion Hermite
0;
13;
2log exp 11 1 exp 3;
33;
return (0exp 1˜1exp 2˜2exp 3˜3);
end
B-spline Quaternion Curve
// : knot sequence
double = B-spline basis of order
double
quaternion B-spline 0 1
max 1;
if (0) then
0; 0
0
else ;
for ( 1; && ; ++)
exp log 11;
return ();
end
Uniform B-spline Quaternion Curve
// 2: uniform knots
// 0
// uniform-B-spline 0 0
// uniform-B-spline
// uniform-B-spline
quaternion uniform-B-spline 0 1
1 0 1
10; //phantom
111;// control points
1 ;
;
for (1; 2; ++)
exp log 11;
return ();
end
... Another approach focuses on the smoothness of attitude spline. A general attitude spline using a B-spline quaternion curve is proposed in [9]. This method guarantees C m−2continuity when m-th order B-spline quaternion curve is used and a higher-order derivative can be easily derived. ...
... In [6]- [8], zero attitude difference is achieved at the expense of smoothness. In [9], a smoother spline function is obtained, but with a larger attitude difference." ...
... Conversely, a larger attitude difference weighting parameter can be used to minimize attitude difference. This proposed spline function bridges the gap between exactly interpolating spline functions [6]- [8] and smoother spline functions [9]. ...
Article
Full-text available
Continuous attitude spline functions are used in computer animation and in the generation of virtual inertial sensor data. Unlike the B-spline functions in R 3 , it is not easy to locally control attitude the B-spline function in SO (3). In this paper, a modified attitude B-spline function is proposed, where the local control problem (smoothness and distance between the target attitude and spline function) is formulated as a linear quadratic optimization problem. The proposed algorithm is tested with human attitude target data to demonstrate the local controllability of the attitude B-spline functions.
... Therefore, the path planning ability of robot is improved and the path optimization technology is studied [9]. Geometric information can be retrieved from the welding path described in the workpiece CAD model to provide the welding path's position coordinates, and then a spline curve can be used to approximated these position values to build a smooth curve, which is an excellent way for welding path planning [10]. Saravanan used the NURBS curve to map the path of the robot manipulators so that it could satisfy various constraints [11]. ...
... From the experimental results, it can be seen that the B-spline path passes through each point accurately, please refer to [120]. The angular acceleration is significantly reduced, as shown in Figure 5. [120] Other, the different approach is proposed in [10], using spherical linear interpolation(SLERP) in combination with mixing functions, such as Bezier curves or B-spline curves, for achieve precise initial and terminal directions (quaternions). In [121], an incremental path planning method based on SLERP is proposed. ...
Article
Full-text available
This paper assesses the efficacy of intelligent path planning for welding robots utilizing splines. Traditional path planning methods can result in inefficient and inaccurate welding operations. The study reviews current research and case studies to appraise the practical application of spline-based path planning across diverse industrial scenarios. It underscores the benefits of discovering the shortest path and reducing cycle time while acknowledging challenges such as calibration accuracy and sensitivity to sensor data noise. The introduction of artificial intelligence algorithms in automobile welding path planning enables a more precise replication of the body's design curve, ensuring the continuity and smoothness of the welding process. This, in turn, fosters further automation and optimization of the automotive welding manufacturing process. The current research concentrates on integrating intelligent optimization algorithms and spline curves to provide an efficient and intelligent method for welding path planning. Intelligent path planning based on spline curves demonstrates significant potential in enhancing welding efficiency, determining the shortest path, and holds promising applications in the broader research field of welding path planning.
... However, the equality constraints increase the burden on the MPC-T computation speed. Another option is to apply more complex and high-nonlinear Spherical Linear Interpolation-based approaches [50], [51], [19]. However, the equality constraints are still necessary conditions for trajectory optimization. ...
Preprint
Dual-arm mobile manipulators can transport and manipulate large-size objects with simple end-effectors. To interact with dynamic environments with strict safety and compliance requirements, achieving whole-body motion planning online while meeting various hard constraints for such highly redundant mobile manipulators poses a significant challenge. We tackle this challenge by presenting an efficient representation of whole-body motion trajectories within our bilevel model-based predictive control (MPC) framework. We utilize B\'ezier-curve parameterization to represent the optimized collision-free trajectories of two collaborating end-effectors in the first MPC, facilitating fast long-horizon object-oriented motion planning in SE(3) while considering approximated feasibility constraints. This approach is further applied to parameterize whole-body trajectories in the second MPC for whole-body motion generation with predictive admittance control in a relatively short horizon while satisfying whole-body hard constraints. This representation enables two MPCs with continuous properties, thereby avoiding inaccurate model-state transition and dense decision-variable settings in existing MPCs using the discretization method. It strengthens the online execution of the bilevel MPC framework in high-dimensional space and facilitates the generation of consistent commands for our hybrid position/velocity-controlled robot. The simulation comparisons and real-world experiments demonstrate the efficiency and robustness of this approach in various scenarios for static and dynamic obstacle avoidance, and compliant interaction control with the manipulated object and external disturbances.
... Since trajectory data is commonly available as timestamped discrete samples, it is accordingly interpolated to obtain position and orientation for all measurements. Here, instead of such a discrete representation, the trajectory of the sensor platform is modelled using standard Euclidean B-splines (de Boor, 1980) in R 3 for position, and rotation B-splines in SO(3) ⊆ R 3×3 for orientation (Kim et al., 1995). ...
Article
Full-text available
Kinematic laser scanning is a widely-used surveying technique based on light detection and ranging (LiDAR) that enables efficient data acquisition by mounting the laser scanner on a moving platform. In order to obtain a georeferenced point cloud, the trajectory of the moving platform must be accurately known. To this end, most commercial laser scanning systems comprise an inertial measurement unit (IMU) and a global navigation satellite system (GNSS) receiver and antenna. Trajectory estimation is then the task of determining the platform’s position and orientation by integrating measurements from the IMU, GNSS, and possibly the laser scanner itself. Here, we present a comprehensive approach to trajectory estimation for kinematic laser scanning, based on batch least-squares adjustment incorporating pre-processed GNSS positions, raw IMU data and plane-based LiDAR correspondences in a single estimation procedure. In comparison to the classic workflow of Kalman filtering followed by strip adjustment, this is a holistic approach with tight coupling of IMU and LiDAR. For the latter, we extend the data-derived stochastic model for the LiDAR plane observations with prior knowledge of the LiDAR measurement process. The proposed trajectory estimation approach is flexible and allows different system configurations as well as joint registration of multiple independent kinematic datasets. This is demonstrated using as a practical example a combined dataset consisting of two independent data acquisitions from crewed aircraft and uncrewed aerial vehicle. All measurements from both datasets are jointly adjusted in order to obtain a single high-quality point cloud, without the need for ground control. The performance of this approach is evaluated in terms of point cloud consistency, precision, and accuracy. The latter is done by comparison to terrestrially surveyed reference data on the ground. The results show improved consistency, accuracy, and precision compared to a standard workflow, with the RMSE reduced from 7.43 cm to 3.85 cm w.r.t. the reference data surfaces, and the point-to-plane standard deviation on the surfaces reduced from 3.01 cm to 2.44 cm. Although a direct comparison to the state-of-the-art can only be made with caution, we can state that the suggested method performs better in terms of point cloud consistency and precision, while at the same time achieving better absolute accuracy.
... Although this method is simple and easy to implement, it can cause significant geometric distortion. In 1995, Kim [KKS95b,KKS95a] proposed a method that transforms Bézier and Hermite curves into similar unit quaternion curves using exponential mapping [KKS96] and quaternion operations [KN95], which iteratively solves a nonlinear equation system of quaternions to obtain the position information of control points, thus better solving the interpolation problem of spherical curves. Based on this work, Tan [TXFH18] fit the corresponding derivative loss with several adjacent interpolation points, and then calculate the control points, thus constructing the curve. ...
Article
Full-text available
Due to the widespread applications of curves on n‐dimensional spheres, fitting curves on n‐dimensional spheres has received increasing attention in recent years. However, due to the non‐Euclidean nature of spheres, curve fitting methods on n‐dimensional spheres often struggle to balance fitting accuracy and curve fairness. In this paper, we propose a new fitting framework, GLS‐PIA, for parameterized point sets on n‐dimensional spheres to address the challenge. Meanwhile, we provide the proof of the method. Firstly, we propose a progressive iterative approximation method based on geodesic least squares which can directly optimize the geodesic least squares loss on the n‐sphere, improving the accuracy of the fitting. Additionally, we use an error allocation method based on contribution coefficients to ensure the fairness of the fitting curve. Secondly, we propose an adaptive knot placement method based on geodesic difference to estimate a more reasonable distribution of control points in the parameter domain, placing more control points in areas with greater detail. This enables B‐spline curves to capture more details with a limited number of control points. Experimental results demonstrate that our framework achieves outstanding performance, especially in handling imbalanced data points. (In this paper, “sphere” refers to n‐sphere (n ≥ 2) unless otherwise specified.)
Article
Owing to the inherent complementarity among LiDAR, camera, and IMU, a growing effort has been paid to laser-visual-inertial SLAM recently. The existing approaches, however, are limited in two aspects. First, at the front-end, they usually employ a discrete-time representation that requires high-precision hardware/software synchronization and are based on geometric laser features, leading to low robustness and scalability. Second, at the backend, visual loop constraints suffer from scale ambiguity and the sparseness of the point cloud deteriorates the scan-to-scan loop detection. To solve these problems, for the front-end, we propose a continuous-time laser-visual-inertial odometry which formulates the carrier trajectory in continuous time, organizes point clouds in probabilistic submaps, and jointly optimizes the loss terms of laser anchors, visual reprojections, and IMU readings, achieving accurate pose estimation even with fast motion or in unstructured scenes where it is difficult to extract meaningful geometric features. At the backend, we propose building 5-DoF laser constraints by matching projected 2D submaps and 6-DoF visual constraints via laser-aided visual relocalization, ensuring mapping consistency in large-scale scenes. Results show that our framework achieves high-precision estimation and is more robust than its counterparts when the carrier works in large scenes or with fast motion. The relevant codes and data are open-sourced at https://cslinzhang.github.io/Ct-LVI/Ct-LVI.html .
Article
Full-text available
A nonsingular formulation of the necessary conditions for optimal large-angle rotational maneuvers is presented. By optimal we mean that some integral measure of the system performance is minimized. The for-mulation is for the case of a rigid asymmetric vehicle having a control system capable of generating a continuous torque history; it is valid for an arbitrary specification of terminal orientation and angular velocity states. Analytical solutions of the two-point boundary-value problem are extracted for single-axis maneuvers, and a relaxation process is proposed for reliable numerical solutions for arbitrary boundary conditions. The validity of the necessary condition formulation is supported by analytical solutions for special cases; the relaxation process for general boundary conditions is illustrated by numerical examples.
Article
Full-text available
A non-singular formulation of the necessary conditions for optimal large angle rotational maneuvers is presented. The formulation is for the case of a rigid asymmetric vehicle having a control system capable of generating a continuous torque history; it is valid for an arbitrary specification of terminal orientation and angular velocity states. Analytical solutions of the two-point-boundary-value problem are extracted for single axis maneuvers, and a relaxation process is proposed for reliable numerical solutions for arbitrary boundary conditions. The validity of the necessary condition formulation is supported by analytical solutions for special cases; the relaxation process for general boundary conditions is illustrated by numerical examples
Article
Full-text available
New method of animating rotations is presented. Given a sequence of orientations of an object, this method accomplishes computations of intermediate positions which represent a smooth transition from one to the next. The method uses the quaternion of a rotation matrix and a new curve interpolation scheme for points on a four-dimensional sphere. The overall method leads to an animation function which produces motion with continuous acceleration. Application of this method in interactive C-program is presented.
Book
This book is based on the author's experience with calculations involving polynomial splines. It presents those parts of the theory which are especially useful in calculations and stresses the representation of splines as linear combinations of B-splines. After two chapters summarizing polynomial approximation, a rigorous discussion of elementary spline theory is given involving linear, cubic and parabolic splines. The computational handling of piecewise polynomial functions (of one variable) of arbitrary order is the subject of chapters VII and VIII, while chapters IX, X, and XI are devoted to B-splines. The distances from splines with fixed and with variable knots is discussed in chapter XII. The remaining five chapters concern specific approximation methods, interpolation, smoothing and least-squares approximation, the solution of an ordinary differential equation by collocation, curve fitting, and surface fitting. The present text version differs from the original in several respects. The book is now typeset (in plain TeX), the Fortran programs now make use of Fortran 77 features. The figures have been redrawn with the aid of Matlab, various errors have been corrected, and many more formal statements have been provided with proofs. Further, all formal statements and equations have been numbered by the same numbering system, to make it easier to find any particular item. A major change has occured in Chapters IX-XI where the B-spline theory is now developed directly from the recurrence relations without recourse to divided differences. This has brought in knot insertion as a powerful tool for providing simple proofs concerning the shape-preserving properties of the B-spline series.
Book
This monograph is the outgrowth of our recent work directed toward solving a family of problems which arise in maneuvering modern spacecraft. The work ranges from fundamental developments in analytical dynamics and optimal control to a significant collection of example applications. The primary emphasis herein is upon the most central analytical and numerical methods for determining optimal rotational maneuvers of spacecraft. We focus especially upon large angle nonlinear maneuvers. We also consider large rotational maneuvers of flexible vehicles with simultaneous vibration suppression/arrest. The rotational maneuver problem is inherently nonlinear since the general motion of a rigid body is nonlinear (owing to nonlinear kinematics and gyroscopic coupling effects). When one accounts for flexibility, multi-body effects, and actuator dynamics, it becomes immediately obvious that this family of problems embodies the dual curse of nonlinearity and high dimensionality. These two features, together with various aspects of coordinate selection, model truncation, boundary condition effects, and the physical nature of various approximations, make this a unique member of the parent family nonlinear optimal control problems. Depending upon the details of the particular vehicle's mathematical model, the admissible controls, the performance index, and boundary condition specification, we find that the degree of difficulty of optimal rotational maneuver problems ranges from near-trivial to impossible. The present developments make clear distinctions between (I) formulating the differential equations governing an optima maneuver, (ii) calculating the maneuver and (iii) actually performing the maneuver.
Article
This chapter elaborates the use of geometric constructions to interpolate orientation with quaternions. Quaternions have been established as a useful representation for interpolating 3D orientation in computer animation. In keeping with traditional computer animation practices, one would like both interpolating, and approximating splines. This can be derived easily by applying the geometric constructions known for linear splines. A scheme for deriving Bézier control points from a sequence of quaternions is presented. This provides an interpolating spline for quaternions, but the construction is somewhat more complicated than necessary. The most common interpolating spline in use probably is the Catmull-Rom spline. A geometric construction for Catmull-Rom splines is also described. This produces an interpolating spline directly from the control points, without the construction of auxiliary Bézier points. For an approximating spline, a geometric construction for B-splines is well known. Geometric constructions is represented as a triangle with the four control points at the bottom, the result point at the top, and weighting functions for the intermediate results on each arc.
Article
We consider the problem of interpolating a smooth curve to a point sequence in the unit quaternion space μ. This problem has application to object orientation interpolation in computer animation, sweep surface generation in solid modeling. Since the unit quaternions form the unit spheres S3 in E4, a simple curve scheme using spherical biarcs is presented to solve this problem. The spherical biarc is a curve on a sphere consisting of two smoothly joining circular arcs. It is shown that for any two given points and two tangents specified at the two points on the unit sphere, S3, there always exist spherical biarcs interpolating these data and these biarcs are easy to construct. This leads to an algorithm for constructing a smooth and locally controllable circular arc spline curve to interpolate a sequence of unit quaternions in μ. We also discuss how to compute in-between quaternions efficiently on the resulting spline curve.
Article
The interpolation of some positions (= point + orientation) of a moving object is examined with help of dual quaternion curves. In order to apply the powerful methods of computer-aided geometric design, an interpolating motion whose trajectories are rational Bézier curves is constructed. The interpolation problem is discussed from a mechanical and a geometrical viewpoint. A representation formula for rational motions of fixed order is presented. Finally, the construction of rational spline motions is outlined. Dual quaternions prove to be very useful in computer graphics.
Article
The paper presents a method to smoothly interpolate a given sequence of solid orientations using circular blending quaternion curves. Given three solid orientations, a circular quaternion curve is constructed that interpolates the three orientations. Therefore, given four orientations qi − 1, qi, qi + 1, qi + 2, there are two circular quaternion curves Ci and Ci + 1 which interpolate the triples of orientations (qi − 1, qi, qi + 1) and (qi, qi + 1, qi + 2), respectively; thus, both Ci and Ci + 1 interpolate the two orientations qi and qi + 1.Using a method similar to the parabolic blending of Overhauser, quaternion curve Qi(t) is generated which interpolates two orientations qi and qi + 1 while smoothly blending the two circular quaternion curves Ci(t) and Ci + 1(t) with a blending function f(t) of degree (2k − 1). The quaternion curve Qi has the same derivatives (up to order k) with Ci at qi and with Ci + 1 at qi + 1, respectively. By connecting the quaternion curve segments Qi in a connected sequence, a Ck-continuous quaternion path is generated which smoothly interpolates a given sequence of solid orientations.