Como posso detectar a borda de uma tabela?

11

Eu sou novo na criação de robôs e acabei de obter meu primeiro arduino para brincar.

Eu quero fazer um robô que vagueie sobre uma mesa, e vai durar mais, acho que se eu pudesse evitar cair da mesa.

Qual será a melhor maneira de fazer com que ele detecte a borda de uma mesa para que eu possa parar e virar? Tem que ser algo confiável e de preferência barato.

Também será melhor se eu não precisar adicionar coisas extras à mesa para poder usá-las em qualquer superfície (minha primeira ideia foi desenhar linhas de caminho na mesa e criar um robô seguidor de linhas, mas não gosto muito dessa ideia).

Thomas
fonte

Respostas:

15

A solução do Roomba para esse problema foi adicionar sensores de penhasco , que são realmente apenas sensores de proximidade voltados para baixo :

Sensor de proximidade infravermelho GP2Y0A21YK afiado.  O sensor possui uma saída analógica que varia de 3,1V a 10cm a 0,4V a 80cm.

Embora essa técnica pareça ter problemas com algumas superfícies, como pisos de ladrilhos escuros , parece que isso não será um problema para o seu aplicativo.

Você pode até criar um você mesmo com um LED de infravermelho e um diodo fotográfico de infravermelho, por exemplo, este sensor de proximidade por infravermelho DIY compatível com Arduino .

Você também pode obter algumas idéias de Tiny Wanderer - Um robô de mesa sobre os instructables .

Mark Booth
fonte
7

Uma abordagem fácil e barata é usar um sensor de toque como um bigode. O controlador apenas monitora se o bigode está em contato com o solo; se não estiver, ele para e se afasta desse wisker.

Outro método bastante barato é usar um conjunto de telêmetros de infravermelho apontados para o solo. O controlador monitora os valores retornados pelos guardas florestais e, se algum deles ultrapassar algum limite predefinido, o robô para e se afasta desse sensor.

DaemonMaker
fonte
O problema com o toque é que o sensor pode ser danificado pelo impacto de um objeto no chão. A confiabilidade do sensor é uma parte importante do projeto robótico.
Jay Beavers
3

Existem várias abordagens diferentes para resolver esse problema:

  • Sensores de distância
  • Sensor de toque
  • Etiquetas RFID ao redor da borda da mesa (ou ímãs)
  • Câmera (Usar o processamento de imagens, seria mais difícil e o arduino provavelmente não seria poderoso o suficiente para isso)

Com o sensor de distância, você precisará verificar se é um sinal digital ou analógico fornecido pelo sensor. Para o propósito do seu 'sensor de penhasco', você provavelmente se sentiria bem com o digital, pois seria capaz de usar o sensor como uma alavanca para detectar quando a distância está acima de uma distância mínima.

Se você estiver interessado em sensores analógicos para fornecer mais informações (como distância da parede) do que apenas um interruptor, será necessário verificar qual é o alcance do dispositivo. O sensor afiado mostrado na resposta acima fornecerá uma voltagem que você precisará converter em uma distância (ele tem uma relação inversa com a distância). Você precisará de 3 sensores para cobrir a mesma faixa de distâncias que um sensor ultrassônico (por exemplo, SRF08 Ultrasonic Range Finder). Sensor de medição de distância Sharp GP2D120 4-30cm para curto alcance, sensor de medição de distância Sharp GP2Y0A02YK 20-150cm para alcance médio e Sensor de medição de distância Sharp GP2Y0A710K0F 100-550cm para sensor de longo alcance. Eu tive problemas com o sensor ultrassônico caindo a zero esporadicamente, portanto, você precisa programar uma declaração de captura se esse abandono for inaceitável no seu aplicativo. O SRF08 Ultrasonic Range Finder foi muito mais fácil de trabalhar, pois havia sido ajustado pelo fabricante.

Tom Bamber
fonte