ARKONPROJECT
PERCEÇÃO / POSIÇÃO · ORIENTAÇÃO · INCERTEZA

Como é que o drone
sabe onde está?

Imagina que o sinal dos satélites desaparece dentro de um edifício. Como continua o drone a orientar-se? Vamos ver que pistas usa, como o erro cresce e o que ajuda a corrigi-lo.

Localização sem depender de terceiros ↓
Interação com o mundo real →
PARA COMEÇARExperimenta perder o sinal

Desliga o GNSS e avança alguns segundos. Observa o erro. Volta a ligar o sinal e vê como a estimativa é corrigida. Se estiver em pausa, usa “Retomar” ou “Avançar 1 s”.

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.

LOCALIZAÇÃO / FUSÃO DE SENSORESPLANO 2D · METROS
Consulta as explicações e as métricas abaixo.
● Posição real● GNSS● Inercial● Fusão
0 mErro inercial atual
0 mErro da fusão atual
0 mMargem estimada pelo modelo

Sem correções, o caminho desvia-se.

Medir de novo ajuda a corrigir.

Branco: percurso real. Coral tracejado: estimativa que se desvia. As setas representam correções feitas com novas referências. Desenho ilustrativo, sem escala.

Quanto erro se acumula?

Este gráfico considera apenas um erro constante na aceleração de 0,04 m/s², começando com posição e velocidade corretas. É o mesmo exemplo idealizado da demonstração inercial.

Prever. Medir. Corrigir.

A IMU fornece aceleração e velocidade angular, não coordenadas. Integrar a aceleração estima velocidade e posição, mas pequenos erros acumulam-se. Uma referência externa ajuda a corrigir essa deriva.

Primeiro, prever o movimento. Depois, usar uma nova medição para corrigir a previsão.
01

Combinar o mapa e as direções

É preciso combinar o que significa esquerda, direita, cima e baixo. O drone também tem de distinguir a posição no planeta da posição dentro de um edifício.

02

Juntar várias pistas

O sistema combina pistas em vez de confiar sempre numa só. Uma medição com mais erro tende a ter menos influência. Experimenta aumentar o erro do GNSS e observa a diferença.

03

Sem referência externa

Sem uma referência para corrigir o movimento, pequenos erros acumulam-se cada vez mais. A margem calculada também pode ser demasiado otimista se o modelo não conhecer a causa do erro.

Uma posição, várias pistas.

01 / GNSS E RTK

Referência global.

GPS e Galileo são sistemas de satélites que ajudam a saber onde estamos no planeta. Em céu aberto, o erro costuma ser de alguns metros. RTK usa correções adicionais e pode chegar a centímetros quando as condições são boas.

Dentro de edifícios, junto a paredes ou com sinal fraco, a posição pode ser pouco fiável. Ter uma coordenada não significa que esteja correta.

02 / IMU

Movimento a alta frequência.

A IMU é um conjunto de sensores que sente acelerações e rotações. Ajuda o drone a acompanhar o movimento entre outras medições.

Pequenos erros acumulam-se ao longo do tempo. Por isso, a IMU sozinha não mantém uma posição precisa durante muito tempo.

03 / VISÃO E VIO

Localizar pelo que muda.

Comparando imagens, o drone acompanha pontos como cantos de paredes e marcas no chão. Juntar essas imagens aos sensores de movimento chama-se VIO. SLAM acrescenta a construção de um mapa.

Escuridão, paredes lisas e imagens desfocadas dificultam o trabalho. Uma só câmara também pode ter dificuldade em perceber o tamanho real das distâncias.

04 / UWB

Distâncias a âncoras.

UWB usa pequenos rádios fixos, chamados âncoras. O drone mede distâncias a vários deles para calcular onde está no espaço. Em boas condições, o erro pode ser da ordem de dezenas de centímetros.

As âncoras precisam de posições conhecidas. Paredes e uma distribuição desfavorável dos rádios podem piorar muito o resultado.

05 / LiDAR

Geometria do espaço.

O LiDAR mede distâncias com luz e cria uma representação das superfícies. Comparando essas formas, o drone acompanha o movimento ou encontra a sua posição num mapa.

Espaços muito vazios ou repetitivos são difíceis de reconhecer. A posição num mapa local não dá automaticamente latitude e longitude.

06 / ALTURA E RUMO

Pistas adicionais.

Um barómetro ajuda a acompanhar mudanças de altura. Um sensor de distância mede a separação do chão. Uma bússola eletrónica pode ajudar a saber para onde o drone aponta.

Cada sensor responde a uma pergunta diferente. Saber a altura ou a direção não basta para saber a posição completa.

EXTERIOR / CÉU ABERTO

GNSS + IMU

Os satélites dão uma posição no planeta e os sensores de movimento ajudam entre medições. RTK pode melhorar a precisão quando recebe boas correções.

INTERIOR / SEM GNSS

VIO ou UWB + IMU

Câmaras acompanham o percurso e rádios UWB próprios podem indicar a posição no edifício. A escolha depende da luz e do espaço preparado.

ENXAME / REFERENCIAL COMUM

Concordar sobre o espaço

Para trocar posições, os drones precisam de usar o mesmo mapa, unidades e relógios compatíveis. Também devem dizer quando mediram e quanto erro pode existir.

Saber onde está. Pelos próprios meios.

O drone pode estimar a localização com sensores e processamento a bordo, sem internet ou GNSS. A pergunta decisiva é: localização em relação a quê? Sem uma referência conhecida, obtém uma trajetória relativa ao ponto de partida, não latitude e longitude.

RELATIVA

“Estou a 8 m do início.”

O drone define a origem ao arrancar. O mapa e a trajetória podem acumular deriva.

NUM MAPA LOCAL

“Estou neste corredor.”

Reconhece um mapa ou referências com posições conhecidas. A origem pertence ao teu espaço.

GLOBAL

“Estou nesta coordenada.”

Exige ligar o mapa a uma referência geográfica. Pode ser preparado offline, mas os sensores não inventam essa ligação.

SEM INFRAESTRUTURA / VIO

Câmaras + IMU.

Câmaras e sensores de movimento trabalham juntos para acompanhar o percurso desde o ponto de partida. Com duas câmaras, é mais fácil medir profundidade; com uma, é preciso mais cuidado para estimar distâncias.

Exemplo: voar num armazém e acompanhar o deslocamento, com todos os cálculos feitos no drone.

Limite: o erro cresce com o percurso. Pouca luz ou poucas marcas visíveis tornam a estimativa pior.

SEM INFRAESTRUTURA / SLAM

Construir o próprio mapa.

SLAM significa construir um mapa e localizar-se nele ao mesmo tempo. Ao reconhecer um sítio já visitado, o drone pode corrigir parte do erro acumulado.

Exemplo: explorar um edifício e reconhecer a sala de entrada quando regressa.

Limite: corredores muito parecidos podem ser confundidos. Reconhecer corretamente o local exige boas medições e processamento.

MAPA TEU / LOCALIZAÇÃO OFFLINE

Reconhecer o terreno.

Podes guardar um mapa no drone antes do voo. Durante a missão, ele compara o que vê com esse mapa para encontrar a sua posição, sem consultar a internet.

Exemplo: inspecionar várias vezes a mesma instalação com um mapa criado por ti.

Limite: mudanças no espaço ou na iluminação podem dificultar o reconhecimento. Um mapa local precisa de uma ligação conhecida ao planeta para dar coordenadas globais.

INFRAESTRUTURA TUA / MARCADORES

AprilTag ou ArUco.

AprilTag e ArUco são padrões visuais, parecidos com etiquetas. Se o drone souber o tamanho e a posição dessas etiquetas, pode usá-las para se localizar.

Exemplo: colocar etiquetas nas paredes e numa plataforma de aterragem.

Limite: a câmara precisa de ver as etiquetas com clareza. É uma solução sem cloud, mas exige preparar o espaço.

INFRAESTRUTURA TUA / UWB

Âncoras sob o teu controlo.

Podes instalar os teus próprios rádios UWB e fazer os cálculos localmente. Várias âncoras bem distribuídas ajudam a encontrar a posição e a altura.

Exemplo: localizar drones dentro de um hangar, sem satélites nem operadora.

Limite: é preciso medir onde ficam as âncoras e testar o efeito das paredes. As necessidades de sincronização dependem do sistema escolhido.

AUXILIAR / FLUXO ÓTICO + ALTURA

Medir o movimento do chão.

Uma câmara virada para baixo observa como o chão se desloca na imagem. Com a altura e o movimento do drone, estima a velocidade horizontal.

Exemplo: manter posição a baixa altura sobre um chão com textura.

Limite: chão liso, pouca luz e superfícies móveis dificultam a leitura. O erro de posição continua a acumular-se.

E apenas com a IMU?

A IMU ajuda durante curtos períodos, mas não oferece uma posição precisa para sempre. Erros de movimento e de inclinação acumulam-se. Desliga o GNSS na demonstração para observar esse efeito; ela não simula câmaras, SLAM ou UWB.

ESCOLHA / ESPAÇO DESCONHECIDO

VIO ou LiDAR-inercial + SLAM

Para explorar sem instalar etiquetas ou rádios. O drone precisa de reconhecer quando está perdido e de voltar a encontrar a sua posição.

ESCOLHA / INSTALAÇÃO CONTROLADA

Mapa próprio + tags ou UWB

Para usar sempre o mesmo espaço com uma referência conhecida. É preciso medir onde estão as etiquetas ou rádios e testar o erro em diferentes zonas.

ESCOLHA / ENXAME AUTÓNOMO

Referencial partilhado

Os drones precisam de combinar onde fica a origem do mapa e para que lado ele aponta. Saber apenas a distância entre drones não basta para saber onde o grupo está no planeta.

Projetos e documentação para explorar

Projetos para quem quiser aprofundar a implementação. Podem funcionar localmente, mas é preciso verificar os requisitos do computador e a licença.

ORB-SLAM3 — SLAM visual e visual-inercial (em inglês) →OpenVINS — estimação visual-inercial (em inglês) →FAST-LIO — odometria LiDAR-inercial (em inglês) →AprilTag — deteção de marcadores (em inglês) →PX4 — sensores de fluxo ótico (em inglês) →

Prever e corrigir a posição

Os sensores de movimento ajudam entre medições. Uma nova referência pode corrigir a estimativa. A verificação de qualidade abaixo é uma etapa desejável num sistema real, não uma função completa da demonstração.

Pseudocódigo · exemplo educativo
estimativa = posição_e_velocidade_iniciais

para cada intervalo de tempo:
    movimento = ler_sensores_de_movimento()
    estimativa = prever(estimativa, movimento, intervalo)
    aumentar_incerteza_da_previsão()

    se chegou_uma_referência_de_posição:
        se referência_tem_qualidade_aceitável:
            estimativa = combinar_previsão_e_referência()
            atualizar_incerteza()

    publicar(estimativa, incerteza, hora_da_medição)

# Um sistema real precisa de verificar sensores e referenciais.

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ô.

Palavras e siglas, em linguagem simples
GNSS
Sistema global de navegação por satélite. GPS e Galileo são exemplos.
IMU
Unidade de medição inercial: sensores que medem aceleração e rotação.
RTK
Posicionamento cinemático em tempo real: correções que podem melhorar a precisão dos satélites.
VIO
Odometria visual-inercial: combinar imagens e sensores de movimento para acompanhar o percurso.
SLAM
Localização e mapeamento simultâneos: construir um mapa e encontrar-se nele.
UWB
Banda ultralarga: rádio que pode medir distâncias a referências locais.
UGV
Veículo terrestre não tripulado: um robô que se desloca no chão.
EKF
Filtro de Kalman estendido: uma forma de combinar medições e previsões para estimar o estado do veículo.
ROS 2
Robot Operating System 2: ferramentas para ligar programas de sensores, decisões e robôs. Não é um autopiloto.
PID
Controlador proporcional, integral e derivativo: combina correção do desvio, erro acumulado e tendência de mudança.

A linha branca mostra o percurso verdadeiro, conhecido apenas pela simulação. A estimativa não recebe essa resposta: usa movimento e medições GNSS. O modelo deixa de fora muitos efeitos do voo real e serve apenas para aprender.

Onde estas ideias aparecem na ciência

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.

1960 / Journal of Basic Engineering

A New Approach to Linear Filtering and Prediction Problems →

Rudolf E. Kalman

Ligação ao laboratório: A base para combinar uma previsão com medições que têm erro, como fazemos na experiência de localização.

O que não devemos concluir: O nosso modelo linear é pequeno e não estima orientação 3D nem o erro constante do acelerómetro. Não é um EKF completo de autopiloto.

DOI: 10.1115/1.3662552 · em inglês · acesso ao texto completo pode ser pago

Ver na biblioteca científica →
2021 / IEEE Transactions on Robotics

ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual–Inertial, and Multimap SLAM →

Carlos Campos et al.

Ligação ao laboratório: Mostra como imagens e sensores de movimento podem ajudar a construir mapas e localizar-se, sem depender continuamente de satélites.

O que não devemos concluir: Não implementamos ORB-SLAM3 no site. A nossa experiência GNSS não demonstra visão, reconhecimento de lugares ou mapas múltiplos.

DOI: 10.1109/TRO.2021.3075644 · em inglês · acesso ao texto completo pode ser pago

Ver na biblioteca científica →
2018 / IEEE Transactions on Robotics

VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator →

Tong Qin, Peiliang Li e Shaojie Shen

Ligação ao laboratório: Um exemplo concreto de combinação de uma câmara com sensores de movimento para estimar o percurso.

O que não devemos concluir: Exige calibração, imagens e movimento adequados. É uma referência para aprofundar VIO, não uma promessa de precisão para qualquer ambiente.

DOI: 10.1109/TRO.2018.2853729 · em inglês · acesso ao texto completo pode ser pago

Ver na biblioteca científica →
2014 / Robotics: Science and Systems

LOAM: Lidar Odometry and Mapping in Real-time →

Ji Zhang e Sanjiv Singh

Ligação ao laboratório: Relaciona medições LiDAR com estimativa de movimento e criação de mapa.

O que não devemos concluir: LOAM não deve ser confundido com todos os métodos LiDAR-inerciais. O site apenas ilustra distâncias; não executa o algoritmo.

DOI: 10.15607/RSS.2014.X.007 · em inglês · acesso ao texto completo pode ser pago

Ver na biblioteca científica →
2011 / IEEE ICRA

AprilTag: A Robust and Flexible Visual Fiducial System →

Edwin Olson

Ligação ao laboratório: Ajuda a compreender etiquetas visuais usadas como referências para posição e aproximação a plataformas.

O que não devemos concluir: Detetar uma etiqueta não resolve sozinho a navegação. São necessários dados da câmara, dimensão conhecida e uma referência adequada.

DOI: 10.1109/ICRA.2011.5979561 · em inglês · acesso ao texto completo pode ser pago

Ver na biblioteca científica →
Explorar todas as referências científicas →

Para continuar a explorar

GPS.gov — como funciona o GPS (em inglês) →MathWorks — o que é SLAM, com ilustrações (em inglês) →PX4 — estimação de estado com EKF (em inglês) →ArduPilot — visão geral do EKF (em inglês) →