Definição de Máquina • Qualquer dispositivo capaz de transformar energia em trabalho útil.
• Qual energia? Qualquer fonte (elétrica,
térmica, química, magnética, solar, entre outras)
• Trabalho útil? No ponto de vista físico:
uma força que se desloca em uma determinada distância. Definição de Máquina
Trabalho Energia Máquina Útil
• Máquinas Simples: alavanca, polia, engrenagem, alicate, entre
outros;
• Máquinas Complexas: motor, computador, lavadora de roupas,
entre outros. Definição de Robô • Robôs são agentes físicos que executam tarefas por meio da manipulação do mundo físico.
• Segundo a RIA (Associação das Indústrias de
Robótica) um robô industrial é um manipulador reprogramável, multifuncional, projetado para mover dispositivos em movimentos variáveis programados para a realização de uma variedade de tarefas. Atuadores Definições Preliminares A maioria dos robôs atuais pode ser classificados 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) – RoboCup 2014 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 (MBA). Considerações sobre os Ambientes • A principal razão para as características do ambiente ser parcialmente observável e estocástico são os resultados 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 à incertezas (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 (câmeras, 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 sub-categorias: – Se a pose (estado) inicial 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 (vide slides 23 e 24) • “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 por um loop estrito de sensoração. Seu ciclo de decisão é normalmente da ordem de milisegundos. A camada executiva (ou camada de sequenciamento) serve como o elo entre a camada 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.