Eu tenho uma sala de 300 cm x 300 cm com um teto alto de 25 cm (sim, vinte e cinco centímetros). Ele contém 50 pequenos robôs com rodas (cerca de 20 cm x 20 cm). Um computador central irá orquestrar os movimentos dos robôs, usando uma rede sem fio para enviar comandos de posição para eles. Os robôs executam seu próprio controle de posição em malha fechada para economizar largura de banda sem fio. Os robôs possuem microcontroladores ARM de 32 bits. Eles possuem sensores de posição das rodas e a capacidade de executar um controle preciso das rodas.
Problema: Os robôs ainda não podem fazer isso porque não têm como medir sua posição na sala.
Pergunta: Como os robôs podem medir sua posição e orientação com uma precisão melhor que ± 5 mm? Estou procurando uma solução precisa e robusta, que não seja afetada por oclusões e não exija um PC de alta potência em cada robô. Quaisquer sensores necessários para a localização podem ser facilmente adicionados aos robôs. Os microcontroladores podem ser facilmente trocados por outros mais poderosos, se a solução de localização exigir.
fonte
Respostas:
Algumas ideias estão no topo da minha cabeça ... Geralmente, você pode ter cada robô sentindo sua própria posição ou algum tipo de sistema encontra os robôs e envia a eles informações sobre sua posição (ou uma combinação). Possivelmente, usar outras posições de robô para se localizar é outra opção, se puderem se comunicar. Você também pode combinar informações de sensores dos robôs e outras fontes.
Óptica
Você pode codificar a posição absoluta ou relativa no chão ou no teto. Um sensor no robô pode olhar para eles. Um sensor como o do mouse óptico pode obter movimento relativo da maioria das superfícies, mesmo sem nenhum padrão. Havia ratos de estilo mais antigo que usavam uma grade padronizada.
Você pode ter duas (ou mais) câmeras em cada robô olhando para direções diferentes; se as paredes da sala tiverem o tipo certo de padrão, você poderá determinar sua localização com base nas imagens. Uma câmera giratória é outra opção. Obstrução da câmera por outros robôs pode ser uma preocupação.
Uma matriz de sensores ou câmera no chão ou no teto pode localizar os robôs e, em seguida, você pode enviar a localização dos robôs.
Algum tipo de sensor óptico giratório que pode localizar a direção de um farol óptico (por exemplo, um LED).
Som
Você pode ter alguns faróis emitindo sons de ultrassom. Se todos estiverem sincronizados (por exemplo, atraso fixo entre eles), em função da localização, você poderá usar um cálculo do tempo de voo para determinar a posição do robô. Muitos anos atrás, eu trabalhei com um digitalizador de ultrassom com precisão de cerca de um mm a uma distância de cerca de um metro, assim parece no estádio. Dependendo da forma do seu robô e da configuração dos reflexos e obstruções do enxame, pode ou não ser um problema. Você precisaria experimentar, mas minha intuição é que, com sinalizadores suficientes, você pode ter um bom desempenho.
Telêmetros de ultrassom em todos os robôs. (girando?) Poderia mapear a distância para outros robôs ou para as paredes.
Se algum desses parecer interessante, posso tentar desenvolver essas idéias um pouco mais.
fonte
Se o teto for uma superfície plana visível da parte superior dos robôs, você poderá colocar faixas de marcadores (ou algum outro padrão fiducial conhecido) no teto em intervalos regulares. As listras podem ser linhas brancas ou pretas ou fita refletiva estreita, detectadas usando fotossensores em cima de robôs.
Se os sensores de posição da roda e o controle preciso da roda forem bons o suficiente para manter a precisão dos dados de localização desejados quando um robô se mover além da distância d de uma posição conhecida com precisão, as listras (que podem ser listras brancas, listras pretas ou fita reflexiva estreita) pode precisar ser colocado não mais do que cerca de d / √2 separados.
O software de planejamento de movimento provavelmente precisaria se adaptar. Se a posição de um robô estiver consistentemente errada ao cruzar uma faixa, ajuste sua proporção de contagens do codificador da roda para a distância percorrida; ou se uma faixa for vista se uma perna de viagem for apenas um pouco mais longa, estenda a perna para cruzar a faixa; ou mova para calibrar contra várias faixas imediatamente antes de qualquer operação sensível à posição; ou executar operações sensíveis à posição em um ponto de cruzamento de listras.
Existe uma variedade de padrões fiduciais possíveis. As faixas ortogonais dispostas paralelamente aos eixos xey são provavelmente mais simples de criar e trabalhar. Mas vale a pena considerar olhos de boi, mira, cunhas, códigos de barras e outros padrões.
fonte
A baixa distância entre a parte superior do robô e o teto realmente restringe suas opções. Parece praticamente impossível obter uma visão centralizada de toda a sala e trabalhar a partir daí.
Não tenho certeza de que tipo de 'sala' você está falando e quanto pode instrumentá-la, mas pode ser uma opção para colocar marcadores no teto, em vez dos robôs. Dada a curta distância, você teria que preencher completamente o teto com pequenos marcadores que podem ser completamente observados por uma câmera apontando para cima em todos os robôs, embora você possa posicionar essa câmera mais baixo no robô, digamos entre as rodas dianteiras e traseiras de ambos os lados, para oferecer um ângulo de visão mais amplo. Mas o maior desafio seria imprimir marcadores distintos o suficiente para instrumentar todo o teto.
Como alternativa, pode ser concebível instrumentar o piso com muitas etiquetas RFID, desde que você encontre leitores com um alcance suficientemente pequeno (AFAIK, os leitores de RFID apenas informarão que uma determinada etiqueta está dentro do alcance, e não onde está). O leitor RFID da Phidgets já tem um alcance de aprox. 3 polegadas, então, a menos que você localize vendo qual grupo de tags você pode observar (se é possível observar várias tags ao mesmo tempo - você pode dizer que não tenho nenhuma experiência de trabalho real com RFID?), Teria que experimentar obter tags menores e protegê-las até certo ponto do leitor, para que não possam ser lidas a não ser de muito perto.
Em suma, parece um desafio difícil, mas muito interessante. Se for para o trabalho, presumo que você não possa nos dizer o objetivo do projeto, mas com certeza soa intrigante :)
fonte
Se um sistema vicon estiver fora de questão, você poderá usar um sistema de câmeras calibradas para ler marcadores colocados em cima dos robôs.
Mais ou menos como o que esses pesquisadores fizeram neste artigo (na página 16)
No entanto, como outros observaram, se o teto for muito baixo, você não terá uma boa linha de visão para o topo dos robôs e terá dificuldades em usar esse método.
fonte