aula 5 aula 5 – introdução à robótica móvel … na robótica móvel • modelos de movimento...

78
Aula 5 Aula 5 – Introdução à Robótica Móvel Introdução à Robótica Móvel Lidando com Incertez Lidando com Incertezas as Lidando com Incertez Lidando com Incertezas as Prof. Dr. Prof. Dr. Marcelo Becker Marcelo Becker EESC - USP

Upload: phamkiet

Post on 14-Nov-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Aula 5 Aula 5 –– Introdução à Robótica MóvelIntrodução à Robótica Móvel

Lidando com IncertezLidando com IncertezasasLidando com IncertezLidando com Incertezasas

Prof. Dr.Prof. Dr. Marcelo BeckerMarcelo Becker

EESC - USP

Page 2: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

•• Introdução Introdução às Incertezas às Incertezas

• Incertezas na Robótica Móvel

• Filtros

Sumário da AulaSumário da Aula

• Filtros

• Bibliografia Recomendada

EESC-USP © M. Becker 2009 2/78

Page 3: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Introdução às Incertezas

� Origem� Inexatidão dos equipamentos de medida (bias

uncertainty)� Variações randômicas na medida (precision

uncertainty)uncertainty)

� Em projetos, a estimativa das incertezas deve ser feita num nível de confiabilidade da ordem de 95%

EESC-USP © M. Becker 2009 3/78

Page 4: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Introdução às Incertezas

� Propagação das Incertezas: • A incerteza dos resultados finais depende da

incerteza de cada medida individualmente…

Exemplo:

),( IVPP

PPP

δδδδ

δ

=

±=

III

VVV

IVP

δ

δ

±=

±=

⋅=

EESC-USP © M. Becker 2009 4/78

Page 5: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

),,,( 21 nxxxfR L=

n

nx

Rx

x

Rx

x

RxR

∂++

∂+

∂= δδδδ L

2

2

1

1

Introdução às Incertezas

• Caso Geral:

nxxx ∂∂∂ 21

ix

R

∂: Coeficiente de Sensibilidade de R com relação a xi

ixδ : incerteza de xi

Rδ Pode ser nulo (caso os termos se cancelem…)

EESC-USP © M. Becker 2009 5/78

Page 6: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Caso Geral de Propagação de Incertezas

∑∂

∂=

n

xRx

Rww ixw

Incerteza Máxima:

:incerteza das variáveis

Introdução às Incertezas

∑= ∂

=i i

xRx

wwi

1

2/1

2

1

)(∑=

∂=

n

i i

xRx

Rww

i

Validação: Todas as variáveis medidas devem ser independentes entre si…

ix

Ou: (RSS: root of the sum of the squares)

EESC-USP © M. Becker 2009 6/78

Page 7: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Caso Especial de Propagação de Incertezas:

N

n

baxxCxR K21=

Introdução às Incertezas

2/1

22

2

22

1

1 )()()(

+++

=n

nR

x

wN

x

wb

x

wa

R

wK

• As maiores incertezas tendem a dominar o resultado…

EESC-USP © M. Becker 2009 7/78

Page 8: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Como Estimar Incertezas Aleatórias?

� Assuma que a variável é medida n vezes:n

x

x

n

i

i∑== 1

Introdução às Incertezas

� Calcule o desvio padrão das medidas:

� A incerteza aleatória na média é obtida por uma distribuição t (t-distribution):

2/1

1

2

)1(

)(

−= ∑

=

n

i

ix

n

xxS

n

Stp x

x 2/α±=

EESC-USP © M. Becker 2009 8/78

Page 9: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Student’s t-distribution

2/)1(2

)1)(2

(

)2

1(

),(++Γ

ν

ννπ

ν

νt

tfnS

xt

/

µ−=

Student’s t, degree of freedom ν = n-1

Introdução às Incertezas

� Student’s t, degree of freedom ν = n-1

EESC-USP © M. Becker 2009 9/78

Page 10: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Intervalo de Estimativa para uma população média (n < 30)

ααα −=≤≤− 1][ 2/2/ tttP

αµ αα −=+≤≤− 1][ 2/2/n

Stx

n

StxP

nS

xt

/

µ−=

Introdução às Incertezas

0=t2/αt− 2/αt

2/α=Area2/α=Area

Intervalo de Confidência

2/α=Area

αµ αα −=+≤≤− 1][ 2/2/n

txn

txP

n

Stx 2/αµ ±=

Com nível de Confidência 1-α

EESC-USP © M. Becker 2009 10/78

Page 11: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Student's t-Distribution Table

Introdução às Incertezas

EESC-USP © M. Becker 2009 11/78

Page 12: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Componentes Aleatórios da Incerteza

� No caso em que a média e o desvio padrão são obtidos através de diferentes conjuntos de dados, i.e.:

)(Mxx = )(MSS xx′=

Introdução às Incertezas

xx StpM 2/ :1 α±==

MxxM

i

i∑=

=1

xx

M

MSMtp x

x

)(),1(

′−′±= α

� Como determinar t?

� Se n ≥ 30, 1-α = 95%: t = 2.0

� Se n < 30, 1-α = 95%: use Tabela do slide anterior...

EESC-USP © M. Becker 2009 12/78

Page 13: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Incertezas Sistemáticas: BBxx

� Permanecem constantes se o teste é repetido nas mesmas condições;

� São independentes do tamanho da amostra;� Erros conhecidos que não foram eliminados;

Introdução às Incertezas

� Erros conhecidos que não foram eliminados;� Podem ser estimadas a partir de:

Especificações do fabricante, testes de calibração, modelagem matemática, etc.;

EESC-USP © M. Becker 2009 13/78

Page 14: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Ilustração Gráfica das Incertezas Aleatórias e Sistemáticas

Introdução às Incertezas

População Amostragem

EESC-USP © M. Becker 2009 14/78

Page 15: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Incerteza Total:

� Combinação das incertezas sistemática e aleatória usando RSS:

Introdução às Incertezas

( ) 2/122

xxxPBW +=

( ) 2/122

xxx PBW +=Para uma amostragem

Para múltiplas amostragens

EESC-USP © M. Becker 2009 15/78

Page 16: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

� Prediction:

• Bayes Filters

111 )(),|()( −−−∫= tttttt dxxbelxuxpxbel

Introdução às Incertezas

� Correction:

)()|()( tttt xbelxzpxbel η=

EESC-USP © M. Becker 2009 16/78

Page 17: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

2

2)(

2

1

2

2

1)(

:),(~)(

σ

µ

σπ

σµ

−−

=x

exp

Nxpµ

Introdução às Incertezas• Gaussianas:

2 σπ-σ σ

Variável única

)()(2

1

2/12/

1

)2(

1)(

:)(~)(

µxΣµx

Σx

Σµx

−−− −

=t

ep

,Νp

µµµµ

Multi-variável

EESC-USP © M. Becker 2009 17/78

Page 18: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

),(~),(~ 22

2

σµσµ

abaNYbaXY

NX+⇒

+=

• Propriedades de Gaussianas:

Introdução às Incertezas

),(~ σµ abaNYbaXY

+⇒

+=

+++

+⋅⇒

−− 2

2

2

1

22

2

2

1

2

112

2

2

1

2

2212

222

2

111 1,~)()(

),(~

),(~

σσµ

σσ

σµ

σσ

σ

σµ

σµNXpXp

NX

NX

EESC-USP © M. Becker 2009 18/78

Page 19: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

),(~),(~

TAABANY

BAXY

NXΣ+⇒

+=

Σµ

µ

• Gaussianas Multi-variáveis

Introdução às Incertezas

• Vamos permanecer no “Gaussian world” enquanto pudermos iniciar com Gaussians e for possível realizar apenas transformações lineares.

BAXY +=

Σ+ΣΣ+Σ

Σ+

Σ+Σ

Σ⋅⇒

Σ

Σ−− 1

2

1

1

2

21

11

21

221

222

111 1,~)()(

),(~

),(~µµ

µ

µNXpXp

NX

NX

EESC-USP © M. Becker 2009 19/78

Page 20: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Elipses de Erro:• Como a matriz de covariância de uma

variável aleatória determina o formato da elipse de erro e vice-versa?

Introdução às Incertezas

elipse de erro e vice-versa? – Matriz de Covariância;– Elipse de Erro;– Autovalores;– Coeficiente de Correlação.

[Cortesia de Kai Arras]

EESC-USP © M. Becker 2009 20/78

Page 21: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Matriz de Covariância Elipse de Erro

Introdução às Incertezas

[Cortesia de Kai Arras]

Auto

-valo

res

Coeficiente de Correlação

EESC-USP © M. Becker 2009 21/78

Page 22: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

•• Introdução Introdução às Incertezas às Incertezas

•• Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Filtros

Sumário da AulaSumário da Aula

• Filtros

• Bibliografia Recomendada

EESC-USP © M. Becker 2009 22/78

Page 23: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Movimento de Robôs Móveis– Inerentemente sujeitos a incertezas– Como é possível modelar as incertezas?

EESC-USP © M. Becker 2009 23/78

Page 24: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Rede Dinâmica Bayesiana • Dynamic Bayesian Network

EESC-USP © M. Becker 2009 24/78

Page 25: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Modelos Probabilísticos para Movimento- Para implementar Bayes Filters, é necessário o

modelo de transição p(x | x’, u)

- O termo p(x | x’, u) especifica a probabilidade - O termo p(x | x’, u) especifica a probabilidade posterior que a ação u causa no robô de x a x’

- Como é possível modelar p(x | x’, u) baseado nas equações de movimento...

EESC-USP © M. Becker 2009 25/78

Page 26: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Sistema de Coordenadas- A configuração do robô pode ser descrita por 6

parâmetros: 3 coordenadas cartesianas e 3 ângulos (ângulos de Euler – roll, pitch e yaw ou tilt)tilt)

- Em superfícies planares: (x,y,θ)

EESC-USP © M. Becker 2009 26/78

Page 27: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Modelos de Movimento - Na prática, tem-se 2 tipos de modelos:

• Baseados em odometria (Odometry-based)• Baseados na Velocidade (Velocity-based ou dead

reckoning)

- Modelos do tipo Odometry-based são empregados quando o robô móvel tem encoders nas rodas

- Modelos do tipo Velocity-based são aplicados quando o robô não possui um sistema de odometria• A nova pose (posição e orientação) é baseada nas

velocidades e no intervalo de tempoEESC-USP © M. Becker 2009 27/78

Page 28: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Dead Reckoning

- Originário do “deduced reckoning”- Procedimento matemático para

determinar a posição atual do veículo- O cálculo da pose atual do veículo é

baseado em suas velocidades e no intervalo de tempo

EESC-USP © M. Becker 2009 28/78

Page 29: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Razões para a presença de erros

Caso Ideal Rodas com Diâmetros Diferentes

Obstáculos Carpete, etc...

EESC-USP © M. Becker 2009 29/78

Page 30: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Modelo de Odometria� O robô move-se de para� Informação de Odometria:

EESC-USP © M. Becker 2009 30/78

Page 31: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Modelo de Odometria

EESC-USP © M. Becker 2009 31/78

Page 32: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• A função Atan2– Estende a tangente inversa e acerta os

sinais de x e y

EESC-USP © M. Becker 2009 32/78

Page 33: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Modelo de Ruído em Odometria– A medida de movimento é dada por um

movimento sujeito a ruído

EESC-USP © M. Becker 2009 33/78

Page 34: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Distribuições Típicas para Ruído em OdometriaDistribuição Normal Distribuição Triangular

EESC-USP © M. Becker 2009 34/78

Page 35: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel

• Cálculo da Probabilidade (zero-centered)– Para Distribuição Normal

– Para Distribuição Triangular

EESC-USP © M. Becker 2009 35/78

Page 36: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Cálculo da Probabilidade (dados x, x’, u)

Valores de odometria (u)

Valores de interesse (x , x’)

EESC-USP © M. Becker 2009 36/78

Page 37: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Aplicação

– Aplicação do modelo do sensor para pequenos deslocamentos

– Distribuições típicas com formato de banana (“banana-shaped distributions”) obtidas para a previsão no plano 2D.previsão no plano 2D.

EESC-USP © M. Becker 2009 37/78

Page 38: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Sample-based Density Representation

EESC-USP © M. Becker 2009 38/78

Page 39: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Como?

– Distribuição Normal

– Distribuição Triangular

EESC-USP © M. Becker 2009 39/78

Page 40: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Distribuição Normal (106 Samples)

EESC-USP © M. Becker 2009 40/78

Page 41: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Distribuição Triangular

EESC-USP © M. Becker 2009 41/78

Page 42: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Rejeição do Sampling

– Sampling de distribuições arbitrárias

EESC-USP © M. Becker 2009 42/78

Page 43: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Rejeição do Sampling

– Exemplo: Sampling de

EESC-USP © M. Becker 2009 43/78

Page 44: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Modelo de Movimento baseado em

Sample Odometry

EESC-USP © M. Becker 2009 44/78

Page 45: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Modelo de Movimento baseado em

Sample Odometry

EESC-USP © M. Becker 2009 45/78

Page 46: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Exemplos de Sample Odometry

EESC-USP © M. Becker 2009 46/78

Page 47: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Modelo baseado em Velocidade

EESC-USP © M. Becker 2009 47/78

Page 48: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Equações para o Modelo baseado em

Velocidade:– Centro do círculo:

Com:

EESC-USP © M. Becker 2009 48/78

Page 49: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Cálculo da Probabilidade:

EESC-USP © M. Becker 2009 49/78

Page 50: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Sampling para o Modelo de

Velocidade:

EESC-USP © M. Becker 2009 50/78

Page 51: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Incertezas na Robótica MóvelIncertezas na Robótica Móvel• Exemplos de Sample Velocity:

EESC-USP © M. Becker 2009 51/78

Page 52: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

•• Introdução Introdução às Incertezas às Incertezas

•• Incertezas na Robótica MóvelIncertezas na Robótica Móvel

•• FiltrosFiltros

Sumário da AulaSumário da Aula

•• FiltrosFiltros

• Bibliografia Recomendada

EESC-USP © M. Becker 2009 52/78

Page 53: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Filtro de Filtro de KalmanKalman DiscretoDiscreto

tttttt uBxAx ε++= −1

• Estima o estado x de um processo controlado em tempo

discreto que é governado por uma equação diferencial

linear estocástica (linear stochastic difference equation).

tttttt uBxAx ε++= −1

tttt xCz δ+=

Com a medida:

EESC-USP © M. Becker 2009 53/78

Page 54: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Matriz (n x n) que descreve como o estado evolui

de t a t-1 sem controle ou ruído;tA

Matriz (n x l) que descreve como o controle ut

muda o estado de t a t-1;tB

Filtro de Filtro de KalmanKalman DiscretoDiscreto

Matriz (k x n) que descreve como mapear o estado

xt para uma observação zt.tC

Variáveis aleatórias representando os ruídos do

processo e da medida que são assumidos como

sendo independentes e distribuídas normalmente com covariâncias Rt e Qt respectivamente.

EESC-USP © M. Becker 2009 54/78

Page 55: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Atualização do Atualização do KalmanKalman FilterFilter em 1Dem 1D

Crença Inicial

Medida e Incerteza Associada

Crença após a aplicação

do Filtro de Kalman

EESC-USP © M. Becker 2009 55/78

Page 56: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

1)( com)(

)()( −+ΣΣ=

Σ−=Σ

−+== t

T

ttt

T

ttttttt

tttttt

t QCCCKCKI

CzKxbel

µµµ

2

,

2

2

22 c

)1(

)()(

tobst

tt

ttt

ttttt

t KomK

zKxbel

σσ

σ

σσ

µµµ

+=

−=

−+==

Atualização do Atualização do KalmanKalman FilterFilter em 1Dem 1D

Crença após a aplicação

do Filtro de Kalman

EESC-USP © M. Becker 2009 56/78

Page 57: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

+Σ=Σ

+==

t

T

tttt

ttttt

tRAA

uBAxbel

1

1)(

µµ

+=

+==

2

,

222

1)(

tactttt

ttttt

ta

ubaxbel

σσσ

µµ

Atualização do Atualização do KalmanKalman FilterFilter em 1Dem 1D

+Σ=Σ − ttttt RAA 1

Crença após a aplicação

do Filtro de Kalman Nova Crença após

Movimento para a Direita

EESC-USP © M. Becker 2009 57/78

Page 58: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Crença após a aplicação

do Filtro de KalmanNova Crença após

Movimento para a Direita

Atualização do Atualização do KalmanKalman FilterFilter em 1Dem 1D

Nova Medida e

Incerteza Associada

Nova Crença após a

Aplicação do Filtro de Kalman

EESC-USP © M. Becker 2009 58/78

Page 59: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Sistemas Gaussianos Lineares: Sistemas Gaussianos Lineares: InicializaçãoInicialização

• A crença inicial é uma distribuição normal:

( )0000 ,;)( Σ= µxNxbel

EESC-USP © M. Becker 2009 59/78

Page 60: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• A dinâmica é uma função linear do estado e controle adicionada do ruído:

tttttt uBxAx ε++= −1

Sistemas Gaussianos Lineares: Sistemas Gaussianos Lineares: DinâmicaDinâmica

( )ttttttttt RuBxAxNxuxp ,;),|( 11 += −−

( ) ( )1111

111

,;~,;~

)(),|()(

−−−−

−−−

Σ+

⇓⇓

= ∫

ttttttttt

tttttt

xNRuBxAxN

dxxbelxuxpxbel

µEESC-USP © M. Becker 2009 60/78

Page 61: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

( ) ( )

Σ+

⇓⇓

=

−−−−

−−−∫

ttttttttt

tttttt

xNRuBxAxN

dxxbelxuxpxbel

1111

111

,;~,;~

)(),|()(

µ

Sistemas Gaussianos Lineares: Sistemas Gaussianos Lineares: DinâmicaDinâmica

+Σ=Σ

+==

−Σ−−

−−−−−=

−−−−−−−

−−

−∫

t

T

tttt

ttttt

t

tttt

T

tt

tttttt

T

tttttt

RAA

uBAxbel

dxxx

uBxAxRuBxAxxbel

1

1

111

1

111

1

1

1

)(

)()(2

1exp

)()(2

1exp)(

µµ

µµ

η

EESC-USP © M. Becker 2009 61/78

Page 62: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• As Observações também são funções lineares adicionadas do ruído:

tttt xCz δ+=

( )QxCzNxzp ,;)|( =

Sistemas Gaussianos Lineares: Sistemas Gaussianos Lineares: ObservaçõesObservações

( )tttttt QxCzNxzp ,;)|( =

( ) ( )ttttttt

tttt

xNQxCzN

xbelxzpxbel

Σ

⇓⇓

=

,;~,;~

)()|()(

µ

η

EESC-USP © M. Becker 2009 62/78

Page 63: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

( ) ( )

11

,;~,;~

)()|()(

Σ

⇓⇓

=

ttttttt

tttt

xNQxCzN

xbelxzpxbel

µ

η

Sistemas Gaussianos Lineares: Sistemas Gaussianos Lineares: ObservaçõesObservações

1

11

)(with )(

)()(

)()(2

1exp)()(

2

1exp)(

−−

+ΣΣ=

Σ−=Σ

−+==

−Σ−−

−−−=

t

T

ttt

T

ttttttt

tttttt

t

ttt

T

tttttt

T

tttt

QCCCKCKI

CzKxbel

xxxCzQxCzxbel

µµµ

µµη

EESC-USP © M. Becker 2009 63/78

Page 64: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Algoritmo do Filtro de KalmanAlgoritmo do Filtro de Kalman1. Algorithm Kalman_filter( µt-1, Σt-1, ut, zt):

2. Prediction:3.4.

ttttt uBA += −1µµ

t

T

tttt RAA +Σ=Σ −1

5. Correction:6.7.8.

9. Return µt, Σt

1)( −+ΣΣ= t

T

ttt

T

ttt QCCCK

)( tttttt CzK µµµ −+=

tttt CKI Σ−=Σ )(

EESC-USP © M. Becker 2009 64/78

Page 65: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

CicloCiclo PrediçãoPredição -- CorreçãoCorreção

+Σ=Σ

+==

t

T

tttt

ttttt

tRAA

uBAxbel

1

1)(

µµ

+=

+==

2

,

222

1)(

tactttt

ttttt

ta

ubaxbel

σσσ

µµ

Prediction

EESC-USP © M. Becker 2009 65/78

Page 66: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

CicloCiclo PrediçãoPredição -- CorreçãoCorreção

1)(,

)(

)()(

−+ΣΣ=

Σ−=Σ

−+== t

T

ttt

T

ttttttt

tttttt

t QCCCKCKI

CzKxbel

µµµ

2

,

2

2

22 ,

)1(

)()(

tobst

tt

ttt

ttttt

t KK

zKxbel

σσ

σ

σσ

µµµ

+=

−=

−+==

Correction

EESC-USP © M. Becker 2009 66/78

Page 67: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

2

,)(

)( ttttttK

zKxbel

σµµµ=

−+==

+= − 1 ttttt uba µµ

Prediction

CicloCiclo PrediçãoPredição -- CorreçãoCorreção

1)(,)(

)()( −+ΣΣ=

Σ−=Σ

−+== t

T

ttt

T

ttttttt

tttttt

t QCCCKCKI

CzKxbel

µµµ

2

,

222 ,

)1(

)()(

tobst

tt

ttt

ttttt

t KK

zKxbel

σσ

σ

σσ

µµµ

+=

−=

−+==

+Σ=Σ

+==

t

T

tttt

ttttt

tRAA

uBAxbel

1

1)(

µµ

+=

+==

2

,

222

1)(

tactttt

ttttt

ta

ubaxbel

σσσ

µµ

Correction

EESC-USP © M. Becker 2009 67/78

Page 68: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Sumário sobre Sumário sobre KalmanKalman FilterFilter• Alta Eficiência: medidas (polinômio) de

dimensão k e estado de dimensão n: O(k2.376 + n2)

• Ótimo para Sistemas Gaussianos Lineares!

• A maioria dos Sistemas Robóticos são NÃO LINEARESNÃO LINEARES!

EESC-USP © M. Becker 2009 68/78

Page 69: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Sistemas Dinâmicos NãoSistemas Dinâmicos Não--LinearesLineares• A grande maioria dos problemas mais

realísticos relacionados à robótica são NÃO-LINEARES

),( 1−= ttt xugx

)( tt xhz =

EESC-USP © M. Becker 2009 69/78

Page 70: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Hipótese de Hipótese de LinealizaçãoLinealização

EESC-USP © M. Becker 2009 70/78

Page 71: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

FunçãoFunção NãoNão--LinearLinear

EESC-USP © M. Becker 2009 71/78

Page 72: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

LinealizaçãoLinealização parapara o EKF (o EKF (1)1)

EESC-USP © M. Becker 2009 72/78

Page 73: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

LinealizaçãoLinealização parapara o EKF (2)o EKF (2)

EESC-USP © M. Becker 2009 73/78

Page 74: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

LinealizaçãoLinealização parapara o EKF (3)o EKF (3)

EESC-USP © M. Becker 2009 74/78

Page 75: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

• Prediction:)(

),(),(),( 11

1

111 −−

−−− −

∂+≈ tt

t

tttttt x

x

ugugxug µ

µµ

First Order Taylor Series Expansion

LinealizaçãoLinealização parapara o EKF (3)o EKF (3)

• Correction:

)(),(),( 1111

1

−−−−

−+≈ ttttttt

t

xGugxug µµ

)()()(

)()(

)()(

ttttt

tt

t

ttt

xHhxh

xx

hhxh

µµ

µµ

µ

−+≈

−∂

∂+≈

EESC-USP © M. Becker 2009 75/78

Page 76: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

EKF Algoritmo EKF Algoritmo 1. Extended_Kalman_filter( µt-1, Σt-1, ut, zt):

2. Prediction:3.4.

),( 1−= ttt ug µµ

t

T

tttt RGG +Σ=Σ −1

ttttt uBA += −1µµ

t

T

tttt RAA +Σ=Σ −1

5. Correction:6.7.8.

9. Return µt, Σt

1)( −+ΣΣ= t

T

ttt

T

ttt QHHHK

))(( ttttt hzK µµµ −+=

tttt HKI Σ−=Σ )(

1

1),(

∂=

t

ttt

x

ugG

µ

t

tt

x

hH

∂=

)(µ

1)( −+ΣΣ= t

T

ttt

T

ttt QCCCK

)( tttttt CzK µµµ −+=

tttt CKI Σ−=Σ )(

EESC-USP © M. Becker 2009 76/78

Page 77: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

•• Introdução Introdução às Incertezas às Incertezas

•• Incertezas na Robótica MóvelIncertezas na Robótica Móvel

•• FiltrosFiltros

Sumário da AulaSumário da Aula

•• FiltrosFiltros

•• Bibliografia RecomendadaBibliografia Recomendada

EESC-USP © M. Becker 2009 77/78

Page 78: Aula 5 Aula 5 – Introdução à Robótica Móvel … na Robótica Móvel • Modelos de Movimento - Na prática, tem-se 2 tipos de modelos: • Baseados em odometria ( Odometry-based

Bibliografia RecomendadaBibliografia Recomendada

• Siegwart, R. and Nourbakhsh, I.R., 2004, Introduction to Autonomous Mobile Robots, 1st Edition, MIT Press, ISBN 0-262-19502-X

• http://www.mobilerobots.org• Sandin, P. E., 2003, Robot Mechanisms and

EESC-USP © M. Becker 2009 78/78

• Sandin, P. E., 2003, Robot Mechanisms and Mechanical Devices Illustrated, McGraw-Hill, ISBN 0-07-141200-X

• Trhun, S., Burgard, W., and Fox, D., 2005, Probabilistic Robotics, The MIT Press, ISBN 0-262-20162-3.