Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ARQUITETURA DE CONTROLE: TIPOS E CONCEITOS Deivison Guarines Furtado Guilherme Pereira Marchioro Bertelli Isaac Diego Tavares de Souza Rodrigo José Araújo Damasceno Sistemas Robóticos Autônomos UFRN – DCA – Setembro de 2013 1/61 Introdução 2/61 Introdução • Uma arquitetura para robô móvel descreve uma maneira de se construir o software de controle inteligente do robô, apresentando quais os módulos que devem estar presen- tes no sistema, e como estes módulos interagem entre si; • Arquitetura = Guia para implementação do Sistema de Controle; • Algoritmos e restrições podem ser impostas na imple- mentação dos módulos do sistema; 3/61 Introdução • Componentes básicos utilizados em um sistema de con- trole, utilizados para definir uma arquitetura, são classifi- cados em três grupos: 1. Percepção; 2. Planejamento; 3. Atuação; 4/61 Introdução • Classificação de uma arquitetura para robôs, relacionada ao uso de deliberação e/ou reatividade no sistema de controle: 1. Arquitetura Deliberativa; 2. Arquitetura Reativa; 3. Arquitetura Híbrida; 5/61 Introdução Deliberação: • Está associada ao processo de tomada de decisão ou planejamento das ações e movimentos do robô utilizando um modelo interno do mundo para que se possa alcançar um determinado objetivo; • Envolve uma análise abrangente do modelo interno do mundo para determinar as ações do robô de forma que este alcance seus objetivos; 6/61 Introdução Deliberação: 7/61 Introdução Reatividade: • Associada a execução de ações pré-definidas em respos- ta a uma informação sensorial obtida localmente; • Tomada rápida de decisões; • Estímulo-resposta; 8/61 Introdução Reatividade: 9/61 Introdução • O grau de deliberação e reação encontrado nas arquite- turas pode variar continuamente; 10/61 Introdução • Classificação segundo a abordagem utilizada no desen- volvimento da Arquitetura: 1. Funcional; 2. Comportamental; 3. Mista; 11/61 Introdução Desenvolvimento orientado à funções: • Identificam-se módulos ou componentes que possuem funções definidas dentro da arquitetura; • Projetista deve se preocupar em identificar as funções internas da arquitetura e dividi-las em módulos; 12/61 Introdução Desenvolvimento orientado ao comportamento: • Arquitetura é formada principalmente por componentes chamados comportamentos, responsáveis pelas ações do robô; • Projetista está interessado em identificar ações e tarefas que o robô deve realizar, e separar estas ações e tarefas em módulos; 13/61 Introdução 14/61 Comportamento: • Em robótica, o termo comportamento pode ter diferentes cono- tações dependendo do contexto em que é utilizado; • Geralmente, comportamento = componente da Arquitetura; • No contexto de Arquiteturas reativas, comportamento pode ser definido como sendo uma função ou procedimento que mapeia entradas sensoriais diretamente a padrões de ações motoras usados para cumprir uma tarefa; • Também pode ser usado em robótica para se referir ao comportamento emergente do robô; Introdução 15/61 Comportamento emergente: • Não é definido de forma explícita na arquitetura; • Surge da interação dos diversos comportamentos (com- ponentes) da arquitetura entre si e com o ambiente quan- do o sistema de controle é executado; • Neste caso, comportamento se refere ao resultado que pode ser observado quando o sistema de controle está em operação, ou seja, as ações que o robô realiza vistas a partir de um observador externo; Arquiteturas Deliberativas 16/61 Arquiteturas Deliberativas 17/61 • Utilizada nos primeiros trabalhos em robótica móvel; • Procura imitar o processo de planejamento e tomada de decisão do homem para que o robô realize uma tarefa; • Conhecimento é armazenado em um modelo interno do mundo que pode ser construído a partir do conhecimento a priori sobre o ambiente e de informações adquiridas pelos sensores do robô. Arquiteturas Deliberativas 18/61 • O modelo que o robô possui do mundo pode ser repre- sentado de formas diferentes: 1. Simbólica, baseada em lógica; 2. Mapa espacial métrico; 3. Outras; Arquiteturas Deliberativas 19/61 Mapa espacial métrico: • Objetivo é representado por uma posição ou configuração que o robô deve assumir em uma tarefa de navegação; Simbólico: • Permitem uma descrição mais elaborada do objetivo, e tarefas mais complexas e abrangentes que navegação podem ser realizadas; Arquiteturas Deliberativas 20/61 • Objetivo definido => Planejamento de ações; • O modelo interno é amplamente analisado; • Obtêm-se um conjunto de ações que possibilite ao robô realizar sua tarefa e atingir seus objetivos de forma efi- ciente ou ótima, devido ao modelo de mundo; • Modelo deve ser consistente, confiável, preciso e com- pleto; • SMPA (Sense-Model-Plan-Act); Arquiteturas Deliberativas 21/61 • Arquiteturas fortemente deliberativas => mais adequadas para ambientes praticamente estáticos e muito bem con- trolados; • Robô Shakey, um dos primeiros robôs móveis, construído no Stanford Research Institute, é puramente deliberativo; • Robô HILARE; • Stanford cart; Arquiteturas Deliberativas 22/61 Arquiteturas Deliberativas 23/61 • Arquiteturas deliberativas à serem apresentadas: 1. Nested Hierarchical Controller (NHC); 2. NIST Real-time Control System (RCS); Arquiteturas Deliberativas 24/61 Nested Hierarchical Controller (NHC): • Robô coleta informações sensoriais e combina estas in- formações em uma estrutura de dados que representa o modelo do mundo; • As informações adquiridas podem ser combinadas no modelo do mundo juntamente com conhecimentos for- necidos a priori; Arquiteturas Deliberativas 25/61 Nested Hierarchical Controller (NHC): Arquiteturas Deliberativas 26/61 Nested Hierarchical Controller (NHC): • O planejamento é decomposto em três níveis hierár- quicos ou níveis de abstração: 1. Planejador da missão; 2. Navegador; 3. Piloto; • De um nível para outro, o planejamento vai se tornando mais específico, local, e detalhado. Arquiteturas Deliberativas 27/61 NIST Real-time Control System (RCS): • Baseado no NHC; • Foi criada para servir como um guia para fabricantes que queiram adicionar mais inteligência a seus robôs; • O Modelo do mundo também está organizada de forma hierárquica em diversos níveis de abstração, acompa- nhando a hierarquia de planejamento; Arquiteturas Deliberativas 28/61 NIST Real-time Control System (RCS): Arquiteturas Deliberativas 29/61 NIST Real-time Control System (RCS): • Módulos de percepção sensorial são responsáveis pela atualização do modelo do mundo, e também acom- panham a divisão hierárquica da arquitetura; • Simula planos de ação para verificar se estes satisfazem os requisitos da tarefa; • Em qualquer nível de hierraquia, o homem pode substituir completamente as atividades do sistema com sua ca- pacidade de percepção, tomada de decisões, e controle na execução de tarefas. Arquiteturas Deliberativas 30/61 NIST Real-time Control System (RCS): • Conforme a disponibilidade de tecnologia em robótica, o robô poderia executar tarefas de maior responsabilidade e de níveis hierárquicos maiores até atingir um grau com- pleto de autonomia; • Além do homem substituir a atividade, a arquitetura tam- bém prevê a possibilidade do homem compartilhar o con- trole com o sistema. Arquiteturas Reativas 31/61 Arquiteturas Reativas 32/61 • Surgiram após as arquiteturas deliberativas; • Principal motivação: permitir a implementação de sis- temas de controle que possam responder de forma rápida a uma variedade de eventos ou situações no ambiente; “O mundo é a melhor representação dele mesmo.” • O sistema de controle depende fortemente das informa- ções locais obtidas por meio dos sensores do robô, ou seja, de como o robô vê o mundo ao seu redor em um determinado momento. Arquiteturas Reativas 33/61 • Abordagem pode ser restritiva; • As ações do robô surgem de respostas pré-definidas a determinadas informações sensoriais; • Velocidade de processamento e resposta dos sistemas de controle reativos é alta; • Define a maneira como a informação sensorial é mapea- da em uma ação ou resposta, e também define como é feita a coordenação dos diversos pares percepção-ação, ou estímulo-resposta. Arquiteturas Reativas 34/61 • Responsabilidade do desenvolvedor: 1. Determinar quais comportamentos são relevantes para a tarefa a ser realizada pelo robô; 2. Determinar a maneira como eles devem ser integrados utilizando o mecanismo de coordenação definido pela arquitetura; Arquiteturas Reativas 35/61 • A coordenação de comportamentos em uma arquitetura reativa pode ser: 1. Competitiva - Apenas um dos comportamentos ativos em um dado momento prevalece determinando a ação que o robô deve realizar; 2. Cooperativa - Todos os comportamentos ativos contribuem para determinar a ação do robô. Arquiteturas Reativas 36/61 • Exemplos de Arquiteturas Reativas: 1. Arquitetura de Subsunção; 2. Esquema Motor; 3. Arquitetura de Circuito; 4. Seleção de Ação; 5. Arquitetura de Colônia; Arquiteturas Reativas 37/61 Arquitetura de Subsunção: • Uma das arquiteturas mais representativas dentro do pa- radigma puramente reativo; • Os comportamentos são módulos que mapeiam um estí- mulo ou uma informação sensorial em um sinal ou uma ação motora; • Comportamentos são conectados uns aos outros forman- do uma rede organizada em camadas de competência; Arquiteturas Reativas 38/61 Arquitetura de Subsunção: • Os comportamentos em cada uma das camadas funcio- nam de forma concorrente e independente; • A coordenação é feita por meio de dois mecanismos principais: 1. Supressão; 2. Inibição; Arquiteturas Reativas 39/61 Arquitetura de Subsunção: • Supressão - A saída produzida pelo comportamento de prioridade mais baixa (comportamento suprimido) é subs- tituída pela saída produzida pelo comportamento de prio- ridade mais alta, entretanto, ambos os comportamento permanecem ativos. • Inibição - O comportamento de prioridade mais baixa é desativado pelo comportamento de prioridade superior. Arquiteturas Reativas 40/61 Arquitetura de Subsunção: • Um comportamento em uma camada superior só age ini- bindo ou suprimindo um determinado conjunto pré-defi- nido de comportamentos em camadas inferiores, e não todos eles. Arquiteturas Reativas 41/61 Esquema Motor: • Comportamentos são módulos que expressam a relação entre controle motor e percepção agindo de forma para- lela e concorrente no sistema; • A resposta motora é representada na forma de um vetor com magnitude e orientação gerado a partir de um méto- do de campos potenciais artificiais; • Não existe arbitragem de um comportamento em relação ao outro. Arquiteturas Reativas 42/61 Esquema Motor: • A influência de um comportamento nesta resposta final é determinada por seu peso relativo aos demais; • Os pesos funcionam como parâmetros que podem ser alterados para dar flexibilidade ao sistema; • Um comportamento também pode ter como parâmetro um nível de ativação que determina quando o comporta- mento deve entrar em ação; Arquiteturas Reativas 43/61 Esquema Motor: • Em um comportamento, um esquema motor é associado a um esquema de percepção, que fornece, em tempo hábil, a informação especifica que o comportamento pre- cisa para poder reagir; • Esquemas de percepção também podem ser definidos recursivamente; • Quando um comportamento se encontra ativo ele produz uma resposta reativa na forma de um vetor; Arquiteturas Reativas 44/61 Esquema Motor: • A magnitude e direção do vetor podem ser funções da in- formação dada pelo esquema de percepção do compor- tamento; • Os vetores de resposta são gerados do ponto de vista do robô a partir das informações sensoriais que o robô pos- sui naquela posição; Arquiteturas Reativas 45/61 Esquema Motor: Arquiteturas Reativas 46/61 Esquema Motor: • Os comportamentos são configurados em tempo de exe- cução baseado na intenção e capacidade do robô, e nas restrições do ambiente; • A estrutura é mais parecida com uma rede dinamica- mente variável do que com uma arquitetura de camadas. Arquiteturas Reativas 47/61 Arquitetura de Circuito: • Combina os princípios de reatividade, uso de formalismo lógico, e níveis de abstração; • Os comportamentos podem ser agrupados em compo- sições, que por sua vez podem ser novamente agrupa- das, permitindo a obtenção de diferentes níveis de abs- tração de comportamentos; • A arbitração pode ocorrer dentro de cada nível de abs- tração; Arquiteturas Reativas 48/61 Arquitetura de Circuito: • Os comportamentos são expressos utilizando um modelo que usa lógica formal, que permite o desenvolvimento de um circuito que representa os objetivos e funcionalidades do robô; • A linguagem utilizada nesta arquitetura para programação dos comportamentos: REX/GAPPS; Arquiteturas Reativas 49/61 Seleção de Ação: • Utiliza um nível de ativação para determinar em tempo de execução qual comportamento deve ser selecionado; • Este nível de ativação é afetado pela situação atual em que o robô se encontra, pelos objetivos de alto nível, ou pela inibição causada por comportamentos conflitantes; • O comportamento com nível de ativação maior é escolhi- do dentre um conjunto de todos os comportamentos cujas pré-condições também estejam satisfeitas; Arquiteturas Reativas 50/61 Seleção de Ação: • Não existe uma organização clara dos comportamentos em camadas pré-definidas; • Difícil predizer qual o comportamento global emergente que o robô apresentará em um ambiente dinâmico; Arquiteturas Reativas 51/61 Arquitetura de Colônia: • Descendente direta da arquitetura de subsunção; • Composta de múltiplas unidades de controle independen- tes, chamadas de agentes, que são executados de forma paralela; • Cada agente é responsável por um comportamento do robô; Arquiteturas Reativas 52/61 Arquitetura de Colônia: Arquiteturas Reativas 53/61 Arquitetura de Colônia: • As principais diferenças entre a arquitetura de colônia e a de subsunção estão na forma como as duas arquiteturas estão organizadas; • Arquitetura de subsunção - Os comportamentos são organiza- dos em camadas, e camadas superiores podem intervir em camadas inferiores. • Arquitetura de colônia - Os comportamentos são mais modula- res, independentes, e ao invés de camadas, existe uma árvore de relação entre os comportamentos, através da qual a priori- dade de um em relação ao outro é definida. Discussão Comparativa 54/61 Discussão Comparativa 55/61 • Nas arquiteturas deliberativas existe uma forte dependên- cia de um modelo interno do mundo = mais adequadas a ambientes controlados onde não ocorrem mudanças frequentes; • Motivos: 1. O planejamento geralmente utiliza um método de busca que considera as informações globais sobre o mundo; 2. A atualização do modelo interno deve ser feita quando este deixa de refletir a realidade devido a mudanças no ambiente; Discussão Comparativa 56/61 Discussão Comparativa 57/61 • Nas arquiteturas reativas as ações do robô são determinadas a partir de informações sensoriais locais = são adequadas a ambientes extremamente dinâmicos; • Motivos: 1. Menos gerais e flexíveis que as arquiteturas deliberativas em relação a definição de tarefas e missões; 2. O sistema é construído por pares pré-programados de percepção- ação que se tornam ativos em condições pré-definidas; 3. Os comportamentos pré-definidos não requerem uma computação pesada e permitem que o sistema quando executado responda rapidamente aos estímulos do meio ambiente; Discussão Comparativa 58/61 • Nas arquiteturas reativas as ações do robô são determinadas a partir de informações sensoriais locais = são adequadas a ambientes extremamente dinâmicos; • Motivos: 1. Menos gerais e flexíveis que as arquiteturas deliberativas em relação a definição de tarefas e missões; 2. O sistema é construído por pares pré-programados de percepção- ação que se tornam ativos em condições pré-definidas; 3. Os comportamentos pré-definidos não requerem uma computação pesada e permitem que o sistema quando executado responda rapidamente aos estímulos do meio ambiente; Discussão Comparativa 59/61 • Enfoque da abordagem deliberativa - Formulação de um plano de ação que permita atingir os objetivos especifi- cados. • Enfoque da abordagem reativa - Execução das ações do robô em tempo real em um ambiente dinâmico. • Arquiteturas híbridas - Combina as características princi- pais das abordagens deliberativa e reativa, procurando, ao mesmo tempo, diminuir a restrição em relação ao domínio de aplicação de cada uma destas abordagens. Referências Bibliográficas 60/61 [1] OKAMOTO JR, Jun. ; GRASSI JR, Valdir, Arquitetura de Controle: Tipos e Conceitos. [2] SIEGWART, Roland; NOURBACKHSH, Illah, Autonom- ous Mobile Robots, MIT Press, 2004. Obrigado pela atenção!! 61/61