Buscar

Seminário 3 - OMPL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Robóticos Autônomos 
Guilherme Pereira Marchioro Bertelli 
Isaac Diego Tavares de Souza 
Rodrigo José Araújo Damasceno 
Natal, dezembro de 2013. 
1 
 Nova biblioteca de algoritmos de planejamentos de 
caminhos baseados em amostragem; 
 
 Construída de tal forma que permite que o usuário possa 
resolver com facilidade uma variedade de problemas 
relativos ao planejamento de movimento; 
 
 Disponível para uso através do ROS (Robot Operating 
System). 
 
 
2 
 Biblioteca focada essencialmente em 3 públicos: 
 Pesquisadores na área de planejamento de movimentos; 
 Professores de robótica; 
 Usuários finais na indústria de robótica. 
3 
 Facilita a contribuição de pesquisadores da área; 
 
 Os códigos são disponibilizados sob a licença Berkeley 
Software Distribution, que é uma das menos restritivas das 
licenças Open-source. 
 
 
 
 
 Algumas aplicações no mundo real: 
4 
 Muito trabalho e pesquisa foi feito tanto no 
desenvolvimento de algoritmos quantos softwares de 
planejamento de movimentos; 
 
 Será discutido: 
 Planejamento de movimentos baseado em amostragem: definição; 
 Pacotes de software; 
 Relação com outros softwares de robótica. 
5 
 A ideia fundamental do planejamento por amostragem é 
aproximar a conectividade do espaço de configuração com 
uma estrutura em grafo; 
 
 Existem duas considerações chave na aproximação por 
grafo: 
 A distribuição de probabilidade usada nos estados amostragem; 
 Estratégia para gerar os vértices. 
 
6 
 Probabilistic roadmap: 
7 
 Planejadores baseados em árvore: 
8 
 Componentes comuns de um algoritmo baseado em 
amostragem: 
 Espaço de estados; 
 Espaço de controle; 
 Amostrador; 
 Verificador de validade de estado; 
 Planejador local. 
 
9 
 Principais softwares de planejamento de movimento: 
 MSL 
 MKP 
 VIZMO++ 
 OpenRAVE 
 
10 
 Tipicamente, plataformas de hardware requerem 
configurações de software complexas, e usam várias formas 
de middlewares para acomodar essas requisições; 
 
 OMPL se encaixa facilmente nesses sistemas: 
 Provê apenas algoritmos de planejamento baseados em amostragem; 
 Interface abstrata acomoda uma variedade de implementações de 
baixo nível. 
 
 
11 
 Seus principais critérios de design são: 
 Clareza dos conceitos; 
 Eficiência; 
 Integração simples com outros pacotes de software; 
 Integração objetiva de contribuições externas. 
 
 Em oposição as outras bibliotecas de software planejamento de 
movimentos, a OMPL não possui uma representação do espaço de 
configuração ou dos Robôs, possuindo apenas os algoritmos; 
 
 Permite um projeto de biblioteca que pode ser usado para buscas 
genéricas, em espaços contínuos de alta dimensão, sujeitos a 
restrições complexas; 
 
 Dá ao usuário enorme liberdade de projeto. 
 
 
12 
13 
14 
Estados, controles e espaços: 
 
 Espaços de estados (StateSpace) incluem operações nos estados, 
tais como: 
 Avaliação de distância; 
 Teste de igualdade; 
 Interpolação; 
 Gerenciamento de memória para os estados. 
  OMPL inclui uma forma de combinar espaços de estados: 
CompoundSpaceState. 
 
 Espaços de Controle (ControlSpace) espelham a estrutura de 
espaço de estados providenciando funcionalidades especificas de 
controle, para que os algoritmos de planejamento sejam 
implementados de forma genérica. 
 
15 
Validação de estados e propagação: 
 
 A validade ou não de um estado depende do contexto do 
planejamento; 
 
 Baseado num dado verificador de validade de estados, um 
MotionValidator default é construído, que verifica se a 
interpolação entre dois estados em determinada resolução 
produz estados válidos; 
 
 Foi pré-definido um verificador de validade de estados para 
planejamento de movimentos de corpo rídigo no OMPL.app; 
 
 
 
 
 
16 
Validação de estados e propagação: 
 
 Foi implementado um verificador de validade de estados que 
utiliza a Open Dynamics Engine: 
 
 
 
 
 
17 
Validação de estados e propagação: 
 
 Para planejamento com controle, o usuário deve especificar 
como o sistema evolui quando certos controles são aplicados 
por determinado período de tempo: propagação de estados 
no OMPL; 
 
 
 
 
 
 
18 
Amostrador: 
 
 A operação fundamental que planejamento baseados em 
amostragem realizam é a amostragem do espaço que é 
explorado; 
 
 Para dar suporte a funcionalidade de amostragem, o OMPL 
possui 4 amostradores: 
 StateSampler; 
 ValidStateSampler; 
 Control Sampler; 
 DirectedControlSampler. 
 
 
 
 
 
 
19 
Amostrador: 
 
 Três distribuições de amostragem são implementadas por cada 
espaço de estados amostrador: 
 Uniforme; 
 Gaussiana; 
 Uniforme nas proximidades de um ponto específico. 
 
 
 
 
 
 
 Quando se considera controles no processo de planejamento, os 
mesmos também devem ser amostrados, o que pode ser 
implementado como parte do espaço de controle que eles 
representam; 
 
 Noção de direção também é importante em alguns planejadores. 
 
 
 
 
 
20 
Representação de metas: 
 
 OMPL utiliza uma representação hierárquica de metas; 
 
 Uma meta (Goal) pode ser definida por uma função IsSatisfied() 
que, dado um estado, retorna se este é uma meta ou não; 
 
 GoalRegion é um refinamento da representação geral de um Goal, 
que especifica a distância até a meta utilizando a função 
distanceGoal(); 
 
 GoalSampleableRegion adicionalmente permite a retirada de 
amostras à partir da região de metas; 
 
 GoalState e GoalStates são implementações concretas do 
GoalSampleableRegion. 
 
 
 
 
 
 
 
 
 
21 
Representação de metas: 
 
 Para aplicações práticas, é possível amostrar a região de 
metas, mas o processo de amostragem pode ser 
relativamente lento. 
 
 Neste caso, utiliza-se um refinamento do GoalStates: 
GoalLazyStates: 
 Continuamente retira amostras em um processo separado de 
amostragem, e permite que os planejadores retirem amostras da 
região de meta sem espera. 
 
 
 
 
 
 
 
 
 
22 
Algoritmos de planejamento: 
 
 OMPL possui dois tipos de planejadores de movimento: 
 Os que consideram controle no planejamento; 
 Os que não consideram controle no planejamento. 
 
 Para planejamentos puramente geométricos, o caminho solução 
de um número finito de segmentos, calculados pela interpolação 
de um par de espaços amostrados (PathGeometric); 
 
 Quando considerados os controles, o caminho solução é 
construído por uma sequência de controles (PathControl), e são 
geralmente utilizados quando o planejamento precisa respeitas 
restrições diferenciais. 
 
 
 
 
 
 
 
23 
Exemplo: 
 
 Integrar o OMPL com outros softwares robóticos é bastante 
objetivo e simples; 
 
 Principais softwares com o qual o OMPL pode ser integrado: 
 OMPL.app 
 ROS 
24 
25 
OMPL.app: 
 
 Uma interface gráfica de usuário para o OMPL, criada pelos 
próprios desenvolvedores do OMPL; 
 
 Criada por três motivos: 
1. Prover aos usuários novos uma interface intuitiva para brincar com 
diversos algoritmos de planejamento e aplica-los em diversos 
exemplos de planejamento de movimento de corpo rígido. 
2. Demonstrar a integração do OMPL com bibliotecas de terceiros de 
verificação de colisão, carregamento de malhas 3D e kit de 
ferramentas para GUI. 
3. Permitir aferição (benchmarking) utilizando um novo planejador 
existente de corpo rígido, fazendo uso de uma ferramenta de linha 
de comando. 
 
 
 
 
 
 
26 
OMPL.app: Benchmarking: 
 
 
 
 
 
27 
OMPL.app: 
 
 A interface gráfica do OMPL.app: 
 
 
 
 
 
28 
Integração com o ROS: 
 
 É esperado que a maioria dos usuários utilizem o OMPL 
através do ROS; 
 
 Para planejar movimentos para um robô utilizando ROS, 
deve-se seguir estes passos: 
1. Criar um modelo cinemático do robô (pode-se utilizar o URDF); 
2. Definir um ou mais grupos de juntas; 
3. Definir os problemas de planejamento de movimentos para o robô 
em questão; 
 
 
 
 
 
 
 
29 
Integração com o ROS: 
 
 
 
 
 
 
 
30 
Integração com o ROS: 
 
 A interface ROS-OMPL possui algumas funcionalidades mais 
avançadas: 
 Os problemas de planejamento podem não ser especificados pelo 
usuário, mas sim programaticamente; 
 São possíveis parametrizações diferentes de espaços de estados; 
 Permite ao usuário especificar restrições complexas. 
 
 Para a interação do usuário com os problemas de 
planejamento, só são necessários o grupo de juntas para qual 
o usuário desejar planejar e uma especificação da meta; 
 
 
 
 
 
 
 
 
[1] SUCAN, Ioan A.; MOLL, Mark; KAVRAKI, Lydia E.; “The Open 
Motion Planning Library”, IEEE, 2012. 
 
[2] KAVRAKI, Lydia E.; “Open Motion Planning Livrary: A 
Primer”, Rice University, 2013. 
 
[3] http://www.ros.org/wiki/Robots 
31 
32 
 :)

Outros materiais