Robótica - Computação UFCG

Download Report

Transcript Robótica - Computação UFCG

Robótica
Prof. Herman M Gomes
Slides baseados no livro Artificial
Intelligence – a Modern Approach
Definições preliminares
• Robôs são agentes físicos que executam tarefas
por meio da manipulação do mundo físico.
• Equipados com atuadores, tais como pernas,
rodas, juntas etc., de modo a exercerem forças
sobre o ambiente, além de sensores, os quais
permitem a percepção do ambiente.
• Robôs modernos possuem um conjunto diverso
de sensores, incluindo câmeras e ultra-som para
avaliar o ambiente e giroscópios e acelerômetros
para medir a própria movimentação do robô.
Definições preliminares
• A maioria dos robôs atuais pode ser
classificada em três categorias primárias:
– Robôs Manipuladores (fisicamente ancorados ao
ambiente)
– Robôs Móveis
– Robôs Híbridos (móveis com manipuladores,
como os robôs humanóides)
Alguns exemplos
Outros cenários
• A robótica também inclui dispositivos
protéticos (membros artificiais, ouvidos,
olhos para humanos), ambientes inteligentes
(como uma casa inteligente equipada com
sensores e atuadores automáticos), e sistemas
de múltiplos agentes robóticos nos quais um
objetivo é obtido através da cooperação de
grupos de pequenos robôs cooperantes (e.g.
futebol de robôs)
Considerações sobre os Ambientes
• Robôs reais usualmente precisam lidar com
ambientes que sejam parcialmente
observáveis, dinâmicos, estocásticos e
contínuos.
• Parte dos ambientes robóticos também são
sequenciais e multiagente.
Considerações sobre os Ambientes
• A principal razão para as características do
ambiente ser parcialmente observável e
estocástico são o resultado do mundo real ser
muito amplo e complexo.
• Em outras palavras, o robô não pode
normalmente ver além das esquinas e os
comandos de movimento estão sujeitos ao
incerteza (e.g. fricção, engrenagens
deslizando, etc).
Sensores
• Sensores Passivos, como câmeras são os verdadeiros
observadores do ambiente pois capturam os sinais que
são gerados sem interferir com o ambiente.
• Sensores Ativos, como sonar, enviam energia para o
ambiente e dependem do fato desta energia ser
refletida de volta ao sensor.
• Sensores Ativos normalmente fornecem mais
informação que sensores passivos, mas ao custo de
maior consumo de energia, possibilidade de
interferência entre múltiplos sensores ou de gerar
perturbações no ambiente.
Exemplos de Sensores
• Sensores de proximidade (Range Finders), Sonares,
Sensores tácteis, GPS
• Sensores de Imagem (cameras, fotoreceptores etc)
• Sensores propriosensitivos (percebem o próprio
estado do robô), como contadores de passo (shaft
decoders), giroscópios.
• Sensores de torque e força.
Atuadores
• Atuadores permitem a movimentação e mudança da
forma dos robôs.
• A fim de entender o projeto de atuadores, é
importante primeiro conhecer o conceito de grau de
liberdade (degree of freedom – DOF).
• Conta-se 1 grau de liberdade para cada direção
independente na qual um robô ou um de seus
atuadores pode mover-se.
Atuadores
• Exemplo: um robô rígido com movimentos
arbitrários (como um avião robótico não tripulado)
possui 6 graus de liberdade, 3 para suas coordenadas
(x,y,z) mais 3 para sua orientação angular – Yaw,
Pitch and Roll.
– Estes 6 graus de liberdade definem o estado cinemático ou
pose do robô.
– O estado dinâmico do robô inclui uma dimensão adicional
para a taxa de mudança de cada dimensão cinemática.
Atuadores
• Para corpos não rígidos, existem graus de liberdade
adicionais no próprio robô
• Por exemplo, em um braço humano, o cotovelo tem
um grau de liberdade – ele pode flexionar em uma
direção. Já o pulso tem 3 graus de liberdade – ele pode
mover-se para cima e para baixo, de um lado para o
outro, assim como rotacionar.
• Juntas robóticas também possuem 1, 2 ou 3 graus de
liberdade.
• 6 graus de liberdade são requeridos para colocar um
objeto, como uma mão, em um ponto particular do
espaço e numa dada orientação.
Atuadores
• O braço na figura abaixo possui exatamente 6 graus
de liberdade, criados a partir de 5 juntas de
revolução que geram movimento rotacional e 1
junta prismática que gera movimento translacional.
Atuadores
• Um experimento simples para verificar que um
braço humano possui mais que 6 graus de
liberdade envolve colocar a mão sobre uma
mesa e perceber que você ainda possui liberdade
para rotacionar o ombro sem mudar a
configuração de sua mão.
• Manipuladores que possuem mais graus de
liberdade do que os requeridos para uma
determinada tarefa são mais simples de controlar
do que aqueles com um número mínimo de graus
de liberdade.
Percepção Robótica
• A percepção robótica pode ser vista como uma
inferência temporal a partir de sequências de ações e
medidas do ambiente, conforme ilustrado na figura
abaixo.
Xt é o estado do ambiente (incluindo o próprio robô) no tempo t, Zt é a
observação recebida no tempo t, e At é a ação tomada após a observação
ter sido recebida.
Percepção robótica
• A tarefa da filtragem (ou atualização do estado
de crença) consiste essencialmente em
computar o novo estado P(Xt+1 | Zt+1, At), a
partir do estado corrente P(Xt | Zt, At-1) e da
nova observação Zt+1.
Localização
• Localização é um exemplo de percepção robótica que
consiste em determinar onde estão os objetos no
ambiente.
• Trata-se de um problema extremamente relevante pois
o conhecimento sobre onde estão as coisas no mundo
é essencial para qualquer interação física.
• Como exemplo, manipuladores robóticos precisam
conhecer a localização dos objetos que vão manipular.
• Robôs de navegação precisam salber onde eles estão a
fim de encontrar a rota para localizações alvo.
Localização
• O problema da localização pode ser dividido em 3 subcategorias:
– Se a pose inical do objeto a ser localizado é conhecida, então
trata-se de um problema de rastreamento. Esse tipo de
problema é caracterizado por incertezas porém limitadas a um
campo local.
– Uma categoria mais complexa é a localização global, na qual a
localização inicial do objeto não é totalmente conhecida. Esse
tipo de problema são reduzidos a problemas de rastreamento
após os objetos de interesse terem sido localizados.
– Finalmente, há situações em que, para efeito de teste da
robustez de técnicas de localização sob condições extremas, o
objeto que o robô esta tentando localizar é sequestrado
(removido forçosamente) do ambiente e eventualmente
devolvido em um tempo futuro.
Localização
• Um modelo cinemático simplificado de um robô
móvel é apresentado na figura abaixo
Controle
• Controladores são técnicas em tempo real que
utilizam feedback do ambiente com o objetivo de
manter estáveis os movimentos do robô
• Se o objetivo do controle é manter o robô dentro
de uma rota pré-programada, este é geralmente
citado como um controlador de referência e o
caminho é chamado de caminho de referência.
• Controladores que otimizam uma função de custo
global são conhecidos como controladores
ótimos.
Controle
• Exemplo de controlador reativo para um robô
hexapode
Arquiteturas para Software Robótico
• A arquitetura de subsunção (Brooks, 1986) é um arcabouço
para montagem de controladores reativos (como o da
figura no slide anterior)
• Nós nestas máquinas podem conter testes para certas
variáveis de sensores, as quais condicionam o
funcionamento da máquina de estados finitos.
• Arcos são rotulados com mensagens que geral geradas
quando atravessados. Tais mensagens são enviadas aos
motores do robô ou para outras máquinas de estados
finitos.
• Adicionalmente, máquinas de estados finitos possuem
timers internos (clocks) que controlam o tempo que leva
para um arco ser percorrido.
Arquiteturas para Software Robótico
• Arquiteturas híbridas combinam reação com deliberação.
• A arquitetura híbrida mas popular é a arquitetura de 3 camadas, a
qual consiste de uma camada reativa, uma camada executiva e uma
camada deliberativa.
• A camada reativa é responsável pelo controle de baixo nível do
robô. É caracterizada um um loop estrito de sensor-ação. Seu ciclo
de decisão é normalmente da ordem de milisegundos.
• A camada executiva (o camada de sequenciamento) serves como o
elo entre as camadas reativa e deliberativa. Aceita diretivas dadas
pela camada deliberativa e as sequencia para a camada reativa.
• Por exemplo, a camada executiva pode gerenciar um conjunto de
coordenadas de um caminho geradas por um planejador
deliberativo, e tomar decisões com respeito aos tipos de
comportamentos reativos a serem evocados.