1 V Seminario de Innovación Docente en
Automática, León, 2018
Plataforma para la generación de ejercicios
prácticos de diseño de controladores PID
Carlos Sánchez Cazorla, Fabio Gómez-Estern
Universidad Loyola Andalucía
David Muñoz de la Peña
Universidad de Sevilla
2
Evaluación automática
Boletines, prácticas, proyectos, exámenes
Fomentar el trabajo práctico del alumno / comunicación con el profesor
Trabajo del alumno
Evaluación
Tiempo de evaluación
Número de alumnos
Universidad masificada
Evaluación “continua”
Realimentación
3
Evaluación automática
Ventajas de la evaluación automática
Gestionar grupos de muchos alumnos
Precisión a la hora de evaluar
Reutilizar ejercicios
Desventajas de la evaluación automática
Trabajo de diseño
Evaluación cuantitativa, no cualitativa
Evaluación
4
Evaluación automática
• Herramientas de evaluación disponibles
-Exámenes de respuesta múltiple (diferentes variantes)
-Moodle, Blackboard, páginas web dedicadas
-Respuesta única, campo de texto, algebra simple…
¡No permiten evaluar conocimiento de tipo práctico
propias de las materias científico-técnicas!
5
Doctus
6
Doctus
• Herramienta de recogida, almacenamiento y
evaluación de ejercicios
–La primera versión fue desarrollada en 2007
• Evaluación automática basada en un modelo de caja
negra en la que la respuesta del alumno se interpreta
como código
–Ejercicios personalizados para cada alumno con soluciones
basadas en complejos cálculos matemáticos
•Simulaciones usando Matlab, Simulink y EJS
–Ejercicios de programación en varios lenguajes
•Matlab, C, Java, Excel
7
Doctus
• Alojamiento en una nueva máquina virtual
–Windows 2012 Server 64 bits
–XAMP
•PHP
•Apache
•SQL
–Laravel
8
Doctus
9
s1 = (-b-sqrt(b^2-4*a*c))/(2*a);
s2 = (-b+sqrt(b^2-4*a*c))/(2*a);
if abs(r1-s1)<0.0001&&abs(r2-s2)<0.0001
nota=10;
elseif abs(r1-s2)<0.0001&&abs(r2-s1)<0.0001
nota=10;
else
nota=0;
end
Ejemplo de ejercicio
Cálculo de la nota
Solución correcta
Comparación
Calcule las raíces de la ecuación a*x^2 +b*x +c = 0.
Entrega del alumno
10
Ejemplo de ejercicio
Generar un enunciado
personalizado que tenga como
raíces los dos primeros dígitos del
DNI más uno
s1 = 1+str2num(dni(1));
s2 = 1+str2num(dni(2));
a = 1;
b = -s1-s2;
c = s1*s2;
Solución correcta
Parámetros correspondientes
11
Ejemplo de ejercicio
Generar un enunciado
personalizado que tenga como
raíces los dos primeros dígitos del
DNI más uno
12
Ejemplo de ejercicio
13
Problema básico de control
• Diseño de controladores para sistemas lineales
–PID, redes de compensación, controladores genéricos
–Evaluación basada en especificaciones
•Simulación del sistema con la respuesta del alumno
•Especificaciones de control
14
Ejercicios individualizados
• Cálculo de los parámetros de un problema a partir del
DNI
– Garantizar que todos los problemas tienes solución
– Garantizar que todos los problemas tienen una dificultad
similar
• Parámetros que definen el problema
– G(s), Gd(s), especificaciones
• Escalado temporal y de la ganancia de un problema
– Problema base definido por Gb(s), Gdb(s) y un conjunto de
especificaciones
– Solución conocida Cb(s)
15
Ejercicios individualizados
• Escalado temporal y de la ganancia de un problema
• Solución del problema
• Parámetros nuevos manteniendo la naturaleza del
problema
16
Ejercicios individualizados
17
Ejercicios individualizados
• Ejemplo
– Función de transferencia base
– Especificaciones
• Sobreoscilación menor del 30%
• Tiempo de subida menor de 0.3s
– Controlador solución PD
• Td = 0.3
• Kp = 60
18
Ejercicios individualizados
• Ejemplo
–Sistema en bucle cerrado
0 0.5 1 1.5 2 2.5 30
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ude
Parámetro Valor
Sobreoscilación 28.87
T. Subida 0.2948
T. Establecimiento 1.1302
Frecuencia de corte 4.1466
Margen de fase 43.6235
19
Ejercicios individualizados
• Ejemplo
– A = 0.5, tau = 2
– Especificaciones
• Sobreoscilación menor del 30%
• Tiempo de subida menor de 0.6s
– Controlador solución PD
Controlador solución PD
Td = 0.6
Kp = 120
20
Ejercicios individualizados
• Ejemplo
–Sistema en bucle cerrado
Parámetro Valor
Sobreoscilación 28.87
T. Subida 0.5897
T. Establecimiento 2.2604
Frecuencia de corte 2.0733
Margen de fase 43.6235 0 1 2 3 4 5 60
0.2
0.4
0.6
0.8
1
1.2
1.4Step Response
Time (sec)
Am
plit
ude
21
Generación automática
• Interfaz de ayuda al profesor
– Genera de forma automática el código Matlab para
• Crear enunciados individualizados a partir del DNI
• Evaluar de forma automática los resultados del alumno
– No es necesario ningún conocimiento de Matlab
• Definir el problema de control base
22
Sistema nominal
Carlos Sánchez Cazorla, 2015
http://cscazorla.es/tesis/
23
Generación de plantas
• Rango de los valores de escalado
24
Especificaciones
• Límites superior e inferior y nota correspondiente
25
Integración con Doctus
• Códigos Matlab
–Generación del enunciado en formato texto
–Evaluador automático
26
Ejemplo de uso
27
Ejemplo de uso
• http://doctus.us.es/tutorial/public/index.php
– DNI inv25 clave 1234
28
Ejemplo de uso
29
Fundamentos de Control
• 2º GITI
– 453 alumnos matriculados
– Evaluación automática de 5 ejercicios de diseño de
controladores
•Nota cuantitativa (100% automática)
•Enunciados disponibles con una semana de antelación
•Ejercicios personalizados por el DNI
–Repetir los mismos módulos cada año
30
Fundamentos de Control
• Para el DNI 28847022
Problema 1
Para la planta G1 definida por los siguientes polinomios:
Numerador = [ 0 0 0 332.8 ];
Denominador = [ 0.1461 2.774 8.427 0 ];
diseñe un controlador PD que cumpla las siguientes especificaciones:
SO < 20
Ts (10-90%) < 0.1622
Problema 2
Para la planta G2 definida por los siguientes polinomios:
Numerador = [ 0 0 0 332.8 ];
Denominador = [ 0.1461 2.774 8.427 0 ];
diseñe un controlador PID que cumpla las siguientes especificaciones:
SO < 20
Ts (10-90%) < 0.1622
31
Muchas gracias