Está en la página 1de 25

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

INFORME
DE MATERIA FUNDAMENTOS DE ROBOTICA

USO DE SENSORES ULTRASNICO Y TACTIL

INTEGRANTES:
Flix Guerra Ayala
Jos Palominos

GUAYAQUIL ECUADOR

Ao: 2015

NDICE GENERAL
RESUMEN

INDICE GENERAL
INTRODUCCION
1. OBJETIVOS
2. DESCRIPCIN GENERAL DEL SISTEMA
2.1. Introduccin
2.2. Antecedente

3. ANLISIS TERICO
3.1. Fundamento Terico
3.1.1.

Lego Mindstorm NXT

3.1.2.

Componentes del NXT

3.2. Componente del sistema


3.2.1.

Servos Motores

3.2.2.

Sensor Ultrasnico

3.2.3.

Sensor de Aproximidad

4. SIMULACIN Y PRUEBAS EXPERIMENTALES


4.1. Implementacin y pruebas del proyecto
CONCLUSIONES
RECOMENDACIONES
ANEXO

0. OBJETIVOS
Familiarizacin con el entorno de programacin nativo del LEGO EV3 y todos
sus componentes bsicos.
Aprender a usar el sensor ultrasnico y sus diferentes modos de funcionamiento.
Aprender a usar el sensor tctil y sus diferentes modos de funcionamiento.

1.1 Introduccin
Este proyecto tiene por objeto el destacar el uso de los sensores de tacto y
ultrasnico de los LEGOS MINDSTORMS NXT bajo la programacin de
Simulink de Matlab, para lo cual se desarroll una aplicacin usando estos
sensores y adems se hizo uso del sensor de sonido para representar una
variable analgica que nos proporcionar los datos necesarios para la
adquisicin y procesamiento de los mismos.

La aplicacin consiste en un sistema de monitoreo de seales en este caso


seales analgicas, que puede ser ruido, presin o temperatura, para este
estudio se utilizar el ruido como variable a analizar.
Este sistema se ha desarrollado usando una de las innovaciones de la
tecnologa como lo es la robtica y consiste en un pequeo robot previamente
armado dando la apariencia de un explorador, el mismo que se mover en
diferentes sectores y cada vez que el usuario lo requiera poder hacer la
adquisicin de la seal para su posterior graficacin.

1.2 Antecedentes
Esta no es una de las primeras aplicaciones desarrolladas con el NXT, puesto
que se han desarrollado automatismos simples hasta proyectos ms
ambiciosos. Como por ejemplo, una de las aplicaciones ms bsicas diseadas
por estos kits es el de seguidor de lnea.

Figura 1.1 Diseo de un seguidor de lnea.

Otra de las aplicaciones usadas con este kit es un robot estable sobre dos
ruedas NXTWay-G que usa hbilmente los sensores proporcionados con el
NXT.

Figura 1.2 Diseo de un NXTWay-G.

Es decir las aplicaciones que se les da a este tipo de kits son variadas, desde
bsicas para nios hasta ms complejas para personas que han desarrollado
inters en este campo de la robtica y les gusta innovar con este tipo de
aplicaciones. Incluso cuando se adquiere el kit, en l incluye varios modelos
para comenzar a desarrollarse como diseadores de robots.
Como se ve, el potencial de procesamiento del NXT hace que las posibilidades
sean variadas. De hecho, ya se ha realizado un experimento de control con un
sistema coche-pndulo cuyos autores fueron

Peter Gawthrop, miembro y

profesor del Departamento de Ingeniera Mecnica de la Universidad de


Glasgow, y Euan McGookin, tambin profesor y miembro del Departamento de
Ingeniera Elctrica y Electrnica de la misma universidad.
Estos tipos de kits se pueden usar con varios tipos software pero los
estudiantes del laboratorio del primer semestre de la RWTH Aachen University,

desarrollaron bloques de Matlab para usarlos con legos as como varios


cdigos para emplearlos en ellos. Este es el motivo por el cual nuestra
aplicacin fue realizada en este software, por lo que el robot explorador ser
diseado en el ambiente de Matlab junto con aplicaciones de Simulink.
En la actualidad existen modelos similares al que se desarrollar en este
proyecto como por ejemplo el robot "Spirit" que desde enero del 2004 empez
a enviar fotografas de la superficie de Marte, cuyo objetivo es la recoleccin y
anlisis de datos para determinar si en Marte alguna vez hubo agua, este fue
nuestra motivacin para disear robot explorador con capacidad de adquisicin
de datos.

CAPTULO 2
2.1 Fundamento Terico.
Este proyecto est basado en el uso del lego mindstorms para el diseo de un
robot explorador, haciendo uso de sensores como lo son el de tacto y el
ultrasnico. Adems para poder simular el sensor que va a adquirir datos
hemos hecho uso del sensor de sonido. Siendo este una representacin de uno
de los tantos sensores que puede usar el lego. Pues lo que se analizar es una

variable del tipo analgica que puede provenir de cualquier dispositivo que
puede ser de presin o de temperatura, estos datos sern procesados por el
lego y a la vez procesadas por el entorno Matlab junto con Simulink.
En este captulo se mencionar detalles del lego as como sus sensores
resaltando a los sensor de tacto y ultrasnico que son de inters de estudio en
este proyecto. Adems mencionaremos detalles del software, Matlab y
Simulink, dando sus caractersticas ms relevantes dentro de lo que es
procesamiento de seales y adquisicin de los mismos.

Es de importancia tambin mencionar el software que junto con


Matlab y Simulink ayudarn a la programacin del robot
explorador.

2.1.1 Lego Mindstorms NXT


Lego Mindstorms NXT es una herramienta de desarrollo robtico

que

proporciona un gran nmero de posibilidades para los entusiastas de la


robtica.

Figura 2.1 Lego Mindstorm.

Lego Mindstorms NXT, est recomendado desde los 10 a los 99


pudiendo construir y programar robots que hagan lo que

nosotros

deseamos. Una nueva opcin de "Comienzo Rpido",

hace

construir y programar con xito un robot en slo 30


de programacin por USB o por va

ms

aos,

fcil

minutos, con su sistema

Bluetooth.

Figura 2.2 Comunicacin entre lego y computadora.

El software de programacin de Lego Mindstorms NXT, tiene

como

principales caractersticas:

Fcil de programar y usar en PC y MAC gracias a la tecnologa


de LabVIEW de National Instruments

Interfaz intuitiva, basada en iconos, que se arrastran y se


colocan en la pantalla para realizar programas

18 modelos de robot con instrucciones de construccin paso a


paso para guiar a los principiantes en el proceso de

construccin y programacin de robots e inspirar a usuarios


ms expertos.

2.1.2 Componentes del NXT


Los componentes del lego Mindstorms NXT son:

El ladrillo o cerebro del NXT.


El ladrillo es el elemento fundamental del LEGO Mindstorms NXT.
el CPU, el sistema de comunicaciones, los puertos de y salida
usuario, todo en un bloque de

plstico solido de

la

Incluye
interfaz

de

pequeo tamao y peso.

Figura 2.3 Cerebro del Lego Mindstorms.

El procesador principal posee un microprocesador Atmel de 32 bits


ARM de 256 KB de Flash, 64 KB de RAM y un reloj de 48 MHz.

El procesador secundario posee un microcontrolador Atmel de 8 bits


AVR de 256 Kb de Flash, 64 Kb de RAM y un reloj de 48 MHz.

Posee mayores capacidades de ejecucin de programas, evitando


que los procesos inherentes de varios paquetes de datos colisionen y
produzcan errores y un posible error en la ejecucin del software.

Comunicacin va Bluetooth, de la clase II V2.0

Comunicacin mediante el puerto USB con una velocidad de 12


Mbit/s.

Posee 4 puertos de entrada y 3 puertos de salida, mediante cable de


6 lneas.

Tiene una LCD monocromtica con resolucin de 100 x 64 pixel.

Un altavoz de 8 KHz, con una resolucin de 8-bit y una resolucin de 2-16


KHz de muestreo.

Posee 4 botones para la interfaz de usuario.

Alimentacin es de 6 pilas AA.

Figura 2.4 Parte interna del Cerebro del Lego.

Sensores

Servo Motores Interactivos, los cuales permiten la deteccin de giros


de la rueda, indicando los giros completos o medios giros, que es
controlado por el software

Sensor Ultrasnico: Son los "ojos" del robot, y miden la distancia, los
movimientos y detectan los objetos.

Sensor de Sonido: Son los "odos" del robot y permiten a los robots
reaccionar antes comando de sonido y tonos.

Figura 2.5 Sensores y Motores del Lego Mindstorms.

Comunicacin del NXT


El bloque de NXT puede comunicarse con el computador mediante la
interfaz de USB que posee, la cual ya viene en la versin 2.0. Adems,
para comunicarse con otros robots en las cercanas posee una interfaz
Bluetooth que es compatible con la Clase II v 2.0. Esta conectividad con
Bluetooth no tan slo permite conectarse con otros bloques, sino

tambin con computadores, palms, telfonos mviles, y otros aparatos


con esta interfaz de comunicacin.
Dentro de las posibilidades de conexin se encuentran:

Conectar hasta tres dispositivos distintos,

Buscar y conectarse a otros dispositivos que posean


Bluetooth.

Recordar dispositivos con los cuales se ha conectado


anteriormente para conectarse ms rpidamente.

Establecer el bloque NXT como visible o invisible para el


resto de los dispositivos.

2.1.3 Lenguajes de programacin


La programacin del Lego Mindstorms se realiza mediante el software
que se adjunta en el empaque original, el cual trae el firmware del robot
y un programa que emula un rbol de decisiones, para los cuales, el
usuario debe programar las acciones a seguir por el robot. El software se
encuentra dividido por cada tipo de robot que se puede construir, y que
viene recomendado en el empaque.
Una de las principales caractersticas de este software de programacin,
es su entorno visual, el cual emula la construccin por bloques, dando la

posibilidad a cualquier usuario aprendiz acostumbrarse rpidamente a la


programacin de bloque.
Este lenguaje permite las instrucciones secuenciales, instrucciones de
ciclos e instrucciones de decisiones, stas ltimas, basadas en los datos
reportados por los sensores que se puede aadir al robot.
Este lenguaje de programacin no ser el que se usar para el
desarrollo del proyecto, en vez de este software se emplear Matlab
junto con Simulink, con forme se haga el desarrollo del proyecto se ir
mencionando las caractersticas de Matlab y el empleo de ste en los
lego Mindstorms.

Figura 2.6 Software del Lego Mindstorms.

El bloque del Lego Mindstorms como un producto de hardware y


software integrado, puede ser programado con varias interfaces, pero

todos logrando el mismo fin. Existen varios lenguajes para programar los
NXT, como lo son:

NXC: Lenguaje parecido a C.

LeJOS NXJ: Lenguaje para java.

NXT_Python: Es un mdulo de Python.

LabVIEW:Se pueden desarrollar nuevos bloques.

MATLAB y Simulink: Para controlar el robot via bluetooth.

NBC: Lenguaje ensamblador.

Como se menciona el lego Mindstorms puede trabajar bajo cualquiera


del software antes detallados, el programa que se emplear en el
desarrollo de este proyecto ser Matlab junto con Simulink y conforme
se vaya desarrollando el proyecto se ir mencionando las caractersticas
de Matlab y el empleo de ste en los legos Mindstorms.

2.3.1 Servos Motores.


Los servos motores que suministran el NXT son tres motores de
corriente continua y funcionamiento PWM. El uso de un motor paso a
paso pudiera parecer en principio ms interesante, pero los del NXT son
tradicionales de corriente continua. An ms, y a pesar de su reducido

tamao, esconden en su interior un complejo sistema de reduccin por


tren de engranajes y un sensor de rotacin de tipo tacomtrico.
El servo motor alcanza sin carga una velocidad de 160 rpm, y hasta 120
rpm con una carga de 11.5 N.cm, alimentado a 9 V. Es capaz de
entregar un par mximo de 25 N.cm a 60 rpm, aunque no es
recomendable exceder de los 15 N.cm en periodos prolongados (puede
producir fatiga al actuador).

Figura 2.10 Servo Motor con imagen de su parte interna.

2.3.2 Sensor Ultrasnico


El sensor Ultrasnico al contrario del resto de sensores, no devuelve los
valores en ninguna escala ni porcentaje, sino en unidades reales, bien
en centmetros o en pulgadas.
Su principal funcin es detectar las distancias y el movimiento de un
objeto que se interponga en el camino del robot, mediante el principio de
la deteccin ultrasnica. Este sensor es capaz de detectar objetos que
se encuentren desde 0 a 255 cm, con una precisin relativa de +/- 3 cm.

Mediante el principio del eco, por ultrasonido a 40 KHz, el sensor es


capaz de recibir la informacin de los distintos objetos que se
encuentren en el campo de deteccin. El sensor funciona mejor cuando
las seales ultrasnicas que recibe, provienen de objetos que sean
grandes, planos o de superficies duras. Los objetos pequeos, curvos o
suaves, como pelotas, pueden ser muy difciles de detectar. Si en el
cuarto se encuentra ms de un sensor ultrasnico, los dispositivos
pueden interferir entre ellos, resultando en detecciones pobres.

Figura 2.11 Sensor Ultrasnico.


ntre el brick y computador.

2.3

Componentes del sistema.

El diseo del sistema de este proyecto est basado en el uso de los lego
Mindstorms para
detallaremos

obtener un

caractersticas

robot explorador, pero


importantes

de

para

componentes

ello
que

intervienen en el sistema.
Uno de los componentes bsicos del diseo lo conforma el lego NXT, y
su parte central lo es el Ladrillo Programable de LEGO, conocido como
Brick, que no es ms que una microcomputadora programable que

puede enviar seales a los puertos de salida y recibir informacin de


sensores conectados a sus puertos de entrada. El NXT realiza las
funciones de una interfaz recolectora de datos, que transfiere al
computador la informacin proveniente de los Sensores.
Los sensores que utiliza el kit el Lego Mindstorms NXT son:

Servos motores.

Sensor ptico.

Sensor ultrasnico.

Sensor de tacto

Sensor de sonido.

Para el desarrollo de este proyecto se har uso de servos motores y


como sensores de estudio ser el de tacto y ultrasnico, adems como
sensor que representa el ingreso de un valor analgico para poder
realizar la adquisicin de datos del mismo, haremos uso del sensor de
sonido. A continuacin un breve detalle de los sensores que se usarn
en el proyecto.
3 SIMULACIN Y PRUEBAS EXPERIMENTALES

(1).- EJECUCION DEL PROGRAMA

(2).- BUCLE PARA INICIO DEL PROGRAMA

Este bucle se lo ejecuta para que le programa detecte cuando ha


sido accionado el sensor tctil, la cual tiene la opcin de ejecutarse si el
sensor se ha activado.

(3).- INTERUPTOR PARA EJECUCION DEL MOVIMIENTO SEGN LA


SITUACION

Este interruptor funciona como un condicional la cual se lo ha


usado para que nos de la informacin cuando el sensor ultrasnico
detecte algo en nuestro caso cuando un objeto este a menos de 50 cm de
distancia la cual si este es Verdadero el programa accede al bloque de
programacin de arriba lo cual est sealado por la flecha #4, pero cuando el

condicional es Falso el programa accede al bloque de programacin de abajo lo cual


est sealado por la flecha #5.
(4).- SECUENCIA DE BLOQUES PARA EL FUNCIONAMIENTO CUANDO HAY
ALGUN OBJETO PROXIMO

Luego de que el sensor de proximidad ha detectado algn objeto a cierta


distancia, primeramente los dos primeros bloques se han usado para detener los 2
motores en un caso en que de repente estn en movimiento, luego se ha usado un
temporizado para tener un descanso antes de que d un giro la cual lo hace el siguiente
bloque de programacin la cual por defecto de programacin se ha usado datos elevados
para que podamos obtener un giro de 180 grados.
(5).- SECUENCIA DE BLOQUES PARA EL FUNCIONAMIENTO CUANDO HAY
ALGUN OBJETO PROXIMO
Esa seccin est hecha cuando no se detecta algn objeto a la distancia mnima
antes de girar, la cual primeramente se ha usado un interruptor como un condicional
para poder obtener datos para ver si existe algn objeto menos de 60 cm de distancia
para poder obtener un aviso lo cual lo hace la secuencia de bloque #6.
(6).- SECUENCIA DE BLOQUE PARA UN OBJETO DENTRO DE DICHO RANGO
PROXIMO

La cual si existe un objeto es dicho rango este nos da un aviso mediante un parlante lo
cual se lo hace en el primer bloque, lo cuan despus uso un bloque para limpiar la
pantalla y por ltimo bloque ha sido para poder enviar un mensaje se Stop a la pantalla.
(7).- SECUENCIA DE BLOQUE PARA EL MOVIMIENTO RECTO DEL ROBOT

Cuando no existe ningn objeto dentro de la distancia mnima para girar, el robot debe
seguir un movimiento recto lo cual su funcionamiento esta en esta parte, para lo cual se
ha usado esta secuencia donde primeramente en el primer bloque se resetea la pantalla,
luego usamos un bloque para el giro de ambos motores en sentido recto, luego un
bloque para obtener datos sobre que tan prximo se encuentra el objeto , y con estos
datos se ha usado otro bloque para poder codificar esta informacin en un mensaje de
texto para poder mandar a la pantalla lo cual lo hace el siguiente bloque mandado dicho
mensaje a la pantalla para poderlo observar.
(9).- FUNCIONAMIENTO DEL ROBOT POR 10 SEGUNDOS

Este es la condicin final del bucle, para la cual la hemos usado para un
determinado tiempo, que es lo que nos pidi el problema la cual solo va a
funcionar nicamente por 10 segundo, luego de esto el programa
finalizara completamente.

CONCLUSIONES
1. Con el desarrollo del proyecto llegamos a la conclusin que la eleccin
de Lego Mindstorms para la programacin del Lego NXT fue correcta,
ya que este no present un nivel de dificultad muy grande y hace que el
robot explorador no tenga una dependencia con una base o computador
para cumplir su propsito de movilidad, sin que afecte el factor de
distancia.
2. Se logr utilizar todas las herramientas necesarias para desarrollar un

sistema en Lego Mindstorms de tal manera que controle el robot, el


cual consta con los sensores ya indicados anteriormente.
3. Tener cuidado al momento de la implementacin del programa, y realizar las
pruebas de erros que sean necesarias para un mejor resultado de la prctica.

RECOMENDACIONES

1. Cuando se desarroll el software para dar movimiento al LEGO el


algoritmo solo realizaba de forma correcta la funcin una sola vez y
luego hubo fragmentos del proceso que no se desarrollaban, este
problema surgi debido a que ciertos segmentos del proceso quedaban
validados al trmino de ste.
2. Una vez que se tenga xito en la prctica realizar el respectivo video del
mismo, puesto que despus al realizar cambios pueda que ya no
funcione igual.
3. Tener conocimiento de todos los pasos seguidos en el momento de la
programacin del mismo.

ANEXO
ANTECEDENTE
Motor grande:
Es un motor "inteligente" potente, consta de un sensor de rotacin
incorporado con resolucin de 1 grado para un control preciso. Al utilizar el
bloque de programacin Mover la direccin o Mover tanque en el Software
de EV3, los Motores grandes coordinarn la accin simultneamente (se
debe detallar los puertos en los que se estn conectados ambos motores).

Sensor tctil:
Es un sensor analgico que puede detectar el momento en el que se
presiona y se suelta el botn rojo del sensor, esto permite al sensor actuar
segn tres condiciones: presionado, soltando o en contacto (tanto
presionado como soltando). Con la informacin del Sensor tctil, se puede
programar un robot para ver el mundo como lo hara una persona no
vidente, es decir, extendiendo un brazo y respondiendo cuando toca algo
(presionado). Puede construir un robot con un Sensor tctil presionado
contra la superficie. Luego, puede programar el robot para que responda (se
detenga).

Sensor ultrasnico:
Es un sensor analgico que le proporciona al robot visin, el sensor para funcionar
emite un sonido a determinada frecuencia y mide el tiempo que le toma a la seal en
regresar al punto de origen, para luego calcular la distancia, a la cual se encuentra el
objeto u obstculo.
Tiene un rango de 0 a 255cm con una precisin de +/- 3 cm

DESARROLLO
Para la presente prctica se utilizarn los sensores de ultrasonido y de tacto, para lo cual
se debe armar el robot TRACK3R, las instrucciones de cmo construirlo se encuentran
en la ventana principal del software del EV3, se debe aadir los sensores a usar.
La prctica consiste en hacer que el movimiento del robot dependa de su entorno, para
que el robot inicie su movimiento se debe presionar el sensor tctil y avanzar durante 10
segundos a una velocidad media, en caso de detectar obstculos con el sensor
ultrasnicos debe detenerse, dar media vuelta y seguir avanzando por el resto del tiempo
faltante.

RETO

Usando el sensor de ultrasonido se debe de mostrar en la pantalla la distancia a la que se


encuentra un objeto y cuando se detecte a 5, 10 o 15 cm emitir un tomo de alarma y
mostrar en pantalla la siguiente imagen.

IMGENES:

https://www.youtube.com/watch?v=jWcB6fR9SBM&feature=youtu.be

También podría gustarte