8.3 Vector Fields and Integral Curves

To consider feedback motion plans over continuous state spaces, including con- figuration spaces, we will need to define a vector field and the trajectory that is obtained by integrating the vector field from an initial point. A vector field is ideal for characterizing a feedback plan over a continuous state space. It can be viewed as providing the continuous-space analog to the feedback plans on grids, as shown in Figure 8.2b.

This section presents two alternative presentations of the background mathe- matical concepts. Section 8.3.1 assumes that X = Rn, which leads to definitions that appear very similar to those you may have learned in basic calculus and dif-

ferential equations courses. Section 8.3.2 covers the more general case of vector fields on manifolds. This requires significantly more technical concepts and builds on the manifold definitions of Section 4.1.2.

Some readers may have already had some background in differentiable man- ifolds. If, however, you are seeing it for the first time, then it may be difficult to comprehend on the first reading. In addition to rereading, here are two other suggestions. First, try studying background material on this subject, which is suggested at the end of the chapter. Second, disregard the manifold technicalities

in the subsequent sections and pretend that X = = Rn. Nearly everything will make sense without the additional technicalities. Imagine that a manifold is de-

C

fined as a cube, [0, 1]n, with some sides identified, as in Section 4.1.2. The concepts that were presented for Rn can be applied everywhere except at the boundary of the cube. For example, if S1 is defined as [0, 1]/ , and a function f is defined on S1, how can we define the derivative at f(0)? The technical definitions of Section

8.3.2 fix this problem. Sometimes, the technicalities can be avoided in practice by

cleverly handling the identification points.

      1. Vector Fields on Rn

This section revisits some basic concepts from introductory courses such as calcu- lus, linear algebra, and differential equations. You may have learned most of these for R2 and R3. We eventually want to describe velocities in Rn and on manifolds,

and then use the notion of a vector field to express a feedback plan in Section 8.4.1.

Vector spaces Before defining a vector field, it is helpful to be precise about what is meant by a vector. A vector space (or linear space) is defined as a set, V , that is closed under two algebraic operations called vector addition and scalar multiplication and satisfies several axioms, which will be given shortly. The vector

space used in this section is Rn, in which the scalars are real numbers, and a vector is represented as a sequence of n real numbers. Scalar multiplication multiplies

each component of the vector by the scalar value. Vector addition forms a new vector by adding each component of two vectors.

A vector space V can be defined over any field F (recall the definition from Section 4.4.1). The field F represents the scalars, and V represents the vectors. The concepts presented below generalize the familiar case of the vector space Rn. In this case, V = Rn and F = R. In the definitions that follow, you may make these substitutions, if desired. We will not develop vector spaces that are more general than this; the definitions are nevertheless given in terms of V and F to clearly separate scalars from vectors. The vector addition is denoted by +, and the

scalar multiplication is denoted by . These operations must satisfy the following axioms (a good exercise is to verify these for the case of Rn treated as a vector space over the field R):

·

        1. (Commutative Group Under Vector Addition) The set V is a com- mutative group with respect to vector addition, +.
        2. (Associativity of Scalar Multiplication) For any v V and any α, β

∈ ∈

F, α(βv) = (αβ)v.

        1. (Distributivity of Scalar Sums) For any v V and any α, β F, (α +

∈ ∈

β)v = αv + βv.

        1. (Distributivity of Vector Sums) For any v, w V and any α F,

∈ ∈

α(v + w) = αv + αw.

        1. (Scalar Multiplication Identity) For any v ∈ V , 1v = v for the multi- plicative identity 1 ∈ F.

The first axiom allows vectors to be added in any order. The rest of the axioms require that the scalar multiplication interacts with vectors in the way that we would expect from the familiar vector space Rn over R.

A basis of a vector space V is defined as a set, v1,. . .,vn, of vectors for which every v ∈ V can be uniquely written as a linear combination:

v = α1v1 + α2v2 + · · · + αn_v_n, (8.7)

for some α1, . . . , αn F. This means that every vector has a unique representation as a linear combination of basis elements. In the case of R3, a familiar basis is

[0 0 1], [0 1 0], and [1 0 0]. All vectors can be expressed as a linear combination of these three. Remember that a basis is not necessarily unique. From linear algebra, recall that any three linearly independent vectors can be used as a basis for R3. In general, the basis must only include linearly independent vectors. Even though a basis is not necessarily unique, the number of vectors in a basis is the same for any possible basis over the same vector space. This number, n, is called the dimension of the vector space. Thus, we can call Rn an n-dimensional vector

space over R.

Example 8.4 (The Vector Space Rn Over R) As indicated already, Rn can be considered as a vector space. A natural basis is the set of n vectors in which, for each i 1, . . . , n , a unit vector is constructed as follows. Let xi = 1 and

∈ { }

xj = 0 for all j = i. Since there are n basis vectors, Rn is an n-dimensional vector space. The basis is not unique. Any set of n linearly independent vectors may be

/

×

used, which is familiar from linear algebra, in which nonsingular n n matrices are used to transform between them. .

To illustrate the power of these general vector space definitions, consider the following example.

Example 8.5 (A Vector Space of Functions) The set of all continuous, real- valued functions f : [0, 1] → R, for which

r 1

f(x)dx (8.8)

0

f(x)dx (8.8)

0

is finite, forms a vector space over R. It is straightforward to verify that the vector space axioms are satisfied. For example, if two functions f1 and f2 are added, the integral remains finite. Furthermore, f1 + f2 = f2 + f1, and all of the group axioms are satisfied with respect to addition. Any function f that satisfies (8.8) can be multiplied by a scalar in R, and the integral remains finite. The axioms that involve scalar multiplication can also be verified.

It turns out that this vector space is infinite-dimensional. One way to see this is to restrict the functions to the set of all those for which the Taylor series exists and converges to the function (these are called analytic functions). Each function can be expressed via a Taylor series as a polynomial that may have an infinite number of terms. The set of all monomials, x, x2, x3, and so on, represents a basis. Every continuous function can be considered as an infinite vector of coefficients; each coefficient is multiplied by one of the monomials to produce the function. This provides a simple example of a function space; with some additional definitions, this leads to a Hilbert space, which is crucial in functional analysis, a subject that

characterizes spaces of functions [836, 838]. .

The remainder of this chapter considers only finite-dimensional vector spaces over R. It is important, however, to keep in mind the basic properties of vector spaces that have been provided.

Vector fields A vector field looks like a “needle diagram” over Rn, as depicted in Figure 8.5. The idea is to specify a direction at each point p Rn. When used to represent a feedback plan, it indicates the direction that the robot needs to

move if it finds itself at p.

For every p Rn, associate an n-dimensional vector space called the tangent space at p, which is denoted as Tp(Rn). Why not just call it a vector space at p? The use of the word “tangent” here might seem odd; it is motivated by the

generalization to manifolds, for which the tangent spaces will be “tangent” to points on the manifold.

A vector field4 V- on Rn is a function that assigns a vector v ∈ Tp(Rn) to

every p Rn. What is the range of this function? The vector V- (p) at each p Rn

∈ ∈

actually belongs to a different tangent space. The range of the function is therefore

the union

I

T (Rn) = Tp(Rn), (8.9)

p∈Rn

which is called the tangent bundle on Rn. Even though the way we describe vectors from Tp(Rn) may appear the same for any p Rn, each tangent space is assumed to produce distinct vectors. To maintain distinctness, a point in the tangent bundle

can be expressed with 2n coordinates, by specifying p and v together. This will become important for defining phase space concepts in Part IV. In the present

setting, it is sufficient to think of the range of V- as Rn because Tp(Rn) = Rn for every p ∈ Rn.

A vector field can therefore be expressed using n real-valued functions on Rn. Let fi(x1, . . . , xn) for i from 1 to n denote such functions. Using these, a vector field is specified as

f(x) = [f1(x1, . . . , xn) f2(x1, . . . , xn) · · · fn(x1, . . . , xn)]. (8.10)

In this case, it appears that a vector field is a function f from Rn into Rn. There- fore, standard function notation will be used from this point onward to denote a vector field.

Now consider some examples of vector fields over R2. Let a point in R2 be represented as p = (x, y). In standard vector calculus, a vector field is often specified as [f1(x, y) f2(x, y)], in which f1 and f2 are functions on R2

Example 8.6 (Constant Vector Field) Figure 8.5a shows a constant vector field, which assigns the vector [1 2] to every (x, y) ∈ R2. .

4Unfortunately, the term field appears in two unrelated places: in the definition of a vector space and in the term vector field. Keep in mind that this is an accidental collision of terms.

2 2

1

_x_2 0

x_2

–1

1

_x_2 0

x_2

–1

–2

–2 –1 0 1 2

_x_1

x_1

–2

–2 –1 0 1 2

_x_1

x_1

          1. (b)

Figure 8.5: (a) A constant vector field, f(x, y) = [1 1]. (b) A vector field,

f(x, y) = [−x − y] in which all vectors point to the origin.

Example 8.7 (Inward Flow) Figure 8.5b depicts a vector field that assigns [ x y] to every (x, y) R2. This causes all vectors to point to the ori-

− − ∈

gin. .

Example 8.8 (Swirl) The vector field in Figure 8.6 assigns [(y − x) (−x − y)] to every (x, y) ∈ R2. .

Due to obstacles that arise in planning problems, it will be convenient to some- times restrict the domain of a vector field to an open subset of Rn. Thus, for any

open subset O ⊂ Rn, a vector field f : O → Rn can be defined.

Smoothness A function fi from a subset of Rn into R is called a smooth function if derivatives of any order can be taken with respect to any variables, at any point in the domain of fi. A vector field is said to be smooth if every one of its n defining functions, f1, . . ., fn, is smooth. An alternative name for a smooth function is a

C∞ function. The superscript represents the order of differentiation that can be

taken. For a Ck function, its derivatives can be taken at least up to order k. A C0 function is an alternative name for a continuous function. The notion of a homeomorphism can be extended to a diffeomorphism, which is a homeomorphism that is a smooth function. Two topological spaces are called diffeomorphic if there exists a diffeomorphism between them.

2

1

_x_2 0

x_2

–1

–2

–2 –1 0 1 2

_x_1

x_1

Figure 8.6: A swirling vector field, f(x, y) = [(y − x) (−x − y)].

Vector fields as velocity fields We now give a particular interpretation to vector fields. A vector field expressed using (8.10) can be used to define a set of first-order differential equations as

dx1 = f (x , . . . , x )

dt 1 1 n

dx2 = f (x , . . . , x )

dt 2 1 n

...

(8.11)

dxn dt

= fn

(x1, . . . , xn).

Each equation represents the derivative of one coordinate with respect to time. For any point x ∈ Rn, a velocity vector is defined as

dx dx1

_

=

dt

dt

dx2

dt

dxn

· · · . (8.12)

dt

This enables f to be interpreted as a velocity field.

It is customary to use the short notation x˙ = dx/dt. Each velocity component can be shortened to x˙ i = dxi/dt. Using f to denote the vector of functions f1, . . ., fn, (8.11) can be shorted to

x˙ = f(x). (8.13)

The use of f here is an intentional coincidence with the use of f for the state transition equation. In Part IV, we will allow vector fields to be parameterized by actions. This leads to a continuous-time state transition equation that looks like

x˙ = f(x, u) and is very similar to the transition equations defined over discrete

stages in Chapter 2.

The differential equations expressed in (8.11) are often referred to as au- tonomous or stationary because f does not depend on time. A time-varying vector

field could alternatively be defined, which yields x˙ covered, however, in this chapter.

= f(x(t), t). This will not be

An integral curve If a vector field f is given, then a velocity vector is defined at each point using (8.10). Imagine a point that starts at some x0 Rn at time t = 0 and then moves according to the velocities expressed in f. Where should it travel? Its trajectory starting from x0 can be expressed as a function τ : [0, ) Rn, in which the domain is a time interval, [0, ). A trajectory represents an integral

∞ →

curve (or solution trajectory) of the differential equations with initial condition

τ (0) = x0 if

(t) = f(τ (t)) (8.14)

dt

for every time t ∈ [0, ∞). This is sometimes expressed in integral form as

r t

τ (t) = x0 +

f(τ (s))ds (8.15)

0

τ (t) = x0 +

f(τ (s))ds (8.15)

0

and is called a solution to the differential equations in the sense of Caratheodory. Intuitively, the integral curve starts at x0 and flows along the directions indicated by the velocity vectors. This can be considered as the continuous-space analog of following the arrows in the discrete case, as depicted in Figure 8.2b.

Example 8.9 (Integral Curve for a Constant Velocity Field) The simplest case is a constant vector field. Suppose that a constant field x1 = 1 and x2 = 2

is defined on R2. The integral curve from (0, 0) is τ (t) = (t, 2t). It can be easily seen that (8.14) holds for all t ≥ 0. .

Example 8.10 (Integral Curve for a Linear Velocity Field) Consider a ve- locity field on R2. Let x˙ 1 = 2x1 and x˙ 2 = x2. The function τ (t) = (e−2t, e−t) represents the integral curve from (1, 1). At t = 0, τ (0) = (1, 1), which is the initial state. If can be verified that for all t > 0, (8.14) holds. This is a simple example of a linear velocity field. In general, if each fi is a linear function of the coordinate variables x1, . . ., xn, then a linear velocity field is obtained. The integral curve is generally found by determining the eigenvalues of the matrix A when the velocity

− −

field is expressed as x˙ = Ax. See [192] for numerous examples. .

A basic result from differential equations is that a unique integral curve exists to

x˙ = f(x) if f is smooth. An alternative condition is that a unique solution exists

if f satisfies a Lipschitz condition. This means that there exists some constant

c ∈ (0, ∞) such that

If(x) − f(x′)I ≤ cIx − x′I (8.16)

for all x, x′ X, and denotes the Euclidean norm (vector magnitude). The constant c is often called a Lipschitz constant. Note that if f satisfies the Lipschitz condition, then it is continuous. Also, if all partial derivatives of f over all of X can be bounded by a constant, then f is Lipschitz. The expression in (8.16) is preferred, however, because it is more general (it does not even imply that f is differentiable everywhere).

∈ I · I

Piecewise-smooth vector fields It will be important to allow vector fields that are smooth only over a finite number of patches. At a switching boundary between two patches, a discontinuous jump may occur. For example, suppose that

an (n − 1)-dimensional switching boundary, S ⊂ Rn, is defined as

S = {x ∈ R | s(x) = 0}, (8.17)

n

in which s is a function s : Rn → R. If Rn has dimension n and s is not singular, then S has dimension n − 1. Define

S+ = {x ∈ R | s(x) > 0} (8.18)

n

and

S− = {x ∈ R | s(x) < 0}. (8.19)

The definitions are similar to the construction of implicit models using geometric primitives in Section 3.1.2. Suppose that f(x) is smooth over S+ and S− but experiences a discontinuous jump at S. Such differential equations model hybrid systems in control theory [137, 409, 634]. The task there is to design a hybrid control system. Can we still determine a solution trajectory in this case? Un- der special conditions, we can obtain what is called a solution to the differential equations in the sense of Filipov [338, 846].

n

Let B(x, δ) denote an open ball of radius δ centered at x. Let f(B(x, δ)) denote the set

f(B(x, δ)) = {x′ ∈ X | ∃x′′ ∈ B(x, δ) for which x′ = f(x′′)}. (8.20)

Let X0 denote any subset of Rn that has measure zero (i.e., µ(X0) = 0). Let hull(A) denote the convex hull of a set, A, of points in Rn. A path τ : [0, tf ] → Rn is called a solution in the sense of Filipov if for almost all t ∈ [0, tf ],

(t) ∈ n (n hull(f(B(τ (t), δ) \ X ))_ , (8.21)

_δ>_0

_X_0

_δ>_0

_X_0

dt

0

in which the intersections are taken over all possible δ > 0 and sets, X0, of measure zero. The expression (8.21) is actually called a differential inclusion [53] because

Consistent Flow Inward Flow

Outward flow Tangent flow

Figure 8.7: Different kinds of flows around a switching boundary.

a set of choices is possible for x˙ . The “for almost all” requirement means that the condition can even fail to hold on a set of measure zero in [0, tf ]. Intuitively, it says that almost all of the velocity vectors produced by τ must point “between” the velocity vectors given by f in the vicinity of τ (x(t)). The “between” part comes from using the convex hull. Filipov’s sense of solution is an incredible generalization of the solution concept in the sense of Caratheodory. In that case, every velocity vector produced by τ must agree with f(x(t)), as given in (8.14). The condition in (8.21) allows all sorts of sloppiness to appear in the solution, even permitting f to be discontinuous.

Many bizarre vector fields can yield solutions in the sense of Filipov. The switching boundary model is relatively simple among those permitted by Filipov’s condition. Figure 8.7 shows various cases that can occur at the switching boundary

S. For the case of consistent flow, solutions occur as you may intuitively expect. Filipov’s condition, (8.21), requires that at S the velocity vector of τ points be- tween vectors before and after crossing S (for example, it can point down, which is the average of the two directions). The magnitude must also be between the two magnitudes. For the inward flow case, the integral curve moves along S, assuming the vectors inside of S point in the same direction (within the convex hull) as the vectors on either side of the boundary. In applications that involve physical systems, this may lead to oscillations around S. This can be alleviated by regu- larization, which thickens the boundary [846] (the subject of sliding-mode control addresses this issue [303]). The outward flow case can lead to nonuniqueness if

the initial state lies in S. However, trajectories that start outside of S will not cross S, and there will be no such troubles. If the flow is tangent on both sides of a boundary, then other forms of nonuniqueness may occur. The tangent-flow case will be avoided in this chapter.

      1. Smooth Manifolds

The manifold definition given in Section 4.1.2 is often called a topological manifold. A manifold defined in this way does not necessarily have enough axioms to ensure that calculus operations, such as differentiation and integration, can be performed. We would like to talk about velocities on the configuration space or in general for

C

a continuous state space X. As seen in Chapter 4, the configuration space could be a manifold such as RP3. Therefore, we need to define some more qualities that a manifold should possess to enable calculus. This leads to the notion of a smooth manifold.

Figure 8.8: Intuitively, the tangent space is a linear approximation to the manifold in a neighborhood around p.

Assume that M is a topological manifold, as defined in Section 4.1.2. For example, M could represent SO(3), the set of all rotation matrices for R3. A simpler example that will be helpful to keep in mind is M = S2, which is a sphere in R3. We want to extend the concepts of Section 8.3.1 from Rn to manifolds. One of the first definitions will be the tangent space Tp(M) at a point p M. As you might imagine intuitively, the tangent vectors are tangent to a surface,

as shown in Figure 8.8. These will indicate possible velocities with which we can move along the manifold from p. This is more difficult to define for a manifold

than for Rn because it is easy to express any point in Rn using n coordinates, and all local coordinate frames for the tangent spaces at every p Rn are perfectly aligned with each other. For a manifold such as S2, we must define tangent spaces in a way that is not sensitive to coordinates and handles the fact that the tangent plane rotates as we move around on S2.

First think carefully about what it means to assign coordinates to a manifold. Suppose M has dimension n and is embedded in Rm. For M = SO(3), n = 3 and m = 9. For M = S2, n = 2 and m = 3. The number of coordinates should be n, the dimension of M; however, manifolds embedded in Rm are often expressed as a subset of Rm for which some equality constraints must be obeyed. We would like to express some part of M in terms of coordinates in Rn.

Coordinates and parameterizations For any open set U M and function φ : U Rn such that φ is a homeomorphism onto a subset of Rn, the pair (U, φ) is called a coordinate neighborhood (or chart in some literature). The values φ(p)

for some p ∈ U are called the coordinates of p.

Example 8.11 (Coordinate Neighborhoods on S1) A simple example can be obtained for the circle M = S1. Suppose M is expressed as the unit circle embed- ded in R2 (the set of solutions to x2 + y2 = 1). Let (x, y) denote a point in R2. Let U be the subset of S1 for which x > 0. A coordinate function φ : U ( π/2, π/2), can be defined as φ(x, y) = tan−1(y/x).

→ −

Let W = φ(U) (the range of φ) for some coordinate neighborhood (U, φ). Since

U and W are homeomorphic via φ, the inverse function φ−1 can also be defined.

It turns out that the inverse is the familiar idea of a parameterization. Continuing Example 8.11, φ−1 yields the mapping θ 1→ (cos θ, sin θ), which is the familiar parameterization of the circle but restricted to θ ∈ (−π/2, π/2). .

To make differentiation work at a point p M, it will be important to have a coordinate neighborhood defined over an open subset of M that contains p. This is mainly because defining derivatives of a function at a point requires that an open set exists around the point. If the coordinates appear to have no boundary, then this will be possible. It is unfortunately not possible to cover all of M with a single

coordinate neighborhood, unless M = Rn (or M is at least homeomorphic to Rn). We must therefore define multiple neighborhoods for which the domains cover all of

  1. Since every domain is an open set, some of these domains must overlap. What happens in this case? We may have two or more alternative coordinates for the same point. Moving from one set of coordinates to another is the familiar operation used in calculus called a change of coordinates. This will now be formalized.

Suppose that (U, φ) and (V, ψ) are coordinate neighborhoods on some manifold M, and U ∩ V /= ∅. Figure 8.9 indicates how to change coordinates from φ to ψ. This change of coordinates is expressed using function composition as ψ ◦ φ−1 : Rn → Rn (φ−1 maps from Rn into M, and ψ maps from a subset of M to Rn).

Example 8.12 (Change of Coordinates) Consider changing from Euler an- gles to quaternions for M = SO(3). Since SO(3) is a 3D manifold, n = 3. This means that any coordinate neighborhood must map a point in SO(3) to a point in R3. We can construct a coordinate function φ : SO(3) R3 by computing Euler angles from a given rotation matrix. The functions are actually defined in (3.47),

Figure 8.9: An illustration of a change of coordinates.

(3.48), and (3.49). To make this a coordinate neighborhood, an open subset U of

M must be specified.

We can construct another coordinate function ψ : SO(3) R3 by using quater- nions. This may appear to be a problem because quaternions have four compo- nents; however, the fourth component can be determined from the other three. Using (4.24) to (4.26), the a, b, and c coordinates can be determined.

Now suppose that we would like to change from Euler angles to quaternions in the overlap region U V , in which V is an open set on which the coordinate neighborhood for quaternions is defined. The task is to construct a change of coor- dinates, ψ φ−1. We first have to invert φ over U. This means that we instead need a parameterization of M in terms of Euler angles. This is given by (3.42), which yields a rotation matrix, φ−1(α, β, γ) SO(3) for α, β, and γ. Once this matrix is determined, then ψ can be applied to it to determine the quaternion parameters, a, b, and c. This means that we have constructed three real-valued functions, f1, f2, and f3, which yield a = f1(α, β, γ), b = f2(α, β, γ), and c = f3(α, β, γ).

Together, these define ψ ◦ φ−1. .

There are several reasons for performing coordinate changes in various contexts. Example 8.12 is motivated by a change that frequently occurs in motion planning. Imagine, for example, that a graphics package displays objects using quaternions, but a collision-detection algorithm uses Euler angles. It may be necessary in such cases to frequently change coordinates. From studies of calculus, you may recall changing coordinates to simplify an integral. In the definition of a smooth manifold, another motivation arises. Since coordinate neighborhoods are based on homeomorphisms of open sets, several may be required just to cover all of M. For example, even if we decide to use quaternions for SO(3), several coordinate neighborhoods that map to quaternions may be needed. On the intersections of their domains, a change of coordinates is necessary.

Now we are ready to define a smooth manifold. Changes of coordinates will appear in the manifold definition, and they must satisfy a smoothness condition.

A smooth structure5 on a (topological) manifold M is a family6 = Uα, φα of coordinate neighborhoods such that:

U { }

    1. The union of all Uα contains M. Thus, it is possible to obtain coordinates in Rn for any point in M.
    2. For any (U, φ) and (V, ψ) in , if U V = , then the changes of coordi- nates, ψ φ−1 and φ ψ−1, are smooth functions on U V . The changes of coordinates must produce diffeomorphisms on the intersections. In this case, the coordinate neighborhoods are called compatible.

◦ ◦ ∩

U ∩ / ∅

    1. The family U is maximal in the sense that if some (U, φ) is compatible with every coordinate neighborhood in U, then (U, φ) must be included in U.

A well-known theorem (see [133], p. 54) states that if a set of compatible neigh- borhoods covers all of M, then a unique smooth structure exists that contains them.7 This means that a differential structure can often be specified by a small number of neighborhoods, and the remaining ones are implied.

A manifold, as defined in Section 4.1.2, together with a smooth structure is called a smooth manifold.8

Example 8.13 (Rn as a Smooth Manifold) We should expect that the con- cepts presented so far apply to Rn, which is the most straightforward family of manifolds. A single coordinate neighborhood Rn Rn can be used, which is the identity map. For all integers n 1, 2, 3 and n > 4, this is the only possible smooth structure on Rn. It is truly amazing that for R4, there are uncountably many incompatible smooth structures, called exotic R4 [291]. There is no need to

∈ { }

worry, however; just use the one given by the identity map for R4. .

Example 8.14 (Sn as a Smooth Manifold) One way to define Sn as a smooth manifold uses 2(n+1) coordinate neighborhoods and results in simple expressions. Let Sn be defined as

Sn = {(x1, . . . , xn+1) ∈ Rn+1| x2 + · · · + x2 = 1}. (8.22)

1

n+1

The domain of each coordinate neighborhood is defined as follows. For each i from 1 to n + 1, there are two neighborhoods:

U+ = {(x1, . . . , xn+1) ∈ Rn+1| xi > 0} (8.23)

i

5Alternative names are differentiable structure and Cstructure.

6In literature in which the coordinate neighborhoods are called charts, this family is called an atlas.

7This is under the assumption that M is Hausdorff and has a countable basis of open sets,

which applies to the manifolds considered here.

8Alternative names are differentiable manifold and Cmanifold.

and

U− = {(x1, . . . , xn+1) ∈ Rn+1| xi < 0}. (8.24)

Each neighborhood is an open set that covers half of Sn but misses the great circle at xi = 0. The coordinate functions can be defined by projection down to the

i

(n − 1)-dimensional hyperplane that contains the great circle. For each i,

φ+(x1, . . . , xn+1) = (x1, . . . , xi−1, xi+1, . . . , xn) (8.25)

i

over U+. Each φ− is defined the same way, but over U−. Each coordinate function

i i i

is a homeomorphism from an open subset of Sn to an open subset of Rn, as

required. On the subsets in which the neighborhoods overlap, the changes of

coordinate functions are smooth. For example, consider changing from φ+ to φ−

i j

for some i /= j. The change of coordinates is a function φ− ◦ (φ+)−1. The inverse

of φ+ is expressed as

i

(φ+)−1(x1, . . . , xi−1, xi+1, . . . , xn) =

i

j i

(8.26)

(x1, . . . , xi−1, 1 − /1 − x2 − · · · − x2 − x2 − · · · − x2 , xi+1, . . . , xn+1).

1

i−1

i+1

n

When composed with φ−j , the jth coordinate is dropped. This yields

φ− ◦ (φ+)−1(x1, . . . , xi−1, xi+1, . . . , xn) =

k i

(x1, . . . , xi−1, 1 − /1 − x2 − · · · − x2 − x2 − · · · − x2 ,

(8.27)

1

xi+1, . . . , xj−1, xj+1, . . . , xn),

i−1

i+1 n

which is a smooth function over the domain U+. Try visualizing the changes of

i

coordinates for the circle S1 and sphere S2.

The smooth structure can alternatively be defined using only two coordinate neighborhoods by using stereographic projection. For S2, one coordinate function

maps almost every point x ∈ S2 to R2 by drawing a ray from the north pole to

x and mapping to the point in the x3 = 0 plane that is crossed by the ray. The

only excluded point is the north pole itself. A similar mapping can be constructed from the south pole. .

Example 8.15 (RPn as a Smooth Manifold) This example is particularly im- portant because RP3 is the same manifold as SO(3), as established in Section 4.2.2. Recall from Section 4.1.2 that RPn is defined as the set of all lines in Rn+1 that pass through the origin. This means that for any α R such that α = 0, and any x Rn+1, both x and αx are identified. In projective space, scale does not matter.

∈ /

A smooth structure can be specified by only n + 1 coordinate neighborhoods.

For each i from 1 to n + 1, let

φi(x1, . . . , xn+1) = (x1/xi, . . . , xi−1/xi, xi+1/xi, . . . , xn/xi), (8.28)

over the open set of all points in Rn+1 for which xi = 0. The inverse coordinate function is given by

/

φ−1(z1, . . . , zn) = (z1, . . . , zi−1, 1, zi, . . . , zn+1). (8.29)

i

It is not hard to verify that these simple transformations are smooth on overlapping neighborhoods.

A smooth structure over SO(3) can be derived as a special case because SO(3) is topologically equivalent to RP3. Suppose elements of SO(3) are expressed using unit quaternions. Each (a, b, c, d) is considered as a point on S3. There are four coordinate neighborhoods. For example, one of them is

φb(a, b, c, d) = (a/b, c/b, d/b), (8.30)

which is defined over the subset of R4 for which b = 0. The inverse of φb(a, b, c, d) needs to be defined so that a point on SO(3) maps to a point in R4 that has unit

/

magnitude. .

Tangent spaces on manifolds Now consider defining tangent spaces on man- ifolds. Intuitively, the tangent space Tp(M) at a point p on an n-dimensional

manifold M is an n-dimensional hyperplane in Rm that best approximates M

around p, when the hyperplane origin is translated to p. This is depicted in Figure

    1. The notion of a tangent was actually used in Section 7.4.1 to describe local motions for motion planning of closed kinematic chains (see Figure 7.22).

To define a tangent space on a manifold, we first consider a more complicated definition of the tangent space at a point in Rn, in comparison to what was given

in Section 8.3.1. Suppose that M = R2, and consider taking directional derivatives of a smooth function f : R2 → R at a point p ∈ R2. For some (unnormalized) direction vector, v ∈ R2, the directional derivative of f at p can be defined as

v (f)IIIp

II

= v1

∂f

∂x1 Ip

  • v2

∂f II . (8.31)

The directional derivative used here does not normalize the direction vector (con- trary to basic calculus). Hence, v (f) = (f) v, in which “ ” denotes the inner product or dot product, and (f) denotes the gradient of f. The set of all possible direction vectors that can be used in this construction forms a two-dimensional vector space that happens to be the tangent space Tp(R2), as defined previously. This can be generalized to n dimensions to obtain

∂x2 Ip

∇ ∇ · ·

v (f)IIIp

n

-

= vi

i=1

∂f II , (8.32)

for which all possible direction vectors represent the tangent space Tp(Rn). The set of all directions can be interpreted for our purposes as the set of possible velocity vectors.

∂xi Ip

Now consider taking (unnormalized) directional derivatives of a smooth func- tion, f : M → R, on a manifold. For an n-dimensional manifold, the tangent space

Tp(M) at a point p M can be considered once again as the set of all unnormal- ized directions. These directions must intuitively be tangent to the manifold, as depicted in Figure 8.8. There exists a clever way to define them without even referring to specific coordinate neighborhoods. This leads to a definition of Tp(M) that is intrinsic to the manifold.

At this point, you may accept that Tp(M) is an n-dimensional vector space that is affixed to M at p and oriented as shown in Figure 8.8. For the sake of completeness, however, a technical definition of Tp(M) from differential geometry will be given; more details appear in [133, 872]. The construction is based on characterizing the set of all possible directional derivative operators. Let C∞(p) denote the set of all smooth functions that have domains that include p. Now make the following identification. Any two functions f, g C∞(p) are defined to be equivalent if there exists an open set U M such that for any p U, f(p) = g(p). There is no need to distinguish equivalent functions because their derivatives must be the same at p. Let C˜∞(p) denote C∞ under this identification.

⊂ ∈

A directional derivative operator at p can be considered as a function that maps from C˜∞(p) to R for some direction. In the case of Rn, the operator appears as v for each direction v. Think about the set of all directional derivative operators that can be made. Each one must assign a real value to every function in C˜∞(p),

and it must obey two axioms from calculus regarding directional derivatives. Let v denote a directional derivative operator at some p M (be careful, however, because here v is not explicitly represented since there are no coordinates). The

∇ ∈

directional derivative operator must satisfy two axioms:

      1. Linearity: For any α, β ∈ R and f, g ∈ C˜∞(p),

v (αf + βg) = α∇v f + β∇v g. (8.33)

      1. Leibniz Rule (or Derivation): For any f, g ∈ C˜∞(p),

v (fg) = ∇v f g(p) + f(p)∇v g. (8.34)

You may recall these axioms from standard vector calculus as properties of the directional derivative. It can be shown that the set of all possible operators that satisfy these axioms forms an n-dimensional vector space [133]. This vector space is called the tangent space, Tp(M), at p. This completes the definition of the tangent space without referring to coordinates.

It is helpful, however, to have an explicit way to express vectors in Tp(M). A

basis for the tangent space can be obtained by using coordinate neighborhoods. An important theorem from differential geometry states that if F : M → N is a diffeomorphism onto an open set U ⊂ N, then the tangent space, Tp(M), is

isomorphic to TF (p)(N). This means that by using a parameterization (the inverse of a coordinate neighborhood), there is a bijection between velocity vectors in

Tp(M) and velocity vectors in TF (p)(N). Small perturbations in the parameters cause motions in the tangent directions on the manifold N. Imagine, for example, making a small perturbation to three quaternion parameters that are used to represent SO(3). If the perturbation is small enough, motions that are tangent to SO(3) occur. In other words, the perturbed matrices will lie very close to SO(3) (they will not lie in SO(3) because SO(3) is defined by nonlinear constraints on R9, as discussed in Section 4.1.2).

Example 8.16 (The Tangent Space for S2) The discussion can be made more concrete by developing the tangent space for S2, which is embedded in R3 as the set of all points (x, y, z) R3 for which x2 + y2 + z2 = 1. A coordinate neighborhood can be defined that covers most of S2 by using standard spherical coordinates. Let f denote the coordinate function, which maps from (x, y, z) to angles (θ, φ). The

domain of f is the open set defined by θ (0, 2π) and φ (0, π) (this excludes the poles). The standard formulas are θ = atan2(y, x) and φ = cos−1 z. The inverse, f−1, yields a parameterization, which is x = cos θ sin φ, y = sin θ sin φ, and z = cos φ.

∈ ∈

Now consider different ways to express the tangent space at some point p S2, other than the poles (a change of coordinates is needed to cover these). Using the coordinates (θ, φ), velocities can be defined as vectors in R2. We can imagine

moving in the plane defined by θ and φ, provided that the limits θ ∈ (0, 2π) and

φ ∈ (0, π) are respected.

We can also use the parameterization to derive basis vectors for the tangent space as vectors in R3. Since the tangent space has only two dimensions, we must obtain a plane that is “tangent” to the sphere at p. These can be found by taking derivatives. Let f−1 be denoted as x(θ, φ), y(θ, φ), and z(θ, φ). Two basis vectors

for the tangent plane at p are

dx(θ, φ) dθ

_

dy(θ, φ) dθ

dz(θ, φ) (8.35)

and

dx(θ, φ) dφ

_

dy(θ, φ) dφ

dz(θ, φ) . (8.36)

Computing these derivatives and normalizing yields the vectors [ sin θ cos θ 0] and [cos θ cos φ sin θ cos φ sin φ]. These can be imagined as the result of making small perturbations of θ and φ at p. The vector space obtained by taking all linear combinations of these vectors is the tangent space at R2. Note that the direction

of the basis vectors depends on p ∈ S2, as expected.

The tangent vectors can now be imagined as lying in a plane that is tangent

to the surface, as shown in Figure 8.8. The normal vector to a surface specified as g(x, y, z) = 0 is g, which yields [x y z] after normalizing. This could alternatively be obtained by taking the cross product of the two vectors above and using the parameterization f−1 to express it in terms of x, y, and z. For a point

p = (x0, y0, z0), the plane equation is

x0(x − x0) + y0(y − y0) + z0(z − z0) = 0. (8.37)

Vector fields and velocity fields on manifolds The notation for a tangent space on a manifold looks the same as for Rn. This enables the vector field defini- tion and notation to extend naturally from Rn to smooth manifolds. A vector field on a manifold M assigns a vector in Tp(M) for every p M. It can once again be imagined as a needle diagram, but now the needle diagram is spread over the manifold, rather than lying in Rn.

The velocity field interpretation of a vector field can also be extended to smooth

manifolds. This means that x˙ = f(x) now defines a set of n differential equations over M and is usually expressed using a coordinate neighborhood of the smooth

structure. If f is a smooth vector field, then a solution trajectory, τ : [0, ∞) → M,

can be defined from any x0 M. Solution trajectories in the sense of Filipov can also be defined, for the case of piecewise-smooth vector fields.

results matching ""

    No results matching ""