René Schott
email: schott@loria.fr

G Stacey Staples
email: sstaple@siue.edu

Operator calculus and invertible Clifford Appell systems: theory and application to the n-particle fermion algebra

Motivated by evolution equations on Clifford algebras and illustrated with the n-particle fermion algebra, a theory of invertible leftand right-Appell systems is developed for Clifford algebras of an arbitrary quadratic form. This work extends and clarifies the authors' earlier work on Clifford Appell systems, operator calculus, and operator homology/cohomology. A direct connection is also shown between blade factorization algorithms and the construction of Appell systems in these algebras.

Introduction

Over the years, Clifford algebras have proven advantageous for a broad range of applications in physics and engineering. More recently, their utility in implementing quantum algorithms has been shown [START_REF] Aerts | Cartoon computation: Quantum-like algorithms without quantum mechanics[END_REF], [START_REF] Magulski | Geometric-algebra quantum-like algorithms: Simon's algorithm[END_REF]. Some familiar examples of Clifford algebras include the algebra of quaternions and the n-particle fermion creator/annihilator algebra.

Appell systems can be interpreted as polynomial solutions of generalized heat equations. In probability theory, they are also used to obtain non-central limit theorems. Their analogues have been defined on Lie groups [START_REF] Feinsilver | Appell systems on Lie groups[END_REF], the Schrödinger algebra [START_REF] Feinsilver | Representations of the Schrödinger algebra and Appell systems[END_REF], and quantum groups [START_REF] Feinsilver | Duality and multiplicative processes on quantum groups[END_REF]. Clifford Appell systems are natural objects of interest for constructing solutions of Clifford evolution equations.

The current authors first defined general Appell systems within a Clifford algebra of arbitrary signature in [START_REF] Schott | Operator calculus and Appell systems on Clifford algebras[END_REF]. The operator calculus (OC) appearing in that preliminary work was subsequently used

Appell systems

Following the formalism of Feinsilver, Kocik, and Schott [START_REF] Feinsilver | Representations of the Schrödinger algebra and Appell systems[END_REF], the space of polynomials with degree not exceeding n can be considered as the space of solutions, Z n , to the equation D n+1 ψ = 0, where D is the differentiation operator. In this context, an Appell system is a sequence of nonzero polynomials satisfying two conditions: i. ψ n ∈ Z n , ∀n ≥ 0, and ii. Dψ n = ψ n-1 , ∀n ≥ 1.

A simple example of an Appell system is to define ψ n = x n /n! with D = d/dx. Other examples of Appell systems include shifted moment sequences

ψ n (x) = ∞ -∞ (x + y) n p(dy) (2.1)
where p is a probability measure on R with all moments finite. This includes the Hermite polynomials,

H n (x) = 1 √ 2πt ∞ -∞
(x + y) n e -y 2 /2t dy, t > 0, (2.2) for the Gaussian case. These polynomials are the solutions of the heat equation

∂ t f (x, t) = 1 2 ∂ 2 x f (x, t)
with lim t→0 f (x, t) = x n . More generally, for any operator A, one sets

Z n = {ψ : A n+1 ψ = 0}
for n ≥ 0, and defines an A-Appell system as a sequence of nonzero functions {ψ 0 , ψ 1 , . . . , ψ n , . . .} satisfying i. ψ n ∈ Z n , ∀n ≥ 0, and ii. Aψ n = ψ n-1 , for n ≥ 1.

The system of embeddings Z 0 ⊂ Z 1 ⊂ Z 2 ⊂ • • • is referred to as a canonical A-Appell system decomposition.

Clifford algebras

For convenience, the following notation is recalled for the commutator and anti-commutator of algebraic elements, respectively:

[x, y] := xyyx [x, y] + := xy + yx.

Let n ∈ N, and let p, q be nonnegative integers such that p + q = n. Let V be a real inner product space with orthonormal basis {e i : 1 ≤ i ≤ n}. The Clifford algebra of signature (p, q), denoted Cℓ p,q , is defined as the real associative algebra generated by the vectors {e i }, along with the unit scalar 1 subject to the following multiplication rules:

[e i , e j ] + =      2 if 1 ≤ i = j ≤ p, -2 if p + 1 ≤ i = j ≤ n, 0 if i = j.
(2.3) Denote the n-set {1, . . . , n} by [n], and denote the associated power set by 2 [n] . Adopting multi-index notation, the ordered product of generators is denoted

i∈I e i = e I , (2.4)
for any subset I ⊆ [n], also denoted I ∈ 2 [n] . These products of generators are referred to as basis blades for the algebra. The grade of a basis blade is defined to be the cardinality of its multi-index. An arbitrary element u ∈ Cℓ p,q has a canonical basis blade decomposition of the form

u = I⊆[n] u I e I , (2.5)
where u I ∈ R for each multi-index I. The grade-k part of u ∈ Cℓ p,q is then naturally defined by

u k := |I|=k u I e I . (2.6)
It finally becomes evident that Cℓ p,q has a canonical vector space decomposition of the form

Cℓ p,q = n k=0 Cℓ p,q k . (2.7)
An arbitrary element u ∈ Cℓ(Q) is said to be homogeneous of grade k if u k = 0, and

u ℓ = 0, ∀ℓ = k.
As the degree of a polynomial refers to the maximal exponent appearing in terms of the polynomial, an arbitrary multivector u ∈ Cℓ(Q) is said to be heterogeneous of grade k if u k = 0, and

u ℓ = 0, ℓ > k.
Recall the ordering symbol θ i j defined by

θ i j = 1 if i < j 0 otherwise,
and let elements of multi-indices be expressed as

I = {I 1 , . . . , I |I| }. The multi-index product signature map ϑ : 2 [n] × 2 [n] → {±1} is defined by ϑ(I, J) = exp   ıπ   |{I ∩ J ∩ (p, n]}| + |J| k=1 |I| ℓ=1 θ j k i ℓ     .
The product of basis blades in Cℓ p,q is now correctly given by

e I e J = ϑ(I, J)e I△J , (2.8)
where △ represents the set symmetric difference operator, i.e., I△J := (I ∪ J) \ (I ∩ J). The principal motivation for discussing Appell systems in the context of Clifford algebras is obtaining solutions to Clifford evolution equations. The evolution equations detailed herein describe discrete Clifford-valued processes taking the form of sequences (u k ) k>0 . The meaning of ∂ t is thus understood by

∂ t u(k) = ∆u = u k+1 -u k .
(2.9)

One straightforward example is

∂ t u = Λu, (2.10)
where u = u(t) ∈ Cℓ(Q) and Λ is an operator acting as generalized differentiation, or combinatorial lowering. Similarly, one can have an equation of the form

∂ t u = Ξu, (2.11)
where Ξ is a generalized integral, or combinatorial raising. Considering discrete processes of sums of raising and lowering operators gives

∂ t u = (Λ + Ξ)u, (2.12)
which can be regarded as a random walk on a directed hypercube [START_REF] Schott | Random walks in Clifford algebras of arbitrary signature as walks on directed hypercubes[END_REF].

It will be shown in a subsequent section that all solutions of the Clifford heat equation

∂ t u = Λ 2 u (2.13) are constant.
Before constructing Appell systems in Clifford algebras, an operator calculus for Clifford algebras must be discussed. Within the context of this calculus, the construction of Appell systems will be natural.

Operator calculus in Clifford algebras

The motivation for development of Clifford operator calculus is based on polynomial operator calculus. To begin, raising and lowering operators are defined naturally in terms of polynomial differentiation and integration operators on Clifford multivectors regarded as polynomials in anticommuting variables.

In this formulation, the generators {e i } of Cℓ p,q are fixed a priori, and are regarded both as vectors in the Clifford algebra sense and as anti-commuting variables in the polynomial sense. In this context, the Clifford algebra Cℓ p,q is naturally regarded as an algebra of "Clifford polynomials" as well as Clifford multivectors.

After an initial discussion based on the notion of Clifford polynomials, the construction is subsequently generalized to Clifford algebras associated with arbitrary, non-degenerate quadratic forms. In this construction, no such generating set need be fixed, as a basis-free definition of the Clifford algebra over V is given in terms of a non-degenerate quadratic form Q. The notation for this more generally constructed algebra is Cℓ(Q). In this setting, the combinatorially and algebraically defined raising and lowering operators are more naturally envisioned in terms of the exterior product and left-contraction operators.

Analogous to polynomial differentiation and integration, the following operators are defined in the Clifford algebra context.

de j = e j , (3.3)
de i de j = e i de j =      e j e i if i = j 1 if 1 ≤ i = j ≤ p -1 if p + 1 ≤ i = j ≤ p + q (3.4)
so that e I de j = ϑ({j}, I)e I∪{j} if j / ∈ I ϑ({j}, I)e I\{j} if j ∈ I.

(3.5)

These polynomial operators induce combinatorial raising and lowering operators by which Clifford monomials (blades) are "raised" from grade k to grade k + 1 or "lowered" from grade k to grade k -1. These raising and lowering operators can also be regarded as fermion creation and annihilation operators in the sense of quantum mechanics. (3.7)

Remark 3.4. Note that one can similarly define right raising and lowering operators. Indeed, these are the operators appearing in the authors' preliminary work [START_REF] Schott | Operator calculus and Appell systems on Clifford algebras[END_REF]. The formulation involving left lowering and raising was considered in the authors' subsequent work [START_REF] Schott | Operator homology and cohomology in Clifford algebras[END_REF]. For the remainder of the current work, all lowering and raising operators are regarded from the left unless specified otherwise.

Example 3.5. In the Clifford algebra Cℓ 2,2 the raising and lowering operators act in the following manner:

D 1 e {1,2,3} = e {2,3}
R 2 e {1,3} = -e {1,2,3} .

The Clifford algebra Cℓ p,q admits a number of involution automorphisms, including reversion. The reversion of an element u is denoted by ũ and is defined by

ũ := n k=0 (-1) k(k-1)/2 u k . (3.8)
The action of this automorphism is seen by reversing the order of vectors appearing in basis blades of u.

Reversion is useful in expressing the Euclidean inner product, defined on Cℓ p,q , by u, v := ũv 0 = I∈2 [n] u I v I .

(3.9)

Another inner product induced by the quadratic form associated with Cℓ p,q will also be useful in the discussion of Clifford operator calculus. Letting Q denote the following quadratic form on the vector space V spanned by the generators of Cℓ p,q :

Q(x) = x 1 2 + • • • + x p 2 -x p+1 2 -• • • -x n 2 , (3.10)
the algebra Cℓ p,q is also denoted by Cℓ(Q). More generally, Q will be considered any non-degenerate quadratic form on the vector space V .

Associate with Q the symmetric bilinear form

x, y Q = 1 2 [Q(x + y) -Q(x) -Q(y)] , (3.11)
and extend to simple k-vectors in k V by

x 1 ∧ x 2 ∧ • • • ∧ x k , y 1 ∧ y 2 ∧ • • • ∧ y k Q = det x i , y j Q . (3.12)
This inner product extends linearly to all of k V and by orthogonality to V .

The Q-inner product and exterior product extend to Cℓ(Q) via the canonical vector space isomorphism. The left contraction operator is defined by (cf. [START_REF] Lounesto | Clifford Algebras and Spinors[END_REF]Chapter 14])

x y = x, y Q ∀x, y ∈ V ; (3.13) x (u ∧ v) = (x u) ∧ v + û ∧ (x v), ∀u, v ∈ V, x ∈ V ; (3.14) (u ∧ v) w = u (v w), ∀u, v, w ∈ V. (3.15)
In particular, left and right contraction are dual to the exterior product and satisfy the following:

u v, w Q = v, ũ ∧ w Q , (3.16) u v, w Q = u, w ∧ ṽ Q . (3.17)
Of particular importance, the exterior product and left contraction act as combinatorial raising and lowering operators in Cℓ p,q : It is now instructive to define the lowering operators in terms of contractions. In particular, the j th left lowering operator in Cℓ p,q is given by The raising and lowering operators have a number of interesting properties, including those recalled here. The interested reader is referred to the authors' earlier work for detailed proof and additional properties [START_REF] Schott | Operator homology and cohomology in Clifford algebras[END_REF].

D j e I = ∂
The Kronecker delta function appearing below is defined by

δ jk = 1 if j = k, 0 otherwise. (3.22)
Lemma 3.7. Fix nonnegative integers p, q and let n = p + q. In Cℓ p,q the operators {D j : 1 ≤ j ≤ n} and {R j : 1 ≤ j ≤ n} satisfy the following:

[R j , D k ] + = δ jk e j 2 , and (3.23)
[R j , R k ] + = [D j , D k ] + = 0. (3.24)
4 Weighted raising and lowering operators

Given a vector x = n i=1
x i e i in Cℓ p,q , the corresponding linear combination of lowering operators has a natural interpretation as a left contraction. In particular, for any u ∈ Cℓ p,q ,

∂ ∂x u = n i=1 x i D i u = n i=1
x i e i u = x u. (4.1)

It also makes sense to define the composition of lowering (differential) operators as multivector left contraction operators. In particular, for canonical grade-k basis blade e J and arbitrary basis blade e I ,

∂ ∂e J1 • • • ∂ ∂e J k e I = e J1 (• • • (e J k e I )) := e J e I . (4.2)
As a consequence,

e J e I := ϑ(J, I)e I\J if J ⊆ I, 0 otherwise. (4.3)
This multivector contraction operator extends linearly to all of Cℓ p,q . This contraction operator is correctly regarded as a k th order lowering operator D J e I = ϑ(J, I)e I\J ∈ Cℓ p,q |I|-|J| . (4.4)

One defines multivector right contraction operators in similar fashion.

Due to associativity, the exterior product already has a natural generalization; i.e.,

e I ∧ e J = e I1 ∧ • • • ∧ e I |I| ∧ e J1 ∧ • • • ∧ e J |J| . (4.5)
Consequently,

e I ∧ e J = ϑ(I, J) e I∪J if I ∩ J = ∅, 0 otherwise. (4.6)
Note that the general blade product e I e J has the operator calculus formulation

e I e J = ∂ ∂e I1 + R I1 • • • • • ∂ ∂e I |I| + R I |I| e J . (4.7)
Observe that the linear combination of raising operators in Cℓ p,q also has a natural interpretation as a weighted raising operator of the form

udx =   n j=1 x j R j   u = n j=1 x j e j ∧ u = x ∧ u, (4.8)
and is correctly regarded as a linear operator mapping grade k elements to grade k + 1 elements for k = 0, . . . , n -1. Property (3.23) of Lemma 3.7 gives the Clifford vector analog of the number operator. The following lemma is obtained as an immediate corollary.

A more general analog to the number operator of quantum mechanics is the signed grade operator defined on blades by

Γ(u 1 ∧ • • • ∧ u k ) = k ℓ=1 u ℓ u ℓ u 1 ∧ • • • ∧ u k .
(4.9)

Lemma 4.1. In Cℓ p,q , the operator sum Proof. The result follows from Lemma 3.7 by noting that R j D j e I = 0 if j / ∈ I.

Since the choice of basis {e i : 1 ≤ i ≤ n} for the vector space of generators for Cℓ p,q is arbitrary, it is convenient to pass to the basisfree definition of the Clifford algebra with quadratic form Q. With this general framework in mind, the weighted lowering operator is now formally defined. For reasons that will become apparent later, vectors x used to define the weighted raising and lowering operators are required to be non-null, i.e., it is required that x 2 = 0. Definition 4.2. Let x be a non-null vector in Cℓ(Q) and define the weighted lowering operator Λ x on Cℓ(Q) by

Λ x u = ∂ ∂x u = x u (4.12)
for any u ∈ Cℓ(Q).

The weighted (left) lowering operator Λ x is correctly regarded as an operator taking elements of grade k to elements of grade k -1 for k = 1, . . . , n. Definition 4.3. Let x be a non-null vector in Cℓ(Q) and define the corresponding weighted raising operator Ξ x on Cℓ(Q) by

Ξ x u = u dx = x ∧ u (4.13)
for any u ∈ Cℓ(Q).

The role of raising and lowering operators in the Clifford (geometric) product is made explicit by considering the left regular representation of multiplication by a vector x. Specifically, this is the operator sum (Ξ x ⊕ Λ x ), as seen by

xu = (Ξ x ⊕ Λ x )u (4.14) for u ∈ Cℓ(Q).
The relationship between the weighted raising and lowering operators is made clear by the next lemma. Lemma 4.4. For fixed non-null vector x in Cℓ(Q), the operators Ξ x and Λ x are dual to each other with respect to the inner product

•, • Q ; i.e., Λ x u, w Q = u, Ξ x w Q for all u, w ∈ Cℓ(Q).
Proof. The result follows immediately from (3.16) and the definitions of weighted lowering and raising operators. Lemma 4.5. For any non-null vector x ∈ Cℓ(Q), the corresponding weighted lowering and raising operators are nilpotent of index 2. That is,

Λ x 2 := Λ x • Λ x = 0, (4.15)
Ξ x 2 := Ξ x • Ξ x = 0. (4.16)
Proof. The result follows from Lemma 3.7 by linearity of lowering and raising operators D j and R j .

An immediate consequence is that solutions of the Clifford heat equation must be constant. Lemma 4.6. For fixed non-null vector x in Cℓ(Q) and Clifford-valued u := u(t), the Clifford heat equation

∂ t u = Λ x 2 u (4.17)
has only solutions of the form u(t) = c for some constant c.

Proof. Index-2 nilpotency of Λ x implies ∂ t u = 0.

Clifford Appell systems

Motivated by polynomial Appell systems, one intuitively expects to define a Clifford Appell system as a pair Ψ = ({ψ k : 1 ≤ k ≤ n}, D), where {ψ k } is a collection of Clifford multivectors and D is a lowering operator defined on Cℓ(Q) such that i. ψ k is a grade-k Clifford multivector for each k, and ii.

Dψ k = ψ k-1 .
A problem with this definition is seen immediately. Assuming ψ k = 0, the index-2 nilpotency of lowering operators seen in Lemma 4.5 gives ψ ℓ = 0 for 0 ≤ ℓ ≤ k -2 for any fixed lowering operator D. In order to define Clifford Appell systems with more than two Clifford multivectors, one must construct a sequence of lowering operators.

Analysis of Clifford Appell systems will be simplified by considering homogeneous Clifford Appell systems defined below. General Clifford Appell systems can then be constructed as sums of homogeneous systems.

Definition 5.1. A homogeneous (left) Clifford Appell system is a pair Ψ = ({ψ k }, {Λ x k }), where {ψ k } ⊂ Cℓ(Q), and {Λ x k } is a collection of weighted (left) lowering operators associated with a sequence of nonnull Clifford vectors (x k ) such that i. for each k, either ψ k = 0 or ψ k is homogeneous of grade k, and ii. Λ x k ψ k = ψ k-1 for each k.

One similarly defines a homogeneous right Clifford Appell system in terms of weighted right lowering operators.

Definition 5.2. The order of Ψ is defined as the maximum grade among the elements of {ψ k }. The system Ψ is said to be of rank r if {ψ k } contains r + 1 nonzero elements . This definition of rank follows naturally from Appell systems of polynomials of a single variable, since a polynomial's degree is always one greater than its number of nonzero derivatives. Remark 5.3. In Cℓ n,0 , which is canonically isomorphic to the n-particle fermionic Fock space, the lowering operator maps monomials representing k-particle systems to monomials representing (k -1)-particle systems. In other words, the lowering operator acts as an annihilation operator. Remark 5.4. Fixing nonzero ψ n and x k = x ∈ V for each k results in a rank-1 homogeneous Clifford Appell system by the index-2 nilpotent property of lowering operators . Lemma 5.5. Let X = {x k : 1 ≤ k ≤ m} be a collection of vectors in the n-dimensional vector space V . Then, the exterior product

x 1 ∧ • • • ∧ x m is nonzero in Cℓ(Q) if and only if X is linearly independent.
Proof. When the set X is linearly independent, the exterior product represents an oriented m-dimensional volume element, or pseudoscalar, in the subspace of V spanned by X.

On the other hand, if X is not linearly independent, let 1 ≤ ℓ ≤ m and suppose x ℓ = 1≤k,ℓ,≤m k =ℓ α k x k for scalars {α k }. Then, relabeling vectors in the set complement {x 1 , . . . , x m } \ x ℓ = {y 1 , . . . , y m-1 }, one finds (with sign changes as appropriate)

x 1 ∧ • • • ∧ x m = ±x ℓ ∧ y 1 ∧ • • • ∧ y m-1 = ±   m-1 j=1 α j y j   ∧ y 1 ∧ • • • ∧ y m-1 = ±y 2 ∧ • • • ∧ (y 1 ∧ y 1 ) + m-1 j=2 ±y 1 ∧ • • • ∧ (y j ∧ y j ) . (5.1)
Whence, index-2 nilpotency of the wedge product (i.e., raising operators) makes all terms zero.

Writing the vectors {x k } with respect to the orthonormal basis {e i : 1 ≤ i ≤ n} for V , the exterior product can be expressed in the following way: the coefficient of the m-vector e I for I = {I 1 , . . . , I m } ⊆ [n] in the canonical expansion of the wedge product is given by the determinant of the submatrix

det I    x 1 . . . x m    = det     x 1,I1 x 1,I2 . . . x 1,Im x 2,I1 x 2,I2 . . . x 2,Im • • • • • • • • • • • • x m,I1 x m,I2 . . . x m,Im     . (5.2)
This determinant is the scalar coefficient of the pseudoscalar in the projection of x 1 ∧ • • • ∧ x m onto the m-dimensional subspace of V spanned by {e I1 , . . . , e Im }. It follows that all such projections are zero if and only if X is linearly dependent. Remark 5.6. In terms of the Clifford (geometric) product, the element

x 1 • • • x m is an m-blade in Cℓ(Q) if and only if the set {x 1 , . . . , x m } is orthogonal with respect to the Q-inner product.
To ensure ψ k = 0 for all 1 ≤ k ≤ n, appropriate conditions on the sequence (x k ) are addressed in the next proposition. Note that in any homogeneous Clifford Appell system associated with an n-dimensional vector space V , ψ n is associated with a scalar multiple of the pseudoscalar

ψ n = α e [n] . Lemma 5.7. Let {B i : 1 ≤ i ≤ M ≤ n
k } be a collection of distinct k-blades in Cℓ(Q), and let x be a non-null Clifford vector. Then, x ( a i B i ) = 0 if and only if x (a i B i ) = 0 for each i.

Proof. One direction of the proof is obvious. On the other hand, suppose that for some subset S of indices, terms {x (a i B i ) : i ∈ S} are nonzero. Rewrite i∈S a i B i in terms of a new orthonormal basis of the form X = {x, f 1 , . . . , f n-1 } obtained from the canonical basis by Gram-Schmidt orthogonalization with respect to •, • Q . Letting I i denote the subset of the basis X associated with the canonical blade B i and letting b i denote appropriate nonzero coefficients,

x i∈S a i B i = i∈S a i   x   b i x ∧ j∈Ii f j     = i∈S   a i b i j∈Ii f j   = i∈S a i b i f Ii , (5.3)
which is nonzero by linear independence of the (k -1)-blades {f Ii }. Proposition 5.8. Let Ψ = ({ψ k }, {Λ x k }) be an order-n homogeneous Clifford Appell system. The rank of Ψ is m if and only if the set X = {x n-m+1 , . . . , x n } is linearly-independent; i.e., rank(X) = m.

Proof. By definition,

ψ n-m = ∂ ∂x n-m+1 • • • ∂ ∂x n ψ n = x n-m+1 (x n-m+2 (• • • (x n ψ n ))) = (x n-m+1 ∧ • • • ∧ x n ) ψ n . (5.4)
Observing that ψ n is a scalar multiple of the pseudoscalar, it follows that x k ψ n is homogeneous of grade n -1 for each k. Moreover, it follows that ψ n-m = 0 if and only if ψ n-m is homogeneous of grade nm; i.e., (x n-m+1 ∧ • • • ∧ x n ) must be an m-blade.

Note that Proposition 5.8 guarantees the existence of an order-n, rank-n homogeneous Clifford Appell system associated with any basis of the vector space V generating Cℓ(Q). The construction algorithm is straightforward:

1. Order the basis {v 1 , . . . , v n } for V .

Set ψ n = αe [n]

for some scalar α.

Set ψ

k-1 = v k ψ k for each k = n, n -1, . . . , 1.
Further, note that Proposition 5.8 does not guarantee the existence of such a system in infinite-dimensional Clifford algebras. Moreover, it does not address the construction of invertible Appell systems as defined below. Definition 5.9. An invertible homogeneous (left) Clifford Appell system is a pair Ψ = ({ψ k }, {Λ x k }), where {ψ k } ⊂ Cℓ(Q), and {Λ x k } is a collection of weighted (left) lowering operators such that i. for each k, ψ k is homogeneous of grade k, and ii. Λ Proof. Suppose ∂ ∂x ψ k = ψ k-1 holds for some grade-k element ψ k . Index-2 nilpotency of lowering operators then gives

x k ψ k = ψ k-1 for each k, and iii. Ξ x k ψ k-1 = ψ k for each k.
∂ ∂x ψ k-1 = ∂ ∂x ∂ ∂x ψ k = 0. (5.6)
On the other hand, if

∂ ∂x ψ k-1 = 0, then x ∧ ψ k-1 = x ψ k-1 since
x must be orthogonal to any blades appearing in the expansion of ψ by Lemma 5.7. Moreover,

x orthogonal to u 1 , . . . , u k implies x (x ∧ u 1 ∧ • • • ∧ u k ) = x 2 (u 1 ∧ • • • ∧ u k ). Whence letting ψ k = x ∧ ψ k-1 gives ∂ ∂x ψ k = ∂ ∂x (x ∧ ψ k-1 ) = x (x ψ k-1 ) = xxψ k-1 = x 2 ψ k-1 . (5.7)
In light of Theorem 5.10, fixing x k ∈ V and considering

Λ x k : Cℓ(Q) k-1 ∪ Cℓ(Q) k → Cℓ(Q) k-2 ∪ Cℓ(Q) k-1 , (5.8)
define the grade-k subspace

A k = Ξ x k ( kerΛ x k k ) ⊂ Cℓ(Q) k .
(5.9)

Then, letting I denote the identity operator, one finds

Ξ x k Λ x k A k = x k 2 I.
(5.10)

Corollary 5.11. [Appell System Solutions] Let {x k : 1 ≤ k ≤ m} be an ordered collection of vectors, orthogonal with respect to the quadratic form Q. Let ψ 0 be a scalar. Then, setting

ψ k := 1 x k 2 ψ k-1 dx k (5.11)
for each k = 1, . . . , m gives an order-m, rank-m invertible homogeneous Clifford Appell system Ψ = ({ψ k }, {Λ x k }).

Heterogeneous Clifford Appell systems

A more general definition of Clifford Appell systems is now developed by considering heterogeneous multivectors. By extending results for solutions of homogenous systems, it is possible to construct invertible heterogeneous Clifford Appell systems.

Appell system: Theorem 5.13. Let {x k : 1 ≤ k ≤ m} be an ordered collection of vectors, orthogonal with respect to the quadratic form Q. Let {c 1 , . . . , c m } be a collection of scalars, at least one of which is nonzero, and set ψ 0 := c 0 = 0. Then, setting

Ψ_0 1 Ψ_1 1
ψ k := 1 x k 2 ψ k-1 dx k + c k (5.12)
for each k = 1, . . . , m gives an order-m, rank-m heterogeneous Clifford Appell system Ψ = ({ψ k }, {Λ x k }).

Proof. By induction on 1 ≤ ℓ ≤ m, it will be shown that ψ ℓ is of the form

ψ ℓ = c 0 ℓ j=1 x j 2 (x ℓ ∧ • • • ∧ x 1 ) + c 1 ℓ j=1 x j 2 (x ℓ ∧ • • • ∧ x 2 )+ + c 2 ℓ j=3 x j 2 (x ℓ ∧ • • • ∧ x 3 ) + • • • + c ℓ-1 x ℓ 2 x ℓ + c ℓ . (5.13)
When ℓ = 1, setting

ψ 1 := c 0 x 1 2 ψ 0 dx 1 + c 1 = c 0 x 1 2 x 1 + c 1 , (5.14)
which establishes the basis step of the induction. Assuming ψ ℓ is of the form (5.13), it follows that

ψ ℓ+1 = 1 x ℓ+1 2 ψ ℓ dx ℓ+1 +c ℓ = 1 x ℓ+1 2 c 0 ℓ j=1 x j 2 x ℓ+1 ∧(x ℓ ∧• • •∧x 1 ) + 1 x ℓ+1 2 c 1 ℓ j=1 x j 2 x ℓ+1 ∧ (x ℓ ∧ • • • ∧ x 2 )+ + 1 x ℓ+1 2 c 2 ℓ j=3 x j 2 x ℓ ∧ (x ℓ ∧ • • • ∧ x 3 ) + • • • • • • + 1 x ℓ+1 2 c ℓ-1 x ℓ 2 x ℓ+1 ∧ x ℓ + 1 x ℓ+1 2 c ℓ x ℓ+1 + c ℓ+1 . (5.15)
Simplifying completes the inductive step.

To see that the system is a rank-m Clifford Appell system, consider the action of Λ x ℓ on ψ ℓ for 1 ≤ ℓ ≤ m. Since the vectors {x ℓ } are Qorthogonal and non-null, one immediately finds

Λ x ℓ ψ ℓ = x ℓ ψ ℓ = c 0 ℓ j=1 x j 2 x ℓ (x ℓ ∧ • • • ∧ x 1 ) + c 1 ℓ j=1 x j 2 x ℓ (x ℓ ∧ • • • ∧ x 2 ) + c 2 ℓ j=3 x j 2 x ℓ (x ℓ ∧ • • • ∧ x 3 ) + • • • + x ℓ c ℓ-1 x ℓ 2 x ℓ + x ℓ c ℓ = c 0 ℓ-1 j=1 x j 2 (x ℓ-1 ∧ • • • ∧ x 1 ) + c 1 ℓ-1 j=1 x j 2 (x ℓ-1 ∧ • • • ∧ x 2 )+ + c 2 ℓ-1 j=3 x j 2 (x ℓ-1 ∧ • • • ∧ x 3 ) + • • • + c ℓ-1 x ℓ-1 2 x ℓ-1 + c ℓ-1 = ψ ℓ-1 . (5.16)
Remark 5.14. Note that if c 0 is the only nonzero scalar in the collection {c 0 , . . . , c m }, the system Ψ is homogeneous.

}, Λ x k ), given a Q-orthogonal collection {x k } such that ψ m = x 1 ∧ • • • ∧ x k .
(5.17)

The constituent vectors x k of ψ m can be obtained by applying a blade factorization algorithm to the m-blade ψ m . The factorization recovered, however, is not uniquely determined. Any blade factorization algorithm acting on ψ m determines such an Appell system.

Theorem 5.17. Let ψ m be any m-blade in Cℓ(Q). Then, for any blade factorization algorithm , the m-tuple (ψ m ) determines an order-m, rank-m invertible homogeneous Clifford Appell system by ψ ℓ-1 := (ψ m ) ℓ ψ ℓ (5.18) for ℓ = 1, . . . , k.

Proof. The result follows immediately from definitions.

Fermion algebras and the fermion field

Of particular interest in the field of quantum probability, the Clifford algebra Cℓ n,n is known to be isomorphic to the n-particle fermion algebra F n . In fact, stochastic processes on Clifford algebras have historically been studied primarily in the form of processes in the fermion field (cf. [START_REF] Applebaum | Fermion stochastic calculus in Dirac-Fock space[END_REF], [START_REF] Applebaum | Fermion Itô's formula and stochastic evolutions[END_REF], [START_REF] Barnett | The Itô-Clifford integral I[END_REF]). Other examples include the central limit theorems developed by von Waldenfels [START_REF] Waldenfels | An algebraic central limit theorem in the anticommuting case[END_REF] and Hudson [START_REF] Hudson | A quantum mechanical central limit theorem for anticommuting observables[END_REF].

Denoting the j th creation operator by f j + and the j th annihilation operator by f j , the isomorphism F n → Cℓ n,n is made explicit by

f j + → 1 2
(e j + e n+j ), (6.1)

f j → 1 2 (e j -e n+j ). (6.2)
Regarding f j + and f j as raising and lowering operators on Cℓ n,n , respectively, one again finds the left regular representation of multiplication by e j given as an operator sum in Cℓ 3,3 , which is canonically isomorphic to the 3-particle fermion algebra F 3 . By defining ψ 0 := 1 and proceeding inductively by setting ψ k := Ξ x k ψ k-1 for k = 1, . . . , n, the invertible homogeneous Clifford Appell system of Figure 2 was obtained.

(f j + + f j )u = e j u (
The infinite-dimensional extension is the fermion field,

F ∼ = ∞ n=1 Cℓ n,n . (6.4)
Infinite-dimensional Clifford algebras (of arbitrary signature) can be easily defined using vectors in a separable Hilbert space H equipped with a quadratic form Q. Generally speaking, for any orthonormal basis {e i : 1 ≤ i} of H and x ∈ H satisfying x < ∞, the quadratic form Q acts according to where γ i = ±1 for each i. With this quadratic form in hand, the symmetric bilinear form •, • Q is defined as in the finite case by

Q(x) = i γ i x, e i 2 , (6.5
x, y Q = 1 2 [Q(x + y) -Q(x) -Q(y)] (6.6)
for x, y ∈ H. Left-and right-contraction are again defined in terms of the quadratic form Q as in (3.13), and the Clifford integrals are defined as in (3.2).

In the infinite-dimensional case, one defines the weighted raising and lowering operators by

Ξ x = j x j R j (6.7) Λ x = j x j D j (6.8) where x, x = j x j 2 = 1.
Considering the quadratic form Q defined on separable Hilbert space H having countable orthonormal basis B = {e i } by

Q(x) = i
x, e 2i 2i

x, e 2i-1 2 , (6.9)

one obtains an infinite-dimensional Clifford algebra Cℓ(Q) isomorphic to the fermion field via the correspondence

f j + → 1 2
(e 2j + e 2j-1 ), (6.10)

f j → 1 2
(e 2je 2j-1 ). (6.11)

Further remarks on evolution equations

Returning to solutions of evolution equations, it now becomes apparent that for interesting (i.e., non-constant) discrete processes on Clifford algebras, the "correct" forms of evolution equations (2.10), (2.11), and (2.12) are respectively ∂ t u(k) = Λ x k u(k), (6.12) ∂ t u(k) = Ξ x k u(k), and (6.13)

∂ t u(k) = (Λ x k + Ξ x k )u(k). (6.14)
That is, the differential ∆u at the k th time step

∂ t u(k) := u(k) -u(k -1) (6.15)
in the discrete process is given by the action of weighted raising and lowering operators associated with a vector-valued process (x k ) in the vector space V generating Cℓ(Q). The Clifford-valued process then becomes an additive process of the general form

u(k) := k ℓ=0 ψ j ℓ , (6.16)
where (j ℓ ) is a sequence of Appell indices determined by the choice of raising, lowering, or raising+lowering. The current authors have considered both time-homogeneous discrete processes (cf. [START_REF] Schott | Random walks in Clifford algebras of arbitrary signature as walks on directed hypercubes[END_REF]) and dynamic processes (cf. [START_REF] Schott | Dynamic random walks in Clifford algebras[END_REF]) associated with evolution equation (6.14) by defining multiplicative walks on basis blades considering the induced additive walks in Clifford algebras of arbitrary signature. (6.21)

Conclusion

The authors have shown methods for constructing invertible Appell systems in Clifford algebras of arbitrary signature. As seen in Examples 5.15 and 6.1, these methods readily lend themselves to convenient symbolic computations and can be used for further research involving Clifford evolution equations.

Example 2 . 1 .

 21 Specific examples of Clifford algebras include the following: i. Cℓ 0,1 ≃ C ii. Cℓ 0,2 ≃ H iii. Cℓ 3,0 ≃ APS algebra of physical space iv. Cℓ 1,3 ≃ STA spacetime algebra v. Cℓ n,0 ≃ {n-particle fermion Fock space} vi. Cℓ n,n ≃ {n-particle fermion creator/annihilator algebra}

Definition 3 . 1 .Definition 3 . 2 .

 3132 Let I ∈ 2[n] be an arbitrary multi-index. For 1 ≤ j ≤ n, define the j th Clifford differentiation operator ∂/∂e j by linear extension of ∂ ∂e j e I = ϑ({j}, I)e I\{j} if j ∈ I, The Clifford integrals are defined by {de i , de j } = 0 for i = j (3.2)

Definition 3 . 3 .

 33 For each 1 ≤ j ≤ n, define the j th (left) raising operator R j by linear extension of R j e I = e I de j |I|+1 = e j ∧ e I . (3.6) Define the j th (left) lowering operator D j by linear extension of D j e I = ∂ ∂e j e I = e j e I |I|-1 .

  e j ∧ e I = e j e I |I|+1 = ϑ({j}, I)e I∪{j} if j / ∈ I, 0 otherwise; (3.18) and e j e I = e j e I |I|-1 = ϑ({j}, I)e I\{j} if j ∈ I,

∂e j e I = e j e I . ( 3 . 20 ) 3 . 6 .

 32036 Remark The j th right lowering operator in Cℓ p,q is correctly regarded as right contraction according to e I D j = e I ∂ ∂e j = e I e j .(3.21)

(

  R j D j ) corresponds to the signed grade operator by n j=1 R j D j e I = j∈I e j 2 e I = Γ(e I ). (4.10) Moreover, in the Euclidean Clifford algebra Cℓ n,0 isomorphic to nparticle fermion Fock space, Γ(e I ) = |I|e I . (4.11)

Theorem 5 . 10 (

 510 Solutions). Let x be a non-null Clifford vector, and let ψ k-1 be a grade-(k -1) Clifford multivector. Then, the Clifford equation∂ ∂x ψ k = ψ k-1 (5.5)has a solution ψ k if and only if ∂ ∂x ψ k-1 = 0. Moreover, a solution of (5.5) is the homogeneous grade-k multivector given by ψ k = 1 x 2 ψ k-1 dx.

Figure 1 :

 1 Figure 1: Heterogeneous Appell multivectors in Cℓ 1,3 associated with sequence (x k ) of Example 5.15.

Example 5 . 15 . 4 in Cℓ 1 , 3 .

 515413 Let (c 0 , . . . , c 4 ) := (1, -1, 2, 0, 1), and consider the Q-orthogonal Mathematica-generated vector sequence The heterogeneous Clifford Appell system of Figure1was obtained by defining ψ 0 := c 0 and proceeding inductively by setting ψ k := Ξ x k ψ k-1 + c k for k = 1, . . . , n.

5. 2 (

 2 Role of blade factorization in the construction of Appell systemsA brief discussion of blade factorization algorithms is included here because they have a natural connection to solutions of invertible Appell systems in Clifford algebras. Examples of blade factorization algorithms can be found in works by Dorst, Fontijne, et al.[START_REF] Dorst | Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry[END_REF],[START_REF] Fontijne | Efficient Implementation of Geometric Algebra[END_REF]. Definition 5.16. A blade factorization algorithm is defined as any mapping : Cℓ(Q) → n k=1 Cℓ(Q) 1 ) k such that for any m-blade u ∈ Cℓ(Q): 1. (u) = ( (u) 1 , . . . , (u) m ) is an ordered m-tuple of non-null, Q-orthogonal Clifford vectors (1-blades), and 2. u = α (u) 1 • • • (u) m for some nonzero scalar α. In light of Theorem 5.10 and Corollary 5.11, any m-blade ψ m can serve as the top-term of an order-m, rank-m invertible homogeneous Clifford Appell system ({ψ k

Figure 2 :

 2 Figure 2: Invertible homogeneous Appell multivectors in Cℓ 3,3 associated with sequence (x k ) of Example 6.1.

Example 6 . 2 .

 62 Letting (x k : 1 ≤ k) denote a random sequence of basis vectors from B, consider the evolution equation∂ t u = (Λ x k + Ξ x k )u. (6.17)This equation is associated with a discrete additive process (u(k)) in F associated with a random walk on an infinite-dimensional directed hypercube. In particular, consecutive increments of the process are associated with adjacent vertices in the hypercube. The process (u(k)) in Cℓ(Q) is of the form u(k) = u(k -1) + (Λ x k + Ξ x k )u(k -1). (6.18)Setting Υ ℓ := Λ x ℓ +Ξ x ℓ for each ℓ, and using back-substitution, u(k+1) is given by the ordered productu(k) = (I + Υ k )(I + Υ k-1 ) • • • (I + Υ 1 )u 0 ,(6.19)where u 0 = u(0) is the initial value of the process. Expanding and rewriting with ordered products of lowering and raising operators, one findsu(k) = k g=0 (j 1 ,...,jg )∈[k] g j 1 >•••>jg (Λ xj 1 + Ξ xj 1 ) • • • (Λ xj g + Ξ xj g )u 0 .(6.20)Implicitly defining the index function ν : B → N by x = e ν(x) , the equivalent process in F is expressed by setting u 0 = 1 to represent the vacuum state and expanding, using the canonical isomorphism F ≃ Cℓ(Q). One thereby obtains the following general expression for the k th value of the process:u(k) =k g=0 (j 1 ,...,jg )∈[k] g j 1 >•••>jg f ν(xj 1 ) + f ν(xj 1 ) + • • • f ν(xj g ) + f ν(xj g ) + 1.

  6.3) for arbitrary u ∈ Cℓ n,n .

	Example 6.1. Consider the Mathematica-generated collection of or-
	thogonal non-null vectors
	Vector sequence xk :
	x_1	0.995564 e 1 0.0932456 e 2
	0.00546402 e 3 0.00554477 e 4 0.00976338 e 5 0.00103628 e 6
	x_2	0.0879225 e 1 0.960669 e 2 0.114892 e 3 0.11659 e 4 0.205294 e 5 0.0217898 e 6
	x_3
	0.00580452 e 1 0.12202 e 2 0.992415 e 3 0.00769708 e 4 0.0135532 e 5 0.00143853 e 6
	x_4
	0.00625123 e 1 0.131411 e 2 0.00770043 e 3 1.02299 e 4 0.0404897 e 5 0.00429756 e 6
	x_5
	0.0106783 e 1 0.224475 e 2 0.0131538 e 3 0.0133482 e 4 1.06916 e 5 0.00734107 e 6
	x_6	0.00103727 e 1 0.0218051 e 2
	0.00127774 e 3 0.00129662 e 4 0.00228312 e 5 1.00071 e 6

  )

	Ψ_0	1
	Ψ_1	0.995818 e 1 0.0932693 e 2
	0.00546541 e 3 0.00554618 e 4 0.00976586 e 5 0.00103654 e 6
	Ψ_2	1.08703 e 1,2 0.129441 e 1,3 0.131354 e 1,4 0.231291 e 1,5
	0.0245491 e 1,6 0.0061575 e 2,3 0.00624851 e 2,4 0.0110025 e 2,5 0.0011678 e 2,6
	Ψ_3	1.09509 e 1,2,3 0.00770043 e 1,2,4
	0.0135591 e 1,2,5 0.00143916 e 1,2,6 0.131411 e 1,3,4 0.231391 e 1,3,5
	0.0245598 e 1,3,6 0.00625123 e 2,3,4 0.0110073 e 2,3,5 0.00116831 e 2,3,6
	Ψ_4	1.06994 e 1,2,3,4 0.0133482 e 1,2,3,5
	0.00141678 e 1,2,3,6 0.0131538 e 1,2,4,5 0.00139614 e 1,2,4,6
	0.224475 e 1,3,4,5 0.0238257 e 1,3,4,6 0.0106783 e 2,3,4,5 0.00113339 e 2,3,4,6
	Ψ_5	1.00071 e 1,2,3,4,5 0.00228312 e 1,2,3,4,6 0.00129662 e 1,2,3,5,6
	0.00127774 e 1,2,4,5,6 0.0218051 e 1,3,4,5,6 0.00103727 e 2,3,4,5,6
	Ψ_6	1. e 1,2,3,4,5,6


Redwan Dahmouche

Nicolas Andreff

Youcef Mezouar

Philippe Martinet

Efficient High-speed Vision-based Computed Torque Control of the Orthoglide Parallel Robot

Vision has often been considered as not suitable for dynamic control of robots. The experimental results presented in this paper show that it is possible to perform better with a vision based dynamic control than with a modelbased control. These results were obtained using a Cartesian computed torque control fed back, without any joint sensing, by a novel Cartesian pose and velocity estimator. The latter is designed as a virtual visual servoing scheme based on sequential acquisition of sub-images and a constant acceleration motion assumption.

I. INTRODUCTION

It was shown in [START_REF] Callegari | Dynamics modelling and control of the 3-rcc translational platform[END_REF], [START_REF] Paccot | A review on the dynamic control of parallel kinematic machines: Theory and experiments[END_REF] that the most appropriate space for parallel robot (or parallel kinematic manipulator) control is the Cartesian space. The main reason for this is that, contrarily to serial robots, the most natural representation space for parallel robots is the Cartesian configuration of the end-effector [START_REF] Callegari | Dynamics modelling and control of the 3-rcc translational platform[END_REF], [START_REF] Dasgupta | A general strategy based on the newton-euler approach for the dynamic formulation of parallels manipulators[END_REF], [START_REF] Khalil | General sollution for the dynamic modeling of parallel robots[END_REF]. In addition, the dynamic coupling between legs in such robots being important even at low speed [START_REF] Paccot | A review on the dynamic control of parallel kinematic machines: Theory and experiments[END_REF], it imposes to compensate for dynamics in the control law as soon as high performances are expected [START_REF] Boye | New transformation and analysis of a n-dof linapod with six struts for higher accuracy[END_REF].

The most natural expression for the dynamic control, taking into account the a priori knowledge over the dynamic model, is thus a Cartesian space computed torque control, as depicted in Fig. 1. As can be seen on the latter, the key point in implementing a Cartesian space computed torque control consists in how to obtain the robot Cartesian pose x and its time derivative ẋ. The two main approaches to get these measures differ by the kind of the sensors used to measure the configuration of the robot, that can either be proprioceptive or exteroceptive sensors. The implementation of the Cartesian space computed torque control using proprioceptive sensors (namely, joint sensors) requires the computation of the forward kinematic model. However, the latter is usually not trivial to compute (a huge literature is devoted to this problem, which can be entered through [START_REF] Merlet | Solving the forward kinematics of gough-type parallel manipulator with interval analysis[END_REF]). In addition, (1) LASMEA -CNRS -Université Blaise Pascal, 24 avenue des Landais, 63175 Aubière, France. (2) FEMTO-ST -CNRS -32 avenue de l'observatoire, 25044 Besanc ¸on, France.

(3) IFMA -Institut Franc ¸ais de Mécanique Avancée, Campus de Clermont-Ferrand les Cézeaux -BP265, 63175 Aubière. This work was supported by Région d'Auvergne through the Innov@pôle project and by the french ANR JCJC Project VIRAGO. The authors would like to warmly thank people at IRCCyN and more specifically Damien Chablat and Wisama Khalil for having given us access to the Orthoglide. it is subject to modeling and numerical errors [START_REF] Boye | New transformation and analysis of a n-dof linapod with six struts for higher accuracy[END_REF] since the reliability of the end-effector pose estimation depends on to the completeness of the modeling of the robot geometry and to the identification accuracy of this model (calibration). Moreover, the pose is estimated using the minimal number of data, making it sensitive to the slightest noise in the joint sensors. Last, and maybe least, the end-effector pose velocity can either be obtained, in this case, by numerically differentiating the estimated pose over time or by feeding the differential kinematic model with joint velocities (whatever the way the latter are obtained).

One solution to these issues is to use an exteroceptive sensor. Indeed, measures provided by such a sensor are independent from the modeling and/or calibration of the mechanical system. However, these measures must reach an acceptable accuracy as well as an acceptable frequency. Optical sensing can satisfies these requirements. Furthermore, it is contactless and fairly insensitive to changes in an industrial environment. Among optical sensing, vision is, to a growing extent, also preferable to laser tracking since it is mechanically passive.

The feasibility of this approach was shown in [START_REF] Paccot | A vision-based computed torque control for parallel kinematic machines[END_REF] where a computed torque control of parallel robot based on highspeed vision was performed. However, the pose was obtained from the simple Dementhon algorithm [START_REF] Dementhon | Model-based object pose in 25 lines of code[END_REF] and was too noisy to get conclusive results for the vision-based control over joint sensor-based control, although the former held the comparison with the latter. In addition, the velocity was obtained by numerical time derivation of the pose, which expectedly multiplies the noise by the high sampling frequency of the dynamic control. Using low-pass filter for reducing noise is not appropriate though because of the phase lag introduced by the filter, which may affect the stability of the closed loop system [START_REF] Corke | Dynamic effects in visual closed-loop systems[END_REF], [START_REF] Vincze | Dynamics and system performance of visual servoing[END_REF]. The scientific and technical bolt of this control law is thus conditionned by the achievement of a fast and accurate pose and velocity estimation of the parallel robot end-effector.

In [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF], a vision system based on a sequential acquisition of selected regions of interest (namely, sub-images just large enough to contain the visual information) was used to have a high-speed pose and velocity computation. This vision system has two main benefits. The first one is that this acquisition strategy allows one to reduce the data amount to be transmitted from the camera to the process unit and then to consequently increase the acquisition frequency by using the communication interface bandwidth in a more efficient way. The second benefit is that the sequential acquisition of the visual features introduces visual motion-related artifacts in the whole image, thanks to which the end-effector velocity can be estimated without any numerical derivation.

However, that work was based on the assumption that the end-effector velocity was constant during the sequential acquisition of the whole image features. As a consequence of this constant velocity assumption, the velocity is estimated with a constant delay because of the velocity tracking error. Due to the non-linearity of the dynamic model, it is hard to take into account such a delay, resulting in loss of control stability [START_REF] Corke | Dynamic effects in visual closed-loop systems[END_REF], [START_REF] Vincze | Dynamics and system performance of visual servoing[END_REF]. In addition, the acquisition frequency being higher than the control frequency, the assumption of a constant velocity is not coherent with the dynamic control since the motion model is closer to a constant acceleration model.

The contribution of this paper is to propose a novel high-speed vision-based computed torque control of parallel robots using the sequential sub-images acquisition method. To do so, the estimation method for Cartesian pose and velocity presented in [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF] is improved and adapted to dynamic control purposes. In this context, the motion and the projection models are extended to a constant acceleration assumption to be more coherent, as stated, with the real robot motion. This modification also allows one to eliminate the velocity tracking delay, making the system more stable.

The following section presents the theoretical background of the virtual visual servoing for simultaneous pose and velocity estimation. Section III is devoted to adapting the pose and velocity estimation method to a piecewise constant acceleration motion assumption. The proposed control scheme is then presented in Section IV whereas Section V presents the experimental setup on the Orthoglide robot (Fig 2 ) and some implementation details. Finally, Section VI shows the experimental results using the proposed control law with comparison to a classical joint-based control scheme.

II. POSE AND VELOCITY ESTIMATION UNDER THE VIRTUAL VISUAL SERVOING FRAMEWORK

Let us reformulate here some background results from [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF] that are useful for the completeness of the paper.

In the sequential region of interest acquisition method, a known object, abstracted as a set of 3-d points, is observed by successively grabbing one single sub-image containing a single visual point at a time.

The projection model of a set of 3-d points P i is thus given by:

∀i = 1..n mi ≡ [K | 0] c T o c δT i o Pi ( 1
)
where n is the number of 2d-3d correspondences, o Pi are the homogeneous coordinates of point P i in the object reference frame, mi are the homogeneous coordinates of the associated point projection in the camera plane, ≡ is the projective equality c T o the homogeneous transformation matrix between the object and camera frames at a reference time t ref and c δT i the displacement between t ref and the i th point acquisition time t i . Finally, K is the matrix containing the camera intrinsic parameters, whilst lens distorsion is not shown here for clarity sake but is compensated for.

The specificity of this acquisition method is that the projection model of a rigid object depends on the object pose and velocity. Indeed, the displacement c δT i is nothing but the integration of the object velocity between t ref and t i :

c δT i = ti t ref r(τ (t))dt (2)
where τ = [v, ω] is the object velocity twist and r is the reshaping operator which transforms the kinematic twist into a 4 × 4 matrix. Then, the estimation method consists essentially in minimizing the reprojection error built upon (1):

min c To,τ 1 2 n X i=1 mi -π([K | 0] c To Z t i t ref r(τ (t))dt o Pi) 2 (3)
where π(.) represents the non-linear formulation of perspective projection.

As it is non-linear, it is solved by an iterative numerical scheme. One elegant method, taking into account the specific structure of SE(3), is to use the virtual visual servoing paradigm [START_REF] Marchand | Virtual visual servoing: a framework for real-time augmented reality[END_REF], [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF]. This can be seen as an iterative scheme where the linearization is done in se(3) rather than in R 6 . It is usually presented as taking the derivative of the above criterion with respect to time, but it should be presented as taking the derivative of the above with respect to a virtual time u upon which depend the minimization variables c T o = c T o (u, t) and τ = τ (u, t):

dmi du = d du π([K | 0] c To(u, t) Z t i t ref r(τ (u, t))dt o Pi) (4)
which can be shown to rewrite as follows [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF]: where the subscript u indicates that the velocity and acceleration twists are virtual, i.e. do not correspond to actual twists related to the actual robot but to twists related to the virtual robot (evolving along the virtual time u) to converge to the same state as the actual one. An expression of L, built by stacking the individual interaction matrices L i , i = 1..n associated to each point, is:

dm i du = L τ u τ u (5)
L i = 2d J 3di . L 3di + ∆t i H 3di ∆t i L 3di (6)
where • 2d J 3di is the well-known Jacobian of the 2d perspective image point with respect to the 3d point [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF];

• ∆t i = t i -t ref ; • L 3d is the well-known 3D point interaction matrix; • H 3di = 2 [ω] × c Pi (t) × ω ×
and where most of the above expressions depend on the coordinates c Pi of the 3d point in the camera frame and, hence, on c T o and c δT i .

From [START_REF] Boye | New transformation and analysis of a n-dof linapod with six struts for higher accuracy[END_REF] and the error between the vectors m * (t) and m( c To , τ ) composed respectively of the stacked measured point images and of the corresponding stacked outputs of the projection model [START_REF] Callegari | Dynamics modelling and control of the 3-rcc translational platform[END_REF], one estimates the virtual velocity and acceleration updates that reduce the error:

τ u τ u = -λL + m( c To , τ ) -m * (t) , λ > 0 (7)
where c

To and τ are the previous estimates of c T o and τ . Since the velocity and the acceleration are not independent variables, integrating them separately to get the new pose and velocity estimates would yield a velocity tracking delay. In fact, the estimated acceleration update τ u has to be used as a feedforward term that adds to the estimated velocity update as depicted in (Fig. 3).

III. VISION-BASED POSE AND VELOCITY ESTIMATION UNDER THE CONSTANT ACCELERATION ASSUMPTION

The work in [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF] made the assumption that the velocity was piecewise constant over the time interval during which the sub-images were grabbed. However, this assumption is not valid anymore for computed torque control. Indeed, under this control, the torques applied to the actuators are computed from the output of the inverse dynamic model, which is, in turn, fed with the pseudo-control vector made of the acceleration to apply to the end-effector. Thus, over a control period, the acceleration can be assumed constant (up to the internal regulation of the torques in the actuators).

Therefore, the above method needs be reformulated under the latter assumption, which essentially boils down to two things: computing c δT i in order to compute the projection model and the interaction matrix and updating the feedforward term.

Under the assumption that the acceleration is constant over the control sampling period, τ (t) is itself the integral of the robot end-effector acceleration (actually, the dynamic twist τ = [ v, ω] of the platform expressed in the end-effector frame):

τ (t) = τ (t ref ) + t t ref τ dt, ∀t ∈ [t ref , t i [ (8)
and so (2) becomes

c δT i = ti t ref r τ (t ref ) + t t ref τ dt dt (9)
Let τ i = [ vi , ωi ] be the value of the platform dynamic twist at the sample time t i = i T a , T a being the subimage acquisition period. This period is taken smaller than the control period T c in order to gather enough object points to update the pose and velocity between two control refreshments.

Assuming that the platform dynamic twist is constant between two successive control samples, the integration of the translational acceleration to obtain the object pose and velocity v i can be written as:

v i = v ref + i-1 k=0 vk T a (10)
Considering the dynamic twist constant in the camera frame and not in the moving object frame, for the reasons exposed in [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF], one gets the translational part δt i of δT i :

δt i = i-1 k=0 1 2 vk T 2 a + v k T a (11)
The rotation space being non linear, the integration of the rotation acceleration without simplification introduces an unnecessary computational burden. However, the instantaneous rotation axis direction of the platform being usually designed constant or slowly variable at trajectory planning time, a simplification of this motion model is to consider only the acceleration component which is parallel to the rotation velocity. In this case, the rotation velocity will have a constant direction and a uniformally variable norm over one control sampling period. The object velocity and rotation displacement are hence obtained by integrating the projection of the rotational acceleration ω on the rotational velocity axis u ω :

ω i = ω 0 + i-1 k=0 ( ωk • u ω ) T a u ω (12)
and

δθu i = i-1 k=0 1 2 ( ωk • u ω ) T 2 a u ω + ω k T a ( 13
)
where δθu i is the rotation displacement vector.

The associated homogeneous rotation matrix of the object displacement δR i can then be obtained from the rotation vector using Rodrigues formula or, equivalently, the exponential matrix map (expm) [START_REF] Iserles | Lie-group methods[END_REF]:

δR i = expm([δθu i ] × ) exp(δθu i ) (14)
Finally, the expressions ( 11) and ( 14) are now exploitable both for being inserted into the projection model (1) and into the interaction matrix expression (6).

IV. VISION-BASED COMPUTED TORQUE CONTROL OF PARALLEL ROBOTS

The control scheme (Fig. 4) is composed of a virtual visual servoing control loop and a dynamic control loop. The virtual visual servoing control loop task estimates the endeffector pose and velocity while the real control loop aims at regulating the estimated state with respect to the desired one under computed torque control scheme of parallel robots.

Note that here, the pose and velocity estimator is launched at each control sample time t j (see Fig. 5). Thus, the reference time t ref is set at each control sample time to

t ref = t j .
Note also that the update of the feedforward term of the pose and velocity estimator from the constant velocity assumption (Fig 3) to the constant acceleration (Fig. 4) consists in adding a feedforward acceleration term. In the proposed control loop, it is taken from the pseudo-control vector w of the computed torque control. Since the estimator hopefully takes less time than the control period, the integrators in the feed-forward term are reset at each control sample time and work all along the control period T c .

Therefore, the update step for the pose and velocity estimator from one control sample to the other is given by:

τ j+1 = τ j + Tc 0 ( τ uj + A j w j )dt (15) tj+1 = tj + 1 2 vwj T 2 c + vj T c (16) Rj+1 = Rj exp 1 2 ωwj • ûω T 2 c ûω + ωj T c (17)
where A j is the transformation matrix of the acceleration control vector to a dynamic twist. vwj and ωwj are the translational and rotational acceleration components of the control vector. The obtained pose and velocity are then transformed into the robot state space representation (x, ẋ) to be used in the dynamic control loop for the regulation and dynamic compensation.

V. IMPLEMENTATION

The proposed method was validated on the Orthoglide robot [START_REF] Chablat | Architecture optimization of a 3-dof translational parallel mechanism for machining applications, the orthoglide[END_REF] with the set-up shown in Fig. 2. The control system architecture is composed of an off-the-shelf "Photon focus MV-D1024-TrackCam" camera, a standard PC and the robot itself, controlled by a real-time PSpace DSP robot controller (Fig. 6). The PC is taking care of the image acquisition and the pose and velocity estimation process, More precisely, the PC controls the camera to achieve a high-speed sequential sub-images acquisition by running the acquisition and the estimation processes in two parallel threads. The acquisition thread is triggered by the robot controller clock at a 4kHz frequency, corresponding to the camera acquisition frequency. In this thread, the position of the current sub-image is predicted from the previously estimated pose and velocity, then the sub-image is grabbed and analyzed and the extracted point image coordinates are forwarded to the estimation process through a sharedmemory containing the image coordinates of all the points of the object (here, to the number of 16, which an empirical optimal number).

The robot end-effector pose and velocity are estimated by the PC and transmitted to the DSP card via the industrial RS-422 serial interface. Since the PC is constrained by the camera driver to run under a non real-time operating system, the estimation process takes an unpredictable amount of time, which is nevertheless expected to fit with the 400Hz robot controller frequency. The estimation process is thus only softreal-time synchronized with the robot controller, so the latter contains a watchdog checking the correct reception of the estimates. Finally, the control vector processed by the robot controller is sent back to the estimation process on the PC through the RS-422 link.

VI. EXPERIMENTAL RESULTS

A. Robot stiffness and vision based estimation characterization

To have a relevant interpretation of the results, it is necessary to characterize both the vision system and the parallel robot in terms of reliability and accuracy before proceeding to the implementation of the proposed control scheme. In lack of other exteroceptive measurements (interferometric laser, for instance), the only practical way to identify possible defaults of the two systems is by proceeding to some tests and confronting the results.

First of all, different static poses were estimated during several seconds at the operating frequency (400 Hz). The standard deviations of the corresponding position stdev(t) and velocity stdev(v) estimation noise were measured: stdev(t) = [2.67, 4.05, 3.45] 10 -5 m and stdev(v) = [2.04, 3.2, 5.75] 10 -3 m/s.

Note that these values are considerably small, meaning a very stable estimation of the pose between two iterations (including a stable feature extraction) even though there might exist a bias between the mean estimation of the pose and the actual one. However, the small corresponding normalized projection residuals (0.19 pixel/point) indicates that this bias is small too (up to potential singularities which have not been encountered yet in practice).

Concerning the parallel robot, some joint flexibilities and backlashes have been noticed. To characterize the resulting motion of the platform, a manual effort was applied on it while the brakes are engaged and its displacement was measured with vision. The resulting displacement of the target in the Cartesian space is δx = [10.0mm, 8.1mm, 7.1mm, 2.38 o , 2.65 o , 2.93 o ] T and the mean points displacement in the image is [δu, δv] = [25.9, 20.3] pixels, which is much larger than the measurement residual error. These results give an idea of the correspondence between image errors and Cartesian error. In addition, they show that in static, the vision-based pose estimation of the platform is more accurate than the modelbased estimation. This is underlined to be one of the most important benefit of exteroceptive sensors. After characterizing some properties of the the robot and vision system, the identification of the extrinsic camera parameters in the robot frame were achieved on smooth trajectories to avoid stimulating the robot flexibilities and backlashes. Yet, 3mm residual errors remain.

B. Vision based computed torque control

After achieving this procedure, the proposed control law was implemented. Note that the use of the pose and velocity estimation method in [START_REF] Dahmouche | 3d pose and velocity visual tracking based on sequential region of interest acquisition[END_REF] in the control law leads to robot instability. The main instability cause, as stated, is the velocity tracking delay due to the assumption of a constant velocity.

On the opposite, the implementation of the estimation method presented here allows not only to stabilize the robot but also to control it to 100% of its speed. Though, since flexibilities and backlashes are measured, they are accounted for by the control law but this causes the robot to oscillate. To reduce this phenomena, the natural frequency of the closed loop system was decreased by scaling down the PID regulator gain by 20%.

In the results given below, the reference trajectory is an oblique circle of 6cm radius which is twice traveled through. The maximum velocity reached during the trajectory execution is 1m/s which corresponds to 16.4m/s 2 tangential acceleration and 16.67m/s 2 normal acceleration. The two trajectory laps are achieved in less than 1.4s.

Figure [START_REF] Paccot | A vision-based computed torque control for parallel kinematic machines[END_REF] shows the reference trajectory, the trajectory realized under vision-based computed torque control and the one achieved under model-based computed torque control. Both trajectories were recorded by vision, since the latter has proven more accurate than the model.

First of all, note that the vision-based control trajectory seems to be as smooth as the model-based control. One also notices that the model-based control trajectory radius seems to be bigger than the reference trajectory while this is, visibly, not the case of the vision-based trajectory. Indeed, the mean radius of the model-based trajectory and the visionbased trajectory are respectively 61.34mm and 60.20mm. In addition, the algebraic distance between the trajectories to the reference circle (normal distance) is smaller for the visioncontrol 2.74mm than for the model-based control 3.25mm.

Figure [START_REF] Dementhon | Model-based object pose in 25 lines of code[END_REF] represents the desired positions and, respectively, the errors obtained from the application of the modelbased and vision-based controls. One notices first that the vision-based control error is smaller than the measured backlashes. In addition, a comparison between both errors reveals that model-based control errors are important in statics as well as in dynamics where static errors in the vision-based control are smaller than model-based control and almost equivalent in dynamics. This is confirmed by the respective means and standard deviations of the tracking errors (Tab. I). Figure [START_REF] Corke | Dynamic effects in visual closed-loop systems[END_REF] shows the pose and velocity tracking errors in the image. Note that even at this high speed, the image reprojection errors remain smaller than 1 pixel. It also seems that the image error increases with acceleration. This may be caused by the errors between the estimated inverse dynamic model and the actual one, which can be shown to yield a computed torque control error proportional to the control acceleration. Nevertheless, the error in the image remains much smaller than projection residuals due to flexibilities and backlashes, and so are the dynamic errors given in Tab. I certainly due to the latter.

Model-based control Vision

VII. CONCLUSION

This paper presented a new vision-based computed torque control law. This control scheme uses a high-speed visual sensor to measure the pose and the velocity of the parallel robot platform in regulation and dynamic compensation. Measure being achieved in the task space, there is no need to compute the forward kinematic model which may include parametric errors or simplistic assumptions (no flexibilities, for instance). In addition, sensing the platform pose and velocity makes dynamic computation and compensation much easier than from joint reading. The presented results show that the presented vision based dynamic control law may be used even on a robot with flexibilities and backlashes and can even be more accurate than the model based control. The next step of this work is to design an image-based vision-based computed torque control. The combination of this approach with traditional joint space control schemes to control backlashes seems also to be a promising way.

Fig. 1 .

 1 Fig. 1. Cartesian space computed torque control scheme of parallel robots.

Fig. 2 .

 2 Fig. 2. Set-up for vision based control of parallel robot "Orthoglide".

Fig. 3 .

 3 Fig.3. Pose and velocity estimation under constant velocity assumption, using the virtual visual servoing paradigm.

Fig. 4 .

 4 Fig. 4. The vision-based Cartesian computed torque control based on sequential image acquisition is composed of a standard Cartesian computed torque control (upper loop) and of a virtual visual servoing estimator (lower loop).

Fig. 5 .Fig. 6 .

 56 Fig. 5. Control chronogram

Fig. 8 .

 8 Fig. 7. Trajectories in space

Fig. 9 .

 9 Fig. 9. Image reprojection error with respect to time


S Rubrecht
email: rubrecht@isir.upmc.fr

V Padois

P Bidaud

M De Broissia

Constraint Compliant Control for a Redundant Manipulator in a Cluttered Environment

Keywords: Redundancy resolution, Inverse velocity kinematics, Control

In this paper, we present an iterative kinematics control law for redundant manipulators overcoming some usual problems associated to cluttered environments (constraints violations, oscillations, environment dilatation). The Constraints Compliant Control approach relies on a passive avoidance scheme (no motion generation for constraints avoidance) on a limited number of constraints selected from a vicinity analysis. A scaling solution based on the feasible motions with respect to the constraints enables to reach the frontiers of the workspace. Two missions described as sequences of key frames are simulated to compare the performances of the Constraint Compliant Control with state of the art control laws. The obtained computation times remain acceptable to consider a use in real time.

Introduction

Industrial robotics manipulator missions have evolved from well defined tasks in structured environments to missions where the tasks are more complex (involving multiple objectives among which various constraints) and where the environments are not always known in advance and can be harsh and cluttered. As an example, the motivations of the presented work consider the use of a teleoperated manipulator aimed at working in a tunnel boring machine cutter head (see Figure 1 and [START_REF] Rubrecht | Evolutionary Design of a Robotic Manipulator for a Highly Constrained Environment[END_REF]).

In such environments, the use of redundant manipulators enables to specify simultaneously various goals on different parts of the manipulator, explicitly or automatically. It gives the possibility to fulfill different tasks while strictly satisfying a certain amount of constraints (collision avoidance, joint position and velocity limits). However, to our knowledge, there is no multi-objective method that guarantees a safe behaviour whithout substantially reducing the motion capabilities, especially when the manipulator is expected to get close to the constraints surfaces (which may be operational surfaces). This is the problem tackled in this paper.

Consider a manipulator with n DOFs and a set of objectives (not necessarily imposed to the same part of the manipulator) involving m operational displacements δ x. The relation between the operational and the joints displacements (considered here as the actuators input signal, extension to torque controlled actuators is trivial)

δ x = Jδ q (1)
where J is the jacobian associated to the objectives. In order to satisfy the constraints, usual avoidance strategies rely on an avoidance term δ x C derived from a potential based on the inverse of the distance to the constraint [START_REF] Khatib | Real-Time Obstacle Avoidance for Manipulators and Mobile Robots[END_REF]. This strategy is called active, as a motion is generated to avoid the constraint. Thus, the expected behaviour will result from the combination of the operational tasks ((J T ,δ x T ), concatenation of the tasks) and the constraints ((J C , δ x C ), concatenation of the constraints). In the particular cases of joints related constraints (joint position and velocity limits), the constraint jacobian matrix is [0, . . . , 0, ±1, 0, . . . , 0], the ±1 rank being at the joint number in the manipulator chain, the sign depending on the limit type (maximum or minimum). These motions can be strictly prioritized in a multiobjective control law (see [START_REF] Maciejewski | Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments[END_REF])

δ q = J # 1 δ x 1 + (J 2 P J 1 ) # (δ x 2 -J 2 J # 1 δ x 1 ) (2)
where indexes 1 and 2 can be replaced by C and T and conversely. The # is a pseudoinversion operator (see [START_REF] Israel | Generalized Inverses: Theory and Applications[END_REF]) and P J 1 is a projector on the kernel of J 1 (details about inversions and projectors are exposed in section 3.1).

Maciejewski [START_REF] Maciejewski | Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments[END_REF] and Chaumette [START_REF] Chaumette | A New Redundancy-based Iterative Scheme for Avoiding Joint Limits Application to visual servoing[END_REF] proposed to put the constraints avoidance at the bottom of the task hierarchy (1 ← T , 2 ← C; referenced as control law A). It enables to striclty fulfill the tasks, but in case of conflict between the tasks and the constraints, the manipulator may violate the constraints. To avoid this, Sentis [START_REF] Sentis | Synthesis of whole-body behaviors through hierarchical control of behavioral primitives[END_REF] puts the constraints at the top of the hierarchy (1 ← C, 2 ← T ; referenced as control law B). However, this choice has a bad impact on the reachability of the manipulator as the avoidance motions need activation thresholds, which results in oscillations on the functional parts of the manipulator. Moreover, as the constraints are not homogeneous (obstacle avoidance involves body lengths that depends on the obstacle position w.r.t. the robot, while joint limits do not), it is not possible to use a bounded potential. It implies a consequent size of the threshold, as the potential should grow from zero to infinity along it, and also the possible presence of infinite terms in the control law.

In order to avoid oscillations and infinite terms, Baerlocher uses in [START_REF] Baerlocher | An Inverse Kinematic Architecture Enforcing an Arbitrary Number of Strict Priority Levels[END_REF] an iterative approach based on an activation matrix that pre-multiplies the jacobian of the tasks. The algorithm deactivates the joints which violate their boundaries, so they are not included in the model inversion. However, this approach does not include other types of constraints and it often resorts to iterations in cases for which usual approaches find directly an admissible (i.e. constraints compliant) solution.

This paper presents a framework that extends the approach of Baerlocher to the collisions avoidance and satisfies the joint velocity limits; in particular, when the environment is not overconstrained (number of DOF sufficient to track the tasks while complying to the constraints), the control law is equivalent to the classical control law A. A particular attention has been paid to keep the computation times in the range of the one obtained with control law A and B.

In section 2, the Constraint Compliant Control (CCC), relying on the principle of passive avoidance, is introduced. Then, section 3 presents the simulations of two missions and the comparative results of the control laws presented previously (A, B and CCC). Finally, section 4 gathers the conclusions and the work perspectives.

Constraint Compliant Control

This section exposes our contribution. First, the passive avoidance principle is developped, according to which the robot should not move to avoid static constraints. Then, the control law expression is exposed; finally, the whole algorithm is presented.

Passive Avoidance

The approach of Baerlocher in [START_REF] Baerlocher | An Inverse Kinematic Architecture Enforcing an Arbitrary Number of Strict Priority Levels[END_REF] is equivalent to the insertion of a superior hierarchical level in which operational displacement would be null (δ x C = 0). It has the advantage to satisfy the joint boundaries in all cases. The extension to every static constraints (static obstacles, joint position and velocity limits) is done using the following control law

δ q = J # C 0 + (J T P J C ) # (δ x T -J T J # C 0) = (J T P J C ) # δ x T (3)
which ensures a strict compliance with any constraints in J C . This avoidance method is passive as no motion is generated by the proximity to a constraint. As what is described by the constraints expression is actually static in the physical world, no arbitrary motion is needed to satisfy them. Anyway, it is not often mandatory to forbid motions in all the constraints directions; it is not even desired, as it prevents from getting closer to the constraints, but also from moving away from them. So, it is relevant to iterate on the constraints combinations to find the set of constraints that must be passively avoided to obtain an appropriate solution δ q, i.e. that minimizes the operational error while being admissible. Let J CC be a matrix containing a combination of lines of J C . The control law then becomes

δ q = (J T P J CC ) # δ x T (4)
Iterations are carried out to find the lines combination J CC which yields an appropriate δ q. In particular, the admissibility test is performed using Eq. ( 7).

Active avoidance in additional objective

The solutions admissibility can be increased by adding an extra term of active avoidance on the constraints that are not avoided passively:

δ q = (J T P J CC ) # δ x T Passive avoidance + (J CC P J CC J ) # (δ x CC -J CC (J T P J C C ) # δ x T )
Active avoidance [START_REF] Chaumette | A New Redundancy-based Iterative Scheme for Avoiding Joint Limits Application to visual servoing[END_REF] where J CC is the complement of the lines of J CC in J C , δ x CC is the desired operational avoidance displacement associated to J CC 1 and P J CC J is the projector on the kernel of the concatenation of J CC and J. The extra term tends to move the manipulator away from the constraints as long as the tasks are not impacted. In particular, when J c is empty, the control law behaves like control law A and a single iteration is needed when the situation is not overconstrained. The avoidance coefficients norm |δ x CC ,i | can be limited to avoid values tending to infinity. Finally, there are no oscillations on the functionnal part as the active avoidance term is under the task related term in the hierarchy.

Particular case of the joint velocity limit -Scaling

The joint velocity limits should not be addressed with passive avoidance, as it would stop a joint to prevent it from going too fast. If a joint displacement is too high, the solution is scaled to reach the maximal admissible displacement. To keep the motion coherency, the scaling is done in a way that preserves the operational direction

δ q ← δ q min 0≤i≤n δ q i,max ||δ q i || (6)
where δ q i,max is the maximum displacement of joint i on one iteration. This step is carried out only if a joint displacement δ q i is higher than δ q i,max . The test of admissibility with respect to the constraints is performed through

J C δ q ≤ l ( 7
)
where l is the concatenation of the maximum instantaneous displacements. In order to increase the validity of the solutions, the scaling is extended to all the solutions

δ q ← δ q min 0≤i≤m (J C δ q) i >0 l i (J C δ q) i ( 8
)
The scaling is done only if Eq. ( 7) is not verified. This step enables to obtain an admissible solution for each constraints combination in J c . Actually, as all the constraints are in the form of Eq. ( 7), the solutions space is convex and contains the null solution (no motion). So, in every direction of the joint displacement space, there exists an admissible solution, which norm is null in the worst case. This method enables to get as close as possible to the constraints if there is a persistent demand in that way. The general algorithm of a control iteration is given by Algorithm 1.

Algorithm 1 : CCC

J C ← constraints under the active avoidance threshold δ q comb ← 0 rad; δ q ← 0 rad Err comb ← 0 m; Err ← 1 m; ε ← 10 -2 m; for all Lines Combinations J CC in J C do δ q comb Computation -Eq. ( 5) Admissibility Test -Eq. ( 7) Scaling -Eq. ( 8) Err comb ← ||Jδ q -δ x T || if Err comb ≤ Err then Err ← Err comb ; δ q ← δ q comb if Err ≤ ε then break end if end if end for send δ q

Implementation and Comparative results

This section presents the results of control laws A, B and CCC on two missions in the same environment. The proposed environment is composed of a column and a wall; the manipulator has 7 DOFs, all the links being 1 DOF rotational joints. The environment and the manipulator are represented on Figure 2. The presented experi-Fig. 2 Views of the environment and the two trajectories to track; manipulator schemes. ments simulate two inspection missions involving trajectories close to the obstacles. For each mission, the manipulator must track a 3 coordinates trajectory: it is assumed that the effector (camera) has the orientation DOFs needed to observe the points to be inspected. For the sake of simplicity, the results presented here do not integrate joint boundaries avoidance even though the proposed framework can deal with this type of constraint without any specific difficulty.

• Mission 1: Go around the wall by the left side. The environment is barely constrained in that area, the manipulator tracks a trajectory (traj 1 , in Figure 2) of 330 points on a single way of 3.50 m, so a displacement of 1.1 cm is expected for each iteration. The mission is feasible, i.e. the number of DOFs of the manipulator enables to fulfill the mission while avoiding the constraints. • Mission 2: Reach a point behind the wall. The trajectory (traj 2 , in Figure 2) has 560 points, for a go and come back trajectory (getting out of a very constrained configuration can be a problem). The total distance is 5.20 m long, so the expected displacement is 0.9 cm at each iteration. The mission is not feasible as the manipulator is not long enough to reach the furthest point.

Implementation

The implementation is done in C++, and uses KDL (see [START_REF] Bruyninckx | Open Robot Control Software: the OROCOS project[END_REF]) and Boost::ublas2 libraries. We detail the following implementation elements:

• Desired displacement δ x T : difference between the current position and the current trajectory point.

• Pseudoinversion: in the control law Eq. ( 5), in order to avoid inversion problems in the neighborhood of singularities, the pseudoinversions with exponent # are done using the Damped Least Square (DLS) method (see [START_REF] Nakamura | Inverse kinematics solutions with singularity robustness for robot manipulator control[END_REF]), where the damping factor λ is chosen as 0.50. A common way of computing P J is given by P J = (I -J # J); in practice, the DLS method induces an error that distorts the projection, making the influence of lower priority objectives on upper priority objectives possible, which is not acceptable in our case. A safe way to compute P J can be obtained directly from the SVD of J which provides an access to the projector on the kernel of J without requiring its inversion (as mentionned in [START_REF] Salaun | Control of Redundant Robots Using Learned Models: An Operational Space Control Approach[END_REF]). For the same reasons, a product (J a P J b ) # is always pre-multiplicated by P J b . • Active avoidance : for control laws A and B, the active avoidance threshold is fixed to 15 cm, the gains are proportional (factor 2.5 10 -3 ) to the inverse of the distance to the constraint. For the CCC, the active avoidance is fixed to 4 cm, the gains are the same than for control laws A and B but the maximum value of the avoidance magnitude δ x C is fixed to 0.25 (distance of 1 cm between the manipulator closest point and the obstacle). • Distance computation : the distance computation is provided by the collision detection package SWIFT++ 3 . The information given by SWIFT++ is, for each segment, the point of the segment that is the closest to the obstacle. The approach that consists in constraining only the closest point to the obstacle (based on [START_REF] Maciejewski | Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments[END_REF] for the whole manipulator and on [START_REF] Faverjon | A Local Based Approach for Path Planning of Manipulators With a High Number of Degrees of Freedom[END_REF] for convex segments) is valid in continuous time. In discrete time, progressive displacements can violate constraints because of segment rotations. To our knowledge, no work has been carried out on that topic; a contribution of Kanehiro and al. in [START_REF] Kanehiro | A Local Collision Avoidance Method for Non-strictly Convex Polyhedra[END_REF] deals with not strictly convex segments, in which the problems are similar to those encountered when getting from continuous to discrete time. To avoid the effects of this phenomenon, an envelope of 2 cm has been added around the environment. • Joint instantaneous displacement limit : δ q max has been fixed to 0.02 rad.

Results and Analysis

Figures 3 and4 present the results obtained on the 2 missions with control laws A, B and CCC. The computation times are given comparatively as they depend on the implementation and computing power.

• Mission 1: Go around the wall by the left side.

-Control law A. As the behavior is identical to the CCC on mission 1 (see 2.2), it is not represented on Figure 3. -Control law B. The operational position mean error is 3.5 cm, the tracking is not optimal especially at the end where the effector gets close to the wall: oscillations are generated due to the thresholds (observable on both graphs) and the operational error grows up to 13.1 cm. -Control law CCC. The behavior is identical to control law A: as there is no collisions when tracking the path with active avoidance at a lower level, the passive avoidance is not used and the manipulator has the same tracking error along the trajectory (operational position error inferior to 2.6 cm).

• Mission 2: Join a point behind the wall.

-Control law A. The operational position mean error is 3.8 cm and reaches 35 cm on peaks. When the situation gets overconstrained, collisions occur (the distances to the obstacle reach 0 for DOFS 4, 5 and 7) as it is not possible to satisfy tasks and constraints; the peaks on the operational positions comes from avoidance terms tending to infinity. -Control law B. The oscillation phenomenon is higher than for mission 1 and the manipulator remains far from the path (operational position mean error 22.8 cm, max error 59.4 cm) -Control law CCC. When the manipulator comes close to the environment (enveloppe distance: 2 cm), the passive avoidance clamps the directions to the obstacles (point A, B, C and D on the first column graph) and the concerned segments moves along the orthogonal directions. When the manipulator seems completely stuck (point E on the second column graph), the scaling step enables little displacements to track as much as possible the desired displacements. Finally, when the direction is inversed (point F on the 3rd column graph), the manipulator is able to get away from the constraints directly. The computation time grows up 6.7 times w.r.t. the ones obtained with control law A on mission 1.

Conclusion and Perspectives

The CCC is an iterative control method that solves the hierarchical multi-objective control problem while satisfying any number of fixed constraints: obstacles, joint boundaries, joints velocity limits. The passive avoidance principle and the solutions scaling enables to overcome the drawbacks of active avoidance at the top (optimality loss, oscillations) or at the bottom (constraints violation, infinite terms) of the hierarchy, while ensuring a computation time low enough to consider its use in real time on classical manipulators.

The CCC performances can be compared to the one obtained with convex optimization algorithms (even if the latter cannot ensure strict priorities between the hierarchy levels). As an example, the algorithm QuadProg++4 satisfies the constraints with a maximum computation time of 3 times the one of control law A. Nevertheless, the insufficiency of the avoidance method (see section 3.1) added to the algorithm trend to run along the constraints make the manipulator not able to get away of the most constrained configuration: it does not track the second part of the trajectory.

The work perspective includes:

• The continuity can be handled by including the limits of joint acceleration constraints but they introduce incompatibilities with obstacles and joint position limits; the use of virtual constraints (dampers) is under evaluation. • Locally, the constraints combination choice can be guided by the constraints criticity or by favouring combinations retained for previous iterations, etc. • In a more global scope, this choice can be adapted to the missions and it can depend on the parts of the robot: active avoidance for better motion capabilities, passive avoidance to work close to the constraints.

Fig. 1

 1 Fig. 1 Tunnel Boring Machine: manipulator in the excavation room.

Fig. 3 Fig. 4

 34 Fig. 3 Mission 1 results. Graphs of line 1 are obtained with control B, line 2 with control CCC

In a practical aspect, J CC (resp. δ x CC ) can be replaced by J C (resp. δ x C , desired operational avoidance displacement associated to J C ) in Eq. (5) without any consequence on the result.

http://www.boost.org/doc/libs/1 41 0/libs/numeric/ublas/doc/index.htm

http://gamma.cs.unc.edu/SWIFT++

http://sourceforge.net/projects/quadprog/

Acknowledgements This work is a part of the TELEMACH project. It is supported by the French National Research Agency (ANR), Interactive Systems and Robotics Program 2007 (PSIROB07).