Detectando el tipo de superficie / medio que un robot está encima de

1

Estoy buscando una manera de detectar en qué tipo de terreno está viajando un robot. Para mantenerlo simple, comencemos con pasto vs arena contra asfalto.

Se debe utilizar con arduino, y para un proyecto de pasatiempo no puede costar un brazo y una pierna. Pensé que podría hacerse con una cámara, pero con la esperanza de encontrar una mejor manera. Tal vez con el sonar o algo así.

tx

Editar: Estoy tomando esta información para hacer más investigación sobre el problema. Volveré con algo más de información y espero que responda. Creo que rebotar luz / sonido en el suelo y de alguna manera medir la cantidad reflejada / absorbida, tal vez con los filtros de color para ayudar a las lecturas como inicio.

1) Creo que esto es un comienzo. enlace enviando luz y leyendo cuánto se ha devuelto. eso sería simplemente recoger los altibajos.

    
pregunta dogmatic69

5 respuestas

5

Esos tres tipos diferentes de terreno (hierba, arena y asfalto) serán predominantemente tres colores diferentes: verde, amarillo y negro. Los sensores de luz simples y los filtros de color apropiados podrían funcionar.

Acabo de recordar una ayuda para ciegos que se desarrolló hace muchos años, basada en el sonar. La persona barrió la fuente de sonido hacia adelante y hacia atrás frente a ella y pudo detectar los obstáculos de la señal devuelta. Era posible detectar diferentes texturas, como la hierba y las hojas. Busqué el sonar y la textura en Google y encontré = 10 & md5 = 90ca5c0377e5349bd40d5b72948494c1 & searchtype = a "> this . Parece que la técnica es adecuada para detectar terreno.

Se podrían usar ambas técnicas, con alguna forma de fusión de sensores, para maximizar la probabilidad de una identificación correcta.

    
respondido por el Leon Heller
4

¿Has pensado en un acelerómetro? Podría medir la frecuencia de los golpes.

También puede ser mejor que te sirvan una combinación de varios métodos diferentes ...

    
respondido por el Nitzanalog
3

Es posible que desee ver cómo se refleja una luz en la superficie en la que está conduciendo. Según la cantidad de luz reflejada, puede obtener una buena idea del tipo de superficie en la que se encuentra.

    
respondido por el Kellenjb
3

Me pregunto si podrías hacerlo por sonido. Un vehículo rodante emitiría diferentes sonidos en esos diferentes terrenos, y si el motor está lo suficientemente silencioso ...

    
respondido por el W5VO
1

Permita que el robot mida el torque / fuerza en una o más articulaciones de cada pierna. Tal vez mida el torque directamente usando un medidor de tensión discreto u otro sensor de fuerza / torque. O quizás pueda obtener una aproximación adecuada utilizando medidas "sin sensores" del EMF posterior del motor de esa pierna, o la cantidad de potencia que entra en el motor de esa pierna.

Digamos que el robot está usando un modo de andar que es eficiente para el asfalto: el robot coloca el pie en la parte delantera hasta que toca el asfalto, luego permanece en esa posición vertical y empuja el pie directamente hacia atrás, luego levanta la pierna hacia arriba un poco y lo tira hacia adelante, luego vuelve a poner el pie hacia abajo y se repite.

Si realmente se está moviendo sobre el asfalto, espera que el robot mida un par de torsión / fuerza alto cuando empuja la pierna hacia atrás y se acerca a cero cuando empuja la pierna a través del aire hacia adelante.

Si el torque en una pierna se siente bajo cuando el robot lo empuja hacia atrás, tal vez esa pierna (no necesariamente otra pierna) se deslice sobre la superficie de algo de arena. Por lo tanto, el robot debe empujar esa pierna hacia abajo un poco más en la arena, y tal vez mover la pierna hacia atrás un poco más rápido, hasta que esa pierna le dé al robot el empuje hacia adelante que desea.

Si el par de torsión en una pierna se siente alto cuando el robot lo empuja hacia delante, tal vez esté frotando contra la hierba. O quizás las otras piernas se han hundido profundamente en la arena, y esa pierna está rozando la capa superior de arena. Así que el robot debe levantar esa pierna un poco más arriba para evitar ese obstáculo. (Y tal vez levante todas las piernas un poco más arriba en el movimiento de retorno para los próximos pasos, para que otras piernas puedan evitar ese obstáculo u otros obstáculos cercanos similares).

Supongo que su objetivo es lograr que el robot cambie su forma de andar de forma adaptativa, ya que las diferentes formas de andar son más eficientes en diferentes sustratos. Si su objetivo real es lograr que el robot permanezca en una pista de asfalto, en lugar de vagar por el pasto y la arena, necesitará algún otro enfoque.

    
respondido por el davidcary

Lea otras preguntas en las etiquetas