HispaLUG

El foro LUGnático => Technic & Mindstorms => Mensaje iniciado por: Jero en 27 de Abril de 2012, 19:02:22 PM

Título: Programar sensores en paralelo.
Publicado por: Jero en 27 de Abril de 2012, 19:02:22 PM
Los sensores que se ven en esta foto, el ultrasonic y el touch sensor, tienen como objetivo detectar un obstáculo y retroceder.

(https://www.hispalug.com/galeria/albums/userpics/10299/Sensores_en_paralelo.JPG)

No encontramos la manera "sencilla" de hacer el programa para que funcione cualquiera de los dos, hemos probado diferentes programas similares a este pero no conseguimos resultados positivos.

(https://www.hispalug.com/galeria/albums/userpics/10299/Prog_sensores_en_paralelo.JPG)

Cualquier sugerencia será bien recibida, gracias.
Título: Re: Programar sensores en paralelo.
Publicado por: nxtorm en 27 de Abril de 2012, 19:39:54 PM
Jero, te pongo una opción aunque no la haya probado en mi NXT. Ya pruebas tú, y si no te funciona, me dices y saco todo el jaleo y lo pruebo, que ahora mismo está guardadito.

Te cuento. Si no te entiendo mal, estás hablando de retroceder cuando el ultrasonido detecta por debajo de una distancia OR si el sensor de contacto se pulsa. Por tanto, la opción correcta es un "or".

(https://www.hispalug.com/galeria/albums/userpics/45155/or1.jpg)

Una opción sería esa. Ya te digo que no está probada. Faltaría añadir los bloques motores: cuando detecta uno u otro, sale del bucle. Por tanto, dentro del bucle mete los bloques de avance cuando no hay obstáculo y fuera el bloque de retroceder. A ver si hay suerte.
Título: Re: Programar sensores en paralelo.
Publicado por: Jero en 28 de Abril de 2012, 18:56:47 PM
Gracias nxtorm, me temía que la solución podía ser esa. Estoy trasteando con mi hijo y no quería entrar todavía en ese tipo de programación.
Cuando tenga un rato lo probaré y comentaré los resultados.
Título: Re: Programar sensores en paralelo.
Publicado por: nxtorm en 28 de Abril de 2012, 19:44:14 PM
Ah, vale. Si lo que querías era evitar el uso de esos operadores, creo que entonces lo que andábais buscando será algo así:

(https://www.hispalug.com/galeria/albums/userpics/45155/or2.jpg)

Me pasa como antes, que no lo he probado. Y ya sabes, cuando lo pruebas aparecen siempre problemas inesperados. De todas formas creo que puede ser correcto. El programa primero mira si el sensor de contacto está pulsado. Si es así, activa el retroceso. Si no está pulsado, mira el ultrasonido.

Si estamos a menos de 20 cm, activa el retroceso. Y si tampoco es el caso (es decir, si no hay nada a menos de 20 cm), el programa avanza sin hacer nada por el camino de más abajo del todo.

Seguramente con alguna de las 2 opciones lo puedas sacar, quizás variando alguna cosilla. Suerte, y si no me dices y pruebo otras cosas, pero espero que te sirva mejor que el anterior. 
Título: Re: Programar sensores en paralelo.
Publicado por: Jero en 06 de Mayo de 2012, 23:08:01 PM
Hemos probado la programación que proponía nxtorm pero con tres sensores, este es el super programa  :D

(https://www.hispalug.com/galeria/albums/userpics/10299/program_explorer.JPG)

El objetivo es que un pequeño vehículo pueda detectar casi todos los obstáculos, incluidos escalones, y retroceder para dirigirse en otra dirección. De momento es muy básico pero seguiremos probando.

https://www.youtube.com/watch?v=34haTio3Ex8# (https://www.youtube.com/watch?v=34haTio3Ex8#)


También hemos probado la 2ª propuesta de programación pero no acaba de funcionar, le hemos dedicado poco tiempo por eso, a ver cuando podemos seguir con las pruebas.