SCILAB: HERRAMIENTA DE CÓDIGO ABIERTO EN LA ENSEÑANZA DE CONTROL Expositor: Raymundo Cordero G. r_cordero@cieep.org http://tech.groups.yahoo.com/group/CIEEP-PERU Centro de Investigaciones Eléctricas - Electrónicas Expositor: del Perú Raymundo Cordero García Laboratório de Inteligência Artificial, Eletrônica de Potência e Eletrônica Digital / DEL / UFMS / Brasil PROPÓSITO Investigación tecnológica Empresas, estado •Revolución industrial •Era atómica •Producción industrial Normatividad = Regulación y desarrollo Herramientas: -Equipos -Normas -Conocimiento Hegemonía socioeconómica El país que no desarrolla tecnología, se vuelve dependiente de otros, pierde campo en el mercado internacional (materia prima vs producto manufacturado). CIEEP: PROYECTO DE DESARROLLO TECNOLÓGICO Canadá U. Waterloo -Dr. C. Cañizares USA Lightning Thompson Inc. -Master installer designer Ing. L. López Ressenlaer Polytech. Inst. -MSc. L. Vanfretti México CINVESTAV -Dr. J. Ramirez -Dr. A. Román -Dr. P. Moreno Perú -Ing. M. Casas -Ing. D. Valenzuela Brasil U. Río de Janeiro -MSc. A. Soto USP -MSc A. Morales Brasil UFMS -Dra. K. Collazos -Dr. J. Roel -MSc B. Chuco -MSc W. Rocha Argentina UTN -Ing. O. Hevia Turquía U. Inonu -MSc. E. Sahin Convenio de desarrollo CIEEP-BATLAB (Lab. Inteligencia artificial, electrónica digital y electrónica de potencia-UFMS) NUESTRO TRABAJO Investigación y Entrenamiento • Energías renovables: Optimización de potencia generada. • Sistemas de Potencia: UPFC, HVDC, monitoreo, FACTS, calidad de energía, distribución, distribución, transmisión eléctrica, máquinas AC y DC. • Electrónica de Potencia: Conversores DC-DC, DC-AC, AC-DC AVR, PSS, control vectorial. Principales Herramientas Software libre: ATP-DRAW, PSAT, InterPSS, SCILAB, OCTAVE. Nuestros Pilares -Eficiencia energética -Inteligencia artificial -Enfoque innovador Importancia del software libre en la ingeniería Para propósitos prácticos, las herramientas de software libre permiten diseñar, analizar y simular sistemas con resultados confiables sin tener que gastar en licencias. Esto constituye un ahorro económico. Ya sea para propósitos de laboratorio, publicación de investigaciones, creación de software a distribuir o informes de consultoría, se requiere que el software utilizado cuente con licencia. Como ingenieros, nos convertimos en diseñadores más que usuarios. ¿Qué es SCILAB? Software de análisis numérico y plataforma de desarrollo para aplicaciones en ciencias e ingeniería. Análogo al MATLAB, cuenta con simulador gráfico: SCICOS Creación: Francia, 1990 • INRIA: Instituto Investigación en Control. Nacional de Informática y • ENPC: École Nationale des Ponts et Chaussées Espíritu de libertad y orgullo SCICOS Discusión Actualmente existe un debate si es que el SCILAB es un auténtico open source,respecto a la distribución comercial de versiones modificadas del software. Cabe indicar que el FSF (Free Software Foundation) y el OSI (Open Source Iniciative),no son las únicas instituciones que definen las características de un software de código abierto gratuito. La Unión Europea, después de un análisis sobre los fundamentos de las licencias de ambas instituciones, lanzó su propia licencia de software libre, el EUPL, lograda después de una exhaustivo análisis en los marcos intelectual y jurídico. http://en.wikipedia.org/wiki/European_Union_Public_Licence http://ec.europa.eu/idabc/en/document/6523 Francia también cuenta con su propia definición, plasmada en la familia de licencias CECILL. La licencia del SCILAB, esta realizada sobre la filosofía del CECILL. http://en.wikipedia.org/wiki/CeCILL http://www.cecill.info/index.en.html ¿Quienes le Brindan Soporte? Consorcio SCILAB: Mantenimiento y actualización del software. ♦ RENAULT ♦ PSA PEUGEOT CITROËN ♦ ATMEL-ROMA ♦ MANDRIVA ♦ ANAGRAM TECHNOLOGIES ♦ SCALEO CHIP ♦ APPEDGE ♦ ESTEREL TECHNOLOGIES ♦ ARTENUM ♦ ENGNET ♦ ECOLE CENTRALE PARIS ♦ KLIPPEL ♦ THALES ♦ ECOLE POLYTECHNIQUE ♦ ENPC ♦ CNES ♦ STYREL TECHNOLOGIES ♦ EADS ♦ INRIA ♦ DASSAULT AVIATION ♦ CEA ♦ EDF ♦ AXS INGENIERE ♦ IFP ♦ TNI ¿Qué nos Permite el SCILAB? • Operaciones aritméticas y lógicas básica. • Gráficos en 2D, 3D y animaciones. • Álgebra lineal. • Polinomios y funciones racionales. • Resolución de sistemas de ecuaciones diferenciales. • Control clásico, robusto, optimización LMI. • Procesamiento digital de señales. • Estadística. • Interface con Fortran, C, C++, Java y LabVIEW. • SCICOS: simulación en diagrama de bloques. • Librerías de control, DSP, ANN, Fuzzy, etc. Teoría de Control con SCILAB Ya sea mediante comandos textuales o por simulación en bloques, se puede realizar simulaciones análogas al MATLAB. G(s) = 25/(s^2+4s+25) Diagrama de Bode MATLAB SCILAB G(s) = 25/(s^2+4s+25) Diagrama de Nyquist SCILAB MATLAB G(s) = 25/(s^2+4s+25) Lugar de Raíces SCILAB MATLAB G(s) = 25/(s^2+4s+25) Control PID Control PID Ejemplo: Péndulo Invertido El modelo de péndulo invertido es un ejemplo clásico de control no lineal y tiene múltiples aplicaciones: desde control de misiles, biomecánica de la marcha, balance y postura humana. En el modelo, las variables están altamente acopladas. Modelamiento del sistema: http://www.ib.cnea.gov.ar/~control2/Links/Tutorial_Matlab_esp/invpen.html Ejemplo: Péndulo Invertido Ecuaciones del péndulo function [xdot]=ivpd(t,x) //ydot=ivpd(t,y) non linear equations of the pendulum // y=[x;d(x)/dt,teta,d(teta)/dt]. g=9.81; u=0 qm=mb/(mb+mc) cx3=cos(x(3)) sx3=sin(x(3)) d=4/3-qm*cx3*cx3 xd4=(-sx3*cx3*qm*x(4)**2+2/(mb*l)*(sx3*mb*g-qm*cx3*u))/d // xdot=[x(2); (u+mb*(l/2)*(sx3*x(4)**2-cx3*xd4))/(mb+mc); x(4); xd4] Ejemplo: Péndulo Invertido Linealización del sistema --> x0=[0;0;0;0];u0=0; --> [f,g,h,j]=lin(pendu,x0,u0); --> pe=syslin('c',f,g,h,j);ssprint(pe) |0 1 0 0| |0 | . | 0 0 -0.7178049 0 | | 0.9756098 | x=|0 0 0 1 |x + | 0 |u | 0 0 52.639024 0 | |-4.8780488 | |1 0 0 0| |0| y = | 0 0 1 0 |x + | 0 |u Ejemplo: Péndulo Invertido Linealización del sistema --> f1=[0 1 0 0 --> 0 0 -3*mb*9.81/m 0 --> 0 0 0 1 --> 0 0 6*(mb+mc)*9.81/(m*l) 0]; --> g1=[0 ; 4/m ; 0 ; -6/(m*l)]; --> h1=[1 0 0 0 --> 0 0 1 0]; --> norm(f-f1,1)+norm(g-g1,1)+norm(h-h1,1)+norm(j,1) ans = 3.934D-15 El error entre el cálculo del SCILAB y el teórico es despreciable Ejemplo: Péndulo Invertido Controlabilidad y observabilidad --> spec(f) ans = ! - 7.2552756 ! ! 7.2552756 ! ! - 3.081D-16 + 1.159D-08i ! ! - 3.081D-16 - 1.159D-08i ! sistema inestable --> n=contr(f,g) sistema controlable n = 4. --> m1=contr(f',h(1,:)') theta observable m1 = 4. Ejemplo: Péndulo Invertido Se crea controlador y observador basado en método de ubicación de polos to=0.1; // k=ppol(f',h',-ones(4,1)/to)' //observer gain k= ! 20. ! 100. ! 0. ! - 1.619D-13 0. ! - 0.7178049 ! 20. ! 152.63902 ! kr=ppol(f,g,-ones(4,1)/to) //compensator gain kr = ! - 208.97044 - 83.588175 - 175.58509 - 24.917635 ! Ejemplo: Péndulo Invertido Sistema completo: péndulo-observador-controlador Ejemplo: Péndulo Invertido Estabilidad del nuevo sistema spec(pr(2)) ans = ! - 10.003858 ! ! - 9.9999983 + 0.0038563i ! ! - 9.9999983 - 0.0038563i ! ! - 9.9961453 ! ! - 10. ! ! - 9.9999997 ! ! - 10. ! ! - 9.9999997 ! Todos los autovalores están en el semiplano izquierdo: El sistema es estable. Aplicación RENAULT para Sistema de control de motor de inyección. Fonction d’activation sigmoïde Redes Neuronales ANN-TOOLBOX Entrée 1 HYDROGR Entrée 2 Biais Sortie 1 Biais Biais Entrée 3 Biais Couche d’entrée Biais Couche cachée Couche de sortie Lógica Difusa Librería FISLAB Control en Tiempo Real: RTAI Control en tiempo real: RTAI Control Robusto Parte de la teoría de control que explícitamente maneja la incertidumbre en el diseño de controladores. Pueden lidiar con pequeñas variaciones entre el sistema real y el modelo nominal usado. http://www.ece.cmu.edu/~koopman/de s_s99/control_theory/ Técnicas de Control Robusto •Control adaptativo: Observadores por cada variable de estado, cuyos parámetros están siendo continuamente actualizados. •H2 y Hinfinito: Técnicas en el dominio de la frecuencia. H2 busca limitar la ganancia de potencia del sistema, mientras que Hinfinito, la ganancia de energía. Ambos determinan que se trabaja en zonas inestables. • Lyapunov: las funciones de Lyapunov (descritas como funciones de energía), modelan el sistema. Éstas son evaluadas y se verifica si la primera derivada muestra una ganancia de energía. • Lógica Difusa: aproximación al pensamiento humano aproximado. No requiere de modelos matemáticos complejos del sistema. Filtro de Kalman El filtro de Kalman es un algoritmo desarrollado por Rudolf E. Kalman que sirve para poder estimar el estado oculto (no medible) de un sistema dinámico lineal, aún si está sometido a ruido blanco aditivo. http://iaci.unq.edu.ar/Materias/Cont.Digital/Apuntes/ApuntePagina/20-Filtro_de_Kalman.pdf Modelamiento de sistemas complejo N-péndulo Otras aplicaciones Circuitos eléctricos: rectificador Otras aplicaciones Circuitos eléctricos: rectificador Otras aplicaciones Control de planta termohidráulica Otras aplicaciones Control de planta termohidráulica Modelo: SimPower System del MATLAB Velocidad mecánica SCILAB MATLAB Torque electromagnético SCILAB MATLAB Opiniones Opiniones Conclusiones SCILAB representa una alternativa poderosa para la simulación y análisis de sistemas dinámicos. El soporte que se le da, más las contribuciones a nivel mundial, permiten contar con una herramienta en el campo del aprendizaje e investigación.