¿Cómo puedo detectar el borde de una mesa?

11

Soy nuevo en la fabricación de robots y obtuve mi primer arduino para jugar.

Quiero hacer un robot que vague sobre una mesa, y durará más, creo que si puedo evitar que se caiga de la mesa.

¿Cuál será la mejor manera de hacer que detecte el borde de una mesa para que pueda parar y dar la vuelta? Tiene que ser algo confiable y preferiblemente barato.

También será mejor si no necesito agregar cosas adicionales a la mesa para poder usarlo en cualquier superficie (mi primera idea fue dibujar líneas de ruta en la mesa y hacer un robot seguidor de línea, pero no me gusta mucho esta idea).

Thomas
fuente

Respuestas:

15

La solución de Roomba a este problema fue agregar sensores de acantilados , que en realidad son sensores de proximidad orientados hacia abajo :

Sensor de proximidad infrarrojo Sharp GP2Y0A21YK.  El sensor tiene una salida analógica que varía de 3.1V a 10cm a 0.4V a 80cm.

Aunque esta técnica parece tener problemas con algunas superficies, como suelos de baldosas oscuras , parece que esto no será un problema para su aplicación.

Incluso puede hacer uno usted mismo con un LED IR y un fotodiodo IR, por ejemplo, este sensor de proximidad infrarrojo DIY compatible con Arduino .

También puede obtener algunas ideas de Tiny Wanderer - A Table Top Robot sobre instructables .

Mark Booth
fuente
7

Un enfoque fácil y económico es usar un sensor táctil como un bigote. El controlador solo monitorea si el bigote está en contacto con el suelo, si no lo está, se detiene y se aleja de ese wisker.

Otro método bastante barato es usar un conjunto de buscadores de alcance IR apuntando hacia el suelo. El controlador luego monitorea los valores devueltos por los guardabosques y si alguno de ellos supera un umbral predefinido, el robot se detiene y se aleja de ese sensor.

DaemonMaker
fuente
El problema con el tacto es que el sensor puede dañarse por el impacto de un objeto en el piso. La fiabilidad del sensor es una parte importante del diseño robótico.
Jay Beavers
3

Hay varios enfoques diferentes para resolver este problema:

  • Sensores de distancia
  • Sensor tactil
  • Etiquetas RFID alrededor del borde de la mesa (o imanes)
  • Cámara (Usar el procesamiento de imágenes sería más difícil y el arduino probablemente no sería lo suficientemente potente para esto)

Con el sensor de distancia, deberá verificar si es una señal digital o analógica provista por el sensor. Para el propósito de su 'sensor de acantilado', probablemente estaría bien con lo digital, ya que podría usar el sensor como una palanca para detectar cuándo la distancia está por encima de una distancia mínima.

Si está interesado en sensores analógicos para proporcionar más información (como la distancia desde una pared) que solo un interruptor de palanca, deberá verificar cuál es el rango en el dispositivo. El sensor nítido que se muestra en la respuesta anterior le proporcionará un voltaje que deberá convertir en una distancia (tiene una relación inversa con la distancia). Necesitará 3 sensores para cubrir el mismo rango de distancias que cubre un sensor ultrasónico (por ejemplo, el buscador de rango ultrasónico SRF08). Sharp GP2D120 Sensor de medición de distancia 4-30cm para corto alcance, Sharp GP2Y0A02YK Sensor de medición de distancia 20-150cm para alcance medio, y Sharp GP2Y0A710K0F Sensor de medición de distancia 100-550cm para el sensor de largo alcance. Tuve problemas con el sensor ultrasónico cayendo a cero esporádicamente, por lo que necesitaría programar una declaración catch si este abandono es inaceptable en su aplicación. El buscador de alcance ultrasónico SRF08 fue mucho más fácil de trabajar ya que había sido ajustado por el fabricante.

Tom Bamber
fuente