Come posso rilevare il bordo di una tabella?


11

Sono nuovo nella produzione di robot e ho appena avuto il mio primo arduino per giocare.

Voglio fare un robot che vagherà su un tavolo e durerà più a lungo penso che se potessi farlo eviterei di cadere dal tavolo.

Quale sarà il modo migliore per farlo rilevare il bordo di un tavolo in modo che io possa farlo fermare e girarmi? Deve essere qualcosa di affidabile e preferibilmente economico.

Sarà anche meglio se non ho bisogno di aggiungere altro materiale al tavolo in modo da poterlo utilizzare su qualsiasi superficie (la mia prima idea è stata quella di disegnare linee di tracciato sul tavolo e creare un robot seguace di linea, ma non lo faccio piace molto questa idea).

Risposte:


15

La soluzione di Roomba a questo problema era l'aggiunta di sensori di scogliera , che in realtà sono solo sensori di prossimità rivolti verso il basso :

Sensore di prossimità a infrarossi Sharp GP2Y0A21YK.  Il sensore ha un'uscita analogica che varia da 3,1 V a 10 cm a 0,4 V a 80 cm.

Anche se questa tecnica sembra avere problemi con alcune superfici, come i pavimenti in piastrelle scure , sembra che questo non sia un problema per la tua applicazione.

Puoi persino crearne uno tu stesso con un LED IR e un diodo foto IR, ad esempio questo sensore di prossimità a infrarossi fai-da-te compatibile con Arduino .

Potresti anche essere in grado di ottenere alcune idee da Tiny Wanderer - A Table Top Robot su instructables .


7

Un approccio semplice ed economico consiste nell'utilizzare un sensore tattile come un baffo. Il controller controlla solo se il baffo è in contatto con il terreno, se non lo è, si ferma e si allontana da quel saggio.

Un altro metodo abbastanza economico consiste nell'utilizzare una serie di telemetri IR puntati verso terra. Il controller quindi controlla i valori restituiti dai ranger e se uno di essi supera una soglia predefinita, il robot si arresta e si allontana da quel sensore.


Il problema con il tocco è che il sensore potrebbe essere danneggiato dall'impatto di un oggetto sul pavimento. L'affidabilità dei sensori è una parte importante del design robotico.
Jay Beavers,

3

Esistono diversi approcci per risolvere questo problema:

  • Sensori di distanza
  • Touch Sensor
  • Tag RFID attorno al bordo del tavolo (o magneti)
  • Fotocamera (usando l'elaborazione delle immagini, sarebbe più difficile e l'arduino probabilmente non sarebbe abbastanza potente per questo)

Con il sensore di distanza dovrai verificare se si tratta di un segnale digitale o analogico fornito dal sensore. Ai fini del tuo "sensore di scogliera" probabilmente staresti bene con il digitale in quanto potresti utilizzare il sensore come interruttore per rilevare quando la distanza supera una distanza minima.

Se sei interessato a sensori analogici per fornire più informazioni (come la distanza da una parete) rispetto a un semplice interruttore a levetta, dovrai verificare quale sia la portata sul dispositivo. Il sensore nitido raffigurato nella risposta sopra ti fornirà una tensione, che dovrai convertire in una distanza (ha una relazione inversa con la distanza). Sono necessari 3 sensori per coprire la stessa gamma di distanze percorsa da un sensore a ultrasuoni (ad esempio SRF08 Ultrasonic Range Finder). Sensore di misurazione della distanza Sharp GP2D120 4-30 cm per corto raggio, Sensore di misurazione della distanza Sharp GP2Y0A02YK 20-150 cm per medio raggio e Sensore di misurazione della distanza Sharp GP2Y0A710K0F 100-550 cm per il sensore a lungo raggio. Ho avuto problemi con il sensore ultrasonico che scendeva a zero sporadicamente, quindi è necessario programmare un'istruzione catch se questo dropout è inaccettabile nella propria applicazione. Il telemetro a ultrasuoni SRF08 era molto più facile da lavorare poiché era stato messo a punto dal produttore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.