navegação e controle de robôs móveis planejamento de caminhos

27
Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Upload: internet

Post on 22-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Navegação e Controle de Robôs Móveis

PLANEJAMENTO DE CAMINHOS

Page 2: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Paradigmas Robóticos

Deliberativo. Reativo. Híbrido Deliberativo/Reativo

Page 3: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Primitivas

Primitiva Entrada Saída

Percepção Dados sensoriais

Informação percebida

Planejamento Informação percebida

Diretivas

Ação Informação percebida ou Diretivas

Comandos para atuadores

Page 4: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Paradigma Deliberativo

Perceber Planejar Agir

Primitiva Entrada Saída

Percepção Dados sensoriais Informação percebida

Planejamento Informação percebida

Diretivas

Ação Informação percebida ou Diretivas

Comandos para atuadores

Page 5: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Paradigma Reativo

Perceber Agir

Primitiva Entrada Saída

Percepção Dados sensoriais Informação percebida

Planejamento Informação percebida

Diretivas

Ação Informação percebida

Diretivas

Comandos para atuadores

Page 6: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Paradigma Híbrido

Perceber Agir

Primitiva Entrada Saída

Planejamento Informação percebida

Diretivas

Percepção-Ação

(Comportamentos)

Dados sensoriais Comandos para atuadores

Planejar

Page 7: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

O Problema do Carregador de Piano

Como levar um piano no interior de um edifício, através de corredores povoados de obstáculos, até a sua localização final dentro do prédio?

Piano = corpo rígido móvel. Obstáculos = corpos rígidos fixos. Localização = posição e orientação.

Page 8: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS
Page 9: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Movimento de um robô A no Espaço de Trabalho W com obstáculos Bi's.

Movimento de um ponto no Espaço de Configuração C com C-obstáculos CBi's.

B1

B2

W

A

C

CB1

CB1

Page 10: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Configuração q

Especificação da Posição e Orientação do robô. Exemplo: q = [x y ]T.

xA

yA

xW

yW

x

y

Page 11: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Espaço de Configuração C é o conjunto de todas as possíveis configurações do robô.

Espaço de Configuração Livre CL é o conjunto de todas as possíveis configurações em que o robô não colide com os obstáculos Bi’s.

WC CL

Page 12: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Obstáculo em Espaço de Configuração - CB Um obstáculo B no espaço de trabalho

W pode ser representado de forma equivalente por um C-obstáculo CB no espaço de configuração C.

O C-Obstáculo é o conjunto de todas as configurações em que o robô se superpõe ao obstáculo.

Page 13: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Exemplo: C-obstáculo em espaço poligonal, robô com orientação fixa .

CB = {PW/ b B, a0 A(0): P = b - a0}

A

= 0

BCB

Page 14: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

BCB

Page 15: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

C-Obstáculo para q = (x,y,)

CB = união de infinitas fatias poligonais. Os limites de CB são as faces, (retalhos de

C-Superfícies), correspondentes a contatos do tipo A ou do tipo B:

Contato tipo A (eixo do robô e vértice do obstáculo) Face = retalho de helicóide (gerada por uma reta em translação-rotação).

  Contato tipo B (eixo do obstáculo e vértice do robô) Face = retalho de plano (gerado por uma reta em translação).

Page 16: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

x

y

CB CB(0)

0

Page 17: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

MAPA DE ROTAS

Princípio: Capturar a conectividade do espaço de configuração livre na forma de uma rede de curvas R, (Mapa de Rotas), que é usada como um conjunto de caminhos padrão.

O planejamento se reduz a buscar um caminho em R entre qini e qfin.

Page 18: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Grafo de Visibilidade

Aplicável a W = R2, robô A poligonal e com orientação fixa e obstáculos Bi

poligonais. Princípio: construir um caminho entre

qini e qfin formado por uma linha

poligonal através dos vértices de CB.

Page 19: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Grafo de Visibilidade é um grafo não direcional, G, tal que:

Os Nós de G são qini, qfin e vértices de CB.

 Dois nós são conexos por um arco se e somente se o segmento que os une é um eixo de CB ou está contido inteiramente no espaço livre.

Propriedade: O Grafo de Visibilidade contém o caminho mais curto entre qini e qfin.

Page 20: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

qini

qfin

Page 21: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Algoritmo de Planejamento:

i. Construir o Grafo G. ii. Buscar um caminho de qini até qfin em G.

iii. Se o caminho é encontrado, retorná-lo,

se não, reportar falha.

 

Page 22: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Construção do Grafo de Visibilidade:

1. Tomar pares (X, X’) de nós de G. 2. Se X e X’ são extremos do mesmo eixo em

CB, conectá-los por um arco. 3. Se X e X’ não são extremos do mesmo eixo

em CB, computar as interseções da linha suporte de (X, X’) com CB. Caso não acontecer nenhuma interseção em (X, X’), ligar os nós por um arco em G.

 

Page 23: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Busca do menor caminho

Exemplo: algoritmo de busca em grafos A*:• Aplicável a grafos em que os arcos têm

custos associados, por exemplo, distância entre os nós.

• Custo de um caminho = soma dos custos dos seus arcos.

• Distância ao alvo = função heurística para guiar a busca.

• Permite obter o menor caminho em termos da métrica adotada.

Page 24: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Procedimento:- G explorado iterativamente seguindo caminhos

a partir do nó inicial Nini. - Custo de cada nó N : f(N) = g(N) + h(N).

- g(N) = custo do caminho entre Nini e N em T corrente.

- h(N) = estimativa heurística do custo h*(N) do caminho mínimo entre N e o nó final Nfin.

- Para cada nó visitado, um ou mais caminhos são gerados a partir de Nini, mas só o de menor custo é memorizado.

- Os nós são armazenados numa lista L em ordem crescente do seu custo f(N).

- Os caminhos gerados formam uma árvore T do subconjunto de G já explorado.

Page 25: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

Procedimento A*(G, Nini, Nfin, k, h);

INSERIR o nó inicial Nini na árvore T;

INSERIR Nini na lista L; marcar Nini como visitado; enquanto a Lista não estiver VAZIA faça

N primeiro Nó da Lista;

se N = Nfin, então sair do laço enquanto;para cada nó N' adjacente a N em G, faça

se N' é não visitado, entãoadicionar N' a T com um ponteiro para N;INSERIR N‘ em L; marcar N' como visitado;

se não, se g(N') > g(N) + custo(N, N'), entãoredirecionar o ponteiro de N' para N em T;

se N‘ está em L,então APAGAR N';INSERIR(N',L);

fim;se a Lista L não estiver VAZIA, então

retornar o caminho traçando os ponteiros de Nfin a Nini;se não reportar falha;

fim; 

Page 26: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS

qini

qfin

qiniNini

qfinNfin

N1

N2

N3

N4

N5

N6

N7

4,0

4,05,8

5,83,9

3,9

3,8

2,5

6,36,0 4,8 2,6

4,2

3,22,2

Nini , 0+12,2

Nini

N1 , 4,0+10,2 N2 , 4,0+10,0N1 , 4,0+10,2

N1 , 4,0+10,2

N2

N1 , 4,0+10,2

N4 , 7,9+6,4

N4 , 7,9+6,4

N1

N4 , 7,9+6,4N3 , 7,9+6,6N3 , 7,9+6,6

N4

N3 , 7,9+6,6N5 , 13,9+3,2N3 , 7,9+6,6N4 , 10,4+4,1N5 , 13,9+3,2

N4 , 10,4+4,1N5 , 13,9+3,2

N3

N5 , 13,9+3,2

N4

N5

Nfin , 14,9+0 Nfin , 14,9+0N7 , 15,9+2,2N7 , 15,9+2,2

Nfin

N7

Page 27: Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS