Confie em mim, eu sei o que estou fazendo: auto-adaptação de um robô modular ao ambiente de execução de tarefas



É impossível imaginar o mundo da ficção científica do futuro sem robôs. Sejam andróides do universo Alien, máquinas robô antropomórficas de Transformers, um cachorro robótico chamado Axel ou um enorme assassino de robôs ED-209 no filme Robocop, que parecia uma galinha para muitos espectadores. Mas o que eles têm em comum? Além de força, velocidade, resistência e outras, por assim dizer, características físicas? Inteligência. E o que é inteligência? A capacidade de pensar, analisar dados e tomar decisões, se falarmos exageradamente. Hoje, vamos nos familiarizar com o primeiro robô modular do mundo, capaz de analisar a situação em campo, sendo reconstruído para realizar a tarefa. Como os cientistas conseguiram ensinar o robô a pensar rapidamente e tomar as decisões corretas, como esse robô funciona e quão bem? O grupo de pesquisa descreve tudo isso em seu relatório, no qual mergulharemos. Vamos lá

Base da fundação

Para começar, vale a pena conversar um pouco sobre como é o robô testado. Não é tão comum, seus recursos de design são divulgados no próprio nome - um robô auto-reconfigurável modular (MSRR). A palavra "robô" é clara para todos nós. Vamos descobrir o que os dois primeiros significam. Modular: este robô consiste em módulos, que são essencialmente robôs independentes. Ao combinar esses módulos, você pode obter um design de qualquer complexidade (praticamente), dependendo da tarefa necessária. Ou seja, mini-robôs individuais (módulos) podem facilmente executar algumas tarefas por conta própria e, para tarefas mais complexas, eles se reúnem, como rangers poderosos combinados no Megazord (os filhos dos anos 90 entenderão que tipo de bobagem que acabei de escrever :) )


A aparência de um robô modular.

Os pesquisadores observam que estudos anteriores foram realizados no campo de robôs modulares que podem resolver alguns problemas. No entanto, anteriormente esses robôs podiam resolver tarefas simples ou tarefas complexas, cujas soluções já foram programadas por humanos. De fato, eles não tomaram decisões por conta própria, avaliando a situação e a complexidade necessária para concluir a tarefa.

Os cientistas realizaram uma série de testes, cada um diferente do anterior. O robô, por outro lado, teve que executar uma tarefa específica (que um pouco mais tarde), reconstruindo no novo ambiente. Um casaco de pele de carneiro duplo, é claro, ninguém lhe pediu, mas os resultados ainda impressionaram os cientistas. E agora vamos nos familiarizar com eles.

Teste "Megazord"

Os testes do robô ocorreram em três etapas, cada uma com sua própria tarefa. Os testes foram realizados em uma sala onde o “ambiente de trabalho” do robô foi formado com a ajuda de caixas, que foram alteradas pelos pesquisadores em cada etapa. Imagine um labirinto que muda toda vez que você entra nele. O robô não foi originalmente programado para cada novo ambiente, para ele era um ambiente completamente novo. A única coisa que o robô sabia com certeza eram suas habilidades. Antes de tudo, trata-se de uma avaliação do ambiente e, em seguida, o robô seleciona da biblioteca de seus recursos aqueles que mais contribuem efetivamente para a tarefa.

Como eu disse anteriormente, havia apenas três fases de teste com diferentes tarefas e ambientes:

  1. Explore o ambiente, encontre todos os objetos rosa / verdes e a marca azul, mova os objetos para o ponto de redefinição;
  2. Explore o ambiente, encontre a caixa de correio, coloque a tábua de pão na caixa;
  3. Explore o meio ambiente, encontre a embalagem e cole um selo nela.


As tarefas parecem bem simples, mas isso é para nós. Entramos na sala, olhamos em volta, encontramos tudo o que precisávamos e estávamos prontos. Mas não compare um dos computadores mais complexos do mundo (nosso cérebro) e um pequeno robô.

Na primeira etapa, o robô foi encarregado de pegar dois objetos - “lixo metálico”, marcados em rosa e verde, e entregá-lo no ponto de descarga para “reciclagem”. O ponto de redefinição foi marcado com um quadrado azul na parede.

A tarefa está definida, o ambiente de trabalho está pronto, o robô está em execução. A primeira coisa que ele faz é escanear o espaço e criar um mapa tridimensional, segundo o qual ele será guiado no futuro.


O esquema da zona de teste da primeira etapa (esquerda) e um mapa tridimensional do ambiente de trabalho do robô modular (direita).

Considere as ações do robô como um exemplo da primeira etapa do teste, cujos detalhes você vê no diagrama e na figura acima.

A marca verde no diagrama é a localização de uma lata de refrigerante comum, cujo acesso não é barrado. A marca rosa é uma bobina de arame localizada em um espaço estreito entre duas lixeiras. Além disso, vários obstáculos foram localizados em toda a área.

Primeiro, o robô escolheu a forma mais adequada para o movimento - o "carro". Tendo descoberto um objeto rosa, o robô analisou sua posição e concluiu que tal forma não lhe daria a oportunidade de obtê-lo. Portanto, ele foi reconstruído na forma de um "tronco" e retirou um objeto. Retornando à forma da máquina, o robô pegou o objeto e o transportou para o ponto de despejo, cuja posição ele já conhece graças à digitalização e criação de um mapa.


A - o primeiro estágio (da esquerda para a direita: visualização do ambiente de trabalho, varredura do ambiente, reconfiguração do robô, captura de um objeto rosa, movimentação de um objeto, captura de um objeto verde); B - o segundo estágio (2 figuras superiores) e o terceiro estágio (2 figuras inferiores).

No segundo estágio, o ambiente já era diferente, porque as táticas anteriores do robô não seriam mais eficazes. Nas fotos acima, vemos que o robô entrou em forma de "cobra" para subir as escadas e deixar o objeto na caixa de correio. Ou seja, o robô, avaliando a situação, percebeu que a presença de determinados módulos não seria apenas supérflua, mas também poderia levar à falha, portanto os desconectou.

No terceiro estágio, o robô teve problemas para encontrar o alvo (marca onde ele deveria colocar o selo), mas depois de alguns minutos ele conseguiu detectá-lo. A marca está localizada a uma altura de 25 cm do chão, porque a configuração inicial do robô ("máquina") não é eficaz. O robô foi reconstruído em uma configuração vertical e colou um selo.

Receita do robô do enigma

Como já entendemos, nosso Megazord consiste em vários módulos pequenos de robôs capazes de executar vários movimentos por conta própria, o que dá ao grande robô a vantagem da mobilidade e, é claro, a capacidade de reconfigurar.


A aparência do módulo. As setas mostram como o módulo pode mudar de posição (curvas e inclinações horizontais e verticais).

Cada módulo (cada face do cubo tem 80 mm) é equipado com ímãs eletro-permanentes que permitem a conexão entre os módulos, independentemente do lado da conexão. Além disso, esse ímã permite anexar objetos ferromagnéticos (por exemplo, para transportar até o ponto de descarga ou limpar o caminho do robô). Cada módulo individual também é equipado com sua própria bateria (aproximadamente 1 hora), um microcontrolador e um chip Wi-Fi. Todos os módulos foram controlados sem fio por um computador central e um roteador doméstico comum foi usado para fornecer um ambiente Wi-Fi.


Aparência da parte principal do robô (câmera, suporte, câmera RGB-D e base).

A base da base do robô é uma pequena caixa (90x70x70 mm) feita de finas placas de metal, o que permite que os módulos se unam à base através de magnetismo. Os processos de computação foram realizados usando um processador Intel Atom de 1,92 GHz, 4 GB de RAM e 64 GB de armazenamento. Além disso, um adaptador USB Wi-Fi foi montado na base.

O passo mais importante na implementação da tarefa é o seu entendimento. Esta regra se aplica a humanos e pequenos robôs inteligentes. Para entender o que e como fazer, o robô varre o ambiente. Isso é feito através de uma câmera RGB-D.


A posição dos objetos de interesse ( A , B é o primeiro estágio, C é o segundo e D é o terceiro), bem como um exemplo de como o robô "vê" durante o teste com um objeto dentro de uma abertura estreita ( E ).

Quando o sistema de varredura reconhece o objeto necessário, a função de caracterizar as informações obtidas de um mapa tridimensional do ambiente é ativada. Dessa forma, uma grade de espaço é formada, nas quais as áreas inacessíveis ao robô são marcadas em amarelo. Em seguida, o sistema encontra o ponto de acesso mais próximo ao objeto (a um ângulo de 20 ° do próprio robô). Se a distância deste ponto ao objeto for maior que o valor limite e o objeto estiver localizado no chão, o sistema determinará que o objeto está localizado na abertura. Se o objeto for definido pelo sistema em uma posição acima do piso, ele será avaliado como etapas. Se o valor da distância do ponto ao objeto for menor que o indicador de limite, o sistema decide usar a configuração "livre" (isto é, o original) ou "alta" (para elevar a uma certa altura).


Tabela de configurações do robô e para que são usadas.

A especificação da tarefa do robô é bastante simples. Considere um exemplo com uma caixa de correio:

  • realize “pesquisa” se e somente se o robô não vir a caixa de correio;
  • realizar “movimento para a caixa” se e somente se o robô vir a caixa e ainda não a alcançou;
  • execute uma “redefinição” (de um objeto em uma caixa) se e somente se o robô vir a caixa e chegar nela.


Esquematicamente, isso pode ser representado da seguinte maneira (as ações marcadas com um valor de "verdadeiro" e "falso" são marcadas com um "!", Dependendo da variante):



O processo de alteração da configuração começa com o fato de o sistema determinar a necessidade desse processo. Se houver, uma câmera virada para baixo detecta uma seção de 0,75 m por 0,5 m, onde o processo de reconfiguração pode ser bem-sucedido e sem interferência de alguns objetos. O controlador determina as configurações inicial e final, após o que transmite um sinal para os módulos que possuem a etiqueta AprilTag (parece um código QR). Os módulos recebem um comando para desconectar, mover para a posição desejada e conectar-se em uma nova configuração.


Este vídeo mostra todo o processo de teste do robô, desde a varredura da mídia até a conclusão da tarefa.

O elemento mais curioso desse robô-transformador ainda não é a capacidade de alterar a configuração dos módulos, mas a capacidade de decidir independentemente como alterá-lo, adaptando-se às circunstâncias.

A arquitetura do sistema usa uma estrutura que permite que qualquer usuário, usando o vocabulário mais comum, defina uma tarefa para o robô e forme um controlador central, que por sua vez controlará os módulos, dependendo do ambiente de execução da tarefa. A base de tudo isso é o LTLMoP (Planejamento de Missões de Lógica Temporal Linear), que permite criar controladores com base nas instruções de alto nível fornecidas pelo usuário.

Para um conhecimento mais detalhado do estudo, recomendo o relatório dos pesquisadores e materiais adicionais .

Epílogo

Este sistema é muito interessante, embora não sem desvantagens. Portanto, por exemplo, o usuário instrui o robô a colocar o objeto na caixa de correio, mas não o solta até que a caixa de correio seja detectada. Em outras palavras, o robô não pode simplesmente aceitá-lo com as palavras "foda-se, eu parei!" interrompa a tarefa. Ao mesmo tempo, se o robô não conseguir detectar a caixa, o sistema solicitará que o usuário insira dados de esclarecimento. Acontece que o robô não é tão independente? Não, é claro que este não é o T-1000, mas os primeiros passos para isso já estão lá. Afinal, o próprio robô decide qual das configurações disponíveis é a melhor para a tarefa. É impossível chamar isso de processo de pensamento, tudo aqui é bastante simples e linear.

No entanto, mesmo que esse pequeno transformador exija a ajuda de uma pessoa, ele ainda pode tomar uma decisão. Vamos torcer para que atualmente não estamos observando a formação do futuro Ultron. :)
Sexta-feira offtopic (todos têm um bom fim de semana):

Vídeo para quem não consegue decidir quem ele mais gosta: samurai legal ou robôs legais.


E o segundo offtopic (desculpe, não pude resistir) para os amantes da música.


Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD de 1Gbps até dezembro de graça quando pagar por um período de seis meses, você pode fazer o pedido aqui .

Dell R730xd 2 vezes mais barato? Somente nós temos 2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?

Source: https://habr.com/ru/post/pt429036/


All Articles