Subido por CONDORI MAMANI ALEXIS LIBERATO

Navegacion Tactil con MicroRobot

Anuncio
Capítulo 5: Navegación Táctil con Filamentos
Muchos tipos de maquinaria robótica confían en una variedad de interruptores táctiles.
Por ejemplo, un interruptor táctil puede detectar cuando un brazo robótico ha encontrado
un objeto. El robot puede ser programado para recoger el objeto y colocarlo en otro lado.
Las fábricas usan interruptores táctiles para contar objetos en una línea de producción y
también para alinear objetos durante sus procesos. En todas estas instancias, los
interruptores proveen entradas que dictan alguna otra forma de salida programada. Las
entradas son electrónicamente monitoreadas por el producto, siendo este un robot, una
calculadora o una línea de producción. En base al estado de los interruptores, el brazo
robótico toma un objeto, o la calculadora despliega actualizaciones, o la línea de
producción de la fábrica reacciona con motores o servos para guiar los productos.
Construiremos interruptores táctiles llamados filamentos y los probará en su microbot.
Luego programará al microbot para monitorear el estado de estos y para decidir qué hacer
cuando encuentre un obstáculo. El fin es la navegación autónoma por palpado.
NAVEGACIÓN TÁCTIL
Los filamentos o bigotes (“whiskers”) son así llamados porque es lo que estos
interruptores de choque parecen, aunque algunos argumentan que parecen más antenas.
Estos filamentos están mostrados en el microbot en la Figura 5-1. Los filamentos le dan al
microbot la habilidad de sensar el mundo a su alrededor palpando, muy parecido a las
antenas de una hormiga o los bigotes de un gato. Las actividades en esta sección usan
los filamentos en sí mismos, pero pueden ser combinados con otros sensores.
Figura 5-1
Microbot con Filamentos
ACTIVIDAD #1: CONSTRUYENDO Y PROBANDO LOS FILAMENTOS
Antes de proceder con los programas que harán que el microbot navege en base a lo que
pueda tocar, es esencial construir y probar los filamentos primero. Esta Actividad le
guiará a través de la construcción y prueba de los filamentos.
Circuito con Filamentos y Ensamble
Reúna el hardware de los filamentos mostrados en la Figura 5-2.
Desconecte la energía de su tarjeta de control y de los motores.
Lista de partes
(2) Alambres filamentos
(2) Tornillos Phillips 7/8″
cabeza plana 4-40
(2) Espaciadores de ½″
(2) Rondanas de Nylon #4
(2) Conectores de 3 pines
(2) Resistencias de 220 Ω
(rojo-rojo-cafe)
(2) Resistencias de 10 kΩ
(cafe-negro-naranja)
Figura 5-2
Hardware
de los
filamentos
Construyendo los Filamentos (esta guía es como base, utilice sus propios materiales)
Refiérase a la Figura 5-3 mientras que sigue las Instrucciones faltantes.
Coloque una rondana de nylon luego un espaciador en cada tornillo de 7/8″.
Coloque los tornillos en su tarjeta y dentro de los soportes, pero aún no los
apriete completamente.
Deslice los extremos con gancho de los alambres alrededor de los tornillos, uno
sobre una rondana y el otro bajo la otra rondana, de tal forma que se entrecrucen
sin tocarse.
Apriete los tornillos a los soportes.
Filamento
bajo la
rondana
Filamento
sobre la
rondana
Board of Education / HomeWork Board
Figura 5-3
Montando los filaments
El siguiente paso es agregar el circuito para filamentos mostrado en la Figura 5-4 a los
circuitos que se construyó anteriormente.
C onstruya el circuito para filamentos de la Figura 5-4 usando el diagrama (Figura 5-5) de
referencia.
Asegúrese de ajustar cada filamento de tal forma que estén próximos a tocar,
pero no tocan, los conectores de 3 pines en la tableta. Una distancia de
aproximadamente 1/8″ (3 mm) es un punto de inicio recomendado.
Vdd
Vdd
10 k
10 k
P7
220 
P5
220 
Right
Whisker
Vss
Left
Whisker
Vss
Figura 5-4
Esquemático para
filamentos
Figura 5-5: Diagrama de alambrado de filamentos para el Board of Education
Left
Whisker
Motores
15 14 Vdd 13 12
Red
Black
X4
Vdd
X5
Vin
Vss
X3
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
X2
+
Board of Education
Rev C
© 2000-2003
Right
Whisker
Use las resistencias de 220 Ω (rojo-rojo-café) para conectar P5 y P7 a sus
correspondientes conectores de 3 pines. Use las resistencias de 10 kΩ (cafe-negronaranja)
para
conectar
Vdd
a
cada
conector
de
3
pines.
Figura 5-6: Diagrama de alambrado de filamentos para el HomeWork Board
Left
Whisker
To Servos
(916) 624-8333
www.parallax.com
www.stampsinclass.com
Vdd
Vin
Rev B
Vss
X3
P15
P14
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
P2
P1
P0
X2
+
HomeWork Board
Right
Whisker
Use las resistencias de 220 Ω (rojo-rojo-café) para conectar P5 y P7 a sus
correspondientes conectores de 3 pines. Use las resistencias de 10 kΩ (cafe-negronaranja)
para
conectar
Vdd
a
cada
conector
de
3
pines.
Probando los Filamentos
Revise de nuevo el esquemático de la Figura 5-7. Cada filamento es una extensón
mecánica y la tierra eléctrica de un circuito con un interruptor normalmente abierto de 1
polo y 1 tiro. La razón por la que los filamentos están conectados a tierra (Vss) es porque
los 4 barrenos en los 4 extremos externos de la tarjeta están conectados a Vss. Los
soportes de metal los tornillos proveen la conexión eléctrica para cada filamento.
Vdd
Vdd
10 k
10 k
P7
220 
P5
220 
Right
Whisker
Vss
Left
Whisker
Figura 5-7
Un Segundo vistazo al
esquemático para
filamentos.
Vss
La tarjeta de control puede ser programada para detectar cuando se presiona un filamento.
Los pines de I/O conectados a cada circuito-interruptor monitorean el voltaje en la
Resistencia de 10 kΩ. La Figura 5-8 ilustra esto. Cuando un determinado filamento no es
presionado, el voltaje en el pin I/O conectado a ese filamento es 5 V. Cuando un filamento
es presionado, la línea de I/O es puesta a tierra (Vss), y entonces la línea I/O ve 0 V.
Todos los pines I/O toman como valor por defecto “input” cada vez que inicia un
programa PBASIC. Esto significa que los pines I/O conectados a los filamentos
funcionan como entradas automáticamente. Como entrada, un pin I/O conectado a un
circuito de filamento causará que su registro de entrada guarde un 1 si el voltaje es 5 V
(filamento no presionado) o un 0 si el voltaje es 0 V (filamento presionado). La Terminal
de Depuración puede usarse para desplegar estos valores.
Figura 5-8
Detectando
Contactos
Eléctricos
ACTIVIDAD #5: PROBANDO EN CAMPO LOS FILAMENTOS
Asuma que puede tener que probar los filamentos en un momento posterior lejos de su
computadora. Como la Terminal de Depuración no estará disponible, ¿qué puede hacer?
Una solución sería programar su tarjeta de control para que envíe una señal de salida que
corresponda a la señal de entrada que está recibiendo. Esto puede hacerse con un par de
circuitos LED y un programa que los encienda/apague según la entrada de los filamentos.
Lista de partes:
(2) Resistencias, 220 Ω (rojo-rojo-café)
(2) LEDs, rojos
Construyendo los circuitos LED de prueba de Filamentos
Desconecte la energía de su tarjeta y motores.
A gregue el circuito mostrado en la Figura 5-9,
P10
220 
Figura 5-9
Esquemático LED de
prueba de Filamentos
P1
220 
LED
Vss
LED
Vss
Agregue estos circuitos
LED.
ACTIVIDAD #3: NAVEGACIÓN CON FILAMENTOS
En la Actividad previa, el programa nos sirvió para detectar si un filamento fue
presionado. Ahora será programado para tomar ventaja de esta información para guiar al
microbot. Cuando esté avanzando y un filamento sea presionado, querrá decir que el
microbot choca contra algo. Un programa de navegación necesita atender esta entrada,
decidir qué significa y llamar a un conjunto de maniobras que hagan que el microbot se
recupere del obstáculo, gire y vaya en otra dirección.
Act03: Desarrolle un programa para que reconozca cuando están presionados los bigotes, verifique su
acción con la ayuda de los leds y enviando el dato por el puerto serie al monitor.
Programando el microbot para Navegar en base a la entrada de sus
filamentos.
El siguiente programa que debe desarrollar, tiene que informarle al microbot que vaya al
frente hasta que encuentre un obstáculo. En este caso, el microbot sabe cuándo encuentra
un obstáculo al chocarlo con uno o ambos filamentos. Tan pronto como el obstáculo es
detectado por los filamentos, las rutinas y subrutinas de navegación desarrolladas en
actividades anteriores harán que el microbot retroceda y gire. Luego, el microbot retoma
su movimiento al frente hasta que golpea otro obstáculo.
Para hacer esto, el microbot necesita ser programado para tomar decisiones. Utilice las
estructuras de control condicional para este caso en particular, se sugiere la estructura
llamada IF (condición) {…} ELSE{…} que toma decisiones.
Su turno:
Con la ayuda de sus acciones al cerrar sus ojos y utilizar sus brazos para trasladarse de un
lugar a otro (como un ciego lo haría), programe a su microbot para poder ir de un lugar a
otro evadiendo obstáculos.
Por ejemplo, cuando cambia de nivel un filamento significara que se ha chocado por uno
de sus extremos, izquierda o derecha, (¿Qué haría usted si fuesen sus brazos?)
Cumpliría lo siguiente:
N CONDICIÓN
ACCIÓN
1 No choca ningún filamento
Continuar adelante un paso.
2 Chocan los dos filamentos
Retroceder, voltear a uno de los lados y
continuar adelante
3 Choca el filamento derecho
Retrocedo un paso giro a la
derecha y avanza a adelante.
4 Choca el filamento izquierdo
Retrocede un paso giro a la
izquierda y avanzo adelante.
Cumpliendo estos eventos se estará evadiendo los obstáculos alrededor.
ACTIVIDAD #4: INTELIGENCIA ARTIFICIAL Y DECIDIENDO CUANDO
ESTÁ ATORADO
Quizá haya notado que el microbot se queda atorado en las esquinas. Conforme el microbot
entra a la esquina, su filamento toca la pared a la izquierda y gira a la derecha. Cuando el
microbot se mueve hacia al frente nuevamente, su filamento derecho choca con la pared a la
derecha y gira a la izquierda. Luego gira y choca con la pared izquierda nuevamente y así
sucesivamente, hasta que alguien lo rescata de su predicamento.
Programando para Escapar a las Esquinas
Modifique su programa anterior para detectar este problema y actuar en consecuencia. El truco
es contar las veces que los filamentos alternativamente hacen contacto. Una cosa importante es
que el programa tiene que recordar en qué estado estaba cada filamento durante el contacto
previo. Tiene que compararlo contra los estados actuales de los filamentos en el contacto
presente. Si son opuestos hay que sumar uno al contador. Si el contador sobrepasa un valor de
umbral que usted haya determinado, entonces es hora de dar vuelta en U y reiniciar el contador
de esta alternativa.
Preguntas
1. ¿Qué tipo de conexión eléctrica es un filamento?
2. Cuando se presiona un filamento de tu microbot ¿qué voltaje ocurre en el
pin I/O que lo monitorea? ¿Qué valor binario ocurrirá en el registro de entrada?
3. ¿Qué comando se usa para brincar a diferentes subrutinas dependiendo del valor
de una variable? ¿Qué comando se usa para decidir a qué subrutina brincará?
¿En qué se basan estas decisiones?
5. ¿Cuál es el propósito de tener declaraciones IF…THEN
anidadas.
Descargar