Informe Final Control Automático
Informe Final Control Automático
Wilson Chavez1 , Daniel Chinchay1 , Angel Garcı́a1 , Pablo Venegas1 ,Carlos León1
1
Universidad UTEC. Facultad de Ingenierı́a. Ingenierı́a Mecatrónica
[Link].a@[Link]; [Link]@[Link]; [Link]ı́a@[Link];
[Link]@[Link]; [Link]@[Link]
Resumen
Este trabajo presenta el modelado , armado y implementación de un sistema bola-barra, el cual busca
estabilizar la bola en el punto de equilibro deseado, esto con la ayuda de controladores PID obtenidos me-
diante distintos métodos de sintonización, El trabajo busca comparar analı́ticamente y mediante simulación
los distintos tipos de sintonizadores de PID que existen y escoger el mas optimo para nuestro sistema basa-
dos en los requerimientos propuestos por la simulación lazo cerrado sin controlador que muestra un sistema
marginalmente estable con una oscilación constante.
Se propone el modelado matemático de la planta a partir de la formulación de Lagrange y su linealización
alrededor de la posición de equilibrio. A partir de este modelo se obtiene una función de transferencia
de segundo orden que se implementa en MATLAB y Simulink. Sobre esta planta se diseñan y comparan
cuatro controladores y un compensador buscando cumplir especificaciones de sobreoscilación, tiempo de
establecimiento y error en estado estacionario.
Comparamos los métodos de sintonización mediante simulación en MATLAB e implementación en el
prototipo, obteniendo respuestas distintas en términos de porcentaje de sobreimpulso y tiempo de estable-
cimiento. Los resultados mostraron que los métodos teóricos no siempre coinciden con el comportamiento
real. Entre los cinco métodos evaluados, el de asignación de polos resultó el más adecuado y, finalmente,
realizamos un ajuste manual para lograr una estabilización más rápida y con menor sobreimpulso.
Palabras claves: Control PID, Sistema Barra-Bola, Realimentación de Estados, LGR, MATLAB ,
Simulink, Pole placement, Análisis frecuencial .
1. Introducción
La necesidad de medir, ajustar y optimizar los parámetros de un sistema es un requisito fundamental en
la ingenierı́a moderna, especialmente cuando se busca garantizar un desempeño estable frente a perturbaciones
externas [1]. En este contexto, la ingenierı́a de control permite modelar, analizar y corregir la dinámica de
sistemas que pueden ser inestables o presentar respuestas no deseadas. Para ello se emplean controladores como el
PID y diversos métodos de sintonización que ajustan la dinámica del sistema según criterios de rendimiento. Esta
problemática es especialmente relevante en aplicaciones donde la precisión y la rapidez de respuesta son crı́ticas,
como en sistemas de posicionamiento o estabilización [2]. En este proyecto se estudia el sistema bola–barra,
un modelo ampliamente usado para comprender el control de posición y ángulo en estructuras realimentadas,
cuyos principios pueden extrapolarse a sistemas más complejos como robots móviles, drones y plataformas de
estabilización [3].
En el ámbito de la investigación sobre sistemas inestables, se han propuesto diversas estrategias que con-
trastan en complejidad y aplicación. Por un lado, Zafar et al. exploraron el uso de algoritmos de optimización
metaheurı́stica para sintonizar controladores de orden fraccionario en simulación, logrando una alta precisión
teórica pero sin abordar las limitaciones fı́sicas de los actuadores reales [7]. En un enfoque más práctico, Osinski
y Silveira implementaron un controlador Difuso-PID (Fuzzy-PID) sobre hardware de bajo costo, demostrando
que la lógica difusa reduce significativamente el sobreimpulso en comparación con el PID clásico, aunque au-
menta la carga computacional del procesador [8]. Por su parte, Saad et al. realizaron un estudio comparativo
1
entre el control PID y el regulador cuadrático lineal (LQR), concluyendo que, si bien el LQR ofrece mejores
tiempos de asentamiento y menor consumo de energı́a, su dependencia de un modelo matemático exacto lo hace
menos robusto ante incertidumbres paramétricas en comparación con el control clásico bien sintonizado [9].
En este trabajo nos enfocamos especı́ficamente en la comparación de cuatro métodos de sintonización para
controladores PID: Ziegler–Nichols basado en margen de fase [4], Lugar Geométrico de las Raı́ces (LGR), análisis
en frecuencia [5] y realimentación de estados. Además, se incorpora un compensador de adelanto de fase como
complemento de diseño para evaluar mejoras en el desempeño dinámico. Cada método es analizado bajo los
mismos criterios de rendimiento, considerando parámetros como el porcentaje de sobreimpulso, margen de fase,
error en estado estacionario, pico de resonancia y ancho de banda. A partir de estos requerimientos, se desarrolla
una comparación detallada mediante cálculos analı́ticos, simulaciones, gráficas y la evaluación de la respuesta
del sistema frente a un escalón unitario [6].
2. Situación Problemática
El sistema de bola y viga (Ball and Beam) es reconocido en la literatura de ingenierı́a de control como
una planta de referencia (benchmark ) crı́tica debido a su naturaleza intrı́nsecamente inestable y su dinámica no
lineal. Desde una perspectiva fı́sica, se trata de un sistema sub-actuado, lo que implica que posee menos entradas
de control (torque del motor) que grados de libertad a controlar (posición de la bola y ángulo de la viga), lo que
imposibilita su estabilización en lazo abierto [10]. La dinámica del sistema está regida por fuerzas gravitacionales
y centrı́fugas que hacen que la bola se acelere indefinidamente hacia los extremos ante cualquier perturbación
angular mı́nima, comportamiento caracterı́stico de sistemas con polos en el origen o en el semiplano derecho
del plano complejo [11]. Además, la relación entre el ángulo del actuador y la posición de la bola no es lineal,
involucrando términos trigonométricos y acoplamientos inerciales que se vuelven significativos cuando el sistema
se aleja de su punto de equilibrio horizontal, desafiando la validez de los controladores lineales convencionales
en rangos de operación amplios [12].
θ
m g sin
Fx =
l
/ Rie
a
Vig θ
P⃗ = mg mg cos θ
Pivote
Servo
Figura 1: Diagrama de cuerpo libre del sistema. Se observa la descomposición vectorial donde la componente
tangencial del peso (mg sin θ) actúa como la fuerza desestabilizadora.
2
3. Estado del Arte
La exploración exhaustiva del estado del arte constituye un pilar fundamental para la fundamentación
del presente proyecto, pues permite situar la propuesta dentro del marco tecnológico actual de los sistemas
de control sub-actuados. La revisión de la literatura especializada en péndulos invertidos y robots balancines
facilita la identificación de las arquitecturas de control vigentes, las metodologı́as de validación predominantes
y, crucialmente, las limitaciones técnicas no resueltas en implementaciones previas. Este análisis crı́tico justifica
la adopción de una metodologı́a de diseño en espiral y la elección de una estrategia de control robusta que
busque equilibrar la teorı́a idealizada con las restricciones fı́sicas del hardware de bajo costo. A continuación, se
detallan tres investigaciones paradigmáticas que ilustran la evolución desde la simulación pura hasta el control
avanzado.
En el dominio del modelado computacional, Triviño [16] enfocó su investigación en la estabilización de un
péndulo invertido mediante estrategias de control clásico, prescindiendo de la construcción de un prototipo fı́sico.
El objetivo central fue evaluar el desempeño de un controlador PID discretizado en un entorno de simulación
numérica (MATLAB/Simulink), aislando matemáticamente la dinámica de la planta. La metodologı́a se centró
en el ajuste fino de las ganancias, demostrando que la supresión de la acción integral (Ki = 0) resultaba
determinante para minimizar las oscilaciones en el estado estacionario y garantizar la estabilidad asintótica ante
perturbaciones tipo escalón. Aunque el estudio validó la teorı́a de control lineal, se concluyó que la ausencia de
validación experimental constituye una limitación severa, al no considerar fenómenos no lineales crı́ticos como
la fricción estática (stiction), el ruido de cuantificación de los sensores o la saturación de los actuadores reales.
Figura 2: Diagrama de bloques de la simulación en Simulink del péndulo invertido, propuesto por Triviño [16].
Transitando hacia la implementación fı́sica, Soe y Khaiing [17] presentaron el desarrollo de un robot bı́pedo
auto-balancı́n basado en la arquitectura de hardware abierto Arduino. El propósito de la investigación fue lograr
el equilibrio vertical autónomo utilizando sensores inerciales de bajo costo (IMU MPU6050). La metodologı́a
integró un filtro complementario para fusionar las lecturas del acelerómetro y giroscopio, mitigando la deriva del
sensor y el ruido de alta frecuencia. Los resultados experimentales mostraron una capacidad de respuesta rápida
ante perturbaciones externas, lograda mediante la sintonización de una ganancia derivativa (Kd ) inusualmente
alta. No obstante, los autores advirtieron que esta estrategia de control agresiva somete a los motores de corriente
continua a cambios bruscos de polaridad y picos de corriente, provocando un desgaste mecánico acelerado y
calentamiento excesivo, lo que compromete la viabilidad operativa del sistema a largo plazo.
3
Figura 3: Integración electromecánica del robot balancı́n de Soe y Khaiing [17].
En la vertiente del control moderno, Ding [18] desarrolló el sistema ”Mr. Struggles”, un robot balancı́n que
implementa un control Óptimo Cuadrático Lineal (LQR) asistido por un Filtro de Kalman para la estimación de
estados. El objetivo fue maximizar la precisión del posicionamiento angular superando las limitaciones del PID
convencional. La investigación combinó el modelado en espacio de estados con pruebas en un prototipo fı́sico
modificado para tener un centro de masa bajo. Los resultados fueron cuantitativamente superiores, alcanzando
un error de estado estacionario de apenas 0,2◦ . Sin embargo, el estudio reveló que el algoritmo LQR es extre-
madamente sensible a incertidumbres paramétricas (tolerancia menor a ±2◦ ), y que la carga computacional del
Filtro de Kalman consume casi la totalidad de los recursos de procesamiento de un microcontrolador de 8 bits,
limitando la posibilidad de expandir el sistema con funciones adicionales.
0
−0,2
−0,4
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)
Figura 4: Representación del comportamiento de estabilización del control LQR filtrado por Kalman, ilustrando
la reducción de ruido descrita en [18].
Como sı́ntesis del análisis bibliográfico, la Tabla 1 presenta una comparativa estructurada que contrasta
las caracterı́sticas técnicas, las ventajas operativas y las limitaciones crı́ticas identificadas en cada una de las
investigaciones revisadas.
4
Tabla 1: Matriz comparativa de estudios previos sobre control de equilibrio
El análisis comparativo permite identificar brechas claras en la literatura: las soluciones puramente simuladas
ignoran la no linealidad fı́sica, las implementaciones con control clásico agresivo sacrifican la vida útil del ac-
tuador, y las técnicas de control moderno (LQR) demandan recursos computacionales que exceden la capacidad
de hardware estándar de bajo costo. El presente proyecto busca ocupar este nicho mediante el desarrollo de un
sistema Bola-Balancı́n que prioriza la robustez mecánica y la eficiencia. La propuesta aborda las limitaciones
detectadas implementando una metodologı́a de sintonización analı́tica (Asignación de Polos) que resulta en un
controlador sobreamortiguado; esto evita el desgaste de los actuadores observado en [2] y mantiene una carga
computacional baja apta para Arduino, superando la complejidad de [3], a la vez que valida los modelos teóricos
en un entorno fı́sico real, superando la abstracción de [1].
4. Metodologı́a
El desarrollo del sistema de control para el prototipo Bola-Balancı́n se ha estructurado bajo la Metodologı́a
en Espiral. Este modelo de proceso evolutivo es idóneo para sistemas de control inestables, ya que combina la
definición de objetivos con el análisis de riesgos y la ingenierı́a iterativa. El procedimiento se divide en seis pasos
secuenciales que permiten refinar el modelo matemático y los algoritmos de control progresivamente.
5
4.2. Paso 2: Entender el Sistema que se Desea Controlar
Esta fase comprende la caracterización fı́sica del hardware construido y la derivación analı́tica del modelo
dinámico. Se emplean principios de mecánica Lagrangiana para obtener la Función de Transferencia (FT).
Viga Principal: Actúa como riel guı́a para la bola. Posee una longitud de 50 cm y cuenta con paredes
laterales para restringir el movimiento de la bola a un solo grado de libertad (eje longitudinal).
Pivote Central: Pieza estructural diseñada para soportar la viga y permitir su libre rotación con mı́nima
fricción mecánica.
Sistema de Transmisión: Se implementó un mecanismo de biela-manivela. El servomotor se aloja en
una base independiente y transmite el torque a la viga mediante una varilla rı́gida conectada a un brazo
de palanca. Esta configuración geométrica especı́fica define la relación de transmisión α(θ).
Soporte de Sensor: En el extremo derecho de la viga se integra un acople diseñado para alojar el sensor
de distancia, garantizando que la medición se realice paralela al plano de movimiento.
Figura 5: Modelo 3D del prototipo Bola-Balancı́n utilizado para la construcción del sistema.
6
4.2.3. Modelado Matemático Riguroso
Se utiliza la formulación de Euler-Lagrange (L = T − V ). Se definen las coordenadas generalizadas: r(t)
como la posición de la bola y α(t) como el ángulo de la viga.
Análisis de Energı́a Cinética (T ) La energı́a cinética total considera tres componentes: la rotación de la
viga alrededor del pivote, la traslación lineal de la bola a lo largo de la viga y la rotación de la bola sobre su
propio eje.
1 1 1
T = Iv α̇2 + mb (ṙ2 + r2 α̇2 ) + Jb ωb2 (1)
2
| {z } | 2 {z } 2
| {z }
Viga Traslación Bola Rotación Bola
Asumiendo la condición de rodadura pura sin deslizamiento, la velocidad angular se relaciona mediante ωb =
ṙ/Rb . Sustituyendo:
1 1 1 1 Jb 2
T = Iv α̇2 + mb ṙ2 + mb r2 α̇2 + ṙ (2)
2 2 2 2 Rb2
Análisis de Energı́a Potencial (V ) Considerando el nivel de referencia en el eje del pivote, la energı́a
potencial depende de la altura de la bola:
V = mb gh = mb gr sin(α) (3)
Linealización y Función de Transferencia Para el diseño de control lineal, se asume operación en torno
al punto de equilibrio (r ≈ 0, α ≈ 0). Se aplican las simplificaciones de pequeños ángulos (sin α ≈ α) y se
desprecian las fuerzas centrı́fugas y de Coriolis de orden superior (α̇2 ≈ 0).
Jb
mb + 2 r̈ = −mb gα (9)
Rb
Se introduce la relación de transmisión mecánica del prototipo, donde el ángulo de la viga α es función del
ángulo del servo θ:
d
α(t) = θ(t) (10)
L
Sustituyendo en (9) y aplicando Laplace con condiciones iniciales nulas:
Jb 2 d
mb + 2 s R(s) = −mb g Θ(s) (11)
Rb L
Despejando la relación entrada-salida, se obtiene la Función de Transferencia teórica:
R(s) mb gd 1
G(s) = =− 2 (12)
Θ(s) L m + 2 Jb s
b Rb
Evaluando con los parámetros de la Tabla 3, se obtiene el modelo nominal para el diseño de los controladores:
2,04
G(s) ≈ (13)
s2
7
4.3. Paso 3: Escoger la Arquitectura del Controlador
Se ha seleccionado una arquitectura de control clásica en lazo cerrado (Feedback Control) utilizando un
controlador PID (Proporcional-Integral-Derivativo).
El circuito integra tres subsistemas principales, cuyas interconexiones y funciones se detallan a continuación:
A. Unidad de Procesamiento (Arduino UNO) Actúa como el cerebro del sistema, ejecutando el algoritmo
de control PID en tiempo real.
Pin Digital 9 (Salida PWM): Envı́a la señal de control al servomotor. Se utiliza este pin especı́fico por
estar vinculado a un temporizador interno del microcontrolador que permite generar señales PWM de alta
precisión (50 Hz) sin interferir con otras funciones.
Pin Analógico A0 (Entrada ADC): Recibe la señal de voltaje variable proveniente del sensor de distancia.
El convertidor analógico-digital (ADC) de 10 bits transforma este voltaje (0-5V) en un valor entero (0-
1023) para su procesamiento digital.
GND (Referencia Común): Punto crı́tico del diseño. Se unifican las tierras de la fuente externa y del
Arduino para establecer una referencia de voltaje común (0V ) para todas las señales lógicas y de potencia.
8
B. Subsistema de Actuación (Servomotor y Potencia) El servomotor es una carga inductiva que puede
generar picos de corriente y ruido eléctrico. Para aislar el microcontrolador de estas perturbaciones, se imple-
mentó una estrategia de alimentación dividida:
Fuente de Poder Externa: Se conecta mediante un Jack DC a la protoboard. Suministra la corriente
necesaria (hasta picos de 1A-2A) exclusivamente al servomotor, evitando caı́das de tensión (brownouts)
que podrı́an reiniciar el Arduino si se alimentara directamente de sus pines de 5V.
Servomotor: Conectado a los rieles de potencia externos. Su cable de señal (amarillo/naranja) es el único
que se conecta directamente al Arduino (Pin 12), cerrando el lazo de control mecánico.
9
Figura 7: Gráfica de polos y zeros
10
KP D = 1,667628 (s + 0,7162295)
Kd = 1,667628 y Kp = 1,194401
Con estos valores, queda completamente definido el controlador diseñado mediante la técnica de Lugar Geométri-
co de las Raı́ces (LGR). El procedimiento permitió reubicar los polos dominantes del sistema en el semiplano
izquierdo, cumpliendo con las especificaciones dinámicas establecidas al inicio del diseño, particularmente en
términos de amortiguamiento y tiempo de establecimiento.
Ki = 0
2,5
ωn = q p
1 − 2(0,7071) + (1 − 2(0,7071)2 )2 + 1
2
ωn = 2,5
11
Hacemos ωc = ωn Hallamos el modulo del controlador KP ID y Fase ∠KP ID Con las siguientes
fórmulas propuestas:
1
|KP ID | =
|G|
∠KP ID = MF − π − ∠G
Primero hallamos MF :
π
MF = 100 · ξ ·
180◦
π
MF = 100 · (0,7071) ·
180◦
MF = 1,2341 rad
Sustituyendo ω = ωc en la ganancia y fase:
2,04
|G|ω=ωc =
ω2
|G| = 0,327
0
∠G = − arctan
0 − ω2
∠G = −3,1416 rad
Reemplazando estos valores en las fórmulas para |KP ID | y ∠KP ID tenemos:
|KP ID | = 3,0580
Kp = |KP ID | cos(∠KP ID )
Ki
|KP ID | sin(∠KP ID ) + ωc
Kd =
ωc
Reemplazando los Valores valores obtenidos:
• |KP ID | = 3,0580
• ∠KP ID = 1,2341 rad
• ωc = 2,5 rad/s
• Ki = 0 (Asumiendo que Ki se anula o es despreciable en este paso para simplificar el cálculo,
ya que el término es Ki 0
s y en el cálculo de Kd se reemplaza con 2,5 en el numerador)
Kp = 3,0580 cos(1,2341)
Kp = 1,0102
0
3,0580 sin(1,2341) + 2,5
Kd =
2,5
3,0580 sin(1,2341)
Kd = = 1,1545
2,5
12
4.5. Técnica 3: Método de Ziegler-Nichols (Margen de Ganancia)
El método de Ziegler-Nichols por margen de ganancia es una técnica de sintonización de controladores PID
que se basa en llevar el sistema al lı́mite de estabilidad mediante el ajuste de la ganancia proporcional.
• Fundamento del método: Se identifica la ganancia crı́tica Km que produce oscilaciones sostenidas
en el sistema (margen de ganancia) y la frecuencia correspondiente ωm .
• Procedimiento:
1. Calcular el margen de ganacia
2. calcular la frecuencia correspondiente
3. Registrar Km y ωm
4. Calcular parámetros PID
• Cálculo de parámetros:
Kp = 0,6Km (14)
Kp ωm
Ki = (15)
π
Kp π
Kd = (16)
4ωm
• Observación: vemos que el margen de ganacia es 23.5db y la frecuencia es 1.43 rad/s, con esos
valores calcularemos los demas parametros:
M.F = 20 log(km)
0 = 20 log(km)
km = 1
1. Kp:
kp = 0,6
13
2. Ki:
ki = 0, 33
3. Kd:
kd = 0, 5
Se empleó la herramienta de optimización numérica PID Tuner integrada en MATLAB para generar un
diseño de control de referencia basado en el modelo matemático. El procedimiento se llevó a cabo mediante
los siguientes pasos:
• Pre-procesamiento del Modelo: Dado que el sistema embebido opera en tiempo discreto, se
discretizó la planta teórica G(s) = 2,04/s2 utilizando el método de Retenedor de Orden Cero (ZOH)
con un periodo de muestreo de Ts = 0,01 s (100 Hz).
• Configuración de la Herramienta: Se seleccionó una arquitectura de controlador PID en paralelo.
Se utilizaron los controles deslizantes de diseño (Response Time y Transient Behavior ) para forzar
una respuesta agresiva, buscando un tiempo de subida (tr ) inferior a 0.5 segundos.
• Obtención de Parámetros: El algoritmo de optimización convergió en un conjunto de ganancias
que teóricamente satisfacen los requisitos de velocidad. Los valores especı́ficos de Kp y Kd obtenidos,
ası́ como las curvas de respuesta al escalón y las métricas de desempeño simuladas (sobreimpulso y
tiempo de establecimiento), se detallan y analizan en la Sección de Resultados, especı́ficamente en el
apartado 5.2. 4 (Controlador diseñado mediante Sintonización Computacional ).
• Análisis de Viabilidad: Esta etapa permitió establecer un lı́mite superior teórico para las ganancias,
evidenciando que la matemática lineal subestima la necesidad de acción derivativa para el frenado
inercial real, discrepancia que se discute posteriormente en la validación experimental.
Se utiliza el método algebraico de asignación de polos para imponer una dinámica especı́fica en lazo
cerrado. Se siguieron los siguientes pasos detallados:
2,04
1. Verificación de Controlabilidad y Observabilidad Dada la planta teórica G(s) = s2 , se obtiene
su representación en espacio de estados mediante MATLAB:
G = tf(2.04, [1 0 0]);
[A,B,C,D] = tf2ss(2.04, [1 0 0]);
% CONTROLABILIDAD
Mco = ctrb(A,B);
rangoMco = rank(Mco); % Resultado: 2
% OBSERVABILIDAD
Mob = obsv(A,C);
rangoMob = rank(Mob); % Resultado: 2
Al usar dicho código se observa que la matriz A tiene 2 estados, la misma cantidad que el rango de las
matrices de observabilidad y controlabilidad, por lo tanto, el sistema es controlable y observable.
14
2. Polinomio Caracterı́stico La función de transferencia del PID y la planta son:
Kd s2 + Kp s + Ki 2,04
KP ID (s) = , G(s) = (17)
s s2
KP ID G
La función de transferencia en lazo cerrado es GLC = 1+KP ID G . Analizamos el denominador:
Kd s2 + Kp s + Ki
2,04
1+ =0 (18)
s s2
s3 + 2,04(Kd s2 + Kp s + Ki )
=0 (19)
s3
El Polinomio Caracterı́stico del sistema es:
3. Cálculo de Polos Deseados A diferencia del diseño teórico estándar (subamortiguado), la validación
experimental demostró que el sistema requiere un comportamiento fuertemente sobreamortiguado (ξ > 1)
para evitar oscilaciones mecánicas y saturación. Se proponen tres polos reales que justifiquen la respuesta
observada:
• Un polo en el origen (p1 ≈ 0) para anular la acción integral (Ki = 0).
• Un polo dominante lento (p2 = 0,053) para una llegada suave.
• Un polo no dominante muy rápido (p3 = 48,4) para proporcionar una fuerte acción de frenado
(derivativa).
Se genera el Polinomio Deseado:
Expandiendo la expresión:
Pdes (s) = s(s2 + 48,453s + 2,565) (22)
Pdes (s) = s3 + 48,453s2 + 2,565s + 0 (23)
4. Cálculo de Ganancias Igualando término a término el polinomio caracterı́stico (20) con el deseado
(23):
Para s2 :
48,453
2,04Kd = 48,453 =⇒ Kd = ≈ 23,75 (24)
2,04
Para s1 :
2,565
2,04Kp = 2,565 =⇒ Kp = ≈ 1,25 (25)
2,04
Para s0 :
2,04Ki = 0 =⇒ Ki = 0 (26)
El firmware se estructura en un bucle de control discreto con un tiempo de muestreo fijo Ts . El flujo de
ejecución se ilustra en la Figura 8.
15
Figura 9: Diagrama de flujo del algoritmo de control PID implementado.
16
4.6.2. Protocolo de Pruebas
Durante las pruebas de implementación, se observó que las ganancias teóricas iniciales calculadas con
el modelo G(s) = 2,04/s2 (Kp ≈ 1,25, Kd ≈ 23) generaban una respuesta demasiado agresiva para
el servomotor fı́sico. La dinámica no modelada, principalmente la fricción seca y el ruido del sensor,
provocaba saturación en el actuador con esos valores.
El proceso experimental convergió en un conjunto de ganancias ajustadas (Kp = 0,9, Kd = 17, Ki = 0).
Estos valores representan el punto óptimo donde la acción derivativa es lo suficientemente alta para frenar
la inercia de la bola (”freno virtual”) sin amplificar el ruido, y la acción proporcional es lo suficientemente
baja para evitar movimientos bruscos, logrando ası́ el cumplimiento estricto de los requerimientos de
estabilidad y tiempo de asentamiento.
5. Resultados
En esta sección se presentan los resultados obtenidos durante el desarrollo del proyecto, organizados de
manera sistemática para evaluar el desempeño de la planta y el efecto de los diferentes métodos de diseño
y sintonización de controladores. Cada figura se encuentra debidamente numerada y acompañada por una
descripción explicativa que permite interpretar su contenido y relacionarlo con los objetivos del proyecto:
mejorar la estabilidad, velocidad de respuesta y precisión del sistema.
Los resultados se dividen en dos partes principales: (i) el comportamiento de la planta sin controladores y
(ii) el desempeño del sistema bajo distintos métodos de control, incluyendo Lugar Geométrico de las Raı́ces
(LGR), análisis por frecuencia, sintonización mediante el método de Ziegler–Nichols, ajuste computacional
mediante PID Tuner y asignación de polos por el método analı́tico.
17
Figura 10: Respuesta de la planta ante una entrada escalón unitario.
Kd = 1,667628 y Kp = 1,194401
18
Figura 11: Respuesta al escalón con controlador PD diseñado mediante LGR.
La Figura 11 muestra la respuesta al escalón del sistema controlado mediante el controlador PD diseñado
por el método del Lugar Geométrico de las Raı́ces (LGR). De acuerdo con los requerimientos de diseño
establecidos en la metodologı́a, se buscó obtener un sobreimpulso aproximado de OS ≈ 5 % y un tiempo de
establecimiento al 2 % de Ts ≈ 1,5 s. Estos valores corresponden a un factor de amortiguamiento cercano
a ζ ≈ 0,707 y a una ubicación especı́fica de polos dominantes en el semiplano izquierdo.
Sin embargo, al analizar la respuesta temporal obtenida, se observa que el sistema presenta un sobreimpulso
real de aproximadamente:
OSreal ≈ 11 %
Ts,real ≈ 2,9 s
Estos valores difieren de las especificaciones teóricas debido a varios factores inherentes al diseño mediante
LGR:
• Sensibilidad a la ubicación exacta del cero del controlador PD: El método del LGR de-
pende fuertemente de la posición del cero introducido por el controlador. Pequeñas variaciones en
dicha ubicación modifican la geometrı́a del lugar de raı́ces y cambian la ubicación final de los polos
dominantes.
• Influencia de polos no dominantes: Aunque el diseño se enfoca en los polos dominantes, los polos
restantes también afectan la dinámica temporal, generando respuestas más oscilatorias o más lentas
de lo previsto.
• Aproximación gráfica del LGR: El trazado del LGR es un método gráfico; por ello, la selección del
punto de operación correspondiente a la ganancia óptima no es exacta y puede introducir desviaciones
respecto a los valores teóricos.
• Linealización y suposiciones idealizadas: El análisis se realiza bajo un modelo lineal e ideal.
Pequeñas diferencias entre el modelo matemático y la simulación numérica también pueden influir
en los valores finales.
19
En conjunto, estas variaciones explican por qué el controlador diseñado mediante LGR no alcanza exac-
tamente las especificaciones teóricas deseadas, aunque sigue mejorando significativamente la estabilidad y
el tiempo de respuesta respecto a la planta sin control.
En esta sección se realizará el análisis del controlador PID diseñado mediante el método de respuesta
en frecuencia, con el objetivo de evaluar su desempeño y compararlo con las especificaciones de diseño
establecidas.
Parámetros de diseño:
Figura 12: Respuesta al escalón con controlador diseñado mediante Análisis por frecuencia.
Análisis de discrepancias:
Al comparar estos resultados con las especificaciones de diseño, se observa que el sistema presenta un
sobrepaso y un tiempo de establecimiento mayores a los esperados. Esto ocurre porque las relaciones entre
los parámetros de frecuencia (Mr , BW) y las métricas temporales (OS, Ts ) se basan en aproximaciones
de sistemas de segundo orden ideales.
20
En particular, aunque Mr = 1,0 sugerirı́a un sobrepaso cercano al 4 %, el valor obtenido (17,29 %) indica
que la dinámica real del sistema presenta efectos adicionales introducidos por el controlador PID. Asimis-
mo, el tiempo de establecimiento obtenido (2,9 s) es mayor al rango esperado para un ancho de banda de
2,5 rad/s, lo cual sugiere que el ancho de banda real del sistema es menor.
Finalmente, el único parámetro que cumple la especificación es el error en estado estacionario, ya que la
acción integral del PID garantiza ess ≈ 0 ante una entrada escalón.
Figura 13: Respuesta al escalón del sistema sintonizado con PID Ziegler Nichols) y con un sobreimpulso relati-
vamente bajo.
Obtendemos los parametros overshoot, tiempo de establecimiento y error estacionario respectiamente para
nuestro controlador. Los parametros los obtendremos de la siguente grafica:
21
Figura 14: Respuesta al escalón del sistema sintonizado con PID Ziegler Nichols) y con un sobreimpulso relati-
vamente bajo.
1. Overshoot (Sobreimpulso):
1,03639 − 1
%OS = × 100 % = 8,679 %
1
%OS = 8,679 %
22
5.2.4. Controlador diseñado mediante Sintonización Computacional(PID Tuner)
1.4
Tuned response
Baseline response
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 1 2 3 4 5 6
Time (seconds)
Figura 15: Respuesta al escalón del sistema sintonizado con PID Tuner. Se observa una respuesta rápida (Rise
Time ≈ 0,4s) pero con un sobreimpulso considerable.
Los valores exactos de las ganancias del controlador y las métricas de robustez calculadas por el
algoritmo se presentan en la Figura 16 y se resumen en la Tabla 4.
23
Figura 16: Panel de parámetros del controlador y métricas de desempeño obtenidas en MATLAB.
Al analizar los resultados computacionales frente al comportamiento fı́sico del prototipo, se identifi-
caron discrepancias crı́ticas que validan la necesidad del ajuste experimental posterior:
a) Insuficiencia de la Acción Derivativa: El valor sugerido por el software (Kd ≈ 1,65) es un
orden de magnitud menor al requerido experimentalmente (Kd = 17). El modelo lineal asume
fricción nula y respuesta instantánea, subestimando la inercia real de la bola y la necesidad de
una fuerza de ”[Link] mucho mayor.
b) Riesgo de Sobreimpulso: El sobreimpulso teórico del 12.4 % (Figura 15), aunque aceptable
en simulación, resulta peligroso en el prototipo fı́sico, ya que podrı́a causar que la bola golpee
los extremos del riel o pierda contacto con la superficie debido a la aceleración vertical.
c) Validación de la Estrategia Robusta: Estos resultados confirman que la optimización basada
en velocidad (enfoque del PID Tuner ) no es adecuada para esta planta especı́fica. Se concluye
que la estrategia de Asignación de Polos Sobreamortiguados (Técnica 5), que sacrifica
velocidad de subida a cambio de eliminar el sobreimpulso y aumentar drásticamente la acción
derivativa, es la aproximación correcta para garantizar la estabilidad fı́sica.
24
5.2.8. Controlador diseñado mediante Asignación de Polos
La Figura 17 presenta la respuesta al escalón simulada del sistema utilizando las ganancias teóricas
calculadas analı́ticamente (Kp = 1,25, Kd = 23,75) sobre la planta ideal G(s) = 2,04/s2 . El objetivo
de esta simulación fue validar la capacidad del método de asignación de polos para imponer una
dinámica sobreamortiguada y estable.
1.6
1.4
1.2
X: 3.00
Amplitudes
X: 0.28 Y: 1.00093
Y: 1.00107
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8 9 10
Time (s)
Figura 17: Respuesta teórica al escalón con controlador diseñado mediante Asignación de Polos (Kp = 1,25, Kd =
23,75).
6. Discusión
6.1. Comparativa de Controladores
La Tabla 5 resume el desempeño de las cinco técnicas de sintonización evaluadas. Se contrastan las
métricas de desempeño temporal teóricas (obtenidas en simulación) con la viabilidad fı́sica observada
al implementar dichas ganancias en el prototipo real.
25
Tabla 5: Comparativa de desempeño y viabilidad de los controladores diseñados
7.2. Recomendaciones
Con base en las limitaciones técnicas identificadas durante la fase de validación experimental, se
proponen las siguientes lı́neas de trabajo para futuras iteraciones del proyecto:
• Mejora de la Instrumentación: Se recomienda sustituir el sensor de distancia analógico
(Sharp GP2Y0A21) por un sensor digital basado en tiempo de vuelo (ToF), como el VL53L0X,
o implementar un sistema de visión artificial. Esto eliminarı́a el ruido de medición inherente a la
conversión analógica, permitiendo un control más suave.
26
• Optimización Mecánica: Para reducir la zona muerta detectada (±2 mm), se sugiere rediseñar
el sistema de transmisión eliminando la varilla y acoplando el servomotor directamente al eje
de rotación de la viga (Direct Drive), o emplear rótulas de precisión para eliminar la holgura
mecánica en las uniones.
• Estrategias de Control Avanzado: Dado que el modelo de 2,04/s2 ha probado ser válido,
se recomienda utilizarlo para implementar un controlador LQR (Regulador Cuadrático Lineal).
Esto permitirı́a optimizar matemáticamente el consumo de energı́a del servomotor, penalizando
los movimientos bruscos de la señal de control que el PID actual no restringe explı́citamente.
27
Referencias
[1] K. Ogata y B. Fabián-Frankel, Ingenierı́a de control moderna. Pearson Education. 1980.
[2] C. Holguin y D. Marcelo. ”Diseño e implementación de un control Pid con ganancias progra-
madas utilizando un sistema embebido launchpad mps430 para planta balón y viga, Tesis de
grado. Universidad Politécnica Salesiana. 2018.
[3] N. S. Nise, Sistemas de control para ingenierı́a,3a ed. Compañı́a Editorial Continental. 2004.
[4] K. J. Astrom y T. Hagglund Revisiting the Ziegler–Nichols step response method for PID
control. Journal of Process Control 635-650pp. 2004.
[5] S. Pinzón y W. Pavón. “Diseño de Sistemas de Control Basados en el Análisis del Dominio en
Frecuencia,” Revista Técnica Energı́a, vol. 15, no. 2, pp. 76–82, 2019.
[6] S. Villada Garcı́a. Diseño e Implementación de Filtros y Controladores PID para Estabilización
de Sistemas Dinámicos Universidad Nacional Abierta y a Distancia. 2023.
[7] Zafar, F. et al. Stabilization and tracking control of underactuated ball and beam system using
metaheuristic optimization. PLOS ONE, 19(2), 2024.
[8] Osinski, K. P. y Silveira, A. S. Control of Ball and Beam System Using Fuzzy PID Controller.
IEEE Latin America Transactions, 2019.
[9] Saad, M. y Mustafa, K. Performance Analysis of Ball and Beam System using Modern Control
Techniques. WSEAS Transactions on Systems, 2015.
[10] Maestre Rodrı́guez, H. M. Control de un sistema Bola Balancı́n Universidad de Valladolid.
2019.
[11] Ogata, K. Ingenierı́a de control moderna Pearson Educación. 2003.
[12] Friedland, B. Control System Design: An Introduction to State-Space Methods Dover Publica-
tions. 2005.
[13] Hosevn, A. A. y Sima, M. Ball & Beam: Controller Design Babol Noshirvani University of
Technology. 2016.
[14] Phillips, C. L. Digital Control System Analysis & Design Pearson. 2014.
[15] Aracil, J. y Gómez-Estern, F. Sistemas realimentados de segundo orden Universidad de Sevilla.
2005.
[16] Triviño, G. Modelado y control de un péndulo invertido sobre base móvil Universidad Politécnica
de Valencia. 2018.
[17] Soe, A. y Khaiing, Z. Implementation of Self-Balancing Robot using Arduino International
Journal of Science and Engineering Applications. 2017, Vol 6, 18-24pp.
[18] Ding, J. Mr. Struggles: A Two-Wheeled Self-Balancing Robot University of Pennsylvania. 2020.
28
ANEXOS
Video de Funcionamiento del Prototipo
Como evidencia de la validación experimental y el cumplimiento de los objetivos de estabilidad, se
adjunta el enlace al video demostrativo del sistema en operación. En este material se puede observar
la respuesta del sistema ante perturbaciones externas y el seguimiento de la referencia.
Nota: Se recomienda descargar el archivo para una visualización óptima si se presentan problemas
de reproducción en el navegador.
29
52
53 myservo . attach (12) ;
54 pinMode ( ledPin , OUTPUT ) ;
55
56 for ( int i = 0; i < nvel ; i ++) vbuf [ i ] = 0;
57 }
58
59 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
60 // LOOP
61 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
62 void loop ()
63 {
64 if ( millis () > time + period )
65 {
66 time = millis () ;
67
68 // ===== LECTURA ADC =====
69 measure = analogRead ( sensorPin ) ;
70 lastDist = dist_raw ;
71
72 // ===== INTERPOLACI Ó N TABULAR =====
73 for ( int i = 0; i < 8; i ++) {
74 if ( measure >= ADCcal [ i ] && measure <= ADCcal [ i + 1]) {
75 dist_raw = map ( measure , ADCcal [ i ] , ADCcal [ i + 1] , dcal [ i ] , dcal [ i + 1]) ;
76 break ;
77 }
78 }
79
80 // ===== FILTRO SUAVIZADO DE DISTANCIA =====
81 dist = dist * (1 - alpha_dist ) + dist_raw * alpha_dist ;
82
83 // ===== VELOCIDAD SIN FILTRO =====
84 vel_raw = dist_raw - lastDist ;
85
86 // ===== FILTRO SUAVIZADO DE VELOCIDAD =====
87 vel = vel * (1 - alpha_vel ) + vel_raw * alpha_vel ;
88
89 // ===== INTEGRAL ANTI - WINDUP =====
90 if ( abs ( dist ) > Rint && abs ( dist ) < Rext )
91 I += dist * Ki ;
92 else
93 I = 0;
94
95 // ===== PID FINAL =====
96 pos = Kp * dist + Kd * vel + I ;
97
98 // ===== FILTRO SUAVIZADO DE SALIDA =====
99 pos_filt = pos_filt * (1 - alpha_out ) + pos * alpha_out ;
100
101 int pulse = constrain ( reposo + pos_filt , 900 , 2100) ;
102 myservo . w r i t e M i c r o s e c o n d s ( pulse ) ;
103
104 // ===== LED DE CENTRADO =====
105 digitalWrite ( ledPin , abs ( dist ) < Rint ) ;
106
107 // ===== DEBUG =====
108 Serial . print ( " RAW : " ) ; Serial . print ( dist_raw ) ;
109 Serial . print ( " | dist : " ) ; Serial . print ( dist ) ;
110 Serial . print ( " | vel : " ) ; Serial . print ( vel ) ;
111 Serial . print ( " | pulse : " ) ; Serial . println ( pulse ) ;
112 }
113 }
Listing 1: Algoritmo de Control PID para el sistema Bola-Balancı́n
30