Buzz, uma linguagem de programação para um enxame de drones auto-organizado
Há algo de fascinante em enxames de insetos, bandos de pássaros e cardumes de peixes. Muitos seres vivos se comportam juntos como um organismo vivo. Ao mesmo tempo, os cientistas explicam que, em tais situações, todo componente vivo de um enxame inteiro cria seu comportamento, concentrando-se apenas nos vizinhos.O mesmo tema interessou os canadenses de origem italiana, Pintsiroli Carlo ( Carlo Pinciroli ), que desde 2007 se dedicam a pesquisas no campo de gerenciamento de um grande número de robôs semi-autônomos . Ele e seus colegas falaram sobre as últimas conquistas nesta área - a linguagem de programação para um enxame de robôs Buzz. O desenvolvimento é conduzido por cientistas do Laboratório Politécnico MIST do Instituto Canadense École Polytechnique de Montréal e seus colegas estrangeiros.Programar um robô móvel é uma tarefa bastante complicada por si só. A tarefa de controlar o comportamento de um rebanho inteiro, e mesmo em um ambiente em mudança, quando os robôs precisam tomar decisões sobre suas ações, é ainda mais difícil. Existem duas abordagens: de baixo para cima e de cima para baixo.A abordagem de baixo para cima sugere que o programador precisa trabalhar com todos os detalhes e nuances do comportamento dos robôs, começando pelo sistema de movimento e orientação. A abordagem de cima para baixo envolve definir tarefas em um nível alto, no qual os detalhes do comportamento dos robôs são calculados com base em algoritmos pré-preparados.
Enxame de robôs do projetoMcLurkin , outro pesquisador na áreaOs autores da linguagem Buzz o descrevem como um herdeiro sintático do agora comum JavaScript, Python e Lua. Isso é feito para reduzir o limite de entrada no idioma. Eles tentaram fazer com que o programador tivesse uma opção de abordagem - ele poderia optar por trabalhar de baixo para cima ou de cima para baixo.A linguagem é enriquecida com designs especiais para trabalhar com enxames de robôs. Por exemplo, o enxame permite que você divida os robôs em grupos, cada um com sua própria tarefa. O design dos vizinhos permite que você trabalhe com a interação dos robôs vizinhos e imite o comportamento dos animais nas escolas reais.Existem outras construções - por exemplo, estigmergia virtual (virtual stigmergy), que fornece aos robôs um comando para transmitir a todos e lembrar informações sob a forma de conjuntos de pares de valores-chave. É nomeado após o mecanismo de interação coordenada indireta de insetos, que foi observado pela primeira vez em cupins. Quando um deles muda o estado do ambiente, outros percebem essa mudança, e isso serve como um incentivo para que eles determinem suas ações subseqüentes.Carlo Pinziroli também criou o ARGoS durante suas atividades de pesquisa . - Um programa para simular o trabalho de um grande número de robôs. Este programa é usado por vários institutos e equipes de pesquisa independentes que trabalham em direções semelhantes. O vídeo mostra uma demonstração da interação de um enxame virtual de robôs no ambiente virtual do ARGoS, que emula o trabalho dos helicópteros Spiri (um projeto de crowdfunding que está atualmente no estágio de lançamento de um produto acabado).O vídeo mostra como um enxame de robôs resolve o problema de encontrar dois alvos diferentes e dividir o enxame em duas partes, de acordo com o alvo encontrado. Eles fazem isso em três etapas.No primeiro, os robôs estão ganhando uma determinada altura. Ao mesmo tempo, os robôs que ganharam altura informam todos os seus vizinhos sobre a consecução desse objetivo intermediário (estigmergia virtual). No segundo estágio, os robôs realizam uma busca visual pelo objeto, girando em torno de um eixo vertical.No terceiro estágio, os robôs que encontram o objeto desejado informam os vizinhos sobre o sucesso e compartilham com eles informações sobre a cor do objeto e a distância a ele. Os robôs que, depois de uma revolução completa, não viram nenhum dos objetos de pesquisa, com base nas informações recebidas dos vizinhos, decidem em qual dos dois grupos participar.O quarto estágio é a divisão do enxame em dois. Os robôs que encontram um objeto e os robôs que recebem informações sobre um objeto de seus vizinhos são divididos em dois grupos.Os autores do artigo expressam a esperança de que o Buzz permita que todos os interessados em robótica realizem suas idéias de uma maneira bastante simples e também avance a questão da programação de um enxame de robôs para o próximo nível. Segundo as informações deles, agora não há plataformas padrão que permitam aos pesquisadores comparar suas realizações, compartilhá-las e usar as realizações de outras pessoas nesta área.O Buzz é gratuito, seu código-fonte é aberto e distribuído sob a licença MIT.Source: https://habr.com/ru/post/pt382755/
All Articles