• Aucun résultat trouvé

Parametric global optimization; application to sailboat robotics

N/A
N/A
Protected

Academic year: 2021

Partager "Parametric global optimization; application to sailboat robotics"

Copied!
115
0
0

Texte intégral

(1)

Parametric global optimization;

application to sailboat robotics

NUMPTA 2013, Italie.

Thuesday, June 18, 2013 L. Jaulin

ENSTA-Brest, LabSTICC.

http://www.ensta-bretagne.fr/jaulin/

(2)

1 Contractors

(3)

The operator C : IRn IRn is a contractor for the equation f (x) = 0, if

C([x]) ⊂ [x] (contractance)

x [x] and f (x) = 0 x ∈ C([x]) (consistence)

(4)

Example. Consider the primitive equation:

x2 = sinx1.

(5)
(6)
(7)

More generally, C : IRn IRn is a contractor if

(i) C([x]) [x] (contractance)

(ii) (a [x],C({a}) = {a}) ⇒ a ∈ C([x]) (consistence) The set associated to C is

set(C) = {a Rn,C({a}) = {a}}.

(8)
(9)
(10)

C is monotonic if [x] [y] ⇒ C([x]) ⊂ C([y]) C is minimal if C([x]) = [[x] ∩ set(C)]

C is idempotent if C (C([x])) = C([x])

C is continuous if C (C([x])) = C([x]).

(11)

Contractor algebra

intersection (C1 ∩ C2) ([x]) def= C1 ([x]) ∩ C2 ([x]) union (C1 ∪ C2) ([x]) def= [C1 ([x]) ∪ C2 ([x])]

composition (C1 ◦ C2) ([x]) def= C1 (C2 ([x])) reiteration C def= C ◦ C ◦ C ◦ . . .

(12)

Dealing with outliers

C = (C1 ∩ C2) ∪ (C2 ∩ C3) ∪ (C1 ∩ C3)

(13)

Contractor on images

The robot with coordinates (x1, x2) is in the water.

(14)
(15)
(16)

Building contractors for equations

Consider the primitive equation

x1 + x2 = x3 with x1 ∈ [x1], x2 ∈ [x2], x3 ∈ [x3].

(17)

We have

x3 = x1 + x2 ⇒ x3 ∈ [x3] ∩ ([x1] + [x2]) // forward x1 = x3 − x2 ⇒ x1 ∈ [x1] ∩ ([x3] − [x2]) // backward x2 = x3 − x1 ⇒ x2 ∈ [x2] ∩ ([x3] − [x1]) // backward

(18)

The contractor associated with x1 + x2 = x3 is thus C

[x1] [x2] [x3]

=

[x1] ∩ ([x3] − [x2]) [x2] ∩ ([x3] − [x1]) [x3] ∩ ([x1] + [x2])

(19)

Forward-backward contractor (HC4 revise)

For the equation

(x1 + x2) · x3 ∈ [1,2] , we have the following contractor:

algorithm C (inout [x1],[x2] ,[x3])

[a] = [x1] + [x2] // a = x1 + x2 [b] = [a] · [x3] // b = a · x3 [b] = [b] ∩ [1,2] // b ∈ [1,2]

[x3] = [x3] ∩ [a][b] // x3 = ab [a] = [a] ∩ [x[b]3] // a = xb

3

[x1] = [x1] ∩ [a] − [x2] // x1 = a − x2 [x2] = [x2] ∩ [a] − [x1] // x2 = a − x1

(20)

2 Solver

(21)

Example 1. Solve the system y = x2

y = √

x.

(22)

We build two contractors C1 : [y] = [y] ∩ [x]2

[x] = [x] ∩ [y] associated to y = x2 C2 : [y] = [y] ∩ [x]

[x] = [x] ∩ [y]2 associated to y = √ x

(23)

Contractor graph

(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)

Note that

C1 is optimal C2 is optimal

C1 ◦ C2 is not optimal (C1 ◦ C2) is optimal.

(34)

Example 2. Consider the system y = 3 sin(x)

y = x x ∈ R, y R.

(35)
(36)
(37)

We converge the largest box [x] such that C1 ([x]) = C2 ([x]) = [x].

(38)

Example 3. Consider the following problem

(C1) : y = x2 (C2) : xy = 1 (C3) : y = −2x + 1

(39)
(40)
(41)
(42)
(43)
(44)
(45)

(C1) ⇒ y ∈ [−∞,∞]2 = [0,∞] (C2) ⇒ x ∈ 1/[0,∞] = [0,∞]

(C3) ⇒ y ∈ [0,∞] ∩ ((−2) .[0,∞] + 1)

= [0,∞] ∩ ([−∞,1]) = [0,1]

x ∈ [0,∞] ∩ (−[0,1]/2 + 1/2) = [0, 12] (C1) ⇒ y ∈ [0,1] ∩ [0,1/2]2 = [0,1/4]

(C2) ⇒ x ∈ [0,1/2] ∩ 1/[0,1/4] = ∅ y ∈ [0,1/4] ∩ 1/∅ = ∅

(46)

3 Redundant system of equations

(47)

Problem

fi (x,yi) = 0,

x Rn, yi [yi] ⊂ Rpi

i ∈ {1, . . . , m}

.

with m ≫ n ≫ 1.

(48)
(49)

4 SLAM

(50)

Show the video

(51)
(52)
(53)

Mine detection with SonarPro

(54)

Loch-Doppler returns the speed robot vr.

vr ˜vr + 0.004 ∗ [−1, 1].˜vr + 0.004 ∗ [−1,1]

(55)

Inertial central (Octans III from IXSEA).

φ θ ψ

φ˜

˜θ ψ˜

+

1.75 × 104.[−1,1]

1.75 × 104.[−1,1]

5.27 × 103.[−1,1]

.

(56)

Six mines have been detected.

i 0 1 2 3 4 5

τ(i) 7054 7092 7374 7748 9038 9688

σ(i) 1 2 1 0 1 5

˜

r(i) 52.42 12.47 54.40 52.68 27.73 26.98

6 7 8 9 10 11

10024 10817 11172 11232 11279 11688

4 3 3 4 5 1

37.90 36.71 37.37 31.03 33.51 15.05

(57)

4.1 Constraints

(58)

t ∈ {6000.0,6000.1,6000.2, . . . , 11999.4}, i ∈ {0,1, . . . ,11},

px(t)

py(t) = 111120 · 0 1

cos ℓy(t) · 180π 0 · ℓx(t) − ℓ0xy(t) − ℓ0y , p(t) = (px(t), py(t), pz(t)),

Rψ(t) =

cos ψ(t) −sinψ(t) 0 sin ψ(t) cos ψ(t) 0

0 0 1

,

Rθ(t) =

cos θ(t) 0 sinθ(t)

0 1 0

−sinθ(t) 0 cosθ(t)

,

(59)

Rϕ(t) =

1 0 0

0 cosϕ(t) −sinϕ(t) 0 sinϕ(t) cosϕ(t)

,

R(t) = Rψ(t) · Rθ(t) · Rϕ(t),

˙

p(t) = R(t) · vr(t),

||m(σ(i)) − p(τ(i))|| = r(i),

RT(τ(i)) · (m(σ(i)) − p(τ(i))) ∈ [0] × [0,∞]×2.

(60)

4.2 GESMI

(61)
(62)
(63)

5 Sailboat robotics

(64)

5.1 Vaimos

(65)

Vaimos (IFREMER and ENSTA)

(66)

The robot satisfies a state equation

˙

x = f (x,u) .

With the controller u = g (x), the robot satisfies an equa- tion of the form

˙

x = f (x) .

(67)

With all uncertainties, the robot satisfies.

˙

x F(x) which is a differential inclusion.

(68)

5.2 Line following

(69)

Controller of a sailboat robot

(70)

Nominal vector field θ

(71)
(72)

Keep close hauled strategy

(73)

5.3 V -stability

(74)

The system

˙

x = f (x)

is Lyapunov-stable (1892) is there exists V (x) 0 such that

V˙ (x) < 0 if x = 0 V (x) = 0 iff x = 0.

(75)

Definition. Consider a differentiable function V (x). The system is V -stable if we have

V˙ (x) < 0 if V (x) ≥ 0.

(76)
(77)

Theorem. If the system x˙ = f (x) is V -stable then (i) ∀x (0),∃t ≥ 0 such that V (x (t)) < 0

(ii) if V (x (t)) < 0 then ∀τ > 0, V (x (t + τ)) < 0.

(78)

Theorem. We have

∂Vx (x).f (x) ≥ 0

V (x) ≥ 0 inconsistent ⇔ x˙ = f (x) is V -stable.

Interval method could easily prove the V -stability.

(79)

Theorem. We have

∂Vx (x) .a 0 a F(x) V (x) 0

inconsistent ⇔ x˙ F (x) is V -stable

(80)

Differential inclusion x˙ F (x) for the sailboat.

V (x) = x22 − rmax2 .

(81)
(82)

5.4 Experimental validation

(83)

Brest

(84)

Brest-Douarnenez. January 17, 2012, 8am

(85)
(86)
(87)
(88)
(89)
(90)
(91)

Middle of Atlantic ocean

350 km made by Vaimos in 53h, September 6-9, 2012.

(92)

Consequence.

It is possible for a sailboat robot to navigate inside a cor- ridor.

Essential, to create circulation rules when robot swarms are considered.

Essential to determine who has to pay in case of accident.

(93)

6 Optimization in robotics

(94)

6.1 Path planning

(95)
(96)

6.2 Control

(97)

A mobile robot is described by

˙

x = f (x,u) y = g (x)

where u Rdimu are the inputs, x Rdimx the state, y Rdimy are the variables to be controlled.

In operating conditions we have x˙ = 0.

(98)

˙

x = v cosθ + p1a cosψ

˙

y = v sinθ + p1a sinψ

θ˙ = ω

˙

v = fs sinδsfpr sinu1p2v

9

˙

ω = fs(p6p7cosδs)pp8fr cosu1p3ω fs = p4asin (θ10− ψ + δs)

fr = p5v sinu1

γ = cos (θ − ψ) + cos (u2)

δs = π − θ + ψ if γ ≤ 0

sign(sin (θ − ψ)).u2 otherwise.

(99)

If dimu > dimy the robot is overactuated.

We then want to maximize some performance criteria h (x).

(100)

In operating conditions (x˙ = 0), the optimization problem is

hˆ (¯y) = max

¯

u,¯x h (x¯) s.t. 0 = f (x¯,u¯)

¯

y = g (x¯).

(101)

Or equivalently

hˆ (¯y) = max

¯

u,¯x v s.t.

0 = f (x¯, u¯)

¯

y = g (x¯) v = h(¯x) with dim v = dimu dimy.

(102)

Often x can be eliminated symbolically:

0 = f (¯x,u¯)

¯

y = g (¯x) v = h ()

dimx + dimu equations dimx + 2 dimu variables

⇔ ψ (v¯,u¯,¯y) = 0 dimu equations 2 dimu variables

(103)

We get

hˆ (¯y) = max

¯

u,v¯ v¯ s.t. ψ (v¯,u¯,y¯) = 0.

(104)

6.3 Resolution

We assume that dimv = 1 (mono-objective case).

(105)

hˆ (y) = max

uRdimu,vRv s.t. ψ (v, u,y) = 0 with dimψ = dimu.

(106)
(107)

We need an inner test to prove that

[v] × [y] ⊂ {(v, y) ,∃u,ψ (v, u,y) = 0}

Svy

.

(108)

6.4 Newton inner test

Given a box [p], we need to be able to prove that

∀p [p],u [u],ψ (u,p) = 0. with dimψ = dimu.

(109)

Parametric interval Newton method

Define

Nψ ([u],[p]) = u ψ

∂u ([u],[p])

1

.[ψ] (u,[p]). We have

Nψ ([u],[p]) ⊂ [u] ⇒ ∀p [p] , ∃!u [u],ψ(u,p) = 0.

(110)

Epsilon inflation

(111)

6.5 Sailboat

(112)

Two inputs: the sail angle u1 and the rudder angle u2. The output is the heading θ.

The variable to be maximized is v.

(113)

The optimization problem is ˆ

v (θ) = max

uR2,vR v

s.t. 0 = sinu1 (cos (θ + u1) − v sinu1) − v sin2 u2 − v 0 = (1 − cosu1) (cos (θ + u1) − v sinu1) − vsin 2u2 2.

(114)
(115)

References.

L. Jaulin (2009), A nonlinear set-membership approach for the localization and map building of an underwater robot using interval constraint propagation, IEEE Transactions on Robotics.

L. Jaulin and F. Le Bars (2012). An interval approach for stability analysis; Application to sailboat robotics. IEEE Transaction on Robotics.

G. Chabert and L. Jaulin (2009), Contractor programming.

Artificial Intelligence. Vol. 173.

Références

Documents relatifs

Key words: interval analysis, outliers, robotis, robust estimation, state.. estimation,

The paper is organized as follows. We shall first present a set membership approach for SLAM in Section II. By taking into account the state equations of the robot and

Usually, most sensors detect reflection from the sensor, so we can find the actual location of the sensor as a non-empty intersection of a subfamily of the family of all the sets S i –

reflective road markings [5]). As for estimation, particle filters are often used [6], [7]. One of their advantage is that they do not rely on explicit data association: only

Benoît Desrochers, Simon Lacroix and Luc Jaulin IROS 2015, Hamburg.. Presentation available

An Interval Approach for Stability Analysis; Application to Sailboat Robotics.. IEEE Transaction on Robotics,

This algorithm uses interval analysis to create a graph which has the same number of connected components as S.. An example coming from robotics is presented to illustrate the

Abstract: In this paper we propose the use of a cheap power led system to support acoustic devices in the localization and formation control tasks for an underwater robotics