You are on page 1of 9

UNIVERSIDAD MILITAR NUEVA GRANADA

FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


1
INFORME DE INVESTIGACION:
LOGICA DIFUSA POR MAMDANI APLICADA ROBOTINO

Mauricio Javier Carrillo Casilimas
E-mail: 1801255@unimilitar.edu.co
Cdigo: 1801255

Juan Ricardo Rodrguez
E-mail: 1801523@unimilitar.edu.co
Cdigo: 1801523

Sergio David Vera Rodrguez
E-mail: u1801557@unimilitar.edu.co
Cdigo: 1801557


RESUMEN


En este informe se desarrollara el control de
posicin y ngulo para la plataforma de Festro
Robotino por medio del toolbox de fuzzy de
Matlab y los drivers respectivos para trabajar en
simulink. con el fin de ampliar los fundamentos de
control digital, y as amplificar los conocimientos
como ingeniero mecatrnico.



PALABRAS CLAVE:

Control, Logica Difusa, Toolbox de Fuzzy,
Robotino.

ABSTRACT

In this report will develop the control of an
inverted pendulum using the fuzzy toolbox in
order to expand the fundamentals
of digital control, and thus amplify the knowledge
and mechatronic engineer.

KEYWORDS:

Control, fuzzy logic, fuzzy toolbox, robotino,

OBJETIVOS_________________


Desarrollar un control para el Robotino
por medio de lgica difusa, utilizando el
Fuzzy toolbox de MATLAB, por medio
del mtodo de Mamdani.

Mostrar el proceso del controlador del
Robotino.

Aplicar el desarrollo del control de posicin
orientacin al robot mvil omnidireccional
robotino.



INTRODUCCIN

Desde su aparicin en la dcada de los 60's hasta
nuestros das, las aplicaciones de la Lgica Difusa se
ha ido consolidando, paulatinamente al comienzo, y con
un desbordado crecimiento en los ltimos aos. Se
encuentra en soluciones a problemas de control
industrial, en prediccin de series de tiempo, como
metodologas de archivo y bsqueda de Bases de
datos, en Investigacin Operacional, en estrategias
de mantenimiento predictivo y en otros campos ms.

MARCO TERICO
LA LOGICA DIFUSA

La lgica difusa es una metodologa que proporciona
una manera simple y elegante de obtener una
conclusin a partir de informacin de entrada vaga,
ambigua, imprecisa, con


ruido o incompleta, en general la lgica difusa imita
como una persona toma decisiones basada en
informacin con las caractersticas mencionadas. Una de
las ventajas de la lgica difusa es la posibilidad de
implementar sistemas basados en
ella tanto en hardware como en software o en
combinacin de ambos.

UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


2
CONJUNTOS DIFUSOS

El concepto clave para entender cmo trabaja
la lgica difusa es el de conjunto difuso, se puede
definir un conjunto difuso de la siguiente manera.

Teniendo un posible rango de valores al cual
llamaremos U, por ejemplo U=Rn, donde Rn es
un espacio de n dimensiones, a U se le
denominara Universo de Discurso. En U se
tendr un conjunto difuso de valores llamado F el
cual es caracterizado por una funcin de
pertenencia uf tal que uf:U- >[0, 1], donde uf(u)
representa el grado de pertenencia de un u que
pertenece a U en el conjunto difuso F.

SISTEMA DE LGICA DIFUSA TIPO MAMDANI
Se trata de un sistema de mltiples entradas
y mltiples salidas, en cuyo interior la informacin
se representa y procesa empleando la lgica
difusa. Cada variable de Entrada y cada variable
de salida se representa al interior del sistema por
medio de una variable Lingstica .
La funcin del Difusor es la de tomar las
entradas concretas y convertirlas en conjuntos
difusos; estos conjuntos sern procesados por
el Motor de Inferencia empleando la informacin
contenida en la Base de Reglas para producir un
grupo de conjuntos difusos que sern tomados
por el Concresor para producir unas salidas
concretas.
Difusor
El bloque difusor recibe las entradas
concretas que llegan al Sistema de Lgica
Difusa, y produce un Conjunto Difuso por cada
una de ellas. Cada conjunto difuso producido por
este bloque est definido sobre el Universo de
Discurso de la variable lingstica respectiva, est
centrado en el valor concreto de entrada, y tiene
una funcin de pertenencia cuya forma puede ser
distinta para cada variable de entrada. La
estrategia ms usual consiste en crea un
conjunto tipo singleton, cuya funcin de
pertenencia vale para el valor concreto
de entrada, y cero para cualquier otro valor
Concresor
El bloque de concrecin recibe
los conjuntos difusos generados por el motor
de Inferencia, y produce valores concretos
correspondientes a cada una de las variables de salida
del Sistema de Lgica Difusa
En general, para producir cada uno de
los valores concretos, el Concresor toma
los Conjuntos Difusos correspondientes a cada
Variable de Salida, y mediante algn algoritmo produce
un valor concreto. Ciertos algoritmos de concrecin
efectan la Agregacin de los conjuntos difusos,
usualmente mediante la Unin o la Interseccin de estos
conjuntos. Posteriormente se calcula algn valor
representativo del conjunto resultante, tal como su
centro de gravedad o el promedio de los valores con
mxima funcin de pertenencia, y dicho valor
representativo es la salida del bloque concresor.
4.1.2.3 Base de Reglas
La base de reglas es un conjunto de m reglas, cada
una de la forma:
IF (entrada 1 es
etiqueta AND AND entrada p es etiqueta
)
THEN (salida 1 es etiqueta AND AND salida q
es etiqueta )
En donde es el nmero de la
regla, es una de las etiquetas
definidas en la variable lingstica de la entrada k,
y es una de las etiquetas definidas en
la variable lingstica de la salida k.
Opcionalmente, cada etiqueta de las variables de
entrada puede estar afectada por un modificador
lingstico. Cada modificador ( ) es un nmero
real positivo que se emplea como exponente de la
funcin de pertenencia de la etiqueta respectiva. Si el
modificador es menor que 1 se interpreta como el
adverbio poco, y se es mayor que 1 se interpreta como
el adverbio muy.
UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


3
En cada regla pueden distinguirse dos
partes: el Antecedente y el Consecuente, de tal
forma que puede escribirse en forma abreviada
como
IF Antecedente THEN Consecuente


ROBOT MVIL

Se define a un robot mvil cmo un
dispositivo formado por componentes fsicos y
computacionales, divididos en cuatro
subsistemas:
Locomocin
Percepcin
Razonamiento
Comunicacin
Especficamente los robots mviles
terrestres son entendidos cmo aquellos
capaces de desplazarse en superficies. Se
pueden identificar robot mviles indoor (dentro de
un espacio controlado) u outdoor (al aire libre).
Los robots mviles terrestres poseen
diversas aplicaciones en la industria, tales como
el bodegaje, inspeccin y control de produccin a
distancia. Poseen diversas aplicaciones en la
minera, y en el transporte en general. Tambin,
en el contexto de robots de servicio, los robots
mviles se han introducido recientemente en la
forma de aspiradoras para el hogar (caso
Trilobite Electrolux).


Figura 1. Robot mvil.

Cinemtica

Los diferentes tipos de ruedas (traccin y
direccin) tienen diferentes propiedades
cinemticas, por ejemplo un robot mvil
normalmente tiene 3 grados de libertad respecto
a una referencia: posicin en el plano (X, Y) y
orientacin (). Idealmente, independientemente
de donde inicie, el robot debe poder moverse a
cualquier posicin y orientacin (X, Y, ).

RESTRICCIONES CINEMTICAS

Se tienen dos tipos de restricciones que tiene que
ver con el acoplamiento de los robots las cuales se
conocen como:
Holonmicos: los diferentes grados de libertad
estn desacoplados. Los robots diferenciales y
sncronos: se puede desacoplar la posicin de
orientacin (rotando sobre su eje).
No-holonmicos: los grados de libertad estn
acoplados, por ejemplo los triciclos y carros: para dar
vuelta debe moverse hacia el frente o hacia atrs es
ms complejo llegar a la posicin final deseada.




MATERIALES, INSTRUMENTOS,
SOFTWARE, HARDWARE O EQUIPOS.

COMPUTADOR.
MATLAB.
FESTO ROBOTINO.
ROBOTINO SIM

PRECAUCIONES CON LOS
MATERIALES, INSTRUMENTOS Y
EQUIPOS A UTILIZAR

Es importante ingresar las variables de entrada y salidas
adecuadas e ingresar sus conjuntos de manera acorde
con el funcionamiento del Robotino adems de agregar
las reglas necesarias para el funcionamiento correcto de
este.


DESARROLLO DEL PROGRAMA


CONTROL:

Para desarrollar el controlador del Robotino , se har
por medio del mtodo de Mandami, y est poseer 3
entradas y 3 salidas, siendo las entradas el error en
distancia en X, error de distancia en Y y por ultimo el
error en ngulo y las salidas que tenemos son las
velocidades angulares en la rueda 1, rueda 2 y rueda 3
que se vern la figura 2.

UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


4

FIGURA 2.Entradas y salidas del controlador Fuzzy
para el manejo del Robotino


FIGURA 3.Error en X.


FIGURA 4. Error en Y

FIGURA 4. Error en ngulo

FIGURA 5:Salida velocidad ngular rueda 1.

FIGURA 6:Salida velocidad ngular rueda 2.
UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


5

FIGURA 7:Salida velocidad ngular rueda 3.




Al mirar cada una de las graficas de entrada de
este control difuso se puede ver que se
encuentran en el mismo orden de las condiciones
inciales; la figura 2 muestra el error de distancia
en x, maneja parmetros entre -2000y 2000, es
decir, en mm y maneja tres funciones trimf; la
figura 3 muestra el error en distancia y, maneja
parmetros entre -2000 y 2000, es decir, en mm
y maneja tres funciones trimf; la figura 4 muestra
el error de angulo, maneja parmetros entre 0 y
360 , es decir, en grados y maneja dos funciones
trimf; la figura 5, 6 y 7 muestran las salidas , las
cuales describen las velocidades angulares para
cada motor donde cada una de ellas manejan 3
velocidades para el lado izquierdo, un a para el
centro y las otras 5 para el derecho segn sea la
regla establecida.


Las reglas que se aplicaron a este control
difuso se muestran en la figura 8.


FIGURA 8:Reglas Establecidas.


Las reglas que se aplicaron fueron 8:

1. If (errorang is diferente_de_0) then (rw1 is
ne)(rw2 is ne)(rw3 is ne) (1).
2. If (errorang is cero) then (rw1 is cero)(rw2 is
cero)(rw3 is cero) (1)
3. If (errorx is derecha) then (rw1 is ne)(rw2 is
po)(rw3 is cero) (1)
4. If (errorx is izq) then (rw1 is po)(rw2 is
ne)(rw3 is cero) (1)
5. If (errory is izquierda) then (rw1 is ne)(rw2 is
ne)(rw3 is po) (1)
6. If (errory is derecha) then (rw1 is po)(rw2 is
po)(rw3 is ne) (1)
7. If (errorx is cero) then (rw1 is cero)(rw2 is
cero)(rw3 is cero) (1)
8. If (errory is cero) then (rw1 is cero)(rw2 is
cero)(rw3 is cero) (1)
Para ala aplicacin de re

Al aplicar las 8 reglas surge la superficie del
controlador difuso que se ve en la figura 9.
UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


6

FIGURA 9.Superficie de las reglas

Ya obteniendo la estructura del control, se
puede observar el comportamiento del control al
variar cada una de las entradas y poder observar
la salida, como se muestra en la figura 10.

FIGURA 10 .Vista de reglas

IMPLEMENTACION DE CONTROL EN EL
ROBOTINO

Despus de haber elaborado el control se
procedi a implementarlo en el Robotino, para
esto lo primero que se hizo fue instalar los drivers
necesarios para poder conectar y trabajar el
Robotino por medio del software de Matlab.

Figura 11:Iniciacin de los drivers del Robotino

Siguiente a esto se abre el ejemplo de utilizacin
de sensores, para asi trabajar para la evasin de
obstculos.


Figura 12:Funcion de parmetros del bloque de sensores


Figura 12:Bloque de sensores modificado para el trabajo del
controlador

Como se ve en la figura 13, para el trabajo del Robotino
se hace con los bloques de sensores que se pueden
variar del 0 a 8, ya que este robot omnidireccional tiene
9 sensores, ,si alguno de los sensores detecta un objeto
cerca, que es un voltaje que es mayor a 0.7V este
entrara al bloque del if.


Figura 13:Contenido del Bloque if

El bloque del if se encarga de mover el Robotino hasta la
derecha hasta que deje de detectar el obstculo y as
entrar al bloque else.
UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


7

Figura 14:Contenido del Bloque else


En el bloque else se introdujo el bloque del
controlador fuzzy, el cual se encargar de controlar
la posicin y orientacin del Robotino.

Figura 15:Conexin entre el bloque del controlador
fuzzy, de Odometria con dos de los 3 motores.

Despus de esto las salidas se dirigan al bloque
de Odometry donde en este le entra la velocidad
en x en y la angular y sale las velocidades 1,2,y 3
que son lineales.


Figura 16:Prametros para la funcin del bloque de
Odometria.

Las constantes de entrada que se encuentran en
el bloque if son las posiciones deseadas y angulo
deseado por el usuario (finales), para dar las
posiciones iniciales y ngulo inicial se daba por
medio de la funcin
Odometry_set( OdometryId, 0, 0,
0 )

Figura 17:Constantes donde el ususario insertaba las
posiciones y angulo final.


Figura 18:Cdigo para conectar Robotino e ingresar posiciones
iniciales del robotino


Figura 19:Cdigo para desconectar Robotino

Siguiente a implementar el controlador y bloques
necesarios para el manejo del Robotino , se procedi a
utilizar la simulacin por medio del programa Robotino
sim, ets se conectaba por medio del el bloque de conect
y se insertaba la direccin IO. Del Robotino simulado.
UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


8



Figura 20:Control probado en el Robotino sim.

Por ltimo al hacer las pruebas necesarias, se
procedi a probar el Robotino real, para conectar
este se utilizaba un cdigo para conectar y
desconectar el Robotino.


Figura 21:Robotino real trabajado en el Laboratorio



CAMPO DE APLICACIN
Se refleja en el entorno prctico como una
opcin para controlar varibles para satisfacer el
confort del ser Humano , como son las variables
de temperatura, humedad, etc.


RESULTADOS ESPERADOS

Implementar de control difuso por Mamdami en
el Robotino para controlar su posicin y ngulo
adems de la evasin de obstculos.


CONCLUSIONES



El toolbox de Fuzzy de Matlab , facilita como
herramienta, el poder de hacer la
implementacin de la lgica difusa una forma
ms sencilla, es decir, la representacin de
sistemas de mltiples entradas y salidas sin la
utilizacin del clculo, solo en forma grafica.

En la realizacin del control difuso, faltaron
agregar mas reglas para que bajara ms el
error de posicin del Robotino.

Hubieron problemas en la evasin de
obstculos por parte del Robotino ya que no los
evadia, pero se soluciono cambiando los
paramatros de los sensores infrarojos que este
robot posee.


La base de reglas son la manera que tiene el
sistema difuso de guardar el conocimiento
lingustico que le permiten resolver el problema
para el cual ha sido diseado.

Robotino es una plataforma educativa de alta
calidad y plenamente funcional con
accionamiento omnidireccional. Permitiendo la
programacin de su hardware acorde a las
necesidades del proyecto.


CRITERIO DE EVALUACIN A LA
PRESENTE PRCTICA
Los criterios para la calificacin se centran en la
implementacin de control difuso por Mamdami en el
Robotino invertido de Matlab, con su informe
respectivo..


BIBLIOGRAFA

Oltean, S.E.; Dulau, M.; Puskas, R.; , "Position control
of Robotino mobile robot using fuzzy
logic," Automation Quality and Testing Robotics
(AQTR), 2010 IEEE International Conference on ,
vol.1, no., pp.1-6, 28-30 May 2010.

Duarte V. , Oscar G. Sistemas de Lgica Difusa
Fundamentos

Documento Recuperado Enero de 2011.
Inteligencia Artificial FJRP 2011 ccia IA.
UNIVERSIDAD MILITAR NUEVA GRANADA
FACULTAD DE INGENIERIA
INGENIERIA MECATRNICA
13 DE FEBRERO DE 2013

.


9

Dr Jose Galindo G. Curso Introductorio
de conjuntos y Sistemas Difusos. Universidad
de Malaga Espaa.

You might also like