Download scilab: herramienta de código abierto en la enseñanza

Document related concepts
no text concepts found
Transcript
SCILAB: HERRAMIENTA DE CÓDIGO
ABIERTO EN LA ENSEÑANZA DE CONTROL
Expositor:
Raymundo Cordero G.
[email protected]
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.