• Nenhum resultado encontrado

PMR Robótica Navegação de Robôs Autônomos. Prof. Eduardo L. L. Cabral

N/A
N/A
Protected

Academic year: 2021

Share "PMR Robótica Navegação de Robôs Autônomos. Prof. Eduardo L. L. Cabral"

Copied!
47
0
0

Texto

(1)

PMR3502 - Robótica

Navegação de Robôs Autônomos

(2)

Objetivos



Navegação de robôs autônomos:

– Técnicas existentes; – Campo potencial;

– Exemplos de campos potenciais;

– Histograma de campo vetorial; – Método dos arcos;

(3)

Navegação de robôs autônomos

Localização Percepção Controle Atuação Conhecimento prévio “Inteligência”

(4)

Técnicas de controle



Técnicas de controle:

– Campo potencial;

– Histograma de campo vetorial; – Método dos arcos;

– Método da janela dinâmica.

Técnicas que utilizam alguma otimização

(5)

Campo potencial



Idéia básica:

– Imita a física ⇒ cria uma campo de forças que atrai o

robô para o alvo e o repele de obstáculos.



Inspirado pelos campos gravitacionais, eletrostáticos

etc.



Implementação da técnica de campo potencial:

– Tipos de campos.

– Como gerar comandos para o robô? – Como definir os parâmetros?

(6)

Campo potencial



Tipos de campos:

– Campo de atração a alvos; – Campo de repulsão a objetos: – Campo para estacionar;

– Campo uniforme;

– Campo perpendicular; – Campo tangencial; – Campo aleatório; – Etc.

(7)

Campo potencial



Exemplos de campo potencial.

(8)

Campo potencial



Exemplo de um campo potencial resultante para

movimentação ao longo de um corredor:

Dois campos

perpendiculares + um campo uniforme = movimento em corredor

(9)

Campo potencial



Exemplo de um campo potencial obtido pela

combinação de vários tipos de campo.

(10)

Campo potencial



Implementação:

– O robô é tratado como sendo uma partícula em um campo de

“forças”.

– Os comandos dos motores são definidos de forma a seguir o

gradiente do campo ⇒ as forças do campo geram comandos de velocidade do robô (módulo e direção).

– O potencial é definido sobre todo ambiente:

 Mas não existe necessidade de calcular o campo sobre todo o

ambiente;

 Força do campo somente é calculada na posição do robô.

– Resultado ideal ⇒ mover em direção ao alvo enquanto evita

colisões com obstáculos.

– Obstáculos móveis ⇒ atualização do campo potencial é rápida

(11)

Campo potencial



Vantagens:

– Muito rápido para reagir a mudanças no ambiente; – Muito fácil de implementar;

– Os parâmetros não são difíceis de sintonizar.



Desvantagens:

– Problema de travamento em mínimos locais; – Trajetória apresenta oscilações;

– Trajetória resultante é ruim.

Utiliza sensores de distância (sonar, infravermelho,

radar, LIDAR, câmera) para detectar obstáculos ao

redor do robô.

(12)

Campo potencial

d S M M=Margem de segurança S=Esfera de influencia

d=distancia detectada pelo sonar Robô vetor repulsão x y α sonar d S M M=Margem de segurança S=Esfera de influencia

d=distancia detectada pelo sonar Robô vetor repulsão x y α sonar ; , 0 . 1 ) ( ; , ) ( ; , 0 ) ( M d d V S d M M S d S d V S d d V ≤ = ≤ ≤ − − = > = . 180 o + = Φ α



Campo de repulsão a obstáculos:

onde: d = distância do robô ao obstáculo; V = módulo da velocidade do robô normalizada; Φ = direção da velocidade

(13)

Campo potencial



Campo de atração a alvo (posição

desejada/objetivo):

– Se existirem várias posições

alvo ⇒ só é gerado o vetor de atração para o alvo que estiver mais próximo ao robô.

(Xobj, Yobj) x d Zona Controlada r x y α objetivo (Xobj, Yobj) x d Zona Controlada r x y α objetivo ; , 1 ) ( ; , 1 ) ( r d d r d V r d d V ≤ = > = objetivo α = Φ

(14)

Campo potencial

 O movimento robô é obtido pela soma vetorial de todas as

“forças” que agem sobre o robô.

 Por exemplo, presença de alvo e obstáculo:

Alvo ⇒ Valvo, Φalvo

Obstáculo ⇒ Vobs, Φobs

– Componentes da velocidade do robô:

– Módulo da velocidade – Direção do robô:     Φ + Φ = Φ + Φ = ) sin sin ( ) cos cos ( , , obs obs alvo alvo max y robô obs obs alvo alvo max x robô V V v v V V v v 2 , 2 ,x robô y robô robô v v V = + ) , (

atan2 robô,y robô,x

robô = v v Φ Obstáculo x y Alvo Valvo Vobstáculo Vrobô dalvo dobstáculo Φ robô

(15)

Campo potencial



Robô precisa de dois controladores tipo PID

independentes para controlar:

Módulo da velocidade do robô (Vrobô); – Direção do robô (Φrobô).



Parâmetros do campo potencial

precisam ser sintonizados para

cada robô.

Obstáculo x y Alvo Valvo Vobstáculo Vrobô dalvo dobstáculo Φ robô

(16)

Campo potencial



Problemas do campo potencial:

– Mínimos locais:

 Forças atrativas e repulsivas podem se cancelar de forma que

a velocidade definida para o robô seja zero;

 Causado por obstáculos pouco espaçados ou trajeto sem

saída.

– Trajetória com oscilação:

 A dinâmica do robô + ambiente pode se tornar oscilatória e/ou

instável;

 Causado por altas velocidades, corredores estreitos,

(17)

Campo potencial



Problemas de mínimo local:

Alvo

Obstáculo Obstáculo

(18)

Campo potencial



Técnicas para evitar problemas de

mínimo local:

– Adicionar um campo tangencial em

torno dos obstáculos:

 Quebra simetria;

 Evita alguns mínimos locais;

 Tende a guiar o robô em torno de

grupos de obstáculos.

– Adicionar um campo aleatório em todo

o ambiente:

 Evita o robô ficar travado em uma

posição;

(19)

Campo potencial



Campos tangencial horário e tangencial anti-horário:

– Geram um campo vetorial tangencial à localização de

uma posição objetivo no sistema de coordenadas global;

– O resultado desses campos é um movimento de rotação

do robô ao redor de um ponto em sentido horário ou anti-horário;

– Magnitude dos campos é constante;

– Orientação dos campos é tangente ao círculo com raio

igual à distância do robô ao ponto objetivo.

; 0 . 1 ) (d = V o 90 + = Φ olvo α . ; 0 . 1 ) (d = V o 90 − = Φ alvo α . Horário Anti-Horário

(20)

Campo potencial



Campos tangencial horário e anti-horário ⇒ para dar

volta em obstáculos.

(Xobj, Yobj) x x y vetor tangencial horário α objetivo (Xobj, Yobj) x x y vetor tangencial horário α objetivo (Xobj, Yobj) x x y vetor tangencial anti-horário α objetivo (Xobj, Yobj) x x y vetor tangencial anti-horário α objetivo

(21)

Campo potencial



Campo potencial aleatório:

– Gera um vetor de magnitude constante e orientação

aleatória;

– Permanece ativo durante um tempo determinado em

algumas condições;

i = “insistência” = número de períodos de amostragem do controle em que a orientação do vetor permanece constante.

. aleatório ângulo ) ( ; 0 . 1 = Φ = i V

(22)

Campo potencial



Campo de giro horário e anti-horário:

– Fazem o robô realizar uma rotação em torno do seu

eixo;

– Em algumas situações é preciso acertar o ângulo de

orientação do robô com a direção do campo potencial antes de executar o movimento de translação;

– A ação de giro permite um melhor controle da orientação

final do robô. 0 = V dado − = Φ . 0 = V dado = Φ . Horário Anti-Horário

(23)

Técnicas que usam otimização



Algumas técnicas de controle de movimento de robôs

usam alguma forma de otimização.



Essas técnicas utilizam uma estratégia de

planejamento local.



Algoritmo de otimização local:

– Dado um conjunto de possíveis ações;

– Avaliar cada uma em termos de segurança (colisão) e

desempenho;

– Escolher a melhor ação.



Essas técnicas melhoram mas não eliminam

completamente os problemas de mínimos locais e

trajetórias com oscilações.

(24)

Histograma de campo vetorial

Robô Direção do alvo Melhor direção x y Obstáculo Obstáculo O b s tá c u lo 

Idéia básica:

– Definir várias direções que o robô pode seguir; – Avaliar qual melhor direção a seguir baseado nos

(25)

Histograma de campo vetorial



Como escolher a melhor direção?

– A melhor direção deve ser escolhida de forma a se

otimizar o desempenho do robô;

– Um algoritmo de otimização deve ser usado para

definir qual a melhor direção a ser tomada pelo robô;

– Como otimizar o desempenho?

 Testar o movimento ao longo de cada direção usando

simulação;

 Calcular o custo de seguir o movimento em cada direção;  Comparar os custos de todas as direções;

 Escolher a direção que minimiza o custo do movimento e

(26)

Histograma de campo vetorial



Vantagens:

– Rápido e simples de calcular (mais lento do que campo

potencial);

– Fácil de implementar (mais difícil do que campo

potencial);

– Parâmetros são fáceis de sintonizar. 

Desvantagens:

– Problemas de mínimo local;

– Trajetória apresenta oscilações;

(27)

Velocidades V e ω ω ω ω constantes. R

Método dos arcos



Idéia básica:

– No lugar de utilizar direções fixas,

como na técnica de histograma de campo vetorial, utilizam-se arcos de direção.



O que é um arco de direção?

– Uma trajetória circular com

velocidades linear e angular constantes;

– Exige cálculo da cinemática do robô

para se definir arcos que são

possíveis de serem realizados com a configuração mecânica do robô.

(28)

Método dos arcos



Algoritmo do método dos arcos:

– Definir um conjunto de arcos de direção que o robô

pode seguir;

– Os arcos escolhidos devem considerar as restrições

cinemáticas do robô;

– Avaliar o melhor arco de direção a seguir baseando-se

em;

 Evitar obstáculos (não utilizar arcos que atinjam obstáculos);  Direcionar para o alvo;

 Otimizar o desempenho da trajetória.

(29)

Método dos arcos



Escolha do melhor arco de direção:

– Vários conjuntos de arcos com diferentes

características podem ser escolhidos;

– Isso pode ser necessário se o robô se movimenta em

diferentes tipos de terrenos;

– Se existirem vários conjuntos de arcos possíveis antes

deve ser escolhido o melhor conjunto em função do tipo de terreno e da velocidade desejada;

– Nessa escolha as informações dos sensores é de

importância crucial para determinar o tipo de terreno, os obstáculos e a direção do alvo.

(30)

Método dos arcos

(31)

Método dos arcos



Escolha do melhor arco de direção:

– Direção escolhida deve evitar obstáculos e direcionar

o robô ao alvo.

Arcos de direção Arcos de direção

(32)

Método dos arcos



Escolha do melhor arco de direção:

– O melhor arco deve ser escolhido de forma a se

otimizar o desempenho do robô.

– Como otimizar o desempenho?

 Testar o movimento ao longo de cada arco (usar simulação);  Calcular o custo de seguir o movimento de cada arco;

 Escolher o arco que minimiza o custo do movimento e ao

(33)

Método dos arcos



Escolha do melhor arco de direção:

– Como simular o movimento de um arco e calcular o

seu custo?

 Escolher um passo de movimento (intervalo de distância);  Projetar esse intervalo de distância nos eixos x e y e dividir

cada arco em vários incrementos;

 Cada incremento de distância ao longo de cada arco tem uma

posição central xi e yi;

 Obter a informação dos sensores e verificar a existência ou não

de objetos nas posições xi e yi e transformar essa informação em um custo;

 Eliminar os arcos que atravessam diretamente algum objeto;  Realizar esse processo até verificar todos os arcos e calcular o

(34)

Escolha da melhor direção



Escolha da melhor direção a seguir:

Realizada nas técnicas de Histograma de Campo

Vetorial e no Método dos Arcos;

– A escolha da direção a seguir é baseada na direção

de menor custo.



Como calcular o custo de cada direção?

– Uma forma muito popular é usar os mapas de grades

(35)

Custo de uma direção



Método baseado em mapa de grades de ocupação

local:

– Criar um mapa de grades de ocupação em torno do

robô;

– A região mapeada é confinada em uma janela com

centro no robô e que se move com o robô;

– Usa-se somente uma direção associada com cada

sensor de distância.



Usando as informações do mapa de grades de

ocupação calcular um histograma polar de presença

de obstáculos.

(36)

Mapa de grades de ocupação



O ambiente é representado por uma grade

(37)

Mapa de grades de ocupação



A cada célula da grade é associado um custo de

atravessá-la.



Células com custo igual a zero indica uma célula

vazia.



Células ocupadas têm um custo associado diferente

de zero.



Na medida em os sensores têm ruído, o custo de

cada célula pode indicar a probabilidade da célula

estar ou não ocupada;



A ocupação das células pode variar com o tempo

(38)



Construção do mapa de

grade de ocupação local:

– O mapeamento da região

local em torno do robô

depende do sensor utilizado;

– Se for usado sensor de

ultra-som (sonar) ⇒ usar ultra-somente dados ao longo do eixo do sensor e ignorar dados do restante da abertura do sonar;

– O mapeamento da região em

torno do robô é realizada por uma varredura do sensor.

(39)



Construção do mapa de

grades de ocupação local:

– São coletados múltiplas

leituras do sensores (uma leitura ao longo de cada direção que se deseja mapear);

– Se o sensor tiver

capacidade de

escaneamento (giro em torno do seu eixo) ⇒ coleta de dados é facilitada.

(40)

Mapa de grades de ocupação



Construção do mapa de grades de ocupação local:

– Se a leitura do sensor indicar algum objeto no seu

eixo dentro da região mapeada a célula

correspondente é marcada com um valor diferente de zero;

– Se o sensor não indicar presença de objeto a célula é

marcada com zero;

– Deve-se considerar o erro de medida do sensor e

marcar as células em frente à uma célula ocupada com um valor de custo entre zero e um;

– Para marcar as células em frente às células ocupadas

(41)

Mapa de grades de ocupação



Região local mapeada:

– Janela de tamanho

Ws×Ws em torno do robô;

– Somente a região da

janela mapeada é

utilizada para definir a melhor direção a

seguir;

– A janela mapeada se

move junto com o robô.

(42)

Custo de uma direção



Com o mapa de grades de ocupação da janela em

torno do robô calcula-se um “histograma polar” com o

custo de percorrer cada direção.

Histograma polar Direção Limiar Limiar Histograma polar Alvo JANELA ATIVA

(43)

Custo de uma direção



O custo de cada direção pode ser calculado pelo

Método de Konolige:

– Define-se uma trajetória em uma dada direção como sendo

uma seqüência de N pontos ao longo dos quais o robô irá se movimentar:

P = {p1, p2, p3,..., pN}

– O custo da trajetória J(P) é dado por:

I(pi) = custo intrínseco das células onde o robô irá passar, considera a presença de obstáculos;

A(pj) = custo adjacente considera comprimento da trajetória que o robô irá realizar.

= + = + = N i i i N i i A I J 1 1 1 ) , ( ) ( ) (P p p p

(44)

Exercícios

1. Dado o ambiente e o robô na figura abaixo. Dado que o robô utiliza a técnica de campo potencial para controlar o seu movimento, pede-se: a) qual a “força” aplicada no robô? b) qual será a trajetória do robô até o alvo?

Alvo

(45)

Exercícios

2. No problema anterior se o robô utiliza o método de

adicionar um campo tangencial ao campo de repulsão dos obstáculos para eliminar o problema de mínimo local, qual será a trajetória do robô até o alvo?

3. Dado o ambiente e o robô de duas rodas diferencial na

figura da página seguinte. Em cada lado do robô existe um sensor infravermelho com intervalo de medida de distância entre 25cm e 2m. O erro de medida do sensor é de 10cm. Pede-se:

a) Calcular a força que o campo exerce no robô.

b) Calcular o mapa de grades de ocupação para uma janela de 2mx2m em torno do robô.

(46)

Exercícios

 Dados:

– O robô tem dimensões de 20cmx20cm;

– Cada quadrado no mapa tem dimensão de 1,0mx1,0m; – Utilize uma grade uniforme com células de 25cmx25cm.

V

(47)

Exercícios

4. Para o ambiente e robô do exercício anterior, usando a técnica de histograma de campo vetorial, calcule a

direção de menor custo para ser seguida pelo robô.

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Esta realidade exige uma abordagem baseada mais numa engenharia de segu- rança do que na regulamentação prescritiva existente para estes CUA [7], pelo que as medidas de segurança

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

A presente revisão bibliográfica abordará polímeros molecularmente impressos, onde aprofundamos os processos de obtenção desses materiais através dos métodos de

O TBC surge como uma das muitas alternativas pensadas para as populações locais, se constituindo como uma atividade econômica solidária que concatena a comunidade com os

A avaliação dos diferentes métodos de preparação da superfície já impressa para a extrusão de uma nova camada na impressão tridimensional por deposição fundida

As principais características técnicas são a ArchestrA Graphics, vista na solução da Sysmaker, que passam pela aquisição de dados, histórico, gráficos, relatórios,