Professional Documents
Culture Documents
6, DECEMBER 2015
Abstract—Path following controllers make the output of a con- is designed to asymptotically stabilize the tracking error to zero.
trol system approach and traverse a prespecified path with no a When the tracking error is nonzero, the controller may drive the
priori time-parametrization. In this paper, we present a method end-effector to “cut through” an obstacle in order to reduce the
for path following control design applicable to framed curves
generated by splines in the workspace of kinematically redun- tracking error and thereby not precisely follow the contour.
dant mechanical systems. The class of admissible paths includes On the other hand, path following or maneuvre regulation
self-intersecting curves. Kinematic redundancies are resolved by controllers, as previously defined in [1], drive a system’s output
designing controllers that solve a suitably defined constrained to a desired path and make the output traverse the path without a
quadratic optimization problem. By employing partial feedback prespecified time parametrization. Thus, a path following con-
linearization, the proposed path following controllers have a clear
physical meaning. The approach is experimentally verified on a troller stabilizes all trajectories that cause the system’s output
four-degree-of-freedom (four-DOF) manipulator with a combina- to traverse the desired path, whereas trajectory tracking con-
tion of revolute and linear actuated links and significant model trollers do this for a single trajectory. In general, path following
uncertainty. results in smoother convergence to the desired path compared
Index Terms—Path following, redundant feedback linearization, with trajectory tracking, and the control signals are less likely to
set stabilization. saturate [4]. It is also shown in [5] for the linear case, and [6] for
the nonlinear case, that for nonminimum phase systems, path
I. INTRODUCTION following controllers remove performance limitations compared
HE problem of designing feedback control laws that make with trajectory tracking controllers, which have a lower bound
T the output of a control system follow a desired curve in
its workspace can be broadly classified as either a trajectory
on the achievable L2 -norm of the tracking error.
There are several approaches for implementing path follow-
tracking or path following problem. As previously suggested in ing. Papers [1], [7], and [8] project the current system state onto
[1], trajectory tracking consists of tracking a curve with an as- the desired path in real time. Then a tracking controller is used
signed time parameterization. In other words, besides the shape to stabilize this generated reference point. Contour error mit-
of the curve, the end-effector’s motion has a desired velocity igation controllers have also been proposed in the machining
and acceleration profile. This approach may not be suitable for community in addition to a trajectory tracking controller in or-
certain applications as it may limit the attainable performance, der to drive the machine tool toward a path [9]–[11]. However,
be unnecessarily demanding or even infeasible. For example, these approaches do not guarantee that the desired path will be
the primary objective of a robotic manipulator tracing a contour invariant, i.e., if for some time the output is on the path and has
in its output space in welding [2] or cutting [3] applications is a velocity tangent to the path, then the output will remain on the
to accurately traverse a path. The trajectory tracking approach path for all future time.
parametrizes the desired motion along the path and a controller Virtual holonomic constraints can be used to guarantee invari-
ance of a path via set stabilization. This methodology is used for
Manuscript received March 21, 2015; accepted October 8, 2015. Date of pub- orbital stabilization for a Furuta pendulum [12], helicopters [13],
lication November 11, 2015; date of current version December 2, 2015. This and, in the sense of hybrid systems, for the walking/running of
paper was recommended for publication by Associate Editor V. Krovi and Editor
T. Murphey upon evaluation of the reviewer’s comments. This work was sup-
bipedal robots [14]. In addition, [15] introduces conditions for
ported by the Natural Sciences and Engineering Research Council of Canada. feedback linearization of the transverse dynamics associated
The authors are with the Department of Electrical and Computer Engineer- with periodic orbits. This inspired the work in [16] in which an
ing, University of Waterloo, Waterloo, ON N2L 3G1, Canada (e-mail: rjgill@
uwaterloo.ca; dana.kulic@uwaterloo.ca; cnielsen@uwaterloo.ca).
arbitrary nonperiodic path in the output space can be made at-
This paper has supplementary downloadable material available at http:// tractive and invariant using transverse feedback linearization for
ieeexplore.ieee.org, provided by the author. The material consists of a video, single-input systems. This idea was further extended in [17] by
viewable with Windows Media Player, demonstrating the experiments shown
in Section IV of the paper. The path is a spline-interpolation of waypoints
providing conditions for which desired motions can be achieved
in the 3-D workspace of the robot manipulator. The video contains the two while on the path, as opposed to orbital stabilization where the
experiments, each with different artificial joint limits set for the wrist joint. dynamics along the closed curve in the state space are fixed.
Parameters for the controller: Constant desired tangential velocity profile : –100
mm/s Two runs were done with different joint limit settings: First experiment
The approach in [17] simplifies controller design and decom-
starts at: 0:15. Wrist joint limit set to 0 to 45◦ . Second experiment starts at: 1:38 poses the path following design problem into two independent
Wrist joint limit set to 45 to 90◦ . The size of the video is 55.9 MB. Contact subproblems: staying on the path and moving along the path.
rjgill@uwaterloo.ca for further questions about this work.
Color versions of one or more of the figures in this paper are available online
However, in [17], perfect knowledge of the dynamic parame-
at http://ieeexplore.ieee.org. ters of the system was assumed, performance was demonstrated
Digital Object Identifier 10.1109/TRO.2015.2489502 only for a linear, decoupled system, and the path is restricted to a
1552-3098 © 2015 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications standards/publications/rights/index.html for more information.
GILL et al.: SPLINE PATH FOLLOWING FOR REDUNDANT MECHANICAL SYSTEMS 1379
special case of simple curves such as circles. One contribution of A. Class of Systems
this paper is that we enlarge the class of allowable paths, allow-
We consider a fully actuated Euler–Lagrange system with
ing self-intersecting paths and curves that are generated through an N -dimensional configuration space contained in RN and N
spline interpolation of given waypoints. This is accomplished
control inputs u ∈ RN . The model is given by
by designing a numerical algorithm and by using a systematic
approach to generate zero level set representations of the curves. d ∂L ∂L
− = A(q)u
Another contribution of this work is extending the class of sys- dt ∂ q̇ ∂q
tems of [17] to mechanical systems with kinematic redundan-
where q, q̇ ∈ RN are the configuration positions and veloci-
cies, by employing a novel redundancy resolution technique at
ties, respectively, of the system, and L(q, q̇) is the Lagrangian
the dynamic level, yielding bounded internal dynamics. Khatib
function. We assume that L is smooth and has the form
proposed a similar redundancy resolution mechanism for a spe-
L(q, q̇) = K(q, q̇) − P (q) where K(q, q̇) = (1/2)q̇ D(q)q̇ is
cific class of mechanical systems in [18], namely the torque-
the system’s kinetic energy and P : RN → R is the system’s
input model of robot manipulators. However the approach in
potential energy. The inertia matrix D(q) is positive definite for
this paper is to resolve the redundancies directly in the context
all q. Furthermore, A : RN → RN ×N , the input matrix (usually
of path following via feedback linearization, unlike in [18], and
identity), is smooth and nonsingular for all q.
is thus, applicable to general mechanical systems, which may
The system can be rewritten in the standard vector form
include a dynamic map between the system input and the output
forces. To the best of the author’s knowledge, redundancy res- D(q)q̈ + C(q, q̇)q̇ + G(q) = A(q)u (1)
olution in the context of feedback linearization is an unsolved
problem. We show that, under the assumption that the redun- where C(q, q̇) ∈ RN ×N represents the centripetal and Corio-
dant system has viscous friction on each degree of freedom, the lis terms, and G(q) = (dPq ) = ∇P (q) ∈ RN represents the
control law obtained by solving a static, constrained, quadratic gravitation effects [19]. Defining xc := q, xv := q̇, n := 2N ,
optimization problem yields bounded closed-loop internal dy- and x := (xc , xv ) ∈ RN × RN we can express (1) in state
namics. We further validate the control strategy on a nontrivial model form
redundant platform with significant modeling uncertainties us- xv 0
ing a robust controller. ẋ = f (x) + g(x)u := + u (2)
In this paper, the class of paths that can be followed are fv (x) gv (xc )
broadened, made possible by systematic approach to generating where f : Rn → Rn and g : Rn → Rn ×n are smooth,
zero level set of a function, and using a numerical algorithm gv (xc ) := D−1 (xc )A(xc ) and fv (x) :=−D−1 (xc )(C(x)xv +
in the controller. A novel approach to resolving redundancies is G(xc )).
proposed. Finally, nontrivial experimental verification including Motivated by the task space of a robotic manipulator, we take
robustification is performed. the output of system (2) to satisfy
The detailed problem statement and proposed approach are
outlined in Section II. The control design is explained in Sec- ∂h(x)
y = h(x), = 0, y ∈ Rp (3)
tion III and experimental results are shown in Section IV. ∂xv
where p is the dimension of the output space and h : Rn → Rp is
smooth. Let J(xc ) := ∂∂xhc , the output Jacobian, be nonsingular.
A. Notation We allow the system to be redundant in the following sense.
Let x, y denote the standard inner product of vectors x and Definition II.1. System (2),(3) is redundant if N > p.
y in Rn . The Euclidean norm of a vector and induced matrix
norm are both denoted by · . The notation s ◦ h : A → C B. Admissible Paths
represents the composition of maps s : B → C and h : A → B.
We assume that we are given a finite number, nspline ∈ N, of
The ith element of a vector is denoted [x]i . The symbol :=
(p + 1)-times continuously differentiable, parametrized curves
means equal by definition. Given a C 1 mapping φ : Rn → Rm
in the output space of (2)
let dφx be its Jacobian evaluated at x ∈ Rn . If f , g : Rn → Rn
are smooth vector fields we use the following standard notation σ k : R → Rp , k ∈ {1, 2, . . . , nspline } . (4)
for iterated Lie derivatives L0f φ := φ, Lkf φ := Lf (Lkf −1 φ) =
The curves need not be polynomials, but we nevertheless use
dLkf −1 φx , f (x), Lg Lf φ := Lg (Lf φ) = dLf φx , g(x).
the term spline in accordance with common practice. We are
also given nspline nonempty, closed, intervals of the real line
Ik := [λ(k ,m in) , λ(k ,m ax) ] ⊂ R. The desired path is the set
II. PROBLEM FORMULATION
We consider path following problems in the workspace
nsp lin e
Assumption 1 (smoothness of path). The curves (4) satisfy vector can be chosen to be [0 0 1] . Once the appropriate
frame is chosen, the proposed approach for coordinate transfor-
(∀k ∈ {1, 2, . . . , nspline − 1}) (∀i ∈ {0, 1, . . . , p + 1})
mation and control design (see Section III) can be applied with
di σk di σk +1 no additional modifications. •
= .
dλi λ=λ( k , m a x ) dλi λ=λ( k + 1 , m i n ) Path following control design can naturally be cast as a set
stabilization problem. This point of view was successfully taken
In the case of closed paths, the same equality must hold between in [22] and [17]. We also take this approach but, unlike previous
spline index 1 and nspline . study, we do not require that the path P be an embedded, nor
This assumption is required to ensure continuous control ef- immersed, submanifold of the output space. In other words,
fort over the entire path. In the case of spline interpolation the curve may be self-intersecting. Removing this restriction is
(fitting polynomials between desired waypoints), Assumption 1 particularly useful because it allows the curve to go through an
can be enforced by setting it as a constraint in the spline fit- arbitrary set of waypoints in the output space of system (2) and
ting formulation and using polynomials of sufficiently high de- can be constructed using classical spline fitting.
gree. Typically the parameter λ of each curve σk represents
the chord length between waypoints; namely, λ(k ,m in) = 0 and
λ(k ,m ax) = lk where lk is the Euclidean distance between the C. Problem Statement
k’th and (k + 1) waypoints [20]. The problem studied in this paper is to find a continuous feed-
Remark II.2. Assumption 1 can be relaxed if continuity of back controller for system (2), with nspline curves that satisfy
the control signal over the entire path is not required. Further- Assumptions 1 and 2, that renders the path P in (5) invariant
more, if Assumption 1 is only true for i = 0, i.e., the path is and attractive. Invariance is equivalent to saying that if for some
not continuously differentiable, the control input can still be time t = 0, the state x(0) is appropriately initialized with the
kept continuous by designing the desired tangential velocity output y = h(x(0)) on the path P, then (∀t ≥ 0) h(x(t)) ∈ P.
profile in such a way that the output slows down and stops Attractiveness is equivalent to ensuring that for initial condi-
at σk (λ(k ,m ax) ) = σk +1 (λ(k +1,m in) ), and then resumes motion tions x(0) such that the output h(x(0)) is in a neighborhood of
along curve k + 1 in finite time. See Remark III.4 • the desired path P, h(x(t)) under (2) approaches P.
We further assume that the curves (4) are framed. The motion along the path should also be controllable so
Assumption 2 (framed curves). For each spline k, the first p that a tangential position or velocity profile (η ref (t)) can be
derivatives of σk are linearly independent, i.e., tracked. Furthermore, any remaining redundant dynamics (will
show up as internal dynamics for the closed-loop system) must
(∀k ∈ {1, 2, . . . , nspline }) (∀λ ∈ Ik ) be bounded.
spanR σk (λ), σk (λ), . . . , σk (λ) = Rp .
(p)
III. MULTIPLE SPLINE PATH FOLLOWING DESIGN
Assumption 2 allows the use of Gramm–Schmidt orthogonal- We begin by defining a coordinate transformation in Section
ization to construct Frenet–Serret frames (FSFs) in the output III-A that depends on a given path segment (4) and the system
space Rp . The use of FSFs for control of mobile robots is a dynamics (2). These coordinates partition the system dynamics
well-known technique [21]. In this paper, we use Assumption 2 into a subsystem that governs the motion transversal to the de-
to generate a zero-level set representation of P in the state space sired path and a tangential subsystem that governs the motion
of (2). Previous studies [17] relied on the zero-level set represen- of the system along the path (see Section III-B). The tangen-
tation to already be available by restricting the class of paths to tial dynamics are further decomposed to reveal the redundant
1-D embedded submanifolds, which precludes self-intersecting dynamics. It will be shown that the system in transformed co-
curves. ordinates has a structure that facilities control design, namely
Remark II.3. Assumption 2 can be relaxed to only requiring the dynamics will appear linear and decoupled. One of the keys
that the curve be regular by not using FSF to construct a basis to this construction is the ability to unambiguously determine
that aligns with the curve at each point along the curve. Con- the spline that is currently closest to the system output (3). By
sider a straight line σ(λ) = [λ 0] ∈ R2 . This curve violates doing so, we are able to deal with self-intersecting curves and
Assumption 2 at all points λ. The first basis vector is taken to be curves (5) that are not embedded submanifolds. A novel re-
the unit tangent vector [1 0] (as is the case in the FSF). The dundancy resolution approach is then proposed to ensure the
normal vector cannot be constructed via FSF, since the curva- redundant dynamics remain bounded (see Section III-C). The
ture is zero. However, one can choose the normal vector to be overall block diagram can be found below in Fig. 1.
[0 1] .
Furthermore, consider a regular torsion free curve in the xy-
plane of a 3-D workspace. This curve also violates Assumption A. Coordinate Transformation
2, since σ (3) (λ) will be a linear combination of σ and σ . How- We construct a coordinate transformation T that maps the
ever, one can choose the first basis vector to again be the unit state x of system (2) to a new set of coordinates that correspond
tangent vector σσ (λ)
(λ) . The unit normal vector can be chosen to to the tangential position/velocity along the path, and the dis-
be the 90◦ rotation of the first basis vector, and the final basis tance and velocity toward/transversal to the path.
GILL et al.: SPLINE PATH FOLLOWING FOR REDUNDANT MECHANICAL SYSTEMS 1381
sk (λ) :=
next time-step, the algorithm will search Ik for its next update.
dλ
dλ. This local search implies that the algorithm will not “jump” to
λ( k , min)
Ij despite the existence of intersection points.
This integral does not have to be computed for real-time imple- The second case, the one in which there is single curve that is
mentation if only tangential velocity control is required, which not injective, is handled similarly. Suppose there exist two values
will be the case in the experiment (see Section IV). Note the λ1 , λ2 ∈ Ik ∗ , λ1 < λ2 , with σk ∗ (λ1 ) = σk ∗ (λ2 ). By continuity,
slight abuse of notation for using η1 to represent both the state it is possible to find two open intervals I1 , I2 ⊂ Ik ∗ with λ1 ∈ I1
and the map. The summation term on the right in (7) is used to get and λ2 ∈ I2 and I1 ∩ I2 = ∅. Now suppose that at the current
the arclength over the entire path P so that η1 remains continu- time-step, we have λ∗ = λ1 . At the next time-step, the algorithm
ous even as the current spline number k ∗ increments/decrements. will search I1 for its next update. This local search implies that
Note that this summation can be computed offline and accessed the algorithm will not “jump” to I2 despite the existence of an
as a look-up-table during real-time control. intersection point.
With η1 representing the projected tangential position of the In addition, when the output y is equidistant to multiple points
output y along the path, tangential velocity is computed by on the path, the algorithm will again just choose the λ∗ that is
taking the time derivative. By the chain rule closest to the previous time-step’s λ∗ , due to the local nature of
the monotonic gradient descent algorithm. •
dsk ∗ dk ∗ ∂h 3) Transversal States: The transversal states represent the
η2 = η2 k ∗ (x) := η˙1 =
dλ∗ dy ∂xc (8) cross-track error to the path using the remaining FSF (nor-
= e1 k ∗ (λ∗ ), J(xc )xv |λ∗ = ◦h(x) mal) vectors as follows. The k ∗ notation will be dropped for
brevity. The generalized FS vectors are constructed applying
(see Appendix B for complete derivation) where e1 is the unit- the Gram–Schmidt Orthonormalization process to the vectors
tangent FS vector σ (λ), σ (λ), . . . , σ (p) (λ)
∗ dσk ∗ dσk ∗ dλ∗ σk ∗ (λ∗ ) ēj (λ)
e1 k ∗ (λ ) := = = . (9) ej (λ) := (10)
dsk ∗ dλ λ=λ∗ dsk ∗ σk ∗ (λ∗ ) ēj (λ)
.
1382 IEEE TRANSACTIONS ON ROBOTICS, VOL. 31, NO. 6, DECEMBER 2015
such that for all x ∈ U , and (6) is solved by Algorithm 1, ξ2p−1 (x)] (14)
k
the 2p functions (7), (8), (11), (12) have linearly independent
differentials. is continuous as k changes by Algorithm 1.
GILL et al.: SPLINE PATH FOLLOWING FOR REDUNDANT MECHANICAL SYSTEMS 1383
η̇1 = η2
ξ˙11 = ξ21
Proof. Based on Algorithm 1, k changes when the output ξ˙2p−1 = L2f ξ1p−1 (x) + Lg Lf ξ1p−1 (x)u
of the system crosses the hyperplane shown in Fig. 3. Thus,
we must show that T̄k (x) = T̄k +1 (x) for x that correspond to ζ̇ = Lf ϕ(x) + Lg ϕ(x)u =: fζ (x, u)
the output y = h(x) on this hyperplane. This is equivalent to
showing where x = T −1 (η, ξ, ζ). The Lie derivatives can be computed
given the state maps from Section III-A4 and the class of system
(∀x ∈ {x ∈ Rn |x = (k ◦ h(x))−1 (λ(k ,m ax) )}) (2)
T̄k (x) = T̄k +1 (x). η2
L2f η1 (x) = e (λ∗ ), J(xc )xv
σ (λ∗ ) 1
First, the coordinate transformation relies on the computation of
λ∗ = k ◦ h(x), which can be easily verified to be continuous
∂(J(xc )xv )
∗
in x for a fixed k. The tangential position for a fixed k is contin- + e1 (λ ), xv + J(xc )fv (x)
∂xc
uous since sk (λ∗ ) is a function of σ (λ∗ ), which is continuous
by Assumption 1. On the hyperplane, η1 k (x) = sk (λ(k ,m ax) ) +
k −1 k Lg Lf η1 (x) = e1 (λ∗ ) J(xc )gv (xc )
i=1 si (λ(k ,m ax) ) = i=1 si (λ(k ,m ax) ) = η1 k + 1 (x) and is
still continuous at the transition.
∂(J(xc )xv )
For the remaining states, h(x), J(x) are continuous by the L2f ξ1j −1 (x) = ej (λ∗ ), xv + J(xc )fv (x)
∂xc
class of systems (2). The remaining terms are the FS vec-
tors and its derivatives. For a fixed k, the FS vectors ej k (λ∗ ) η2
∗
depends on σ (j ) (λ∗ ) for j = 1, . . . , p by (10), and thus, will + e (λ ), 2J(xc )xv − e1 η2
σ (λ∗ ) j
be continuous by Assumption 1. Furthermore, the derivative
2
of the FS vectors are governed by the FS equations for gen- η2
∗
eral spaces (A.2) , and depend only on the generalized cur- + h(x) − σ(λ ), ej (λ∗ )
e (λ),e i + 1 (λ) σ (λ∗ )
vatures Xi (λ) = i σ (λ) , i ∈ {1, . . . , p − 1}. Thus, the
highest derivative that appears again is σ (p) (λ∗ ) and so the FS Lg Lf η1 (x) ∗ ∗
2 σ (λ ), σ (λ )
vector derivatives will remain continuous for a fixed spline +ej (λ∗ ) − η
σ (λ∗ ) 2
σ (λ∗ )4
k. At the transition point, ej k (λ(k ,m ax) ) = ej k + 1 (λ(k +1,m in) )
(j ) (j )
holds if and only if σk (λ(k ,max) ) = σk +1 (λ(k +1,min) ) for j ∈ Lg Lf ξ1j −1 (x) = ej (λ∗ ) J(xc )gv (xc )
{1, . . . , p}. This is satisfied by Assumption 1. To show that
ej k (λ(k ,m ax) ) = ej k + 1 (λ(k +1,m in) ) for j ∈ {1, . . . , p}, by (A.2) Lg Lf η1 (x)
it suffices to show that the generalized curvatures are continu- + (h(x) − σ(λ∗ )) ej (λ∗ )
σ (λ∗ )
ous at the transition, i.e., Xi k (λ(k ,m ax) ) = Xi k + 1 (λ(k +1,m in) )
for i ∈ {1, . . . , p − 1}. By definition of the curvatures, this for j ∈ {2, . . . , p} and λ∗ = ◦ h(x). Physically, see their def-
then simplifies to showing ej k (λ(k ,m ax) ) = ej k + 1 (λ(k +1,min) ) initions in Section III-A, the η-subsystem represents the dy-
for j ∈ {1, . . . , p − 1}. These derivatives can be expressed by namics tangent to the path, and the ξ-subsystem represents the
evaluating the derivative of (10), and so the equation will hold dynamics transversal to the path. Thus, the redundant dynamics
(j ) (j )
if σk (λ(k ,max) ) = σk +1 (λ(k +1,min) ) for j ∈ {1, . . . , p}. Again fζ represent the dynamics of the system (2) that do not produce
by Assumption 1 this holds. any output motion.
1384 IEEE TRANSACTIONS ON ROBOTICS, VOL. 31, NO. 6, DECEMBER 2015
It then follows from Lemma III.2 that the decoupling matrix Unlike kinematic redundancy resolution techniques [19], we
⎡ ⎤ seek a scheme at the dynamic level that can incorporate actuator
Lg Lf η1 (x)
constraints while ensuring the internal dynamics of the system
⎢ ⎥
⎢ Lg Lf ξ11 (x) ⎥ are bounded. The approach should also work when the joint-
⎢ ⎥
β(x) := ⎢ .. ⎥= space and task-space dynamics are not necessarily related by
⎢ ⎥
⎣ . ⎦ a static input conversion map (as is the case for torque-input
Lg Lf ξ1p−1 (x) model of a robot manipulator [18]). Such systems include a
⎡ ⎤ combined motor and manipulator model (see Section IV, where
e1 (λ∗ ) a dynamic relation exists between motor input voltage and end-
⎢ ⎥ effector force), or mobile manipulator systems.
⎢ (h(x) − σ(λ∗ )) ∗ ⎥
⎢ ∗ ∗ ⎥
e2 (λ )e1 (λ ) + e2 (λ ) ⎥ Suppose the ξ-subsystem is stabilized and the η-subsystem is
⎢ σ (λ∗ )
⎢ ⎥ tracking a desired profile η ref (t) by some outer loop controller
⎢ .. ⎥J(xc )gv (xc )
⎢ . ⎥ for v. The zero dynamics correspond to the redundant dynam-
⎢ ⎥
⎢ ⎥ ics ζ̇ = fζ (x, u) under the transform (17) x = T −1 (η ref (t), 0, ζ)
⎣ (h(x) − σ(λ )) ∗ ⎦
∗ ∗ ∗ and vη = η̇2ref (t), vξ = 0. In order to ensure a well-behaved re-
∗
ep (λ )e1 (λ ) + ep (λ )
σ (λ ) sponse, we must ensure boundedness of the zero dynamics.
has full rank for all x ∈ U . This is equivalent to saying that for With v generated by some outer loop controller, there is some
each x ∈ U , system (2) with output (η1 (x), ξ11 (x), . . . , ξ1p−1 (x)) freedom in the choice of the control input u under the feedback
has a vector relative degree of {2, . . . , 2} and we can perform transform (17) (recall v ∈ Rp , u ∈ RN =n /2 and n > 2p); this
partial feedback linearization. Let freedom can be used to enforce boundedness of the zero dy-
namics. Since the relation from u to the states is dynamic, one
α(x) := L2f η1 (x) L2f ξ11 (x) . . . L2f ξ1p−1 (x) (16) can use dynamic programming to achieve some desired (and
bounded) trajectory in the zero dynamics. However, this in gen-
and introduce an auxiliary input v = vη vξ ∈ R × Rp−1 eral is quite complicated. This is why previous studies on path
such that following have relied on the zero dynamics being absent or as-
v = β(x)u + α(x) (17) sumed to be stable. To make things simple, consider the static
optimization
the dynamics (15) become
min (u − r(x)) W (u − r(x)) (18)
ζ̇ = fζ (x, u) η̇1 = η2 ξ˙1j = ξ2j u
p = 3 – y1 and y2 are the end-effector positions projected on the ζ̇2 = [fv (x) + gv (x)u]i
ground plane, and y3 is the end-effector’s height off the ground. i=2
The input to the system is the motor voltages. Since N > p, the where x = Tk−1 ∗
∗ (η, ξ, ζ), k is chosen by Algorithm 1, and ζ̇
CPM system is redundant. represent the redundant dynamics for path following.
Setting v = βk ∗ (x)u + αk ∗ (x) as previously defined in (17),
B. Path Generation the following partially linearised system is obtained:
Waypoints in the 3-D workspace were specified a-priori, and
a standard spline-fitting process using polynomials [20] was η˙1 = η2 ξ˙11 = ξ21 ξ˙12 = ξ22
used to fit splines through these way points while ensuring η˙2 = vη ξ˙21 = vξ 1 ξ˙22 = vξ 2
fourth-derivative continuity. Thus, quintic polynomial splines
are required to fit the waypoints. ζ̇ = f¯ζ (x, v)
A total of 15 way points are specified. The way points were
placed to create self-intersections in the path to show the robust- where x = Tk−1 ¯
∗ (η, ξ, ζ) and fζ represents the redundant dynam-
ness of Algorithm 1. Mathematically, our path is regular, and ics based on our choice of control input u. The desired task is
C 4 satisfies Assumptions 1 and 2, and is given as the following to track a constant tangential velocity profile (i.e., to track some
after spline interpolation η2ref ) while staying on the path (force ξ to go to zero). Design-
ing a controller for v is a linear control design problem; the one
σ k : Ik → R 3 , k = 1, 2, . . . , 14 found in [22] is used as it was shown to be robust to the modeling
⎡ 5 ⎤ inaccuracies. The tangential controller is a PI controller
a λ i
⎢ i=0 i ⎥ vη (η, t) = KP η2ref − η2 (t) +
⎢ ⎥
⎢ 5 ⎥
⎢
λ → ⎢ i ⎥
bi λ ⎥ t
⎢ i=0 ⎥ ref (21)
⎣ 5 ⎦ KI η2 − η2 (τ ) dτ.
ci λ i
0
i=0
where Ik = [0, lk ], and lk is the chord length from the way point For the transversal controller, let ξ = ξ11 , ξ21 , ξ12 , ξ22 , vξ =
k to k + 1. (vξ 1 , vξ 2 ). Then
!
K1 ξ/ξ : ξ ≥ μ > 0
C. Control Design vξ = (K + K0 ) ξ + (22)
K2 ξξ : ξ < μ.
The first step in the control design is to define the coordinate
transformation. The k ∗ and λ∗ are determined by Algorithm where K, K0 , K1 , K2 ∈ R3×3 , μ ∈ R are constants that depend
1. The initial guess for Algorithm 1 is determined a-priori by on a robustness criteria and are used as tuning parameters [22],
solving the optimization globally using brute force and given [24].
1388 IEEE TRANSACTIONS ON ROBOTICS, VOL. 31, NO. 6, DECEMBER 2015
Fig. 14. At the start of the run, the true λ∗ is known. As the output y moves,
at each subsequent time-step a numerical optimizer is likely to find the global
minimum of y − σ k ∗ (λ) if initialized at the previous time-step’s λ∗ , since
the global minimum will be near.
[16] C. Nielsen and M. Maggiore, “Output stabilization and maneuver reg- Rajan J. Gill received the B.A.Sc. degree in mecha-
ulation: A geometric approach,” Syst. Control Lett., vol. 55, no. 5, tronics engineering and the M.A.Sc. degree in electri-
pp. 418–427, 2006. cal & computer engineering, from the University of
[17] A. Hladio, C. Nielsen, and D. Wang, “Path following for a class of me- Waterloo, Waterloo, ON, Canada, in 2012 and 2015,
chanical systems,” IEEE Trans. Control Syst. Technol., vol. 21, no. 6, respectively. He is currently a Ph.D. candidate at the
pp. 2380–2390, Nov. 2013. Swiss Federal Institute of Technology in Zurich (ETH
[18] O. Khatib, “A unified approach for motion and force control of robot Zurich) in the area of design and control of under ac-
manipulators: The operational space formulation,” IEEE J. Robot. Autom., tuated flying vehicles.
vol. 3, no. 1, pp. 43–53, Feb. 1987.
[19] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and
Control. Hoboken, NJ, USA: Wiley, 2006.
[20] K. Erkorkmaz and Y. Altintas, “High speed {CNC} system design. part i:
Jerk limited trajectory generation and quintic spline interpolation,” Int. J. Dana Kulić received the combined B.A.Sc. and
Mach. Tools Manuf., vol. 41, no. 9, pp. 1323–1345, 2001. M.Eng. degrees in electromechanical engineering,
[21] C. C. de Wit, B. Siciliano, and B. Bastin, Theory of Robot Control, 3rd ed. and the Ph.D. degree in mechanical engineering from
New York, NY, USA: Springer, 1997. the University of British Columbia, Vancouver, BC,
[22] R. Gill, D. Kulic, and C. Nielsen, “Robust path following for robot Canada, in 1998 and 2005, respectively. From 2006
manipulators,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2013, to 2009, she was a JSPS Postdoctoral Fellow and a
pp. 3412–3418. Project Assistant Professor at the Nakamura Labo-
[23] A. Isidori, Nonlinear Control Systems II, vol. 2. New York, NY, USA: ratory at the University of Tokyo. She is currently
Springer-Verlag, 1999. an Associate Professor at the Electrical and Com-
[24] E. Farzad and H. Khalil, “Output feedback stabilization of fully lin- puter Engineering Department at the University of
earizable systems,” Int. J. Control, vol. 56, no. 5, pp. 1007–1037, Waterloo, Waterloo, ON, Canada. Her research in-
1992. terests include human motion analysis, robot learning, humanoid robots, and
[25] J.-F. Bonnans, J. C. Gilbert, C. Lemaréchal, and C. A. Sagastizábal, Nu- human.machine interaction.
merical Optimization: Theoretical and Practical Aspects. New York, NY,
USA: Springer, 2006.
[26] M. Toussaint. (2012). Some notes on gradient descent. Machine Christopher Nielsen received the B.A.Sc. degree in
Learning & Robotics Lab, FU Berlin, Germany. [Online]. Available: electrical engineering from the University of Water-
http://ipvs.informatik.uni-stuttgart.de/mlr/marc/notes/gradientDescent. loo, Waterloo, ON, Canada, in 2002, and the M.A.Sc.
pdf and Ph.D. degrees from the University of Toronto,
[27] L. Consolini, M. Maggiore, C. Nielsen, and M. Tosques, “Path follow- Toronto, ON, Canada, in 2004 and 2008, respectively.
ing for the pvtol aircraft,” Automatica, vol. 46, no. 8, pp. 1284–1296, In 2008 he joined the Department of Electrical and
2010. Computer Engineering at the University of Water-
[28] M. A. Akivis and B. A. Rosenfeld, Elie Cartan (1869–1951), vol. 123. loo where he is currently an Associate Professor. His
Providence, RI, USA: Amer. Math. Soc.,2011. current research interests include geometric control
theory, motion control, and output feedback.