MOBRO Localisation Slides

106
Mobile Robots Localisation Gaëtan GARCIA École Centrale de Nantes

Transcript of MOBRO Localisation Slides

Page 1: MOBRO Localisation Slides

Mobile RobotsLocalisation

Gaëtan GARCIAÉcole Centrale de Nantes

Page 2: MOBRO Localisation Slides

2Objectives

Understand the general concepts of localization.

Understand the interest of hybrid localization algorithms.

Grasp the basics of the Kalman filter, which is the most common algorithm in localization problems.

Be able to use observability criteria to analyze localization problems.

Page 3: MOBRO Localisation Slides

3Course outline

Chapter I – Introductory material– Definitions– Application examples

Chapter II – Absolute localisation methods Chapter III – Relative localisation methods:

odometry Chapter IV – Example of sequential use of

relative and absolute localisations.

Page 4: MOBRO Localisation Slides

4Course outline

Chapter V – Hybrid localisation method using a Kalman filter

Chapter VI – Localisation and observability

Chapter VII – The GPS system

Page 5: MOBRO Localisation Slides

5Relations with other modules

The kinematic model is the basic model used in localization.

The last part of the course (observability) has relations with non linear systems.

The Kalman Filter has relations with Signal Processing.

But, as a whole, this part of the course is fairly independant from the rest.

Page 6: MOBRO Localisation Slides

Chapter I

Introductory material

Page 7: MOBRO Localisation Slides

7

Mobile robot - Functional diagram

Localisation/mapping

Planning

ControlPerception

A prioriknowledge

Mission

« Position », map

Desiredtrajectories

En

vironmentExteroceptivedata

Proprioceptivedata

Position,speed,

actuatortorques

Distances, anglesObstacle positions ...

Speed,accel...

« Position »

Page 8: MOBRO Localisation Slides

Definitions

Pose of a solid: its position and orientation in 3D, characterized by 6 independent parameters.

Localisation: determination of some or all variables of the pose (usually only those necessary to execute a given task).

Several ways to represent the pose. Not always 6 dof to determine: for example

localisation in 2D.

Page 9: MOBRO Localisation Slides

The classical frames

Page 10: MOBRO Localisation Slides

Classes of localisation Static localisation: the vehicle is

motionless while sensor data necessary for localisation is read and processed.

Dynamic localisation: the vehicle moves while the sensor data is read and processed.

Quasi-static localisation: the vehicle does move but while sensor data are read and processed, but the motion is negligible.(always check the hypothesis).

Page 11: MOBRO Localisation Slides

Other classes of localisation Relative localisation: performed wrt the

(known) initial location– sensor data allows to calculate elementary

displacements of the vehicule, which are integrated.

– Uses proprioceptive sensors (encoders, accelerometers, gyrometers, Doppler radars...)

Absolute localisation: performed wrt a fixed frame in the environment.

– Uses exteroceptive sensors (goniometers, range finders...).

Page 12: MOBRO Localisation Slides

Absolute localisation: characteristics

Localisation wrt environment. Frequency of sensor readings often low. Sensor data availability often asynchronous

(sometimes due to vehicule motion). Data processing sometimes creates time

delays (e.g. Vision). Number of external measurements can vary

(e.g. loss of a GPS satellite). Precision varies with the number of beacons

and their position.

Page 13: MOBRO Localisation Slides

Relative localisation: characteristics

No reference to environment, and hence always available (e.g. even in the fog for the sailor).

Possibility to use high frequencies. Possibility to use a constant calculation

period. Processing time of data usually short. Precision degrades with time or traveled

distance.

Page 14: MOBRO Localisation Slides

The (old) sailor method:relative and absolute localisations

Initialposition

Real path

t0

Estimatedpath

tkN

t1 vi

µi

sensors:log + compass(+ map of currents)

¸1

¸2

Page 15: MOBRO Localisation Slides

Hybrid localisation: intermixing absolute and relative

Idea: associate external and internal sensors. Goal: Retain advantages of absolute and relative

localisations, which are complementary.begin Calculate initial location loop (fast) Read internal sensors (e.g. Encoders) Calculate relative localisation if external sensor data available then Update estimated location endif endloopend

Page 16: MOBRO Localisation Slides

Chapter II

Absolute localisation methods

Page 17: MOBRO Localisation Slides

The surveyor's problem

Localisation of a point from two known ones.

®2®1

Known point

Knknown point

A B

P

®1 (resp. ®

2) is measured by setting a goniometer above A

(resp. B) and measuring the angular separation between A (resp. B) and P.

How to calculate the position of P ?

Page 18: MOBRO Localisation Slides

The surveyor's method

x

y

dBaseline (known)

®2®1

b1 b2

Known point

Unknown point

Page 19: MOBRO Localisation Slides

Precision of the surveyor's method

the measurement vector (inputs)

the covariance matrix of M

the position vector of point P

NB : This method is general.

Page 20: MOBRO Localisation Slides

Things to remember

It is often possible to simplify calculations by choosing a convenient local frame.

In the case of goniometric systems, it is often useful to use distances as intermediate variables.

By linearizing an input-output relation, it is possible to calculate the covariance matrix of the errors on output variables as a function of the covariance matrix of input variables.

Page 21: MOBRO Localisation Slides

System:

Localisation usingdistances to known points

Known point

Unknown point

2nd solutionwith twomeasures

Page 22: MOBRO Localisation Slides

2D static localisation usingazimuth angles

beacons

azimuth angles

Unknownrobotposture

Page 23: MOBRO Localisation Slides

How to calculate the posture

Beacon coordinates in robot frame Rm

:

Inter-beacon distances are invariant (3 equations):

Note: the use of distances as intermediate variables yields a simpler system (try with (x,y,µ) if you're not convinced)

• Find b1, b2 and b3.• Deduce beacon coordinates in Rm.• Calculate mTb.• Calculate 0Tm.

Page 24: MOBRO Localisation Slides

6D static localisation usingazimuth and elevation angles

Problem: knowing ¸1, ¾1, ¸2, ¾2, ¸3, ¾3, calculate the positionand attitude of the sensor frame RS for know beacon positions B1, B2, B3.

Page 25: MOBRO Localisation Slides

A possible implementation

CCD

rotation axisBeacon(knownposition)

elevation

optic axis

encoder

¸azimuth

¾

¾

Page 26: MOBRO Localisation Slides

How to calculatethe position and attitude

Beacon coordinates in robot frame Rm:

Inter-beacon distances:

Then b1, b2, b3 yield 0Tm

as in the 2D case.

Using the intermediate variables allows to solvea nonlinear system with only 3 unknowns instead of 6!

Page 27: MOBRO Localisation Slides

Dynamic localisationby a deterministic method

Goal: localise the robot while it moves, with the beaconsdetected at different locations.Requires: hypotheses on the motion.

O

t r a j e c t o i r e

B

B T C iO T B

C i

M i

C i T M i

O T M i

( c o n n u e ) ( c a l c u l é e )

( t r a n s l a t i o n  c o n s t a n t e  

c o n n u e )

( r é s u l t a t   f i n a l )

(known) (calculated)

trajectory

(constantknowntranslation)

(final result)

Page 28: MOBRO Localisation Slides

The measurementsin the dynamic case

The graph corresponds to a straight line motion between measurement instants t0, ti, tj.

Page 29: MOBRO Localisation Slides

The simplest hypotheses

Locally:– The rolling surface is approximated by a plane.– The motion is a straight line at constant speed.

– The speed is parallel to axis xm.

Consequences:– Seven unknowns: position + attitude + speed.– The hypotheses must be satisfied during the

time needed to detect a sufficient number of beacons to determine the seven unknowns.

Page 30: MOBRO Localisation Slides

How to solve

It is necessary to detect four beacons (one of three beacons seen twice at different locations)

Similar to previous cases:– Write beacon coordinates in sensor frame

corresponding to time t0 (first beacon detection).

– Write dij2 (there are more than necessary).

– Solve in the least squares sense.

– Determine position and attitude at time t0 plus speed.

Page 31: MOBRO Localisation Slides

What are the problems? If the model of vehicle motion is very

simple, it may not correspond to reality.

If the model is more general, the number of unknowns grows. Hence, the model must be valid for a longer time period (detecting more beacons is necessary to obtain more equations).

In any case, the need for a motion model limits the motion dynamics that can be handled by the system.

Page 32: MOBRO Localisation Slides

Chapter III

A relative localisation method:odometry

Page 33: MOBRO Localisation Slides

Recall: Kinematic modelof a (2,0) type robot

Under pure rolling hypothesis(see kinematic modelling course):

Page 34: MOBRO Localisation Slides

Model under discrete formEquations of odometry

Beware: there are several forms for the equations of odometry (first order equivalence).

Page 35: MOBRO Localisation Slides

Alternate forms

Page 36: MOBRO Localisation Slides

Posture errors in robot frame

xestexey

Preal

Pest

eµ : heading error

ex : longitudinal error

ey : lateral errorInterpretation in the case of small eµ:

yest

Page 37: MOBRO Localisation Slides

Posture errors in robot frame

Page 38: MOBRO Localisation Slides

Reference trajectory

0 1 2 3 4 5 6 7­ 1

­ 0 . 8

­ 0 . 6

­ 0 . 4

­ 0 . 2

0

0 . 2

0 . 4

0 . 6

0 . 8

1x R e f   a n d   y R e f

t   ( s )

xRef

, yR

ef (m

)

­ 1 ­ 0 . 5 0 0 . 5 1

­ 0 . 8

­ 0 . 6

­ 0 . 4

­ 0 . 2

0

0 . 2

0 . 4

0 . 6

0 . 8

x   ( m )

y (m

)

Real robot path x(t) and y(t)

Initial location

• The real trajectory is always the circle: imagine that something forces the robot to follow the circle at a constant speed.• The various estimated trajectories will be different.

Page 39: MOBRO Localisation Slides

Odometry in a near-perfect world

No model errors. High sampling rate. High encoder resolution

x (m)

e µ (

°)

y (m

)e x

(m

)

e y (

m)

t (s)

t (s)

t (s)

­ 1 ­ 0 . 5 0 0 . 5 1

­ 0 . 5

0

0 . 5

1

0 2 4 6 80

0 . 0 0 5

0 . 0 1

0 2 4 6 8­ 1 0

­ 5

0

5x   1 0

­ 3

0 2 4 6 8­ 1

­ 0 . 5

0

0 . 5

1x   1 0

­ 3

Page 40: MOBRO Localisation Slides

Odometry with a wheel radius error

+1% wheel radius error (right wheel) is already a severe error !

x (m)

e µ (

°)

y (m

)e x

(m

)

e y (

m)

t (s)

t (s)

t (s)

­ 1 ­ 0 . 5 0 0 . 5 1

­ 0 . 5

0

0 . 5

0 2 4 6 8­ 0 . 2

­ 0 . 1 5

­ 0 . 1

­ 0 . 0 5

0

0 2 4 6 8­ 0 . 0 6

­ 0 . 0 4

­ 0 . 0 2

0

0 . 0 2

0 2 4 6 8­ 1 5

­ 1 0

­ 5

0

Page 41: MOBRO Localisation Slides

Odometry with a wheelbase error

5 mm / 400 mm error on wheelbase. Similar problems.

x (m)

e µ (

°)

y (m

)e x

(m

)

e y (

m)

t (s)

t (s)

t (s)

­ 1 ­ 0 . 5 0 0 . 5 1­ 1

­ 0 . 5

0

0 . 5

1

0 2 4 6 80

0 . 0 2

0 . 0 4

0 . 0 6

0 . 0 8

0 2 4 6 8­ 0 . 0 1

0

0 . 0 1

0 . 0 2

0 . 0 3

0 2 4 6 80

1

2

3

4

5

Page 42: MOBRO Localisation Slides

Odometry: low resolution encoders

Low resolution encoders (here 100 dots per revolution)generate small errors compared to geometrical model errors

x (m)

e µ (

°)

y (m

)e x

(m

)

e y (

m)

t (s)

t (s)

t (s)

­ 1 ­ 0 . 5 0 0 . 5 1

­ 0 . 5

0

0 . 5

1

0 2 4 6 80

0 . 0 0 5

0 . 0 1

0 2 4 6 8­ 2

­ 1

0

1

2x   1 0

­ 3

0 2 4 6 8­ 1

­ 0 . 5

0

0 . 5

1

Page 43: MOBRO Localisation Slides

Odometry: low sampling rate

Odometry can do with low sampling rates (here 50 Hz).And calculations are simple.

x (m)

e µ (

°)

y (m

)e x

(m

)

e y (

m)

t (s)

t (s)

t (s)

­ 1 ­ 0 . 5 0 0 . 5 1

­ 0 . 5

0

0 . 5

1

0 2 4 6 80

0 . 0 0 5

0 . 0 1

0 . 0 1 5

0 . 0 2

0 2 4 6 8­ 0 . 0 1

­ 0 . 0 0 5

0

0 . 0 0 5

0 . 0 1

0 2 4 6 8­ 0 . 0 1

­ 0 . 0 0 5

0

0 . 0 0 5

0 . 0 1

Page 44: MOBRO Localisation Slides

Speed estimation:high resolution decreases noise

A higher resolution (1000 dots in green, 100 in red) reduces noise on speed estimate by numerical difference. Useful if you use speed estimation in your control for example.

0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 16

7

8

9

1 0

1 1

1 2

1 3

Actual speed

Estimated speed(100 dots)

Estimated speed(1000 dots)

(

rd/s

)

t (s)

Page 45: MOBRO Localisation Slides

Speed estimation:high sampling rate increases noise

A higher sampling rate (1000 Hz in red, 100 Hz in green) increases noise on speed estimate by numerical difference.

Actual speed

Estimated speed(1000 Hz)

Estimated speed(100 Hz)

0 0 . 0 1 0 . 0 2 0 . 0 3 0 . 0 4 0 . 0 5 0 . 0 6 0 . 0 7 0 . 0 8 0 . 0 9 0 . 16

7

8

9

1 0

1 1

1 2

1 3

(

rd/s

)

t (s)

Page 46: MOBRO Localisation Slides

Classes of odometry errors Systematic errors:

– Wheel radius and wheelbase errors– Misalignment of wheels– Finite resolution and sampling rate

Non systematic errors:– Uneven floor (including unexpected objects)– Wheel slippage due to:

• Slippery floor• Overacceleration and fast turning (skidding).• External forces / internal forces (castor wheels)• Non-point wheel-to-floor contact.

Page 47: MOBRO Localisation Slides

Relative importance of errors

Systematic errors:– They are very serious because their effects

accumulate over time.– Usually dominant on smooth indoor surfaces.

Non systematic errors:– Dominate on rough, irregular terrains.– Difficult to handle because unexpected.– Can cause complete failure of error evolution

models based on statistical worst case analysis (for example used to empirically determine inter-landmark distances).

Page 48: MOBRO Localisation Slides

Unidirectional square-path test

• Use distances fromthree robot points to the wall to measure actual position.

• Compare odometry estimated position to actual position for several tests: set of return position errors.

• Do not compare return position to start position (would include controller errors).

error = final position – calculated position

Examples from Borenstein and Feng

Page 49: MOBRO Localisation Slides

Unidirectional square-path test

Two different problems yield the same result...

Page 50: MOBRO Localisation Slides

Unidirectional square-path test • By modifying thewheelbase only, the user obtains a very small final error.

• But there are intermediate errors. Errors compensate in the final position, due to the path being performed in a single direction.

• The unidirectional square-path test is not a good test.

Page 51: MOBRO Localisation Slides

Bidirectional square-path test

• By performing the test in both directions, the previous problem is overcome.

• The errors which compensated in one direction sum up in the other.

•This test imagined by Borenstein & Feng is also called the University of Michigan Benchmark or UMBmark.

Page 52: MOBRO Localisation Slides

Practical considerations

Orientation errors grows faster for vehicules with short wheelbase.

Castor wheels can induce slippage when reversing direction, especially when they bear a large part of the load.

Odometry wheels should be thin and not compressible, which may not be compatible with load bearing. Usually possible for small, lightweight robots with little power.

Page 53: MOBRO Localisation Slides

Odometry with auxiliary wheels

Principle: add a pair of thin, non load bearing auxiliary wheels, typically made of metal with a thin rubber band.

Figure from Borenstein & Feng

Page 54: MOBRO Localisation Slides

The encoder trailerIn some cases, like tracked vehicles, it is extremely difficult to use odometry. The encoder trailer is a solution... if ground allows!

The University of Michigan encoder trailer

Page 55: MOBRO Localisation Slides

The robot « Melody »

Page 56: MOBRO Localisation Slides

Results with Melody

The experiment was conducted on a lawn on uneven, wet terrain. Error 1.15 m for a 26 m path (approx. 4.4 %)with non zero initial error.

7 5 8 0 8 5 9 0 9 5 1 0 09 0

9 5

1 0 0

1 0 5

1 1 0

1 2 0

x ( m )

.

.

.B 1 B 2

B 3

o d o m é t r i es e u l e

f i l t r e 2 D

C h e m i n

y ( m )

1 1 5

120

90

95

100

105

110

115

Path

Odometry

Exact path

y (m)

75 80 85 90 95 100x (m)

B3

B1

B2

Page 57: MOBRO Localisation Slides

Odometry on non planar surfacesPosition and attitude parameters

Comparison with Y, P, R:yaw = pitch = -dc

Interest of dc, dv: directly measurable by inclinometers.

O

X 0

x

Y 0

Z 0

y

z

v

d cd v

d c = g r a d i e n td v = o r t h o g o n a l c r o s s - f a l l

h o r i z o n t a l p l a n e

l e f t - h a n d e do r t h o g o n a l

t r i h e d r o n

Horizontal plane

Left handedorthogonaltrihedron dc

dv

dc: declivitydv: orthogonal cross-fall

State:

w.r.t. x0w.r.t. horizontal plane

Page 58: MOBRO Localisation Slides

Odometry on non planar surfacesInternal sensors setup

Pendularinclinometer

Pendulum

Frame

Viscousfluid

Page 59: MOBRO Localisation Slides

O

X

x

Y

Z

y

z v

r o l l i n g p l a n e b e t w e e n t i m ei n s t a n t s i a n d i + 1

x

z yi + 1

i + 1

i + 1

i + 1

i

i

i

i S

R R

Sa

n

s

Odometry on non planar surfacesProblem: find relations

inclinometer measurements

PrincipleEncoders give U

Zi known → 0TSi known → 0R¼ known → rolling plane ¼→ in this plane, odometric displacement using a 2D model→ projection onto R0 gives ±x, ±y, ±z, ±Ã and hence Zi+1.

Page 60: MOBRO Localisation Slides

Elementary translation:

Odometry on non planar surfaces

Elementary rotation:

Page 61: MOBRO Localisation Slides

Odometry on non planar surfaces

The term is always defined

since

Page 62: MOBRO Localisation Slides

Chapter IV

Example of sequential use ofrelative and absolute localisations

Page 63: MOBRO Localisation Slides

System description

• Magnetic blocks are inserted in the ground at known locations.• The robot is equipped with a linear detector which measures the position of the block wrt the center of the detector, when crossed.

dM

Permanentmagnet

Lineardetector

ym

xme

Page 64: MOBRO Localisation Slides

Principle of operationThe principle of operation is similar to the (old) sailor method.

Between two passages over magnetic stations, the robot uses its wheel encoders for relative localisation.

When it crosses a magnetic station, it calculates its posture relative to the station (and hence its absolute posture) and forgets its previous relative localisation.

Distance between stations depends on odometry performance.

Page 65: MOBRO Localisation Slides

Absolute localisation equations

Rm(t1)

Rm(t2)

¢D

P1(xp1,yp1)

P2(xp2,yp2)xm(t2)

ym(t1) xm(t1)

µrel

Measurement d2 (here > 0)

Measurement d1 (here < 0)

Hypothesis: the robot crosses the station in a straight line motion

M2(x2,y2)

Page 66: MOBRO Localisation Slides

Absolute localisation equations

Robot point above magnetic block 2:

Localisation result:

Page 67: MOBRO Localisation Slides

Localisation resultsy

(m)

Results with right radius error of 10%

x (m)

e µ (

°)

t (s)

e y (

m)

e x (

m)

t (s)

­ 1 ­ 0 . 5 0 0 . 5 1­ 1

­ 0 . 5

0

0 . 5

1

0 2 4 6 8­ 0 . 1

­ 0 . 0 5

0

0 . 0 5

0 . 1

0 2 4 6 8­ 0 . 1 5

­ 0 . 1

­ 0 . 0 5

0

0 . 0 5

0 2 4 6 8­ 1 5

­ 1 0

­ 5

0

5

Page 68: MOBRO Localisation Slides

Further results

Let's switch to an interactivedemo under Matlab...

Page 69: MOBRO Localisation Slides

Chapter V

Hybrid localisation methodusing a Kalman filter

Page 70: MOBRO Localisation Slides

The robot and its sensors

The sensor is a rotating sensor. It detects only one beacon at a time, and not frequently (it is slow).

Its motion between two measurements cannot be neglected.

xm

ym

¸2

B1B2

B3

µ

M

x

y

x0

y0 ql

qr

Page 71: MOBRO Localisation Slides

What do we want to know?

We want to determine the vehicule position and heading X=[x, y, µ]T.

We shall be satisfied with knowing X at discrete time instants: Xk=[xk, yk, µk]t with tk+1-tk=T.

We suppose that X0 is known with a certain precision:Just start motionless and use the method seen in chapter II.

Page 72: MOBRO Localisation Slides

When no beacon is detected

Under a more synthetic form:

Use odometry:

These equations are the standard form of an evolution model.

X is called the state vector.

Page 73: MOBRO Localisation Slides

But these equations are not perfect

A standard way to take into account these imperfectionsis to represent them by an additive noise.

Typically, ®k is characterised by its covariance matrix Q®.

But what to do with Q® ?

What we want: reflect the fact that our confidence in Xdecreases with successive applications of odometry equations without external measurements.

Page 74: MOBRO Localisation Slides

Modelling how precision evolvesduring odometry

Remember: if X and Y are two random vectors witha linear relation between them Y = M.X, then :

Py = M. Px. MT

The relation between Xk+1 and Xk is not linear, but it ispossible to linearize it.Around which point ? Not much choice: around Xk.

Page 75: MOBRO Localisation Slides

The sensor detects a beaconMeasurement: ¸j

The measurement depends on the actual position and heading of the vehicule, in a way we can write explicitly:

What to do with ¸j ? What information does it bear ?

If actual and estimated positions were equal what would we see ?We would measure:

Why not correct X proportionnally to … ?

Page 76: MOBRO Localisation Slides

What terms shouldthe correction include ?

• : the innovation (Yj, size mx1 in the general case)• The quality of the measurements, characterised by Q¯ (mxm)

• The last available estimate: (nx1)

via its supposed quality: (nxn)

• How a small vehicle displacement influences the measurement

around the current estimated position:

(mxn)

Page 77: MOBRO Localisation Slides

The update equations

Covariance matrix of (mxm)

The correction gain should be inversely proportional to this term.

Classical Kalman filter equations:

Page 78: MOBRO Localisation Slides

Comment on update gain

B

The update calculation will not influence state variable x

x

y

Page 79: MOBRO Localisation Slides

Overall algorithmWhat happens at time tk+1

// Prediction phase:

If an external measurement Y has been obtained during last periodthen

// Predict state :

// Calculate linear approx. of system:

// Read sensors and calculate input:

// Propagate error:

// Consider Y corresponds to time // tk+1. Perform estimation phase:

// Calculate gain:

// Update state:

endif

Page 80: MOBRO Localisation Slides

Coherence testConsider the sensor which detects light beacons.What happens if it detects the reflection of a beacon on a window?

It is possible to test the coherence of a measurement by calculatingthe associated Mahalanobis distance:

If d < threshold, the measurement is coherent and can be usedin the estimation phase.

Note that d depends on the beacon (via C). Calculating thevalues of d for each beacon allows to identify which one yieldedthe measurement: no need for signed beacons

Page 81: MOBRO Localisation Slides

Experimental setup

1 . 1 5 0 m

0 . 1 m

0 . 2 8 5 m

S I R E M

A v a n t

Because the sensor is not above point M, the equations used are slightly different from those presented before.

Page 82: MOBRO Localisation Slides

Experimental setup

S M

W h i t e r o p e

L i n e a r c a m e r a t o t r a c k t h e w h i t e r o p e

s e n s o r

C a s t o r w h e e l

• The robot tracks a white rope tightened between know points.

• The points have been precisely localised by surveyors with sub-centimeter accuracy.

c a m é r a

c a m e r a

Page 83: MOBRO Localisation Slides

Sensor characteristics

0.09° in azimuth

0.01° in elevation (not used in 2D localisation)

For a beacon at 40 m, it corresponds to 6.5 cm error in x-y and 8 mm in z.

Slow sensor: 1 revolution in 5 s.

Page 84: MOBRO Localisation Slides

Experimental results

5 0 1 0 0 1 5 0 2 0 0 2 5 0 3 0 0 3 5 0 4 0 0 4 5 0 - 0 . 1

- 0 . 0 8

- 0 . 0 6

- 0 . 0 4

- 0 . 0 2

0

0 . 0 2

0 . 0 4

0 . 0 6

0 . 0 8

t ( s )

( m )

+3syy

curve

-3syy

curve

• The (estimated) ¾ is extracted from the covariance matrix.• The error signal should always be in the +/- 3¾ interval.• The increase of ¾ at the end of the path reflects a less favorable beacon-vehicle configuration.• B2 is sometimes missed at the end: things get worse...

7 5 8 0 8 5 9 0 9 5 1 0 09 0

9 5

1 0 0

1 0 5

1 1 0

1 2 0

x ( m )

.

.

.B 1 B 2

B 3

o d o m é t r i es e u l e

f i l t r e 2 D

C h e m i n

y ( m )

1 1 5

Path

Odometry

Exact pathB2

Page 85: MOBRO Localisation Slides

Experimental results

0 2 0 4 0 6 0 8 0 0

0 . 0 2

0 . 0 4

0 . 0 6

0 . 0 8

0 . 1

N u m b e r o f m e a s u r e m e n t s o n B 1

Mahalanobis distance calculated with B1

when B1 is actually detected

6 0 0 0

8 0 0 0

1 0 0 0 0

1 2 0 0 0

1 4 0 0 0

1 6 0 0 0

1 8 0 0 0

Mahalanobis distances calculated with B2 and B3

when B1 is actually detected

Page 86: MOBRO Localisation Slides

Experimental results

0 1 00

2 0 0 3 0 0 4 0 0 5 0 0 - 0 . 8

- 0 . 6

- 0 . 4

- 0 . 2

0

0 . 2

0 . 4

0 . 6

0 . 8

t ( s )

( d e g )

0 1 00

2 0 0 3 0 0 4 0 0 5 0 0 - 8

- 6

- 4

- 2

0

2

4

6

8

( d e g )

t ( s )

Heading errorHeading error

with corresponding estimated +/- 3¾.

Page 87: MOBRO Localisation Slides

Experimental results

- 0 , 0 3

- 0 , 0 1

0 , 0 1

0 , 0 3

9 6 8 2 . 5 9 1 . 5 8 7 7 8 7 3 . 5 6 9

( m )

E s t i m a t e d X

Y errors are repeatable over three tests along the same path

M

r o l l a n g l e S

1° of roll angle generates 3 cm

lateral error

Page 88: MOBRO Localisation Slides

Experimental results

0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 - 0 . 4

- 0 . 3

- 0 . 2

- 0 . 1

0

0 . 1

0 . 2

f i r s t r e v o l u t i o n 2 n d r e v o l u t i o n

K a l m a n f i l t e r o d o m e t r y

L o c a l i s a t i o n w i t h o u t t a k i n g i n t o a c c o u n t s e n s o r b a c k w a r d s h i f t

( m )

t ( s )

8 0 9 0 1 0 0 9 0

9 5

1 0 0

1 0 5

1 1 0

1 1 5

1 2 0

B 1 B 2

B 3

y ( m )

x ( m )

Tracked path

Page 89: MOBRO Localisation Slides

General equations

Fundamental: The output vector Y must be a function of thestate vector only. Any parameter in the expression of gwhich is not from X must be a known constant.

Page 90: MOBRO Localisation Slides

Exercisexm

ym µ

M

x

y

x0

y0

B1(0,0) B2(d,0)

d1

d2

State : [x,y,µ]T

Write the observation equation.Calculate matrix C of the Kalman filter

Page 91: MOBRO Localisation Slides

Same exercisexm

ym µ

M

x

y

x0

y0

B1(0,0) B2(d,0)

d1d2

a

Page 92: MOBRO Localisation Slides

Chapter VI

Localisation and observability

Page 93: MOBRO Localisation Slides

Notion of observability

Observability: possibility to reconstruct the state x knowing the inputs u and the outputs y of the system.

Questions:– Is state estimation always possible?

– Are there situations when the estimator diverges?

Observability tests help determine the dangerous situations.

Page 94: MOBRO Localisation Slides

Continuous modelof our localisation problem

With three beacons

Page 95: MOBRO Localisation Slides

Generic observabilityof Diop and Fliess

A system is observable if and only if it is possible toexpress the state vector as a function of the input vector, the output vector and their time derivatives.

The system is generically observable if the set of points for which this condition is not satisfied is azero-measure set (or null set).

Note:

Page 96: MOBRO Localisation Slides

Lie derivative

Let g be a differentiable real function, and f a realvector function. The Lie derivative of g with respectto f is the vector field:

The derivatives of the output with respect to time yield:

Page 97: MOBRO Localisation Slides

Observability rank condition

Let the observability matrix O be defined as:

Where is the gradient vector

of real-valued function h with respect to state vector X.

If the matrix O has full rank (n) then the system is observable.

Page 98: MOBRO Localisation Slides

Observabilitywith three beacons

Consider the sub-matrix O1:

Whenever det(O1) is non zero, observability is granted.

With:

det(O1)=0 on the circle (C) which passes through the three(non aligned) beacons. Elsewhere, observability is granted.On the circle, we do not know yet.

¸1

¸2

¸3

B1

B1

B3

xm(C)

Page 99: MOBRO Localisation Slides

Rank condition on the circle

If v =0 then and

Then

Hence if the translational speed is zero,det(O) = det(O1) and rank(O) < 3.

Still, this does not prove that the system is not observable,because the rank condition is a sufficient condition but is not a necessary condition.

Page 100: MOBRO Localisation Slides

Simulationmotionless robot on the circle

0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 - 0 . 6

- 0 . 4

- 0 . 2

0

0 . 2

0 . 4

0 . 6

0 . 8

1

1 . 2 d e g r e e

H e a d i n g e r r o r s t i n s

The estimator does not converge: it cannot drive theinitial error to zero.

Page 101: MOBRO Localisation Slides

Simulation - moving on the circle

After a transient phase, the error curves with and without initial error are « the same ». Precision is not as good as outside the circle.This example illustrates the influence of the input on observability, for a non linear system.

0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 - 0 . 8

- 0 . 6

- 0 . 4

- 0 . 2

0

0 . 2

0 . 4

0 . 6

0 . 8

1 d e g r e e

H e a d i n g E r r o r s

t i n s C o n s t a n t s p e e d = 0 . 2 m / s

Page 102: MOBRO Localisation Slides

System with two beacons

As p < n, observation cannot be obtained using the azimuth angles (outputs) alone. The input (speed and rotation speed) will have to play a part...

If v = 0:

The sufficient condition will never be met if the vehicule does not move. Pretty logical, though. But what if it moves?

Page 103: MOBRO Localisation Slides

Two beacons and moving robotThe analysis of the rank of O becomes complex as higher derivatives need to be used.By studying the determinants of the various square sub-matrices of O with a formal calculation software, we found three potentially dangerous vehicle motions:

¢3

¢2¢1

B1

¢3

B2

Page 104: MOBRO Localisation Slides

Simulations on D1

0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0- 0 . 5

0

0 . 5

1

1 . 5 d e g r e e

H e a d i n g E r r o r s t i n s

W i t h I n i t i a l E r r o r

8 0 . 9 8 1 8 1 . 1 8 1 . 2 8 1 . 3 8 1 . 4 8 1 . 5 8 1 . 6 8 1 . 79 2

9 4

9 6

9 8

1 0 0

1 0 2

1 0 4

1 0 6

1 0 8

e s t i m a t e dp a t h

r e a lp a t h

b e a c o n

When the vehicle moves along ¢1, the observer does not converge.

Remark: our observer converges for other straight line paths through B1, other than ¢1. Other researchers tested a least-square observer which did not converge: observability does not guarantee that a particular observer will converge...

Page 105: MOBRO Localisation Slides

System with one beacon

You didn't expect a miracle, did you?

The system is never observable.

In simulation, the algorithm seems to diverge slower than odometry. After all, some information is better than no information...

Page 106: MOBRO Localisation Slides

Some conclusions

Observability analysis allows to find dangerous situations which are sometimes not easy to suspect intuitively.

Observability is not a « binary » phenomenon. When the vehicle comes close to non observable situations, the precision degrades and numerical problems can appear. So much for zero-measure sets!