Ensemble Control as a Tool for Robot Motion Planning: Uncertainty, - - PowerPoint PPT Presentation

ensemble control as a tool for robot motion planning
SMART_READER_LITE
LIVE PREVIEW

Ensemble Control as a Tool for Robot Motion Planning: Uncertainty, - - PowerPoint PPT Presentation

Introduction Linear example Nonlinear example Conclusion Ensemble Control as a Tool for Robot Motion Planning: Uncertainty, Optimality, and Complexity Timothy Bretl (w/ Aaron Becker) University of Illinois at Urbana-Champaign IEEE ICRA


slide-1
SLIDE 1

Introduction Linear example Nonlinear example Conclusion

Ensemble Control as a Tool for Robot Motion Planning:

Uncertainty, Optimality, and Complexity

Timothy Bretl (w/ Aaron Becker) University of Illinois at Urbana-Champaign IEEE ICRA Workshop on Uncertainty in Automation May 9, 2011

tbretl@illinois.edu Ensemble control for robot motion planning 1/ 32

slide-2
SLIDE 2

Introduction Linear example Nonlinear example Conclusion Problem Message

Outline

1

Introduction Problem Message

2

Linear example

3

Nonlinear example

4

Conclusion

tbretl@illinois.edu Ensemble control for robot motion planning 2/ 32

slide-3
SLIDE 3

Introduction Linear example Nonlinear example Conclusion Problem Message

Motion planning

Find u : [0, tf ] → U ⊂ Rm x : [0, tf ] → X ⊂ Rn satisfying ˙ x(t) = f (t, x(t), u(t)) x(0) = xstart x(tf ) = xgoal for free final time tf

tbretl@illinois.edu Ensemble control for robot motion planning 3/ 32

slide-4
SLIDE 4

Introduction Linear example Nonlinear example Conclusion Problem Message

Motion planning under bounded uncertainty

Find u : [0, tf ] → U ⊂ Rm x : [0, tf ] → X ⊂ Rn satisfying ˙ x(t) = f (t, x(t), u(t), ǫ) x(0) = xstart x(tf ) = xgoal for free final time tf , despite bounded uncertainty ǫ ∈ [1 − δ, 1 + δ]

tbretl@illinois.edu Ensemble control for robot motion planning 4/ 32

slide-5
SLIDE 5

Introduction Linear example Nonlinear example Conclusion Problem Message

Motion planning as ensemble control

Find u : [0, tf ] → U ⊂ Rm x : [0, tf ] × [1 − δ, 1 + δ] → X ⊂ Rn satisfying ˙ x(t, ǫ) = f (t, x(t, ǫ), u(t), ǫ) x(0, ǫ) = xstart x(tf , ǫ) = xgoal for free final time tf and for all ǫ ∈ [1 − δ, 1 + δ]

tbretl@illinois.edu Ensemble control for robot motion planning 5/ 32

slide-6
SLIDE 6

Introduction Linear example Nonlinear example Conclusion Problem Message

Take-away message

Ensemble control theory is a useful way to deal with bounded uncertainty in dynamical systems. To steer one system with an uncertain parameter, we pretend to steer a continuous ensemble of systems, each with a particular value of that parameter. In the examples we will consider, this approach costs us nothing in terms of computational complexity.

tbretl@illinois.edu Ensemble control for robot motion planning 6/ 32

slide-7
SLIDE 7

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Outline

1

Introduction

2

Linear example Model Analysis Results

3

Nonlinear example

4

Conclusion

tbretl@illinois.edu Ensemble control for robot motion planning 7/ 32

slide-8
SLIDE 8

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

A driven harmonic oscillator

  • This system is linear and has the form

˙ x = 1 −ǫ

  • x +

ǫ

  • u

= Ax + Bu, where (x1, x2) = (y, ˙ y), u = d, and ǫ = k/m.

  • For known ǫ, this system is controllable because
  • AB

B

  • =

ǫ ǫ

  • is full rank.

m k d y

tbretl@illinois.edu Ensemble control for robot motion planning 8/ 32

slide-9
SLIDE 9

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Ensemble controllability

  • For unknown ǫ, consider the lifted system

˙ x(t, ǫ) = 1 −ǫ

  • x(t, ǫ) +

ǫ

  • u(t)

= A(ǫ)x(t, ǫ) + B(ǫ)u(t).

  • For any integer k ≥ 0, we have
  • A2k+1B

A2kB

  • =

ǫk+1 ǫk+1

  • .
  • So, we can approximate any desired movement direction by a

polynomial in ǫ, with error vanishing in k: f (ǫ) ≈

k−1

  • i=0

ǫi

  • ai

1

  • + bi

1

  • tbretl@illinois.edu

Ensemble control for robot motion planning 9/ 32

slide-10
SLIDE 10

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control by piecewise-constant inputs (1/2)

  • A discrete-time model is

xd(i + 1, ǫ) = eA(ǫ)Txd(i, ǫ) + T eAsBds

  • ud(i)

= Ad(ǫ)xd(i, ǫ) + Bd(ǫ)ud(i)

  • If xd(0, ǫ) = 0 then

xd(2k, ǫ) =

2k

  • i=0

Ai

d(ǫ)Bd(ǫ)ud(2k − i)

  • This can be approximated by the series expansion

xd(2k, ǫ) ≈

k−1

  • i=0

1 i! ∂ixd(2k, ǫ) ∂ǫi

  • ǫ=1
  • (ǫ − 1)i

tbretl@illinois.edu Ensemble control for robot motion planning 10/ 32

slide-11
SLIDE 11

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control by piecewise-constant inputs (2/2)

  • The result has the form

xd(2k, ǫ) =

k

  • i=1

ri si

  • (ǫ − 1)i−1 + O
  • |ǫ − 1|k

where r, s ∈ Rk are linear in ud ∈ R2k

  • To achieve (x1, x2) with error of order k in |ǫ − 1|:

r =      x1 . . .      , s =      x2 . . .     

  • The solution (2k linear equations in 2k variables) has the form

ud = K1x1 + K2x2 for matrices K1 and K2 that can be precomputed

tbretl@illinois.edu Ensemble control for robot motion planning 11/ 32

slide-12
SLIDE 12

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Example results in simulation

tbretl@illinois.edu Ensemble control for robot motion planning 12/ 32

slide-13
SLIDE 13

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Outline

1

Introduction

2

Linear example

3

Nonlinear example Model Analysis Results

4

Conclusion

tbretl@illinois.edu Ensemble control for robot motion planning 13/ 32

slide-14
SLIDE 14

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

A differential drive robot with uncertain wheel radius

ǫ = 0.8 ǫ = 0.83 ǫ = 1.0 ǫ = 1.2

For a fixed wheel separation, inputs scale with wheel radius ǫr = wheel radius b = wheel separation v = ǫ r(ωR + ωL) 2

  • = ǫu1

w = ǫ r(ωR − ωL) b

  • = ǫu2

tbretl@illinois.edu Ensemble control for robot motion planning 14/ 32

slide-15
SLIDE 15

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Scratch-drive microrobots with uncertain forward speed

Figure: Donald et al. (2008) Figure: Donald et al. (2006)

  • For a fixed turning

radius, inputs scale with forward speed

tbretl@illinois.edu Ensemble control for robot motion planning 15/ 32

slide-16
SLIDE 16

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Analysis of one robot

  • This system is nonlinear and has the form

˙ x = ǫ   cos x3 sin x3   u1 + ǫ   1   u2 = ǫg1(x)u1 + ǫg2(x)u2

  • For known ǫ > 0, this system is controllable because
  • [ǫg1, ǫg2]

ǫg2 ǫg1

  • =

  ǫ2 sin x3 ǫ cos x3 −ǫ2 cos x3 ǫ sin x3 ǫ   is full rank everywhere

tbretl@illinois.edu Ensemble control for robot motion planning 16/ 32

slide-17
SLIDE 17

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Analysis of an ensemble (1/3)

  • For unknown ǫ, consider the lifted system

˙ x(t, ǫ) = ǫ   cos x3(t, ǫ) sin x3(t, ǫ)   u1(t) + ǫ   1   u2(t) = ǫg1(x(t, ǫ))u1(t) + ǫg2(x(t, ǫ))u2(t)

  • Heading is not controllable, since for all ǫ

x3(t, ǫ) = x3(0, ǫ) + ǫθ(t) where ˙ θ(t) = u2(t)

  • Eliminate heading to get a controllable subsystem:

  ˙ x1(t, ǫ) ˙ x2(t, ǫ) ˙ θ(t)   = ǫ   cos (x3(0, ǫ) + ǫθ(t)) sin (x3(0, ǫ) + ǫθ(t))   u1(t) +   1   u2(t)

tbretl@illinois.edu Ensemble control for robot motion planning 17/ 32

slide-18
SLIDE 18

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Analysis of an ensemble (2/3)

  • Take Lie brackets to find new control vector fields:

[ǫg1, g2] = ǫ ∂g2 ∂q g1 − ∂g1 ∂q g2

  • = −ǫ2

  − sin (x3(0, ǫ) + ǫθ(t)) cos (x3(0, ǫ) + ǫθ(t))   = −ǫ2g3 [[ǫg1, g2] , g2] = −ǫ3g1 [[[ǫg1, g2] , g2] , g2] = −ǫ4g3 . . .

tbretl@illinois.edu Ensemble control for robot motion planning 18/ 32

slide-19
SLIDE 19

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Analysis of an ensemble (3/3)

  • We can approximate any desired movement direction by a

polynomial in ǫ, with error vanishing in k: f (ǫ) ≈ cg2 +

k

  • i=0
  • aiǫ2i+1g1 + biǫ2i+2g3
  • tbretl@illinois.edu

Ensemble control for robot motion planning 19/ 32

slide-20
SLIDE 20

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control with piecewise-constant inputs

u1 u2 ∆t

tbretl@illinois.edu Ensemble control for robot motion planning 20/ 32

slide-21
SLIDE 21

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control with piecewise-constant inputs

(j − 1)φ u1 u2 ∆t 1/λ λ(j − 1)φ

tbretl@illinois.edu Ensemble control for robot motion planning 20/ 32

slide-22
SLIDE 22

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control with piecewise-constant inputs

a′

j

u1 u2 ∆t 1/λ λ(j − 1)φ sign

  • a′

j

  • a′

j

  • tbretl@illinois.edu

Ensemble control for robot motion planning 20/ 32

slide-23
SLIDE 23

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control with piecewise-constant inputs

−2(j − 1)φ u1 u2 ∆t 1/λ λ(j − 1)φ sign

  • a′

j

  • a′

j

  • −1/λ

2λ(j − 1)φ

tbretl@illinois.edu Ensemble control for robot motion planning 20/ 32

slide-24
SLIDE 24

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control with piecewise-constant inputs

b′

j

u1 u2 ∆t 1/λ λ(j − 1)φ sign

  • a′

j

  • a′

j

  • −1/λ

2λ(j − 1)φ sign

  • b′

j

  • b′

j

  • tbretl@illinois.edu

Ensemble control for robot motion planning 20/ 32

slide-25
SLIDE 25

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Control with piecewise-constant inputs

(j − 1)φ u1 u2 ∆t 1/λ λ(j − 1)φ sign

  • a′

j

  • a′

j

  • −1/λ

2λ(j − 1)φ sign

  • b′

j

  • b′

j

  • 1/λ

λ(j − 1)φ

tbretl@illinois.edu Ensemble control for robot motion planning 20/ 32

slide-26
SLIDE 26

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Correspondence with polynomial approximation

  • The result is to achieve

∆x1(ǫ) = (a′

j + b′ j)ǫ cos (ǫ(j − 1)φ)

∆x2(ǫ) = (a′

j − b′ j)ǫ sin (ǫ(j − 1)φ)

∆θ = 0

  • With the input transformation

a′

j = aj + bj−1

2 b′

j = aj − bj−1

2 for freely chosen ak, bk ∈ R, we can write ∆x1(ǫ) = ajǫ cos (ǫ(j − 1)φ) ∆x2(ǫ) = bj−1ǫ sin (ǫ(j − 1)φ) .

tbretl@illinois.edu Ensemble control for robot motion planning 21/ 32

slide-27
SLIDE 27

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Sequence of motion primitives (1/3)

  • For ak+1 = 0, the result after k + 1 primitives is

∆x1(ǫ) =

k

  • j=1

ajǫ cos (ǫ(j − 1)φ) ∆x2(ǫ) =

k

  • j=1

bjǫ sin (ǫjφ)

  • This can be approximated by the series expansions

∆x1(ǫ) ≈

k−1

  • i=0

1 i! ∂i∆x1 ∂ǫi

  • ǫ=1
  • (ǫ − 1)i

∆x2(ǫ) ≈

k−1

  • i=0

1 i! ∂i∆x2 ∂ǫi

  • ǫ=1
  • (ǫ − 1)i

tbretl@illinois.edu Ensemble control for robot motion planning 22/ 32

slide-28
SLIDE 28

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Sequence of motion primitives (2/3)

  • The result has the form

∆x1(ǫ) =

k

  • i=1

ri (ǫ − 1)i−1 + O

  • |ǫ − 1|k

∆x2(ǫ) =

k

  • i=1

si (ǫ − 1)i−1 + O

  • |ǫ − 1|k

where r, s ∈ Rk are linear in a, b ∈ Rk

  • To achieve ∆x1 = ∆x2 = 1 with error of order k in |ǫ − 1|:

r = s =      1 . . .     

tbretl@illinois.edu Ensemble control for robot motion planning 23/ 32

slide-29
SLIDE 29

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Sequence of motion primitives (3/3)

  • Require exactly k + 1 primitives to achieve kth-order error
  • Precompute a, b as 2k linear equations in 2k variables
  • For φ = π/2, this can be done in closed form
  • By linearity, a∆x1 and b∆x2 reach arbitrary ∆x1 and ∆x2
  • “Planning” means computing piecewise-constant inputs

a′ = 1 2 a

  • ∆x1 +

b

  • ∆x2
  • b′ = 1

2 a

  • ∆x1 −

b

  • ∆x2
  • .
  • This approach does not require sampling ǫ

tbretl@illinois.edu Ensemble control for robot motion planning 24/ 32

slide-30
SLIDE 30

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Example results in simulation

tbretl@illinois.edu Ensemble control for robot motion planning 25/ 32

slide-31
SLIDE 31

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Scaled primitives get you everywhere “for free”

tbretl@illinois.edu Ensemble control for robot motion planning 26/ 32

slide-32
SLIDE 32

Introduction Linear example Nonlinear example Conclusion Model Analysis Results

Example results in experiment

tbretl@illinois.edu Ensemble control for robot motion planning 27/ 32

slide-33
SLIDE 33

Introduction Linear example Nonlinear example Conclusion Connections

Outline

1

Introduction

2

Linear example

3

Nonlinear example

4

Conclusion Connections

tbretl@illinois.edu Ensemble control for robot motion planning 28/ 32

slide-34
SLIDE 34

Introduction Linear example Nonlinear example Conclusion Connections

Connections

  • NMR spectroscopy and imaging (Brockett, Khaneja, Li,

Altafini, Beauchard, Coron, Pereira da Silva, Rouchon, etc.)

  • Robust control (Dullerud and Paganini, Singer and Seering,

Fischer and Psiaki, etc.)

  • Sensorless manipulation (Erdmann, Mason, Goldberg, Lynch,

Murphey, Akella, van der Stappen, Moll, etc.)

  • POMDP planning (Hsu, Hutchinson, Roy, Thrun, etc.)
  • Optimal control of micro/nano-robot teams (under review)
  • Control-theoretic approach to manipulation of deformable
  • bjects (in preparation)
  • BMIs based on inverse optimal control

tbretl@illinois.edu Ensemble control for robot motion planning 29/ 32

slide-35
SLIDE 35

Introduction Linear example Nonlinear example Conclusion Connections

Support

  • NSF-CNS-0931871
  • NSF-CMMI-0956362-EAGER
  • NSF-CMMI-0955088-CAREER

tbretl@illinois.edu Ensemble control for robot motion planning 30/ 32

slide-36
SLIDE 36

Introduction Linear example Nonlinear example Conclusion Connections

Questions?

tbretl@illinois.edu Ensemble control for robot motion planning 31/ 32

slide-37
SLIDE 37

Introduction Linear example Nonlinear example Conclusion Connections

Connection to NMR spectroscopy and imaging

  • Need to manipulate an ensemble of ≈ 1023 nuclear spins, each

governed by the Schr¨

  • dinger equation
  • Control input changes the potential energy in the system

Hamiltonian (e.g., by applying electromagnetic pulses)

  • One model is

dx(t, s) dt =

  • A(s) +
  • i

uiBi(s)

  • x(t, s)
  • “s” describes variation in A and Bi from Larmor dispersion (in

natural frequencies), rf inhomogeneity (in strength of the applied radio frequency), and relaxation rates

  • Is it possible to steer from one state to another?

tbretl@illinois.edu Ensemble control for robot motion planning 32/ 32