Como fazer uma “linha invisível seguindo o robô”?


10

Gostaria de construir um robô que segue um caminho virtual (não é um caminho visível como uma 'linha preta em uma superfície branca', etc).

Estou entusiasmado ao ver alguns vídeos de ficção científica que mostram os robôs transportando mercadorias e materiais em um local movimentado. E eles realmente não seguem uma linha física. Eles sentem obstáculos, profundidade, etc.

Gostaria de construir um desses robôs que segue um caminho (virtual) específico do ponto A ao B.

Eu tentei algumas coisas:

  1. Usando um sensor magnético "Efeito Hall" no robô e corrente de transmissão do fio (abaixo da mesa). O problema aqui era que a vizinhança do sensor de efeito hall é tão pequena (<2 cm) que é muito difícil julgar se o robô está na linha ou fora da linha. Mesmo usando séries de ímãs não foi possível resolver esse problema, pois minha mesa tem 1 polegada de espessura. Então essa ideia falhou: P

  2. Usando uma tinta ultravioleta (em uma linha) e usando leds UV no robô como sensores. Isso dará mais movimento em zigue-zague para o robô. E devido a ameaças em potencial do uso da fonte de luz UV, mesmo essa ideia fracassou: P

Finalmente pensei em ter uma câmera no topo e usar algoritmos de processamento de imagem para ver se o robô está em jogo ou divergindo.

Existe alguma solução melhor que essa? Realmente procurando algumas soluções criativas e simples. :)


Você conhece os sensores de sonar, SLAM e assuntos relacionados? Freqüentemente, os robôs não seguem um caminho predefinido e "detectam" os obstáculos de sensores como o sonar, constroem um mapa e depois usam algoritmos de planejamento de caminhos para encontrar o caminho.
Shahbaz 7/03

Obrigado pela resposta :) Sim, eu estou familiarizado com sensores ultrassônicos e de sonar ... na verdade, eu quero um robô, meu robô, para mover do ponto A ao ponto B em um caminho específico, e isso também em uma mesa (3 pés acima do nível do solo) ... E construir um mapa nesse ambiente é realmente uma coisa complicada ... Então, alguma sugestão?
Nitin

4
Eu estava no meio de responder a essa pergunta, mas notei que você está fazendo duas coisas contraditórias. Por "linha invisível", você quer dizer "uma linha que não é visível a olho nu, por exemplo, uma linha definida por sinais magnéticos ou UV ", ou você quer dizer "uma linha que existe virtualmente - dentro do robô - com base em para onde quer ir e os obstáculos que sente no caminho "? Para dizer de outra forma, você desenha a linha que o robô deve seguir ou o desenha?
Ian

Oi lan, eu quero um robô autônomo que deve navegar por conta própria de um ponto para outro. Para fazer isso, ele precisa de uma linha ou caminho de referência. Um robô seguidor de linha é a solução mais simples, mas estou procurando uma solução avançada e robusta. E isso pode ser algo como uma linha que não é visível a olho nu ou uma linha virtual criada pelo robô. O robô não desenha a linha, apenas segue. Em outras palavras, a linha (virtual) é definida por mim. No mínimo, "Processamento de imagem" pode ser uma solução se algo mais não funcionar. Mas eu estou procurando algumas soluções simples :)
Nitin

@nitin, talvez você deva evitar usar termos como "navegar por conta própria", porque isso significa automaticamente que o caminho é indefinido e é deixado pelo robô para encontrá-lo. O que você quer parece ser um robô que segue a linha e não tem a capacidade de encontrar seu próprio caminho, se não receber instruções.
Shahbaz 8/03/2013

Respostas:


3

Existem muitas maneiras possíveis de abordar esse problema, e todas elas dependem do material disponível e da experiência do construtor de robôs.

Em suma, o critério é que:

  1. O robô deve ir do ponto A ao B seguindo um caminho predefinido.
  2. O caminho percorrido não deve seguir uma linha visível ao olho humano.

Dependendo do comprimento do caminho, o uso de codificadores pode ser suficiente. No entanto, deve-se notar que, devido à imprecisão física, a deriva torna a odometria (o que chamamos de codificadores para medir a distância) impraticável para longas distâncias. No entanto, isso é fácil para distâncias curtas e deve ser pelo menos considerado.

Se a distância for muito alta apenas para odometria, considere o uso de algum sensor para medir as curvas (por exemplo, um giroscópio ou bússola ). As voltas tendem a apresentar o maior erro de odometria (medir ao longo de uma linha reta não apresenta muitos erros); portanto, usar um sensor para voltas às vezes pode tornar a odometria uma solução viável.

Se a odometria ou a odometria + o giro detectado não funcionarem, seremos criativos. Se você quiser que o robô siga um caminho composto principalmente de segmentos retos, coloque os LEDs IR em determinados "pontos de referência" na mesa e faça com que o robô detecte esses LEDs e siga em direção a cada ponto de referência em série.

No entanto, isso ainda deixa alguma marcação visual em cima da mesa (embora possa ser disfarçada até certo ponto), e seria ótimo poder fazer isso sem isso. Outra abordagem seria usar ponteiros a laser brilhando paralelamente à superfície da mesa, mas alguns centímetros acima da mesa. O robô poderia usar um fotorresistor para detectar quando ele atravessa um laser, e isso poderia informá-lo quando virar.

No geral, acho que a odometria aumentada com um sensor de ângulo é provavelmente a melhor aposta para o seu robô, pelo menos da maneira que você a descreveu. Talvez eu consiga pensar em mais opções, mas é tudo o que vejo agora.

Apenas curioso - por que você quer que a linha seja invisível? Saber por que poderia abrir mais algumas possibilidades.


Muito obrigado @anorton :) :) "Odometria" + "sensores como giroscópio ou bússola": - Olho de boi;) Tenho certeza de que isso definitivamente será um exercício. E comparado às técnicas de processamento de imagem, isso parece bastante fácil. Sim, eu tenho a solução, obrigado :) Irá atualizá-lo com o andamento do projeto e outros desafios enfrentados.
Nitin

A propósito, todo o objetivo de tornar a linha invisível era - "Uma linha preta na superfície e um robô seguindo a linha" agora é apenas uma coisa básica de nível de ensino de robótica. E eu descobri que no nível industrial, isso não é apreciado. As pessoas precisam de um robô altamente sofisticado e inteligente para fazer seu trabalho. Então, eu estava trabalhando neste projeto para construir um robô com maior estabilidade e robustez. Um robô que não é facilmente capaz de hackear. Para dizer de outra forma, uma pessoa comum não deve conhecer a tecnologia por trás do robô :)
Nitin

2

Anki usa sensores ópticos em seus carros de brinquedo para implementar seguidores de linha. Os sensores ópticos são sensíveis na faixa de infravermelho. O fato de as linhas não poderem ser vistas é facilmente explicado: As linhas são revestidas com cor preta, transparente na faixa de infravermelho. O preto Paliogen L 86 ou o preto Paliogen S 84 da BASF são essas cores. Se você colocar códigos de barras ao longo das linhas, poderá obter informações de posicionamento absolutas dos sensores ópticos.


0

Eu tenho uma resposta curta para sua pergunta. Isso é apenas para um robô habilitado para ROS. Existem muitas maneiras de fazer isso, mas foi assim que eu fiz. Eu usei ROS e Kuka Youbot. Poderia ser qualquer robô usando ROS. É muito útil conhecer o ROS se você planeja fazer robótica.

Use o ROS Em seguida, use o GMapping para mapear seu ambiente. Exemplo de sala ou corredor e salve o mapa. Em seguida, usando o RVIZ, forneça a posição do objetivo no mapa.


0

Bem, você não precisa de nenhuma linha para esse assunto. A única coisa que você provavelmente precisará é de coordenadas globais. se você puder colocar seu robô em um campo definido por coordenadas globais e aplicar regras simples da física newtoniana, o robô poderá ir de um ponto ao outro. Com base em sua localização atual, ele descobrirá o ângulo de direção atual, o ângulo de direção desejado e as coordenadas da meta (também conhecidas como "pose"). Depois de fornecer uma velocidade ao robô, ele começará a se mover em direção às coordenadas da meta. Em todas as iterações, ele recalcula sua pose e faz ajustes quando necessário.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.