ROBOT MVIL DIFUSO
INSTITUTO POLITCNICO NACIONAL UNIDAD PROFESIONAL
INTERDISCIPLINARIA EN INGENIERA Y TECNOLOGAS AVANZADAS
PROYECTO A ROBOT MVIL DIFUSO SEGUNDA ENTREGA PARCIAL
ALUMNOS: VICTOR ARRIAGA BARRERA CITLALLI BARRERA RIVERA FERNANDO
RUBN GONZLEZ HERNNDEZ JONATHAN JOSU RODRGUEZ PREZ 5BM2
PROFESORES: JARAMILLO GMEZ JUAN ANTONIO RODRGUEZ FUENTES MIGUEL
NGEL SNCHEZ DOMNGUEZ HERMILIO MANUEL ZAMORA GMEZ ERIK
2010 NOVIEMBRE 23Pgina 1
ROBOT MVIL DIFUSO
NDICE Pgina 1. 2. 3. 4. 5. 6. 7. 8. Lista de tablas Lista de
figuras Resumen Abstrac Introduccin 5.1. 6.1. 7.1 8.1. 8.2. 8.3.
8.4. 8.5. Qu es un robot mvil difuso? Por qu un robot mvil difuso?
Sensores a utilizar Estructura Mecanismo de desplazamiento 8.2.1
Control de velocidad y direccin del mvil Mecanismo recolector de
objetos Especificacin de los objetos a recolectar Mecanismo de
sensado 8.5.1 8.5.2 8.6. 8.7. 8.8. 9. 9.1 Justificacin de los
sensores Acondicionamiento de los sensores 1 2 3 4 7 7 8 9 10 11 12
13 13 14 15 15 16 16 16 17 Justificacin Antecedentes Descripcin del
trabajo ii ii vi vi
Justificacin del uso de los motores Fuentes de alimentacin rea
de trabajo Controlador difuso 9.1.1 Identificacin de las variables
de entrada y salida del sistema 9.1.2 Caracterizacin de universos
para las variables difusas
Resultados
Pgina 2
ROBOT MVIL DIFUSO
9.1.3 Programacin de la etapa de fusificacin de valores 9.2 9.3
Caracterizacin elctrica de los motores Caracterizacin elctrica de
los sensores 9.3.1 Sensores SHARP 9.3.2 Sensor de encendido y
apagado del robot 10. 11. 12. Conclusiones Aprendices o anexos
Referencias
18 22 23 23 27 27 28 48
5. LISTA DE TABLAS Nmero de tabla 1. Tabla 1: Caractersticas de
los GP2D 2. Tabla 2: Reglas difusas Si hay objeto 3. Tabla 3:
Reglas difusas No hay objeto 4. Tabla 4: Caracteres del motor A 5.
Tabla 5: Caracteres del motor B 6. Tabla 6: Caracteres del motor C
7. Tabla 6: Caracteres del motor D 8. Tabla 8: Parmetros del SHARP
GP2Y0A21YK0F Pgina 6 24 24 25 25 25 25 26
Pgina 3
ROBOT MVIL DIFUSO
6. LISTA DE FIGURASNmero de figura 1. Figura 1: Robot mvil 2.
Figura 2: Tecnologa 3. Figura 3: Lotfi A. Zadeh 4. Figura 4: Sensor
SHARP 5. Figura 5: Funcionamiento 6. Figura 6: Fotomodulo 7. Figura
7: Cuerpo del robot 8. Figura 8: Mecanismo de desplazamiento 9.
Figura 9: Control de velocidad y direccin 10. Figura 10: Etapa de
potencia 11. Figura 11: Mecanismo recolector de objetos 12. Figura
12: Secuencia para la pala 13. Figura 13: Mecanismo de sensado 14.
Figura 14: Servoradar 15. Figura 15: Acondicionamiento GP2Y0A21YK
16. Figura 16: Giro del servomotor 17. Figura 17: Amplificador no
inversor 18. Figura 18: Diagrama a bloques SHARP 19. Grfica 1 20.
Grfica 2 21. Grfica 3 22. Grfica 4 23. Grfica 5 24. Grfica 6 25.
Grfica 7 26. Grfica 8 27. Grfica 9
Pgina1 3 4 5 5 7 7 8 10 11 11 12 13 14 15 20 28 29 22 22 22 23
23 23 27 27 29
Pgina 4
ROBOT MVIL DIFUSO
3. RESUMENEsta entrega parcial del proyecto A: Robot mvil difuso
trata acerca de la justificacin, caracterizacin, implementacin y
acoplamiento de los sensores a utilizar en el proyecto antes
mencionado, tambin se explica el funcionamiento y las
caractersticas de las fuentes utilizadas y de los componentes
electrnicos, esto con base a los clculos realizados para cumplir
con los requerimientos de nuestro sistema. Otro punto importante
tratado dentro de esta entrega parcial es el diseo de los circuitos
de control para los actuadores as como el diseo de la interfaz para
la comunicacin de los sistemas neurodifusos, tambin se incluye la
programacin y el diseo en Matlab para el sistema de control de
velocidad. A lo largo de esta entrega parcial se intenta brindar al
lector toda la informacin necesaria para la comprensin del proyecto
a entregar, brindndole los esquemas y clculos de los circuitos para
la caracterizacin y acoplamiento, as como las caractersticas de los
sensores a utilizar y los programas a implementar dentro de esta
entrega.
4. ABSTRACTThis partial report of project A: Diffuse movable
Robot talks about the justification, characterization,
implementation and connection of the sensors to use in the project
indicated above, also explains the operation and the
characteristics of the used sources and the electronic components,
this with base to the realised calculations to fulfill the
requirements of our system. Another treated important point within
this partial delivery is the design of the control loops for the
actuators as well as the design of the interface for the
communication of the neurodifusos systems, also includes the
programming and the design in Matlab for the control system of
speed. Throughout this partial delivery it is tried to offer to the
reader all the information necessary for the understanding of the
project to give, offering him to the schemes and calculations of
the circuits for the characterization and connection, as well as
the characteristics of the sensors to use and the programs to
implement within this delivery.
Pgina 5
ROBOT MVIL DIFUSO
5. INTRODUCCIN a. Qu es un Robot Mvil Difuso?Un Robot Mvil es
aquel capaz de desplazarse dentro de un rea de trabajo siguiendo
trayectorias rectas y/o curvas. Lo que hace difuso a ste robot mvil
es su capacidad de evadir obstculos y la recoleccin de objetos, ya
que el continuo desarrollo de nuevos robots mviles para propsitos
cientficos y de aplicaciones diversas, exige algoritmos y tcnicas
de control eficiente para su desempeo, una de las tcnicas ms
utilizadas en este sentido es la Lgica Difusa. El Robot Mvil Difuso
que se describe en este reporte fue diseado de manera tal que
cumpla con los objetivos requeridos y a su vez pueda extenderse en
un futuro a un Robot que sea capaz de recoger la basura de algn rea
determinada, figura 1. Por ahora nuestro Robot Mvil Difuso est
limitado por el tamao de los objetos que pueda entrar por la ranura
de su depsito y porque solo es capaz de distinguir dos colores
(blanco y negro).
Figura 1 Robot mvil capaz de evadir obstculos y recoger
objetos
Pgina 6
ROBOT MVIL DIFUSO
El proyecto del Robot mvil difuso comprende el diseo de un mvil
capaz de localizar objetos a recoger dejando as limpia el rea de
trabajo de basuras, e identificar a qu distancia se encuentra de la
pared obteniendo una velocidad proporcional a sta. Este proyecto
debe de sensar la distancia a la pared y la distancia a las basuras
y a partir de este dato lanzar una velocidad que fue obtenida a
travs de caracterizacin de universos difusos previamente. El
comportamiento de los motores de las llantas ser dado a travs del
acoplamiento de las seales enviadas por los sensores, ya que se
estar sensando la distancia a la pared de derecha, izquierda y en
frente, estas seales pasaran el proceso de conversin analgico
digital y una vez obtenidos los valores de las distancias se
proceder a una etapa de control la cual ser a travs de un
Microcontrolador ( C). Dentro del C se colocar la programacin de la
unidad de inferencia difusa, la cual C saldr el control de la
velocidad a partir del sensado
representa nuestra etapa de control digital, que acta como la
interaccin entre los sensores y la etapa de potencia, de este
previo, y tambin se obtendr el dato acerca de la basura que activar
el mando a la pala que proceder a recogerla, esto a travs del
clculo de la distancia de la basura. El C enva datos a los
diferentes circuitos de control de los motores que realizarn la
accin necesaria, giro o cambio de velocidad, tambin enviar el dato
de la distancia a la que se encuentren las basuras para mover el
mvil hasta ellas y activar el mando para mover la pala y
recogerlas, dejando as el rea de trabajo libre.
6. JUSTIFICACIN a. Por qu un Robot Mvil Difuso?A travs de los
aos la ciencia y tecnologa avanzan a pasos agigantados. A veces con
mayor rapidez a veces con menos, sin embargo siempre sigue
adelante. Y es con este avance que surgen nuevas ramas y espacios
de aplicacin. Uno de ellos es la rama de control aplicado a robots
mviles. Dada la especializacin de nuevos mecanismos, se exigen as
tambin tcnicas de control capaces de ofrecer un trabajo
satisfactorio en la realizacin de esta tarea. Es por ello que el
comprender el funcionamiento de este tipo de sistemas es de suma
importancia cuando se estudia alguna de las carreras impartidas en
esta escuela. Pgina 7
ROBOT MVIL DIFUSO
Figura 2 La tecnologa est presente da con da y avanza a una gran
velocidad
Para las carreras comprendidas dentro de las tecnologas
avanzadas es muy importante la implementacin de los sensores
comprendiendo el funcionamiento de estos mismos, as como conocer la
utilizacin y composicin de los diferentes tipos de circuitos
utilizados para el control de motores, acoplamiento de seales y
adquisicin de datos de sensores. La construccin de un Robot mvil
difuso desarrolla las capacidades de diseo de circuitos de los
alumnos, as como la programacin e incrementa su conocimiento acerca
de actuadores de diferentes tipos, sus diferentes aplicaciones y
sus diferentes tipos de control. Todos estos puntos juntos
conforman lo que ahora se desarrolla en muchas partes del mundo, ya
que la tecnologa de punta se vale de componentes electrnicos que
parten de estos como base, por lo que es de alta importancia
comprender sus comportamientos y usos.
7. ANTECEDENTESLa Lgica Difusa se dio a conocer en los aos 60
(En 1965 por Lotfi A. Zadeh, profesor de la Universidad de Berkeley
California) con el articulo Fuzzy Sets Information and Control,
figura 3. La fama de esta tcnica, levant rpidamente el vuelo
gracias al uso que le dio Japn en 1987. La produccin de un sinnmero
de productos japoneses aplicaba esta tcnica obtenido resultados
excelentes y superando claramente a sus contrincantes. Los
productos que se producan y se siguen produciendo, y que utilizan
esta tcnica no se encasillan en un solo tipo; lavadoras, cmaras
digitales, planchas entre muchos otros ms, son los productos que
hacen uso de ella. Pgina 8
ROBOT MVIL DIFUSO
Esta aplicacin le dio a Japn millones de ganancias anuales. Pero
no solo en este ambiente se desarrolla la Lgica Difusa. Muchas son
las puertas que se han abierto para su aplicacin. El mbito
cientfico, de investigacin y de desarrollo son las principales reas
donde se aplica esta tcnica con grandes resultados. La sencillez
con que trabaja la lleva a ser una de las ms entendidas y
utilizadas, ya que ofrece excelentes resultados si es bien
utilizada.
Figura 3 Lotfi A. Zadeh lanzo el articulo Fuzzy Sets Information
and Control
a. SENSORES A UTILIZARREFLEXIVO GP2D Descripcin: El sensor
GP2DXX de sharp es un dispositivo de reflexin por infrarrojos con
medidor de distancia proporcional al ngulo de recepcin del haz de
luz que incide en un sensor lineal integrado, dependiendo del
modelo utilizado, la salida puede ser analgica, digital o
booleana.
Figura 4 Sensor SHARP
Pgina 9
ROBOT MVIL DIFUSO
Funcionamiento: El dispositivo emite luz infrarroja por medio de
un led emisor de IR, esta luz pasa a travs de una lente que
concentra los rayos de luz formando un nico rayo lo ms concentrado
posible para as mejorar la directividad del sensor, la luz va recta
hacia delante y cuando encuentra un obstculo reflectante rebota y
retorna con cierto ngulo de inclinacin dependiendo de la distancia,
la luz que retorna es concentrada por otra lente y as todos los
rayos de luz inciden en un nico punto del sensor de luz infrarroja
que contiene en la parte receptora del dispositivo. Este sensor es
un CCD lineal y dependiendo del ngulo de recepcin de la luz incidir
esta en un punto u otro del sensor pudiendo de esta manera
Figura 5 Funcionamiento
obtener un valor lineal y proporcional al ngulo de recepcin del
haz de luz. Dependiendo del modelo elegido leeremos de una manera u
otra la salida de este con lo cual tendremos que remitirnos al
datasheet del modelo elegido para ver su funcionamiento
interno.y
En los modelos analgicos la salida es una tensin proporcional a
la distancia medida.
y
En los modelos digitales la lectura ser de 8 bits serie con
reloj externo.
En los modelos Booleanos la salida ser de 1 bit y este marcara
el paso por la zona de histresis del sensor con lo cual solo
tendremos una medicin de una distancia fija.
Pgina 10
ROBOT MVIL DIFUSO
Tabla 1 Caractersticas de los GP2D
Datasheets GP2D-02 GP2D-05
Rango de medida
Tipo de salida
10 a 80 cm. 10 a 80 cm.(adj, micro pot.) 10 a 80 cm adj. a 24cm
de fabrica
Digital 8 bits
Lgica 1 bit
GP2D-12 GP2D-15
Analgica (0-3V) Lgica 1 bit Analgica (0-3V)
GP2D-120 4 a 30 cm.
Usos: Debido a su gran rango de medida este sensor es adecuado
para detectar obstculos reflectantes como paredes. Usado en robots
de exploradores para los de laberintos entre otros. Ideas y
mejoras: Debido a su gran directividad se puede montar un sensor
GPD2 en un servo y as tener un radar de IR cubriendo de esta manera
un radio de 180 aproximadamente.
8. DESCRIPCIN DEL TRABAJO a. Estructura.
Pgina 11
ROBOT MVIL DIFUSO
Figura 6 Cuerpo del robot
Las caractersticas de nuestro robot, como se puede observar en
la figura 4, son las siguientes: A. Base rectangular de 20x30 cm.*
B. 2 paredes laterales de 20x30 cm.* C. Tapa trasera.* D. Tapa
frontal.* E. Rampa.* F. Soporte para sensor.* G. Pala de hule. H.
Tapa Motores.* I. Piso para circuitera.* J. Dos llantas con motores
independientes, encargados de la traccin y la direccin. K. Dos
llantas sin motor. L. Tapa superior.* *Lamina de aluminio calibre
18.
b. Mecanismo de desplazamiento.
Pgina 12
ROBOT MVIL DIFUSO
Figura 7 Mecanismo de desplazamiento
Este mecanismo es muy simple, consta de 4 llantas, las llantas C
y D estn montadas sobre un eje y tienen rodamientos para asegurar
su libertad de movimiento. Las llantas A y B estn fijas a los ejes
de su respectivo motor, y a su vez los motores estn sujetados a la
base del robot. Al tener este tipo de configuracin esperamos tres
casos: Movimientos en lnea recta: aqu los motores A y B deben
avanzar en el mismo sentido y a la misma velocidad y Vuelta a la
derecha: cuando se necesita que el robot cambie de direccin hacia
la derecha entonces el motor A debe girar en sentido horario y el
motor B en sentido antihorario o permanecer detenido. y Vuelta a la
izquierda: cuando se necesita que el robot cambie de direccin hacia
la izquierda entonces el motor B debe girar en sentido horario y el
motor A en sentido antihorario o permanecer detenido.
y
8.2.1. Control de velocidad y direccin del mvil
Pgina 13
ROBOT MVIL DIFUSO
Este control se implement mediante el uso de circuitos lgicos
combinacionales y secuenciales, los cuales se disearon a base de
los requerimientos de nuestro proyecto para obtener un control con
respecto a las distancias sensadas. Nuestro circuito de control fue
diseado de la siguiente manera:
Este circuito recibe la respuesta de los sensores obtenindolos
como datos de 8 bits, recibindolos en el AVR, habiendo pasado
anteriormente por los convertidores analgicodigital, con estos dos
datos se realiza el control difuso obteniendo as del AVR la
velocidad y direccin del carro, que se expresan en las variables:
F, I, D, R y vel (para revisar el programa utilizado para este
control difuso revisar el Apndice 1), estos datos se dirigen al
CPLD que transforma le velocidad en PWM y la direccin se maneja con
las variables w, x, y, z; para la realizacin del PWM se utiliza un
integrado n555, estos procesos se realizan continuamente, al llegar
la seal de los objetos el CPLD le manda al AVR un dato con la
posicin en que se encuentra el servo para que se ubique el carro
completo. Ya que se Pgina 14
ROBOT MVIL DIFUSO
ubic se inicia la secuencia para la recoleccin del objeto,
seccin 8.3, que ya se encuentra precargada. Y as una vez
recolectada la basura se reinicia el proceso. Para el movimiento
del servo se utiliza el otro n555, del cual se genera otro PWM
distinto al anterior con ayuda del CPLD.
c. Mecanismo recolector de objetos.
Figura 8 Mecanismo recolector de objetos
Es mecanismo fue diseado de tal forma que se pudiera transmitir
un buen torque a la pala y de esta manera nuestro robot tenga la
posibilidad de recolectar objetos de mayor peso. El funcionamiento
es simple, se trata de un motor acoplado a un moto-reductor del
tipo engrane-tornillo sin fin con una reduccin de 50 a 1, en el eje
del engrane (eje conductor) se monto un mecanismo cadena-pin, donde
el eje conducido es el eje donde est montada la pala que
recolectara los objetos. Finalmente al activar el motor se
transmite el movimiento a la pala y cuando hay un objeto debajo sta
lo empuja por la rampa hasta una altura tal que el objeto cae en el
depsito. La secuencia para recolectar el objeto y regresar a su
posicin fue implementada en un C AVR y la conexin se hizo como se
muestra en la siguiente figura
Pgina 15
ROBOT MVIL DIFUSO
+
220
220
GND
L2 3D
Figura 9 Secuencia para la pala
El funcionamiento es el siguiente: Cuando se detecta objeto y
est en la posicin donde la pala lo pueda recoger entonces se activa
el motor hacia un sentido aproximadamente 3 segundos con esto
aseguramos que el objeto entra en el depsito; posteriormente el
motor gira otros 3 segundos, en sentido opuesto colocando la pala
en su posicin inicial.
d. Especificacin de los objetos a recolectar.Se tiene planeado
que el Robot sea capaz de recolectar objetos hasta de un peso de 80
g. siempre y cuando su tamao no sea superior al de la ranura de
entrada al depsito que es aproximadamente 3 cm. Los objetos
elegidos son bolitas o cubos de unicel, color blanco, de 2 cm de
dimetro.
e. Mecanismo para el sensado:
0
OUT3 GND OUT
Con o A R
EN2 N3 N
N N2 EN
SS
2
R
R
+
+
8 S OUT OUT2
U23
Pgina 16
ROBOT MVIL DIFUSO
Figura 10 Mecanismo de sensado
Se dise un mecanismo que se utilizar para detectar los objetos y
las paredes, la finalidad de utilizar un servomotor es el control
de la direccin hacia donde el robot debe avanzar. Con este
mecanismo un sensor realizar la revisin del rea en busca de basura
y otro detectar la distancia hacia la pared, movindose 180 de
derecha a izquierda y viceversa, esto con el fin de obtener las
lecturas necesarias para el control de direccin y velocidad. Para
controlar la posicin del servoradar implementamos un PWM en un CPLD
el cual trabaja con 4 datos: CLK: es una seal de reloj calculada a
6 KHz.. RESET: se encarga de poner el servomotor en la posicin
inicial. DETECTA: mantiene al servomotor en la posicin donde el
sensor ha detectado un objeto, este dato proviene del C. y POSICIN:
es un vector de cuatro bits, el cual va cambiando su valor desde 0
hasta F y viceversa, con el cual se va modificando el ancho de
pulso y en consecuencia permite tener las diferentes posiciones del
servomotor.
y y y
8.5.1. Justificacin de los sensoresPgina 17
ROBOT MVIL DIFUSO
El robot emplea 3 sensores pticos, 2 sensores SHARP GP2Y0A21YK0F
y un modulo de radiofrecuencia. Este ltimo sensor se encarga de
activar la alimentacin de los circuitos con los que funciona el
robot, teniendo su propio circuito de control por separado,
consumiendo de esta forma una mnima cantidad de tensin hasta que se
active el robot por control remoto. Se eligi el modulo de
radiofrecuencia principalmente por su alcance que llega a una
distancia de transmisin lo bastante amplia. Mientras que los
sensores SHARP se usaran como sensores de distancia, la ventaja de
este sensor de distancia tampoco se ve afectado de manera brusca
por cambios en la luz ambiental, a diferencia de otros sensores de
distancia, como los QRD; este sensor logra detectar objetos a una
distancia de 80 cm, no importando si la superficie es de un color u
otro. Dentro del robot un sensor SHARP se encargara de sensar la
distancia que hay entre las paredes y el robot, mientras que el
segundo sensor SHARP verificara si hay un cambio de distancia
brusco al nivel del suelo, seal de que hay una pelota enfrente del
robot.
8.5.2. Acondicionamiento de los sensoresPara acondicionar la
seal del sensor GP2Y0A21YK, utilizamos un amplificador operacional
en configuracin de Amplificador no inversor. El diagrama de conexin
de la configuracin es el siguiente:
Figura 11 Acondicionamiento GP2Y0A21YK
La ganancia la calculamos de la siguiente manera:
Pgina 18
ROBOT MVIL DIFUSO
Sabemos que el rango de tensin de salida del sensor es de 0-3.3
V y lo queremos convertir a un rango de 0-5V para utilizar de
manera ms eficiente el ADC, por lo que la ganancia del amplificador
queda determinada por:
Y por otra parte tambin sabemos que:
Por lo que la relacin de
queda:
Usando RF=1K y R1 un potencimetro de 5K, ajustamos la ganancia
del amplificador de tal forma que al tener Vi = 3.3V la tensin de
salida fuera Vo= 5V.
f. Justificacin del uso de los motores.Los motores A y B se
eligieron porque tienen un muy buen torque como para mover toda la
estructura que aproximadamente pesar 5 Kg. El motor C se eligi
porque se adecuaba perfectamente al espacio que se dispona y
resulto tener el torque adecuado para levantar colocaran en el rea
de trabajo. EL servomotor como ya fue mencionado, se utilizar para
tener un control de la direccin hacia la cual debe dirigirse el
robot para recolectar los objetos. Las especificaciones y
mediciones de los motores elegidos se muestran posteriormente en
los resultados. la pala junto con los objetos que se
Pgina 19
ROBOT MVIL DIFUSO
g. Fuentes de alimentacin.Las fuentes utilizadas se eligieron en
base a los requerimientos mnimos de nuestros actuadores para romper
inercia con y sin carga, y para lograr hacerlo ir hacia adelante el
prototipo con un peso promedio de 4 Kg, que es lo estimado tomando
en cuenta el chasis, circuitera, motores y bateras. Se utilizarn: 1
bateras de 12 V a 2 A, para motores A y B. 2 bateras de 5 V a 600
mA, para motor C, servomotor y C.
h. rea de trabajoPara el rea de trabajo de este proyecto se
realiz una base de 1,5 x 1,5 m, dividido en 4 partes de 0,75 x 0,75
m, de madera de 6 mm de espesor, de color negro, para tener
contraste con las bolitas de color blanco. El rea de trabajo
incluye los rangos en los que el robot no trabajara, estos rangos
son de 20 cm; esto nos da un rea lo suficientemente grande como
para que el robot se desplace fcilmente tanto de frente como hacia
los lados. Se eligi el color negro para el rea de trabajo debido a
que el sensor detecta mejor el blanco, si es que hay una pelota, el
sensor detectara un cambio ms grande entre uno y otro.
9. RESULTADOS a. .Controlador difusoPgina 20
ROBOT MVIL DIFUSO
El algoritmo de control fue diseado con la herramienta interna
de MATLAB FIS editor, para poder observar la superficie de control
con facilidad, sin embargo al tener varios estados indefinidos las
superficies tomaron formas extraas en estas regiones.
9.1.1
Identificacin de las variables de entrada y salida del
sistemaEntrada. y y y y Salida. y y Sentido de giro de los
motores Velocidad de los motores Posicin de la pared respecto al
mvil Distancia a la pared Posicin del objeto respecto al mvil
Distancia al objeto
Valores lingsticos de las variables de entrada. Posicin de la
pared respeto al mvil. y y y Derecha Frente Izquierda
Distancia a la pared. y y y Cerca Medio Lejos
Posicin del objeto respecto al mvil. y y y Derecha Frente
Izquierda
Distancia al objeto. Pgina 21
ROBOT MVIL DIFUSO
y y
Si hay No hay
Valores lingsticos de las variables de salida Sentido de giro de
los motores. y y y y Frente Reversa Izquierda Derecha
Velocidad de los motores. y y y Low Media Fast
9.1.2
Caracterizacin de universo para las variables difusas. posicin
de la pared
Estos nmeros simbolizan diferentes posiciones en las que se
encuentra el sensor a lo largo de su trayectoria. La figura 16
muestra como se encuentran distribuidas las posiciones.
Figura 16 Giro del Servomotor
Pgina 22
ROBOT MVIL DIFUSO
Distancia a la pared Posicin del objeto Distancia al objeto
Sentido de giro Velocidad de giro
9.2.2
Programacin de la etapa de fusificacin de valores
clear all; close all; clc %control del robot movil difuso
paso=1; %--------- Entradas -----------------------------%POSICION
PARED pp=0:paso:8; pd=trapmf(pp,[0 0 2 3]) 0.00001;%derecha
pf=trapmf(pp,[2 3 5 6]) 0.00001;%frente pi=trapmf(pp,[5 6 8 8])
0.00001;%izquierda %DISTANCIA PARED dp=0:paso:255; pl=trapmf(dp,[0
0 27 34]) 0.00001;%lejos pm=trapmf(dp,[27 34 75 110])
0.00001;%media pc=trapmf(dp,[75 110 255 255]) 0.00001;%cerca
%POSICION OBJETO po=0:paso:8; od=trapmf(po,[0 0 1 2])
0.00001;%derecha of=trapmf(po,[1 2 6 7]) 0.00001;%frente
oi=trapmf(po,[6 7 8 8]) 0.00001;%izquierda Pgina 23
ROBOT MVIL DIFUSO
%HAY/NO HAY do=0:paso:255; nohay=trapmf(do,[0 0 100 110])
0.00001;%objeto lejos sihay=trapmf(do,[100 110 255 255])
0.00001;%objeto cerca
%------------------Salidas---------------------------%Direccion
dm=1:paso:8; F=trimf(do,[1 1 1]);%frente R=trimf(do,[2 2
2]);%reversa I=trimf(do,[4 4 4]);%izquierda D=trimf(do,[8 8
8]);%derecha %velocidad v=0:paso:15; low=trapmf(v,[0 0 3 4]);%lento
med=trapmf(v,[3 4 10 11]);%media fast=trapmf(v,[10 11 15
15]);%rapida
Grfica 1 Distancia a la pared
Pgina 24
ROBOT MVIL DIFUSO
Grfica 2 Posicin del objeto respecto al robot mvil
Grfica 3 Distancia al objeto
Grfica 4 Funciones de membreca de salida
Pgina 25
ROBOT MVIL DIFUSO
Grfica 5 Sentido de giro de los motores
Grfica 6 Velocidad de giro de los motores
Reglas Difusas.Tabla 2 Cuando Si Hay un objeto dentro del
alcance del robot mvil.Sensor de distancia a los objetos. Izquierda
Cerca Posicin Del objeto Derecha Frente Izquierda Izquierda, LOW
Medio Izquierda, LOW Lejos Izquierda, LOW Derecha, LOW Derecha, LOW
Derecha, LOW Frente, LOW Frente, LOW Frente, LOW Cerca Derecha
Medio Lejos Cerca Frente Medio Lejos
Pgina 26
ROBOT MVIL DIFUSO
Tabla 3 Cuando No Hay un objeto dentro del alcance del robot
mvil.Sensor de distancia a la pared. Izquierda Cerca Posicin De la
pared Derecha Frente Izquierda Derecha, Media Medio Frente, Media
Lejos Frente, Fast Izquierda, Media Frente, Media Frente, Fast
Izquierda, Media Frente, Media Frente, Fast Cerca Derecha Medio
Lejos Cerca Frente Medio Lejos
Los recuadros que aparecen ms oscuros son estados imposibles, ya
que los sensores se mueven al mismo tiempo y siempre apuntan en la
misma direccin.
9.3
Caracterizacin elctrica de
los motores
Tabla 4 Motor A (llanta) R=1,8
Tensin 5V 7,5 V 9V
Corriente sin carga 1,3 A 1,35 A 1,16 A
Corriente con carga 1,5 A 1,6 A 1,9 A
Potencia 6,5 W 10,1 W 10,4 W
RPM 230 357 390
Torque 0,39 Kg 0,96 Kg 1,08 Kg
Tabla 5 Motor B (llanta) R=0,8
Tensin 5V 7,5 V 9V
Corriente sin carga 1,6 A 1,7 A 1,8 A
Corriente con carga 1,6 A 1,8 A 1,9 A Corriente sin carga
Potencia 8W 12,7 W 16,2 W Corriente con carga
RPM 229 360 437
Torque 0,48 Kg 1,22 Kg 1,88 Kg
Tabla 6 Motor C (pala) R=35
Tensin
Potencia
Pgina 27
ROBOT MVIL DIFUSO
5V 7,5 V 10 V 12 V
7,5 mA 9 mA 12,6 mA 16,2 mA
8,1 mA 10 mA 12,6 mA 16,3 mA
37,5 mW 67,5 mW 126 mW 194,4 mW
Tabla 7 Motor D (sensor) Servomotor
Tensin 4,8 V 6V
Velocidad 0,23 s/60 0,18 s/60
Torque 3,6 Kg 4 Kg
Clculos del Torque:
9.4
Caracterizacin elctrica de 9.4.1 Sensores SHARP
los sensores
A excepcin del rango de distancia y la tensin de salida, los
cuales obtendremos en base a mediciones posteriores. El fabricante
nos muestra los valores de operacin, los cuales no podemos
comprobar nosotros con instrumentos comunes. SHARP
GP2Y0A21YK0FTabla 8 Parmetros del SHARP GP2Y0A21YK0F
Parmetro Tensin de alimentacin Corriente de alimentacin Tensin
de salida
Valor 4.5 V a 5.5 V 30 mA -0.3 V a 3.3 V
Nota rango recomendado corriente tpica
Temperatura de operacin -10 C a 60 C
Pgina 28
ROBOT MVIL DIFUSO
Rango de distancia
10 cm a 80 cm
Realizando mediciones con el sensor de distancia (GP2Y0A21YK0F)
de 0 hasta 94 cm, obtuvimos la siguiente curva
Cdigo
dist=0:2:94; vo=[.03 2.16 2.81 3.32 3.29 2.72 2.28 1.97 1.73
1.55 1.42 1.3 1.21 1.11 1.03 0.97 0.91 0.85 0.8 0.76 0.72 0.68 0.64
0.61 0.58 0.56 0.54 0.52 0.49 0.47 0.44 .42 .41 .39 .37 .35 .31 .33
.29 .26 .24 .21 .18 .16 .11 .07 .05 .03];
plot(dist,vo),title('Caracterizacin de Sharp'),grid on
xlabel('Distancia (cm)'),ylabel('Tensin (V)')
Caracteriz acin de S harp 3.5
3
2.5
V oltaje (V )
2
1.5
Grfica 71 0.5
Grfica 8
0
0
10
20
30
40 50 60 Distancia (cm )
70
80
90
100
Pgina 29
ROBOT MVIL DIFUSO
Comparndola con la curva que viene en el datasheet de este
sensor, vemos que presenta el mismo comportamiento, pero esta curva
nos permite obtener los rangos de tensin con cada valor de
distancia. Como se vio en la curva del sensor nuestra tensin mxima
solo llega a 3.3 V, si no se amplifica esta tensin, nuestro rango
salida viene dado por: de variacin sera muy corto y
desperdiciaramos varios bits del ADC, para corregir esto usamos un
amplificador no inversor, cuya tensin de
Figura 17 Amplificador no inversor
Para tener a la salida una tensin de 5 V con una entrada de 3.3
V, tenemos que
Escogiendo valores comerciales
De esta manera la curva del sensor queda de la siguiente
forma
Cdigo dist=0:2:94; vo=[.03 2.16 2.81 3.32 3.29 2.72 2.28 1.97
1.73 1.55 1.42 1.3 1.21 1.11 1.03 0.97 0.91 0.85 0.8 0.76 0.72 0.68
0.64 0.61 0.58 0.56 0.54 0.52 0.49 0.47 0.44 .42 .41 .39 .37 .35
.31 .33 .29 .26 .24 .21 .18 .16 .11 .07 .05 .03];
Pgina 30
ROBOT MVIL DIFUSO
vo=vo*(1 17.2/33); plot(dist,vo),title('Caracterizacin de
Sharp'),grid on xlabel('Distancia (cm)'),ylabel('Tensin (V)')
6
5
4 ta e ( )$
3
2
1
0
0
10
20
30
40"
50 60 sta c a (c )#
Grfica 9
Como a la salida solo manejamos valores positivos, podemos usar
el amplificador LM358, el cual puede operar con una sola fuente
positiva. Esto nos conviene ya que no tendremos que usar fuentes
negativas y solo empleamos un amplificador operacional. Para la
conversin de analgico a digital usamos un ADC0804 el cual tiene una
resolucin de 8 bits, con un tiempo de conversin de 100 s,
suficiente para nuestra aplicacin. Las salidas del ADC van directo
al C que contiene el controlador difuso, aunque la tensin analgica
no est linealizado, dentro del C se definen rangos de operacin, de
esta forma si el ADC muestra una salida de 8 bits que se encuentra
dentro de alguno de los rangos del C, este podr determinar la accin
a tomar.
Figura 18 Diagrama a bloques para el sensor SHARP
!
aracter z ac
e
% & ' $
ar
70
80
90
100
Pgina 31
ROBOT MVIL DIFUSO
9.4.2 Sensor de encendido y apagado del robotEl sistema de
encendido de este proyecto es a distancia, utilizando un modulo de
radiofrecuencia, donde un receptor recibe un pulso enviando al AVR
un pulso que hace que se encienda el sistema completo. El sistema
de encendido es simple ya que slo est conformado por un emisor y un
receptor.
10
CONCLUSIONES
A lo largo del desarrollo de esta etapa del proyecto se lograron
observar las caractersticas necesarias para el correcto
funcionamiento de este, del mismo modo que es indispensable el
conocimiento de las caractersticas de los actuadores, resistencias,
corrientes y tensiones necesarias para romper la inercia y para
lograr el movimiento con carga. Otro de los puntos que es
importante tener en cuenta es el conocimiento de los dispositivos
que se utilizaran y desarrollaran en las etapas posteriores, para
hacer un correcto acondicionamiento de las estructuras, es decir,
el espacio necesario para los circuitos, las caractersticas que
debe cumplir el espacio de trabajo para el optimo funcionamiento de
los sensores y para que este no intervenga con las caractersticas
de los objetos a recolectar. La caracterizacin de los universos de
discurso deben de lograr describir todos los posibles
comportamientos que adoptara el mvil en cada situacin que se pueda
presentar, as pues el correcto anlisis de las variables entrada
salida es indispensable para el buen desarrollo de este
proyecto.
11
APNDICES
1. Programa en VHDL para control del servomotor, velocidad y
sentido de giro del
mvil.-----------------------------------------------------------------------------------Programa
que controla la velocidad y el sentido de giro de los motores --y
la pocision del servoradar library IEEE; use
IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL;
Pgina 32
ROBOT MVIL DIFUSOuse IEEE.STD_LOGIC_UNSIGNED.ALL; entity control
is Port ( clk : in STD_LOGIC;--6 KHz, generado con un NE555 astable
clk1 : in STD_LOGIC;-- 1.5Hz clk2 : in STD_LOGIC;--6 KHz detecta :
in STD_LOGIC;--indica si se detecto objeto o pared vel : in
STD_LOGIC_VECTOR (1 downto 0);--velocidad del movil F: in
std_logic;--avance hacia adelante R: in std_logic;--avance hacia
atras I: in std_logic;--avanza a la izquierda D: in
std_logic;--avanza a la derecha x : out std_logic;--x&y--
controlan la velocidad y sentido de un motor y : out std_logic; z :
out std_logic;--z&w-- controlan la velocidad y sentido de un
motor w : out std_logic; s : inout STD_LOGIC;--cambia el sentido de
scaneo del servoradar q : inout STD_LOGIC_VECTOR (3 downto
0);--contador q1 : inout STD_LOGIC_VECTOR (3 downto 0);--contador
ap : inout STD_LOGIC_VECTOR (3 downto 0);--manda el ancho de pulso,
--interpretado como pocision del servoradar pwm : out
STD_LOGIC;--PWM que controla al servoradar pwm1 : inout
STD_LOGIC;--PWM para la velocidad de los motores reset : in
STD_LOGIC);-- manda a 0 todas las salidas end control; architecture
Behavioral of control is type estados is
(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,sA,sB,sD); signal presente,
siguiente: estados; begin process(clk2) begin if (clk2'event and
clk2 = '1') then presente ap