Arquiteturas de Controle

pedindo ajuda a um robô
0 – IA Simbolica
0.7 – Robotica
0.7.1 – Arquiteturas de Controle
0.7.2 – Localizacao e Mapeamento Simultaneos
0.7.3 – Planejamento de Movimento
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

organizando o comportamento do robô

Arquiteturas de controle definem como sensores, raciocínio e atuadores se organizam em um robô. Primeiramente, elas determinam o fluxo de informações e o controle entre os diferentes módulos. Além disso, uma boa arquitetura deve equilibrar reatividade a mudanças com capacidade de planejamento complexo. Por exemplo, um robô de resgate precisa desviar de obstáculos imediatamente enquanto planeja rotas. Dessa forma, a escolha da arquitetura impacta diretamente a robustez e flexibilidade do sistema. Diferentes abordagens refletem diferentes filosofias sobre como agentes inteligentes devem operar. Por conseguinte, as principais arquiteturas dividem-se em hierárquicas, reativas e híbridas.

arquitetura hierárquica tradicional

A arquitetura hierárquica organiza o robô em camadas com diferentes níveis de abstração. Primeiramente, a camada de planejamento lida com objetivos de longo prazo usando raciocínio simbólico. Em seguida, a camada de controle traduz planos em sequências de comandos executáveis pelo robô. Por fim, a camada de execução lida diretamente com sensores e atuadores em tempo real. Por exemplo, no robô Shakey, o planejador gerava sequências de ações em alto nível. Além disso, a execução traduzia essas ações em comandos de movimento para os motores. Dessa maneira, essa separação de responsabilidades facilita o desenvolvimento, mas pode ser lenta.

arquitetura reativa e subsumption

Rodney Brooks propôs a arquitetura de subsumption, revolucionando a robótica nos anos 1980. Primeiramente, ela elimina representações simbólicas centrais, usando camadas de comportamentos simples e concorrentes. Cada camada implementa um comportamento específico como “evitar obstáculos” ou “ir em direção à luz”. Além disso, camadas inferiores têm prioridade e podem “subsumir” (sobrescrever) camadas superiores. Por exemplo, um robô pode evitar parede mesmo quando planeja ir a um local distante. Consequentemente, essa arquitetura produz robôs extremamente reativos e robustos em ambientes dinâmicos. Assim, a subsumption demonstrou que inteligência pode emergir de comportamentos simples sem representações complexas.

arquiteturas híbridas modernas

Arquiteturas híbridas combinam o melhor das abordagens hierárquicas e reativas em um sistema único. O modelo de três camadas é o mais difundido: reativa, executiva e deliberativa. Primeiramente, a camada reativa lida com comportamentos rápidos e respostas a emergências imediatas. Em seguida, a camada executiva coordena comportamentos e gerencia tarefas em andamento. Por fim, a camada deliberativa realiza planejamento simbólico de longo prazo quando há tempo disponível. Por exemplo, um robô doméstico desvia de obstáculos reativamente enquanto planeja a rota de limpeza. Dessa forma, essa integração permite robôs que são simultaneamente reativos e planejadores. Portanto, arquiteturas híbridas dominam robótica moderna em aplicações comerciais e de pesquisa.

escolhendo a arquitetura adequada

A escolha da arquitetura depende dos requisitos específicos da aplicação robótica. Primeiramente, robôs de exploração espacial exigem planejamento detalhado devido à comunicação lenta. Por outro lado, robôs de resgate precisam reatividade extrema para lidar com ambientes perigosos e imprevisíveis. Além disso, robôs industriais combinam rotinas repetitivas com capacidade de adaptação a pequenas variações. Para iniciantes, estudar arquiteturas de controle é entender as diferentes formas de organizar inteligência robótica. Consequentemente, cada arquitetura reflete uma visão sobre como agir no mundo. A evolução das arquiteturas mostra o amadurecimento da robótica como campo. Por fim, o equilíbrio entre planejamento e reação continua sendo um tema central.

Redes de Tarefas Hierarquicas – HTN

filósofo
0.6 – Planejamento
0.6.2 – Planejamento Hierarquico
0.6.2.1 – Redes de Tarefas Hierarquicas – HTN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

o que são redes de tarefas hierárquicas

HTN (Hierarchical Task Networks) é um formalismo para planejamento que utiliza decomposição de tarefas. Diferente do planejamento clássico, que busca sequências de ações primitivas, HTN parte de tarefas compostas. Primeiramente, o sistema possui uma biblioteca de métodos que especificam como decompor cada tarefa composta. Por exemplo, a tarefa “viajar” pode ser decomposta em “escolher transporte”, “comprar passagem”, “embarcar”. Além disso, o planejador continua decompondo até obter apenas tarefas primitivas executáveis. Dessa forma, essa abordagem reflete como especialistas humanos pensam sobre problemas complexos. Consequentemente, HTN é amplamente utilizado em sistemas que exigem planejamento eficiente e estruturado.

componentes de um sistema htn

Um sistema HTN possui três componentes principais que trabalham em conjunto. As tarefas primitivas representam ações diretamente executáveis pelo agente no mundo. Por outro lado, as tarefas compostas representam atividades de alto nível que requerem decomposição. Além disso, os métodos definem como cada tarefa composta pode ser decomposta em subtarefas. Cada método possui um nome de tarefa, pré-condições e uma rede de subtarefas ordenadas. Por exemplo, método “viajar-de-carro” pode ter pré-condição “possui_carro”. Sua rede de subtarefas pode incluir “pegar_chaves”, “entrar_carro”, “dirigir”. Portanto, essa estrutura captura conhecimento sobre como realizar tarefas complexas.

exemplo prático: preparar refeição

Considere um sistema HTN para planejamento de refeições em uma cozinha. A tarefa composta “preparar_jantar” possui métodos como “jantar_simples” e “jantar_elaborado”. Primeiramente, o método “jantar_simples” decompõe em “preparar_prato_único” e “servir”. Em seguida, “preparar_prato_único” decompõe em ações primitivas como “aquecer_forno”, “temperar_comida”. Além disso, as pré-condições verificam ingredientes disponíveis antes de escolher um método. Por exemplo, “jantar_simples” requer que haja ingredientes para um prato principal. Dessa forma, o planejador escolhe métodos cujas pré-condições são satisfeitas no estado atual. Consequentemente, o resultado é um plano hierárquico com ações executáveis.

algoritmos de planejamento htn

Algoritmos HTN utilizam busca na estrutura hierárquica para construir planos completos. O algoritmo forward HTN começa com a tarefa inicial e aplica métodos recursivamente. Para cada tarefa composta, ele seleciona um método aplicável dentre os disponíveis. Em seguida, aplica o método, expandindo suas subtarefas na ordem especificada pela rede. Quando encontra uma tarefa primitiva, verifica se ela pode ser executada no estado atual. Se alguma subtarefa falha, o algoritmo retrocede e tenta métodos alternativos. Por fim, esse processo continua até que todas as tarefas sejam resolvidas como primitivas.

vantagens e aplicações do htn

HTN oferece vantagens significativas para domínios onde conhecimento especializado está disponível. Primeiramente, a decomposição hierárquica reduz drasticamente o espaço de busca comparado ao planejamento clássico. Além disso, os planos gerados tendem a ser mais compreensíveis para humanos especialistas. Sistemas militares utilizam HTN para planejamento tático e logístico em operações complexas. Jogos eletrônicos também empregam HTN para controlar personagens não-jogadores com comportamentos realistas. Assistentes pessoais utilizam HTN para entender e executar comandos compostos dos usuários. Para iniciantes, HTN demonstra como conhecimento estruturado pode guiar planejamento eficiente. Por fim, é uma abordagem que combina poder expressivo com desempenho prático.