SLAM sem pontos de referência?

8

Primeiro, é possível construir um mapa sem pontos de referência para um robô em 2D? Digamos que temos um corredor cercado por duas paredes. O robô se move nesse ambiente. Agora é possível criar um problema SLAM? Ou marcos devem estar disponíveis para isso?

CroCo
fonte
Você realmente precisa de localização e mapeamento? A resposta para sua pergunta depende de quais sensores você está usando. Como Josh disse, faça um pouco mais de pesquisa em mapas de grade de ocupação e mapas baseados em recursos. Agora, vamos supor que você tenha um módulo LRF. Então a resposta para a pergunta "é possível construir um mapa sem pontos de referência para um robô em 2D?" é sim'.
metsburg

Respostas:

7

Eu acho que você não entende o que é um marco. É um termo genérico e abrangente para qualquer coisa que um robô possa reconhecer e usar como parte de um mapa. Em particular, "pontos de referência" são importantes para algoritmos SLAM baseados em recursos, como slam baseado em EKF. O que você usa para "pontos de referência" depende de quais sensores estão disponíveis para o robô.

No seu caso, como você não especificou nenhum sensor, assumiremos que o robô sabe quando atinge um objeto. Então, qualquer "marco" é simplesmente sempre que o robô esbarra em algo. Se você fizer isso com caneta e papel, você apenas passeará e colocará um X sempre que bater em algo, depois vire e continue andando. À medida que o tempo chega ao infinito, você tem um mapa razoável de onde estão os limites dos objetos e quais são as formas dos objetos, desde que tudo seja estático.

Nesse caso, o "mapa" pode ser apenas um bitmap, onde cada pixel é 0 ou 1, dependendo se ele tem um objeto nesse espaço ou não. A escala depende do aplicativo.

Sugiro fazer um pouco mais de pesquisa sobre esses tópicos:

  • Representação da grade de ocupação
  • Mapeamento baseado em recursos
Josh Vander Hook
fonte
obrigado por ser útil e informativo. Ainda estou confuso. Posso considerar no exemplo acima as paredes como marcos? Ainda estou confuso porque vi alguns vídeos nos quais existem alguns círculos brancos que são reconhecidos pelo robô para determinar seu lugar. Qual a diferença entre os círculos brancos e as paredes?
croco
Não sei a quais vídeos você se refere. Mas os círculos brancos são marcos e as paredes são apenas paredes com marcos neles. Pense na palavra "marcador", isso não significa nada em particular, qualquer coisa pode ser um "marcador": uma maçaneta da porta marca uma porta, um X marca o local, etc. Marcos são apenas marcadores que são úteis para o mapeamento. Eles podem ser cantos (que são facilmente reconhecidos por lasers) ou blobs coloridos (que são facilmente reconhecidos por câmeras). O termo marco é flexível e determinado por você, o designer do algoritmo.
Josh Vander Gancho
2

Eu acho que é necessário definir o que realmente é um marco. A outra resposta apenas os define como marcadores e dá alguns exemplos. Algo mais formal e distinto seria o seguinte:

Pontos de referência são características que podem ser facilmente observadas e distinguidas do ambiente. Eles são usados ​​pelo robô para descobrir onde ele está (para se localizar).

Os pontos de referência devem ser facilmente observáveis. Marcos individuais devem ser distinguíveis um do outro. Os pontos de referência devem ser abundantes no ambiente. Os pontos de referência devem estar estacionários.

Isso excluiria, por exemplo, um pixel simples para atuar como ponto de referência, pois no mundo real corresponde a um objeto que se tornará mais ou menos pixels dependendo da distância. Um blob seria mais adequado, pois confiamos apenas em encontrar uma forma fechada de uma determinada cor (novamente com algum limite, pois as cores mudam dependendo das condições de iluminação e do ângulo). No mundo real, o blob seria um adesivo laranja preso à parede, por exemplo.

JustSomeHelp
fonte
1

Acabei de postar uma pergunta semelhante, tentando localizar um documento do que um colega de trabalho se lembrava (ICRA? 2011? Não de Mudd nem do jornal Foxe). Gostaria @JustSomeHelp segundo - eles precisam ser distinguíveis. Portanto, um sensor de impacto por si só não ajudará, como você basicamente terá (de forma ingênua), um ponto de referência que continua recebendo locais diferentes. Isso vai acabar mal.

Claramente, porém, a suposição retilínea é super útil - há um artigo que aborda isso. No entanto, ainda não encontrei uma abordagem canônica para fazê-lo

ZJ Butler, AA Rizzi e RL Hollis. Cobertura baseada em sensor de contato de ambientes retilíneos. Em Proc. do Simpósio Internacional IEEE sobre Controle Inteligente, 1999.

WD
fonte
Como mencionei, isso funciona apenas com um ambiente estático.
Josh Vander Gancho