87
1 Robótica Prof. Reinaldo Bianchi Centro Universitário da FEI 2010

ROBOTICA-10-Localizacao

Embed Size (px)

Citation preview

Page 1: ROBOTICA-10-Localizacao

1

Robótica

Prof. Reinaldo Bianchi

Centro Universitário da FEI

2010

Page 2: ROBOTICA-10-Localizacao

2

10a. Aula

Page 3: ROBOTICA-10-Localizacao

3

Objetivos desta aula

Apresentar os conceitos básicos de navegação e localização de robôs móveis:– Localização de robôs móveis.– Representação do ambiente.– Outros exemplos de sistemas de localização– Localização Probabilística.

Baseado no capitulo 5 do livro de Sigewart e Nourbakhsh: Introduction to Autonomous Mobile Robots.

Page 4: ROBOTICA-10-Localizacao

4

Navegação de robôs móveis

É a capacidade do robô movimentar-se dentro do seu ambiente, sendo capaz de atingir uma posição objetivo, enquanto desvia de obstáculos que podem ser encontrados no seu caminho.

Page 5: ROBOTICA-10-Localizacao

5

Navegação de robôs móveis

A navegação de robôs móveis está relacionada com a realização de três tarefas:– Localização – o robô encontrar sua própria

posição no ambiente.– Construção de mapas, onde um mapa é uma

representação do ambiente.– Planejamento de trajetória – determinar um

caminho no ambiente entre a posição inicial e a posição objetivo, sem que o robô colida com obstáculos e que os movimentos planejados sejam consistentes com as restrições físicas do robô.

Page 6: ROBOTICA-10-Localizacao

6

Localização de robôs móveis Onde estou? Estimar a localização do robô em relação a

uma representação do ambiente. Localização pode ser:

Local (tracking): posição inicial do robô é conhecida.

Global: posição inicial do robô é desconhecida.

Page 7: ROBOTICA-10-Localizacao

7

Localização de robôs móveis

A estimativa da localização do robô é baseada nas informações disponíveis: Sensores internos – encoders. Sensores externos – informações sobre o

ambiente, por exemplo marcos (landmarks). As informações fornecidas pelos sensores

são incertas:

– localização probabilística.

Page 8: ROBOTICA-10-Localizacao

8

Per

cep

tion

Localização de robôs móveis

Page 9: ROBOTICA-10-Localizacao

9

Dificuldades da localização

Ruído do sensor. Ambigüidade do sensor. Ruído do atuador. Estimação de posição odométrica.

Page 10: ROBOTICA-10-Localizacao

10

Ruído do sensor

Ruído do sensor é influenciado: principalmente pelo ambiente, por exemplo,

iluminação. ou pelo princípio de medida, por exemplo,

interferência entre sonares. O ruído do sensor reduz drasticamente as

informações úteis obtidas das leituras dos sensores. A solução é: Consideras múltiplas leituras. Empregar fusão temporal e/ou multi-sensor.

Page 11: ROBOTICA-10-Localizacao

11

Ambigüidade do sensor Ambigüidade do sensor: em robôs as leituras

dos sensores não são únicas. Mesmo com múltiplos sensores, há um

mapeamento de muitos-para-um do estado do ambiente para as percepções do robô.

A quantidade de informação percebida pelos sensores é geralmente insuficiente para identificar a posição do robô a partir de uma única leitura: Localização, em geral, é baseada em uma série

de leituras. Informação suficiente é obtida ao longo do tempo.

Page 12: ROBOTICA-10-Localizacao

12

Ruído do atuador Ruído do atuador:

A odometria é baseada em sensores das rodas. Dead reckoning utiliza também sensores de

direção. O movimento do robô, percebido com

sensores internos, é integrado para obter posição do robô. Vantagem: direto e fácil. Desvantagem: erros são integrados, não sendo

limitados. Usando informação adicional de sensores de

direção (giroscópio) pode-se reduzir os erros cumulativos, mas não soluciona o problema.

Page 13: ROBOTICA-10-Localizacao

13

Métodos de Localização

Page 14: ROBOTICA-10-Localizacao

14

Odometria

A odometria é um dos métodos mais amplamente utilizados para estimar a posição de um robô.

A odometria proporciona:– precisão em curto prazo,– Baixo custo,– taxas de amostragem muito altas.

Page 15: ROBOTICA-10-Localizacao

15

Odometria

A idéia fundamental da odometria é a integração de informação incremental do movimento ao longo do tempo, o qual envolve uma inevitável acumulação de erros.

Page 16: ROBOTICA-10-Localizacao

16

Erros de odometria Erros de odometria:

Erros determinísticos podem ser eliminados por calibração do sistema.

Erros não determinísticos tem que ser descritos por modelos de erros e sempre levarão a estimativas de posição incertas.

Principais fontes de erros: Resolução limitada durante a integração

(incrementos de tempo, resolução medida...) Rodas desalinhadas. Rodas com diâmetros diferentes. Variação do ponto de contato da roda. Contato desigual com o chão (escorregamento,

não planar...)

Page 17: ROBOTICA-10-Localizacao

17

Odometria

Classificação dos erros de integração: Erro de distância: comprimento de caminho

integrado (distância) dos movimentos dos robôs.Soma dos movimentos das rodas.

Erro de direção: para girosDiferença dos movimentos das rodas.

Erro de drift: diferença no erro das rodas leva a erros na orientação angular do robô.

Page 18: ROBOTICA-10-Localizacao

18

Odometria

Por longos períodos de tempo, erros de direção e drift ultrapassam os erros de distância.

Considere um movimento pra frente em linha reta no eixo x. O erro na posição y introduzido por um movimento de d metros terá uma componente de dsin , Dq que pode ser tão grande quanto o crescimento do erro angular Dq.

Page 19: ROBOTICA-10-Localizacao

19

y

x

p

y

x

pp

Odometria – direção diferencial

Page 20: ROBOTICA-10-Localizacao

20

Odometria – direção diferencial

Cinemática:

Page 21: ROBOTICA-10-Localizacao

21

Odometria – direção diferencial

Modelo de erro:

Page 22: ROBOTICA-10-Localizacao

22

Odometria – movimento retoErros perpendiculares a direção de movimento crescem mais rápido.

Page 23: ROBOTICA-10-Localizacao

23

Odometria – movimento em círculoElipses de erros não se mantêm perpendiculares a direção de movimento.

Page 24: ROBOTICA-10-Localizacao

24

Odometria – calibração de errosExperimento de caminho quadrado unidirecional.

Page 25: ROBOTICA-10-Localizacao

25

Odometria – calibração de errosExperimento de caminho quadrado bidirecional.

Page 26: ROBOTICA-10-Localizacao

26

Outros exemplos de Localização

Page 27: ROBOTICA-10-Localizacao

27

Localização baseada em marcos artificiais

Page 28: ROBOTICA-10-Localizacao

28

Localização baseada em marcos artificiais

Page 29: ROBOTICA-10-Localizacao

29

Localização baseada em marcos artificiais

Page 30: ROBOTICA-10-Localizacao

30

Localização - triangulação

Page 31: ROBOTICA-10-Localizacao

31

Localização - triangulação

Page 32: ROBOTICA-10-Localizacao

32

Localização - triangulação

Page 33: ROBOTICA-10-Localizacao

33

Localização - docking

Page 34: ROBOTICA-10-Localizacao

34

Localização – código de barras

Page 35: ROBOTICA-10-Localizacao

35

Representação do Ambiente

Como guardar a posição do robô no ambiente?

Page 36: ROBOTICA-10-Localizacao

36

Representação de crença Contínuo

Limite definido pelo dado do sensor.

Em geral, estima uma única hipótese de posição.

Perde-se quando diverge (para uma hipótese).

Representação compacta e razoável em custo de processamento.

Discreto Limite definido por

resolução de discretização.

Em geral, estima múltiplas hipóteses de posição.

Nunca perde-se (quando diverge, converge para outra célula).

Necessita de bastante memória e capacidade de processamento (exceto para mapas topológicos).

Page 37: ROBOTICA-10-Localizacao

37

a) Mapa contínuo com uma hipótese.

b) Mapa contínuo com múltiplas hipótese.

c) Mapa discretizado com distribuição de probabilidade.

d) Mapa topológico discretizado com distribuição de probabilidade.

Page 38: ROBOTICA-10-Localizacao

38

Métodos Bayesianos: taxonomia de modelos probabilísticos

More general

More specific

discreteHMMs

continuousHMMs

Markov Loc

semi-cont.HMMs

BayesianFilters

BayesianPrograms

BayesianNetworks

DBNs

KalmanFilters

MCML POMDPs

MDPs

ParticleFilters

MarkovChains

St St-1

St St-1 Ot

St St-1 At

St St-1 Ot At

S: StateO: ObservationA: Action

Page 39: ROBOTICA-10-Localizacao

39

Crença de hipótese única: mapa-linha contínuo

Page 40: ROBOTICA-10-Localizacao

40

Crença de hipótese única: mapa de grade e topológico

Page 41: ROBOTICA-10-Localizacao

41

Representação baseada em grade – múltiplas hipóteses

Tamanho da grade de aproximadamente 20cm2.

Page 42: ROBOTICA-10-Localizacao

42

Representação do mapa

Representação contínua. Decomposição (discretização).

Questões: Precisão x aplicação. Precisão dos marcos x precisão do mapa. Precisão x complexidade computacional.

Page 43: ROBOTICA-10-Localizacao

43

Representação do ambiente

Representação do ambiente: Métrica contínua ® x,y,q Métrica discreta ® grade métrica Topológica discreta ® grade topológica

Page 44: ROBOTICA-10-Localizacao

44

Representação do ambiente Modelagem do ambiente

Dado puro do sensor, por exemplo, imagens em níveis de cinza Grande volume de dado, baixa diversidade no nível

de valores individuais. Faz uso de toda informação obtida.

Atributos de nível baixo, por exemplo, linhas. Volume médio de dado, média diversidade. Filtra as informações úteis, ainda ambíguo.

Atributos de nível alto, por exemplo, portas, um carro. Volume baixo de dado, alta diversidade. Filtra as informações úteis, pouca ou sem

ambigüidades, não contém informação suficiente.

Page 45: ROBOTICA-10-Localizacao

45

Representação do mapa – contínuo baseado em linhas

(a) mapa de arquitetura.(b) representação com um conjunto de infinitas linhas.

Page 46: ROBOTICA-10-Localizacao

46

Representação do mapa – discretização

Discretização exata da célula.

Page 47: ROBOTICA-10-Localizacao

47

Representação do mapa – discretização

Discretização fixa da célula.

Page 48: ROBOTICA-10-Localizacao

48

Representação do mapa – discretização

Discretização adaptativa da célula.

Page 49: ROBOTICA-10-Localizacao

49

Representação do mapa – discretização

Discretização fixa – exemplo com células bem pequenas.

Page 50: ROBOTICA-10-Localizacao

50

Representação do mapa – discretização

Discretização topológica.

Page 51: ROBOTICA-10-Localizacao

51

Representação do mapa – discretização

Discretização topológica.

Conectividade(arco)

Page 52: ROBOTICA-10-Localizacao

52

Representação do mapa – discretização

Discretização topológica.

Page 53: ROBOTICA-10-Localizacao

53

Dificuldades na representação do mapa Mundo real é dinâmico. Percepção é o maior desafio:

Propensão a erros. Extração de informação útil.

Travessia de espaço aberto. Como desenvolver topologia (limites dos

nós). Fusão sensorial.

Page 54: ROBOTICA-10-Localizacao

54

Localização Probabilística

Markov

Filtros de Kalman

Page 55: ROBOTICA-10-Localizacao

55

Localização probabilística baseada em mapa

Considere um robô móvel movendo-se em um ambiente conhecido.

Como ele começa a se mover de uma posição conhecida, ele mantém o rastro de sua localização usando odometria.

Após um certo movimento o robô irá tornar-se muito incerto sobre sua posição.

Page 56: ROBOTICA-10-Localizacao

56

Localização probabilística baseada em mapa

Solução: atualizar usando uma observação do ambiente.

Observação leva a uma estimação das posições do robô que podem ser fundidas com a estimação odométrica para obter a melhor atualização possível das posições reais dos robôs.

Page 57: ROBOTICA-10-Localizacao

57

Localização probabilística baseada em mapa Atualização de movimento.

Modelo de movimento (aumenta incerteza):

onde, ot: medida do encoder e st-1: crença anterior de posição.

Atualização da Percepção.

Modelo de Observação (diminui incerteza):

onde, it: medida do sensor externo e s’1: crença atualizada de posição.

Page 58: ROBOTICA-10-Localizacao

58

Melhorando a crença de posiçãodurante o percurso.

Page 59: ROBOTICA-10-Localizacao

59

Localização probabilística baseada em mapa Dados:

a posição estimada sua covariância estimada para o tempo k o controle de entrada atual o conjunto de observações atuais o mapa

Compute: nova posição estimada (posteriori) sua covariância

Este procedimento envolve 5 passos:

)( kkp)( kkp

)(ku)1( kZ

)(kM

)11( kkp)11( kkp

Page 60: ROBOTICA-10-Localizacao

60

Observationon-board sensors

Mapdata base

Prediction ofMeasurement and Position (odometry)

Per

cept

i on

Matching

Estimation(fusion)

raw sensor data or extracted features

pre

di c

ted

fea

ture

obs

erv

ati o

ns

positionestimate

matched predictionsand observations

YES

Encoder

1. Predição baseada na estimação anterior e na odometria.

2. Observação com sensores embarcados.

3. Predição de observação baseada na predição e no mapa.

4. Correspondência da observação e mapa.

5. Estimação -> atualização de posição (posição a posteriori)

5 passos: localização baseada em mapa

Page 61: ROBOTICA-10-Localizacao

61

Localização: Markov x Kalman Localização de Markov

– Localização começa de qualquer posição não conhecida.

– Recupera-se de situações ambíguas.

– Para atualizar a probabilidade de todas as posições dentro do espaço de estados necessita de uma representação discreta do espaço (grade). A memória necessária e custo computacional podem se tornar muito importante se uma grade muito fina é usada.

Localização com Filtro de Kalman– Rastreia o robô e é

inerentemente muito precisa e eficiente.

– Se a incerteza do robô torna-se muito grande (por exemplo, colisão com um objeto), o Filtro de Kalman irá falhar e a posição é definitivamente perdida.

Page 62: ROBOTICA-10-Localizacao

62

Localização de Markov

Localização de Markov usa uma representação explícita e discreta para a probabilidade de toda posição no espaço de estados.

Representa o ambiente por uma grade ou um mapa topológico com um número finito de estados possíveis (posições).

Durante cada atualização, a probabilidade para cada estado (elemento) do espaço todo é atualizado.

Page 63: ROBOTICA-10-Localizacao

63

Localização de Markov

P(A): probabilidade de que A é verdade. Por exemplo, p(rt=l): probabilidade de que o robô

r esteja na posição l no tempo t. Deseja-se computar a probabilidade de cada

posição individual dadas as ações e as medidas dos sensores.

P(A|B): probabilidade condicional de A dado que conhece-se B, Por exemplo, p(rt=l|it): probabilidade de que o

robô r esteja na posição l no tempo t dadas as entradas dos sensores ir.

Page 64: ROBOTICA-10-Localizacao

64

Localização de Markov

Regra do produto:

Regra de Bayes:

Page 65: ROBOTICA-10-Localizacao

65

Localização de Markov Regra de Bayes:

Mapeia de uma crença de estado e uma entrada do sensor para uma crença de estado refinada.

p(l): crença do estado antes da atualização perceptual. P(i|l): probabilidade de obter uma medida i quando estiver

na posição l. consulta mapa do robô, identifica a probabilidade de certa

leitura do sensor para cada posição no mapa. P(i): fator de normalização tal que a soma de todo l para L

seja igual a 1.

Page 66: ROBOTICA-10-Localizacao

66

Localização de Markov Regra de Bayes:

Mapeia uma crença de estado e um movimento para uma nova crença de estado.

Suposição de Markov: atualização depende apenas do estado anterior e de sua percepção e movimento mais recente.

Page 67: ROBOTICA-10-Localizacao

67

Localização de Markov – estudo de caso, mapa topológico

Robô Dervish.Localização topológica usando sonar.

Page 68: ROBOTICA-10-Localizacao

68

Localização de Markov – mapa topológicoMapa topológico de um ambiente tipo escritório.

Page 69: ROBOTICA-10-Localizacao

69

Localização de Markov – mapa topológico Atualiza a crença do estado para uma

posição n dado o par de percepção i:

p(n¦i): nova probabilidade de estar na posição n. p(n): crença atual de estado. p(i¦n): probabilidade de ver i em n (tabela).

Page 70: ROBOTICA-10-Localizacao

70

Localização de Markov – mapa topológico Sem atualização de movimento.

O robô está movendo-se e pode-se aplicar uma combinação de atualização de movimento e percepção.

t-i é usado ao invés de t-1 porque a distância topológica entre n´ e n pode depender do mapa topológico específico.

Page 71: ROBOTICA-10-Localizacao

71

Localização de Markov – mapa topológico é calculada multiplicando a

probabilidade de gerar o evento perceptual i na posição n pela probabilidade de ter falhado para gerar os eventos perceptuais de todos os nós entre n´ e n.

Page 72: ROBOTICA-10-Localizacao

72

Localização de Markov – mapa topológico Exemplo:

Assuma que o robô tem duas crenças de estado: p(1-2) = 1.0 ; p(2-3) = 0.2 e que está voltado para leste com certeza.

Estado 2-3 irá progredir potencialmente para 3 e 3-4 para 4.

Estado 3 e 3-4 podem ser eliminados porque a probabilidade de detectar uma porta aberta é zero.

A probabilidade de chegar no estado 4 é o produto da probabilidade inicial p(2-3)=0.2, (a) a probabilidade de detectar qualquer coisa no nó 3 e nó 4 e (b) a probabilidade de detectar um hall no lado esquerdo e uma porta no lado direito do nó 4. (a probabilidade de não detectar nada no nó 3-4 é 1.0)

Isto leva a: o 0.2 × [0.6 × 0.4 + 0.4 × 0.05] × 0.7 × [0.9 × 0.1] ® p(4) = 0.003.o Calculo semelhante para o avanço de 1-2 ® p(2) = 0.3.

Page 73: ROBOTICA-10-Localizacao

73

Localização de Markov – mapa de grade

Discretização fixa fina (x, y, ), 15 cm x 15 cm x 1° Atualização de movimento

e percepção. Atualização de movimento:

Soma sobre posições possíveis e modelo de movimento.

Atualização de percepção: Dada a percepção i, qual é

a probabilidade de estar na posição l.

Page 74: ROBOTICA-10-Localizacao

74

Localização de Markov – mapa de grade

O desafio é o cálculo de p(i|l) O número de possíveis leituras do sensor e

contexto geométrico é muito grande. p(i|l) é computada usando um modelo do

comportamento do sensor do robô, sua posição l, e o mapa métrico local do ambiente ao redor de l.

Suposições: Erro medido pode ser descrito por uma

distribuição com média. Possibilidade de qualquer medida diferente de

zero.

Page 75: ROBOTICA-10-Localizacao

75

Localização de Markov – mapa de grade

Page 76: ROBOTICA-10-Localizacao

76

Localização de Markov – mapa de grade

Início: sem conhecimento da posição inicial. Distribuição de probabilidade uniforme.

Robô percebe o primeiro pilar: ao ver só um pilar, possui a mesma probabilidade de estar nos pilares 1, 2 ou 3.

Robô anda: modelo de movimento possibilita estimar uma nova distribuição de probabilidade baseada no movimento.

Robô percebe o segundo pilar: baseado no conhecimento a priori, a probabilidade de estar no pilar 2 é dominante.

Caso 1D

Page 77: ROBOTICA-10-Localizacao

77Posição 3

Posição 4

Posição 5

Localização de Markov – mapa de grade

Exemplo 1: ambiente de escritório.

Page 78: ROBOTICA-10-Localizacao

78

Localização de Markov – mapa de grade

Exemplo 2: museu (laser scan 1)

Page 79: ROBOTICA-10-Localizacao

79

Localização de Markov – mapa de grade

Exemplo 2: museu (laser scan 2)

Page 80: ROBOTICA-10-Localizacao

80

Localização de Markov – mapa de grade

Exemplo 2: museu (laser scan 3)

Page 81: ROBOTICA-10-Localizacao

81

Localização de Markov – mapa de grade

Exemplo 2: museu (laser scan 13)

Page 82: ROBOTICA-10-Localizacao

82

Localização de Markov – mapa de grade

Exemplo 2: museu (laser scan 21)

Page 83: ROBOTICA-10-Localizacao

83

Localização de Markov – mapa de grade

Grades de discretização fixa fina resultam em um espaço de estado grande. Necessita de muita memória e capacidade de

processamento. Reduzindo complexidade:

Várias técnicas foram propostas para reduzir complexidade.

Objetivo principal é reduzir o número de estados que devem ser atualizados em cada passo.

Page 84: ROBOTICA-10-Localizacao

84

Localização de Markov – mapa de grade

Amostragem aleatória/Filtro de partículas Crença aproximada do estado por um

subconjunto representativo de todos os estados (posições possíveis).

Por exemplo, atualiza apenas 10% das posições possíveis.

O processo de amostragem é tipicamente ponderado, ou seja, seleciona mais amostras ao redor dos picos na função de densidade de probabilidade.

Entretanto, deve-se garantir que algumas posturas menos prováveis continuam sendo rastreadas, ou o robô vai se perder.

Page 85: ROBOTICA-10-Localizacao

85

Conclusão

Page 86: ROBOTICA-10-Localizacao

86

Conclusão

Localização não é solucionada de maniera simples:– Envolve probabilidades, e outras teorias

matemáticas de peso…– É o maior problema para robôs móveis.– Grande área de pesquisa.

Page 87: ROBOTICA-10-Localizacao

87

Bibliografia

Nehmzow, Ulrich. Mobile Robotics: A Pratical Introduction. Springer, 2000.

Dudek, Gregory and Jenkin, Michael. Computational Principles of Mobile Robotics. Cambridge University Press, 2000.

Pieri, Edson Roberto de. Curso de Robótica Móvel. UFSC. 2002