Ninguém vê o todo.
Em Boids e no consenso, cada agente consulta os seus vizinhos. O comportamento global emerge dessas interações locais.
Pensa num bando de pássaros a mudar de direção. Cada um acompanha os que estão perto. Os drones também podem seguir regras locais para se organizar — ou receber lugares definidos numa formação.
Explorar comunicação: LoRa, Wi-Fi e outras redes →Escolhe Consenso e reduz o raio de comunicação. Repara nas linhas e no número de grupos. Depois aumenta o raio. Se a experiência estiver em pausa, usa “Retomar” ou avança um passo.
O desenho mostra uma experiência visual. Os controlos podem ser usados com o teclado; as explicações descrevem o comportamento. Usa “Ler resultados” para ouvir as métricas atuais sem anúncios contínuos.
Em Boids e no consenso, cada agente consulta os seus vizinhos. O comportamento global emerge dessas interações locais.
Reduz o raio e observa grupos isolados. No consenso, a convergência para um valor comum depende de uma rede conectada.
As setas são uma simplificação vista de cima. Não simulamos vento, tamanho das hélices ou atrasos da rede. Um bom resultado aqui não prova que o voo real seja seguro.
Todos usam uma fotografia dos valores anteriores. Assim, o primeiro drone não altera a informação que os restantes vão ler.
enquanto a experiência estiver ativa:
anteriores = copiar_valores_de_todos_os_drones()
rede = encontrar_vizinhos_no_raio()
passo = 0,45 / máximo(1, maior_número_de_vizinhos)
para cada drone i:
ajuste = 0
para cada vizinho j de i:
ajuste += anteriores[j] - anteriores[i]
novos[i] = anteriores[i] + passo × ajuste
aplicar_todos_os_valores(novos)
# Grupos sem ligação podem chegar a acordos diferentes.Pseudocódigo descreve a lógica. As funções com nomes como “ler sensores” representam trabalho que teria de ser implementado. Este exemplo não é código pronto a executar num robô.
Um planeador atribui destinos. Cada drone aproxima-se do seu e abranda, mantendo distância dos vizinhos.
destinos = escolher_forma(círculo, V ou grelha)
atribuir_um_destino_a_cada_drone(destinos)
para cada pequeno intervalo:
anteriores = copiar_posições_e_velocidades()
para cada drone:
erro = destino - posição_anterior
correção = atração × erro - travagem × velocidade_anterior
correção += afastamento_dos_vizinhos_próximos(anteriores)
atualizar_movimento(correção)
# A separação pode impedir a chegada exata a destinos próximos.Na formação, um planeador central escolhe os destinos. Em Boids e consenso, cada drone usa apenas os vizinhos. São formas diferentes de organizar o grupo.
Antes de operar drones reais, confirma as regras da ANAC e da EASA, incluindo as condições para vários drones. Regras e entidades a consultar →
Estas leituras ajudam a aprofundar o tema. As nossas experiências são simplificações educativas: não são reproduções dos resultados dos artigos.
Ligação ao laboratório: Como movimentos de grupo podem nascer de regras locais. É a ligação mais direta à nossa experiência Boids.
O que não devemos concluir: O artigo trata de comportamento animado. Não estabelece garantias de separação ou de controlo para drones reais.
DOI: 10.1145/37402.37406 · em inglês · acesso ao texto completo pode ser pago
Ver na biblioteca científica →Ligação ao laboratório: Ajuda a perceber por que a rede de vizinhos importa quando agentes precisam de chegar a acordo.
O que não devemos concluir: A demonstração usa valores escalares, ligações bidirecionais e atualizações ideais; o artigo discute uma classe muito mais ampla de sistemas.
DOI: 10.1109/JPROC.2006.887293 · em inglês · acesso ao texto completo pode ser pago
Ver na biblioteca científica →Ligação ao laboratório: Ajuda a separar perguntas como quem pode fazer uma tarefa, quando a faz e como repartir o trabalho.
O que não devemos concluir: É uma referência geral sobre equipas de robôs, não uma implementação específica de drone e UGV. O esquema do site não executa negociação automática.
DOI: 10.1177/0278364904045564 · em inglês · acesso ao texto completo pode ser pago
Ver na biblioteca científica →