You are on page 1of 14

Sistema de control de velocidad basado en lgica

difusa con Arduino para un motor de corriente


continua.

INTELIGENCIA ARTIFICIAL

INTEGRANTES:
ALBARADO OSORIO JUAN
ANGEL
HUGO FLORES BRAVO
REYNOSO ALVAREZ LUIS
ARGENIS

BREVE HISTORIA DE LA INTELIGENCIA ARTIFICIAL

La Inteligencia Artificial surge definitivamente a partir de algunos trabajos


publicados en la dcada de 1940 que no tuvieron gran repercusin, pero a partir
del influyente trabajo en 1950 de Alan Turing, matemtico britnico, se abre una
nueva disciplina de las ciencias de la informacin.
Si bien las ideas fundamentales se remontan a la lgica y algoritmos de los
griegos, y a las matemticas de los rabes, varios siglos antes de Cristo, el
concepto de obtener razonamiento artificial aparece en el siglo XIV. A finales del
siglo XIX se obtienen lgicas formales suficientemente poderosas y a mediados
del siglo XX, se obtienen mquinas capaces de hacer uso de tales lgicas y
algoritmos de solucin.

Los juegos matemticos antiguos, como el de las Torres de Hani (hacia el


3000 a. C.), muestran el inters por la bsqueda de un modo resolutor, capaz de
ganar con los mnimos movimientos posibles.
Cerca de 300 a. C., Aristteles fue el primero en describir de manera estructurada
un conjunto de reglas, silogismos, que describen una parte del funcionamiento de
la mente humana y que, al seguirlas paso a paso, producen conclusiones
racionales a partir de premisas dadas.
En 250 a. C. Ctesibio de Alejandra construy la primera mquina autocontrolada,
un regulardor del flujo de agua que actuaba modificando su comportamiento
"racionalmente" (correctamente) pero claramente sin razonamiento.
En 1315, Ramon Llull tuvo la idea de que el razonamiento poda ser efectuado de
maneral artificial.
En 1847 George Boole estableci la lgica proposicional (booleana), mucho ms
completa que los silogismos de Aristteles, pero an algo poco potente.
En 1879 Gottlob Frege extiende la lgica booleana y obtiene la Lgica de Primer
Orden la cual cuenta con un mayor poder de expresin y es utilizada
universalmente en la actualidad.
En 1903 Lee De Forest inventa el triodo, tambin llamado bulbo o vlvula de
vaco.

En 1937 Alan Turing public un artculo de bastante repercusin sobre los


"Nmeros Calculables", un artculo que estableci las bases tericas para todas
las ciencias de computacin, y que puede considerarse el origen oficial de
la informtica terica. En este artculo introdujo el concepto de Mquina de Turing,
una entidad matemtica abstracta que formaliz el concepto de algoritmo y result
ser la precursora de las computadoras digitales. Poda conceptualmente leer
instrucciones de una cinta de papel perforada y ejecutar todas las operaciones
crticas de un computador. El artculo fij los lmites de las ciencias de la
computacin porque demostr que no es posible resolver problemas con ningn
tipo de computador. Con ayuda de su mquina, Turing pudo demostrar que existen
problemas irresolubles, de los que ningn ordenador ser capaz de obtener su
solucin, por lo que se le considera el padre de la teora de la computabilidad.
En 1940 Alan Turing y su equipo construyeron el primer computador
electromecnico y en 1941 Konrad Zuse cre la primera computadora
programable y el primer lenguaje de programacin de alto nivel Plankalkl. Las
siguientes mquinas ms potentes, aunque con igual concepto, fueron la ABC
y ENIAC.
En 1943 Warren McCulloch y Walter Pitts presentaron su modelo de neuronas
artificiales, el cual se considera el primer trabajo del campo de inteligencia
artificial, aun cuando todava no exista el trmino.
1950s
En 1950 Turing consolid el campo de la inteligencia artificial con su
artculo Computing Machinery and Intelligence, en el que propuso una prueba
concreta para determinar si una mquina era inteligente o no, su famosa Prueba
de Turing por lo que se le considera el padre de la Inteligencia Artificial. Aos
despus Turing se convirti en el adalid que quienes defendan la posibilidad de
emular el pensamiento humano a travs de la computacin y fue coautor del
primer programa para jugar ajedrez.
En 1951 William Shockley inventa el transistor de unin. El invento hizo posible
una nueva generacin de computadoras mucho ms rpidas y pequeas.
En 1956 se dio el trmino "inteligencia artificial" en Dartmouth durante una
conferencia convocada por McCarthy, a la cual asistieron, entre
otros, Minsky, Newell y Simon. En esta conferencia se hicieron previsiones
triunfalistas a diez aos que jams se cumplieron, lo que provoc el abandono casi
total de las investigaciones durante quince aos.
1980s

En 1980 la historia se repiti con el desafo japons de la quinta generacin, que


dio lugar al auge de los sistemas expertos pero que no alcanz muchos de sus
objetivos, por lo que este campo sufri una nueva interrupcin en los aos
noventa.
En 1987 Martin Fischles y Oscar Firschein describieron los atributos de un agente
inteligente. Al intentar describir con un mayor mbito (no slo la comunicacin) los
atributos de un agente inteligente, la IA se ha expandido a muchas reas que han
creado ramas de investigacin enormes y diferenciadas. Dichos atributos del
agente inteligente son:

Tiene actitudes mentales tales como creencias e intenciones.


1. Tiene la capacidad de obtener conocimiento, es decir, aprender.
2. Puede resolver problemas, incluso particionando problemas complejos en
otros ms simples.
3. Entiende. Posee la capacidad de crearle sentido, si es posible, a ideas
ambiguas o contradictorias.
4. Planifica, predice consecuencias, evala alternativas (como en los juegos
de ajedrez)
5. Conoce los lmites de su propias habilidades y conocimientos.
6. Puede distinguir a pesar de las similitud de las situaciones.
7. Puede ser original, creando incluso nuevos conceptos o ideas, y hasta
utilizando analogas.
8. Puede generalizar.
9. Puede percibir y modelar el mundo exterior.
10. Puede entender y utilizar el lenguaje y sus smbolos.
Podemos entonces decir que la IA posee caractersticas humanas tales como el
aprendizaje, la adaptacin, el razonamiento, la autocorreccin, el mejoramiento

implcito, y la percepcin modular del mundo. As, podemos hablar ya no slo de


un objetivo, sino de muchos, dependiendo del punto de vista o utilidad que pueda
encontrarse a la IA.
1990s
En los 90s surgen los agentes inteligentes
2000s
El programa Artificial Linguistic Internet Computer Entity (A.L.I.C.E.) gan el
premio Loebner al Chatbot mas humano en 2000, 2001 y 2004, y en 2007 el
programa Ultra Hal Assistant gan el premio.
2010s
En la actualidad se est tan lejos de cumplir la famosa prueba de Turing como
cuando se formul: Existir Inteligencia Artificial cuando no seamos capaces de
distinguir entre un ser humano y un programa de computadora en una
conversacin a ciegas. Como ancdota, muchos de los investigadores sobre IA
sostienen que la inteligencia es un programa capaz de ser ejecutado
independientemente de la mquina que lo ejecute, computador o cerebro:
En 2010 el programa Suzette gan el premio Loebner. Algunos programas de
inteligencia artificial gratuitos son Dr. Abuse, Alice, Paula SG, Virtual woman
millenium.

INTRODUCCIN

En este documento se presenta un mtodo para implementar algoritmos de control


basados en la Lgica Difusa en un sistema digital empotrado, El Controlador de Lgica
Difusa (Fuzzy Logic Controller: FLC) que se implementa es del tipo de inferencia Mandani
con funciones de membreca descritas a intervalos (triangulares y trapezoidales) e
incluyen los clculos del error y cambio-de-error; adicionalmente se describe medicin de
la variable a controlar, y se discuten los compromisos entre la resolucin de la variable
medida y la tasa de muestreo. Para fines de ejemplificar el uso de la metodologa, se
describe el caso de implementar un FLC para controlar la velocidad de motor de C.D.,
donde la velocidad es sensada por medio de un encoder que proporciona un tren de
pulsos digital, que son contados por el uC es un ATmega328p a 8-bits de resolucin.

DISPOSITOVOS Y SOFTWARE

ARDUINO
Las placas Arduino son pequeos ordenadores con los que puedes leer informacin de
diferentes sensores, as como controlar luces, motores y muchas otras cosas. La gran
mayora de los sistemas que nos rodean son ordenadores de diferentes tamaos. Los
ordenadores no necesitan tener teclado ni pantalla. Hay ordenadores en el microondas de
la cocina, dentro de los ascensores para detectar qu botn pulsas y, en los coches. Hay
ms de 70 ordenadores similares a Arduino hay ordenadores por todas partes.

Arduino es una plataforma de hardware libre, basada en una placa con un


microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la
electrnica en proyectos multidisciplinares. El hardware consiste en una placa con
un

microcontrolador

Atmel

AVR

puertos

de

entrada/salida.4

Los

microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280,


ATmega8 por su sencillez y bajo coste que permiten el desarrollo de mltiples
diseos. Por otro lado el software consiste en un entorno de desarrollo que
implementa el lenguaje de programacin Processing/Wiring y el cargador de
arranque que es ejecutado en la placa. Desde octubre de 2012, Arduino se usa
tambin con microcontroladoras CortexM3 de ARM de 32 bits, 5 que coexistirn
con las ms limitadas, pero tambin econmicas AVR de 8 bits. ARM y AVR no son
plataformas compatibles a nivel binario, pero se pueden programar con el mismo
IDE de Arduino y hacerse programas que compilen sin cambios en las dos
plataformas.

Funciones
Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede
ser conectado a software tal como Adobe Flash, Processing, Max/MSP, Pure
Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo
integrado libre se puede descargar gratuitamente.

Arduino puede tomar

informacin del entorno a travs de sus entradas analgicas y digitales, puede


controlar luces, motores y otros actuadores.

PROTEUS

Es una herramienta es fundamental para las personas que estudian ingeniera


electrnica ya que con este software podemos simular circuitos electrnicos tanto
anlogos como digitales y as podernos brindar una respuesta aproximada de lo
que es el comportamiento en lo real.
Introduccin al ISIS El modulo ISIS es donde nos permite dibujar o el rea donde
se va un circuito que se va a simular, va ser nuestra rea de trabajo.

Proteus es una compilacin de programas de diseo y simulacin electrnica,


desarrollado por Labcenter Electronics que consta de los dos programas
principales: Ares e Isis, y los mdulos VSM y Electra.
ISIS
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de
Esquemas Inteligente) permite disear el plano elctrico del circuito que se desea
realizar concomponentes muy variados, desde simples resistencias, hasta alguno
que otro microprocesador o microcontrolador, incluyendo fuentes de alimentacin,
generadores deseales y muchos otros componentes con prestaciones diferentes.
Los diseos realizados en Isis pueden ser simulados en tiempo real, mediante el
mdulo VSM, asociado directamente con ISIS.
El mdulo VSM
Una de las prestaciones de Proteus, integrada con ISIS, es VSM,
el Virtual System Modeling (Sistema Virtual de Modelado), una extensin integrada
con ISIS, con la cual se puede simular, en tiempo real, con posibilidad de ms
rapidez; todas las caractersticas de varias familias de microcontroladores,
introduciendo nosotros mismos el programa que controlar el microcontrolador y
cada una de sus salidas, y a la vez, simulando las tareas que queramos que lleve
a cabo con el programa. Se pueden simular circuitos con microcontroladores
conectados a distintos dispositivos, como motores, lcds, teclados en matriz, etc.
Incluye, entre otras, las familias de PIC's PIC10, PIC12, PIC16, PIC18,PIC24 y
dsPIC33. ISIS es el corazn del entorno integrado PROTEUS. Combina un
entorno de diseo de una potencia excepcional con una enorme capacidad de
controlar la apariencia final de los dibujos.wdsDA
ARES
ARES, o Advanced Routing and Editing Software (Software de Edicin y Ruteo
Avanzado); es la herramienta de enrutado, ubicacin y edicin de componentes,

se utiliza para la fabricacin de placas de circuito impreso, permitiendo editar


generalmente, las capas superficial (Top Copper), y de soldadura (Bottom
Copper).

DIAGRAMA

CODIGO:
Cdigo implementado en Arduino para las reglas de lgica difusa.
double e, ce, ne, ze, pe, nce, zce, pce ;
double mns, ns, zs, ps, mps;
double ea;
String mensaje="";

int v=100;
int aux=0,aux2=0;
double vel;
double ref=30;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(9,OUTPUT);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
analogWrite(9,v);
}
void loop() {
vel = analogRead(A2);
e=ref-vel;
fusificador(e, pe, ze, ne);
/*mensaje=mensaje+e;
mensaje=mensaje+"--" + pe;
mensaje=mensaje+"--" + ze;
mensaje=mensaje+"--" + ne;
Serial.println(mensaje);
Serial.println();*/
ce = analogRead(A1);
fusificador(ce, pce, zce, nce);
/*mensaje="";
mensaje=mensaje+ce;
mensaje=mensaje+"--"+ pce;
mensaje=mensaje+"--" + zce;
mensaje=mensaje+"--" + nce;
Serial.println(mensaje);*/
control();
/*Serial.println();
mensaje="";
mensaje=mensaje+zs;
mensaje=mensaje+"--" + ns;
mensaje=mensaje+"--" + ps ;
mensaje=mensaje+"--" + mns ;
mensaje=mensaje+"--" + mps;
Serial.println(mensaje);
Serial.println();*/
aux=singleTon()*v;
aux=aux+aux2;
aux2=singleTon()*v;
//Serial.println(aux);
analogWrite(9,aux);
delay(100);
}
double singleTon()
{
double salidaSuperior = (0) * (zs) + (-0.5) * (ns) + (0.5) * (ps) + (-1) * (mns) + (1) * (mps);

double salidaInferior = zs + ns + ps + mns + mps;


return salidaSuperior / salidaInferior;
}
void control() {
zs = max(max(min(ne, pce), min(ze, zce)), min(pe, nce));
ns = max(min(ne, zce), min(ze, nce));
ps = max(min(ze, pce), min(pe, zce));
mns = min(ne, nce);
mps = min(pe, pce);
}
void fusificador(double _e, double &_p, double &_z, double &_n) {
//Reglas para los negativos
if (_e <= -1) {
_n = 1;
} else if (_e >= 0) {
_n = 0;
} else {
_n = _e * (-1);
}
//Reglas para Positivo
if (_e <= 0) {
_p = 0;
} else if (_e >= 1) {
_p = 1;
} else {
_p = _e;
}
//reglas para cero
if (_e <= -1 || _e >= 1) {
_z = 0;
} else if (_e > -1 && _e <= 0) {
_z = _e + 1;
} else {
_z = 1 - _e;
}
}

CONCLUSIONES

Los controladores difusos pueden ser considerados como una solucin factible y
robusta a problemas de control de complejidad media a elevada debido a la

facilidad y rapidez con que stos pueden ser implementados en una aplicacin de
control determinada. Sin embargo tambin pueden llegar a resultar tediosos si la
cantidad de bases de reglas se incrementa debido a la complejidad del problema y
por tanto requerir una capacidad de procesamiento por parte del dispositivo
encargado de implementar el control mucho mayor que la que se requerira para
emplear alternativas tal es el caso del sistema de control de velocidad basado en
lgica difusa en un motor CD.

You might also like