Localização e mapeamento simultâneos (SLAM) provavelmente não é um termo que você ouve todos os dias. No entanto, várias das mais recentes maravilhas tecnológicas usam esse processo, e ele está em todo lugar.
Da sigla à ideia abstrata
Aqui está um pequeno exemplo de onde podemos encontrar a tecnologia no nosso dia a dia;
- Carros autônomos
- Apps de realidade aumentada
- Veículos aéreos e subaquáticos autônomos
- Wearables
- Robô aspirador de pó
O que torna todas essas tecnologias viáveis? A resposta: localização simultânea e mapeamento, ou SLAM!
De um modo geral, o propósito dos algoritmos SLAM é bastante fácil de entender. Um robô usará localização e mapeamento simultâneos para estimar sua posição e orientação no espaço, enquanto cria um mapa de seu ambiente. Isso permite que o robô identifique onde está e como deve se locomover para chegar a um determinado ponto.
Tudo o que este algoritmo de faz é estimar a posição. Outra tecnologia popular, o Sistema de Posicionamento Global (Global Positioning System - GPS), vem estimando a posição desde a primeira Guerra do Golfo, na década de 1990.
Diferenças entre SLAM e GPS
Então, por que a necessidade de um novo algoritmo? O GPS tem dois problemas inerentes. Em primeiro lugar, enquanto o GPS é preciso em relação a uma escala global, a precisão diminue em uma pequena escala, como o espaço de uma sala ou uma mesa. O GPS tem precisão de até um metro, mas não em centímetros ou milímetros.
Em segundo lugar, o GPS não funciona bem debaixo d'água. Na verdade não funciona nada. Da mesma forma, o desempenho é irregular em edifícios com paredes de concreto espessas. Ou em porões.
Você entendeu a ideia? O GPS é um sistema baseado em satélite, que sofre de limitações físicas. Portanto, os algoritmos SLAM visam proporcionar um melhor senso de posição para nossos dispositivos e máquinas mais avançados.
Esses dispositivos já possuem uma série de sensores e periféricos. Os algoritmos SLAM utilizam os dados do maior número possível de sensores, usando algumas estatísticas e matemática.
Posição ou Mapa?
Matemática e estatística são necessárias para responder a um dilema complexo: a posição é usada para criar o mapa dos arredores, ou o mapa dos arredores é usado para calcular a posição?
Suponhamos que você está perdido em um lugar desconhecido. Olhe ao redor e tente encontrar algo familiar. Uma cadeira está à sua esquerda. Uma planta está à sua direita. Uma mesa de café está á sua frente.
Em seguida, quando o medo paralisante de "Onde diabos eu estou?" desaparece, você começa a se mover. Espere, como o movimento funciona nessa dimensão? Dê um passo adiante. A cadeira que estava ao seu lado está ficando menor, e a mesa que estava distante, está ficando maior. Agora, você pode confirmar que você está de fato seguindo em frente.
As observações são fundamentais para melhorar a precisão da estimativa da tecnologia SLAM.
Quanto mais você anda, mais se orienta. Pisar em todas as direções confirma que o movimento nessa dimensão é semelhante à sua dimensão inicial. Você vê coisas que você identifica como pontos de referência, o que permitem que você passeie com mais confiança. Este é essencialmente o processo do SLAM.
Entradas para o processo
Para fazer essas estimativas, os algoritmos usam vários dados que podem ser categorizados como internos ou externos. Para o seu exemplo de transporte interdimensional, as medidas internas são o tamanho das etapas e da direção.
As medições externas são feitas em forma de imagens. Identificar marcos, como a planta, a cadeira e a mesa, é uma tarefa fácil para os olhos e o cérebro. O processador mais poderoso conhecido - o cérebro humano - é capaz de capturar essas imagens e não apenas identificar objetos, mas também estimar a distância até esse objeto.
Infelizmente, os robôs não têm um cérebro humano como processador. Máquinas dependem de chips de silício, com código escrito para tentar funcionar como um cérebro.
Outras peças de máquinas fazem medições externas. Periféricos, como giroscópios ou outra unidade de medida inercial (IMU), são úteis para isso. Robôs, como carros autônomos, também usam a odometria da posição da roda como medida interna.
Externamente, um carro autônomo e outros robôs usam o LIDAR. Da mesma forma que o radar usa ondas de rádio, as medidas LIDAR refletem os pulsos de luz para identificar a distância. A luz usada é tipicamente ultravioleta ou infravermelho próximo, semelhante a um sensor de profundidade infravermelho.
O LIDAR envia dezenas de milhares de pulsos por segundo para criar um mapa de nuvens de pontos tridimensionais com definição extremamente alta. Então, se você cruzar na rua com um no piloto automático, ele vai atirar em você com um laser. Muitas vezes.
Além disso, os algoritmos SLAM usam imagens estáticas e técnicas de visão computacional, como uma medida externa. Isso é feito com uma única câmera, mas pode ser ainda mais preciso com um par de câmeras.
Pontos de referência
Medições internas atualizam a posição estimada, que pode ser usada para atualizar o mapa externo. Medições externas atualizam o mapa estimado, que pode ser usado para atualizar a posição. Você pode pensar nisso como um problema de inferência, e a ideia é encontrar a solução ideal.
Uma maneira comum de fazer isso é através da probabilidade. Técnicas como filtro de partículas aproximam posição e mapeamento, usando inferência estatística Bayesiana.
Um filtro de partículas usa um número definido de partícula, espalhadas por uma distribuição gaussiana. Cada partícula "prevê" a posição atual do robô. Uma probabilidade é atribuída a cada partícula. Todas as partículas começam com a mesma probabilidade.
Quando são feitas medições que confirmam uma à outra, então as partículas que estão "corretas" em sua posição recebem incrementalmente melhores probabilidades. Partículas que estão longe de acertar a posição correta são atribuídas como probabilidades inferiores.
Quanto mais pontos de referência um robô puder identificar, melhor.
Aplicações atuais usando algoritmos SLAM
Veículos Submarinos Autônomos (AUVs)
Submarinos não tripulados podem operar de forma autônoma usando a tecnologia SLAM. Uma IMU interna fornece dados de aceleração e movimento em três direções. Além disso, os AUVs usam o sonar voltado para baixo, para estimativas de profundidade. O sonar de varredura lateral cria imagens do fundo do mar, com um alcance de algumas centenas de metros.
Wearables
A Microsoft e a Magic Leap produziram óculos portáteis que apresentam aplicativos de Realidade Mista. Estimar a posição e criar um mapa é crucial para esses wearables. Os dispositivos usam o mapa para colocar objetos virtuais em cima de objetos reais, e fazer com que eles interajam uns com os outros. Da mesma forma, funcionam os smartwachs conectados aos smartphone, que conseguem
Como esses wearables são pequenos, eles não podem usar periféricos grandes, como LIDAR ou sonar. Em vez disso, sensores menores de profundidade infravermelha e câmeras voltadas para fora são usados para mapear um ambiente.
Carros autônomos
Carros autônomos têm um pouco de vantagem sobre os wearables. Com um tamanho físico muito maior, os carros podem armazenar computadores maiores, e ter mais periféricos para fazer medições internas e externas. De muitas maneiras, os carros autônomos representam o futuro da tecnologia, tanto em termos de software quanto de hardware.
A tecnologia SLAM está evoluindo?
Com a tecnologia SLAM sendo usada de várias maneiras diferentes, é apenas uma questão de tempo até que seja aperfeiçoada.
Uma vez que os carros autônomos (e outros veículos) são vistos diariamente, você saberá que localização e mapeamento simultâneos serão seguros para todos usarem.
Além disso, a tecnologia de direção automática está melhorando a cada dia.