Está en la página 1de 56

Preliminares matemáticos

Facultad de Ciencias de la Electrónica


Benemérita Universidad Autónoma de Puebla

Licenciatura en Ingeniería Mecatrónica/Licenciatura en Electrónica


Dr. Fernando Reyes Cortés
Robótica I
Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639)
Otoño 2023
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Parte III

Preliminares Matemáticos

Contenido

1 Modelo dinámico 5 Sistemas Dinámicos lineales escalares


Introducción 6 Sistemas Dinámicos lineales de segundo orden
Aplicaciones del modelo dinámico Sistemas lineales vectoriales
2 Estructura de los sistemas dinámicos de primer 7 Especificaciones de la respuesta temporal a un
orden escalón
Sistemas dinámicos autónomos Respuesta a un escalón
Funciones decrecientes, crecientes, monótonas Especificaciones de la respuesta temporal
Función Lipschitz 8 Espacio de estados en variables canónicas
3 Muestreo de señales continuas Transformación de variables fase a variables
Retenedor y muestreador de orden cero canónicas
4 Método de integración numérica de Runge Kutta Desacoplamiento de la dinámica
Ejemplos de sistemas dinámicos Invariancia de los valores propios

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 2 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Introducción

El modelo dinámico de robots manipuladores es fundamental en aplicaciones de simulación, diseño y


construcción del sistema mecánico, así como en análisis y diseño de algoritmos de control.

Concepto de simulación
El área de simulación requiere del modelo dinámico debido a que este modelo puede reproducir todos los
fenómenos físicos del robot sin la necesidad de usar un robot real (realidad virtual), y esta característica resulta
clave para evaluar algoritmos de control, técnicas de planeación de trayectorias, programación de aplicaciones
industriales, etc.

Simulación
La simulación es el empleo del modelo dinámico para analizar y describir su comportamiento dinámico en una
computadora o sistema mínimo digital y de ahí inferir aplicaciones.

Es importante no confundir simulación con animación, ya que son procesos completamente diferentes:
La animación no requiere incorporar efectos dinámicos en el movimiento del robot, generalmente son
ecuaciones estáticas como la cinemática directa.
Simulación emplea ecuaciones diferenciales para reproducir fielmente los fenómenos físicos del robot.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 3 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Aplicaciones del modelo dinámico

Aplicaciones del modelo dinámico


El modelo dinámico es muy útil en:
La construcción de un robot se fundamenta en el modelo dinámico; los esquemas y planos de ingeniería
de los eslabones se deducen directamente del modelo dinámico y se trasladan a un programa CAD para su
maquinado y construcción mecánica. De esta forma, un robot industrial puede ser estudiado y se pueden
hacer las adecuaciones pertinentes antes de llegar a la etapa de construcción física.

Simulación: estudio y análisis de la dinámica de un robot manipulador.

Diseño de algoritmos de control: posición y trayectoria.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 4 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Aplicaciones del modelo dinámico

Robots manipuladores son sistemas mecánicos muy complejos cuya descripción analítica requiere de ecuaciones
diferenciales.
La naturaleza no lineal, multivariable y fuerte acoplamiento en su comportamiento dinámico ofrece un
amplio espectro en la formulación de problemas de control teóricos y prácticos.

El modelo dinámico del robot manipulador permite explicar todos los fenómenos físicos que se encuentran
en su estructura mecánica, tales como efectos inerciales, fuerzas centrípetas y de Coriolis, par gravitacional y
fricción, los cuales son fenómenos físicos propios de la naturaleza dinámica del robot.

Hay varios métodos de modelado de la física como el de Newton o el de Hamilton.

Sin embargo, la mejor opción como metodología de modelado la representa las ecuaciones de movimiento de
Euler-Lagrange debido a las propiedades matemáticas que se deducen de manera natural, ya que facilitan el
análisis y diseño de algoritmos de control.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 5 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Aplicaciones del modelo dinámico

Henri Poincare introdujo el plano fase como una herramienta para realizar el estudio de sistemas dinámicos de
segundo orden. El plano fase representa un método gráfico que permite deducir información de la estabilidad del
sistema. El método consiste en generar un conjunto de trayectorias o curvas de contorno para varias condiciones
iniciales ẋ(0), x(0) en el espacio de estados ẋ vs x, entonces dependiendo del patrón o comportamiento cualitativos
de esas trayectorias se deduce características de la dinámica del sistema. Una ventaja que representa es que no
requiere resolver analíticamente la ecuación del sistema dinámico. El método se aplica para sistemas lineales y no
lineales. En los ejes coordenados no figura el tiempo, únicamente la velocidad ẋ y la posición x. El tiempo ya se
encuentra implícito en las variables de estado.
En el plano fase un ciclo límite es una curva cerrada aislada, indicando la naturaleza periódica del movimiento.
Por analogía a un punto de equilibrio, hay ciclos límites estables e inestables. Para el caso de ciclos límites estables,
 T
trayectorias x(t), ẋ(t) que se encuentren fuera del ciclo límite, tenderán asintóticamente a esa curva cerrada,
mientras que si la trayectoria inicia dentro del ciclo límite, permanecerá indefinidamente girando alrededor del
punto de equilibrio.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 6 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Sistemas dinámicos autónomos

Sistema dinámico
Un sistema dinámico autónomo de primer orden está dado por:

ẋ = f (x), ∀t ≥ 0 (1)

donde x es la variable de estado, la cual proporciona información interna sobre la evolución de los estados internos
del sistema; por notación ẋ = dtd x.
La naturaleza autónoma significa que el tiempo se encuentra implícito, ya que no aparece de manera explícita
en la ecuación diferencial ordinaria de primer orden.
x es una función continua del tiempo x = x(t).
La función f (x(t)) es continua Lipschitz sobre IRn , continua para toda condición inicial x(0) ∈ IRn y
continuamente diferenciable en t.
Existe la solución x ∈ IRn de la ecuación diferencial ordinaria de primer orden (1), es única, continua en t y
diferenciable con respecto al tiempo.
ẋ = dtd x(t) ∈ IRn
f es un mapa vectorial f : IRn → IRn ; ẋ = ẋ(t) y x = x(t).
La ecuación diferencial ordinaria de primer orden (1) representa sistemas dinámicos lineales y no lineales.
La linealidad y no linealidad es con respecto a la variable de estado x.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 7 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Funciones decrecientes, crecientes, monótonas

Función decreciente

Definición 1: función decreciente


Una función escalar real f : IR −→ IR es decreciente, si se cumple que para cada x1 < x2 =⇒ f (x1 ) ≥ f (x2 ), con x1 , x2 ∈ IR.

Definición 2: función decreciente estricta


Una función escalar real f : IR −→ IR es decreciente estricta, si se cumple que para cada x1 < x2 =⇒ f (x1 ) > f (x2 ), con
x1 , x2 ∈ IR.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 8 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Funciones decrecientes, crecientes, monótonas

Función creciente

Definición 3: función creciente


Una función escalar real f : IR −→ IR es una función creciente, si se cumple para cada x1 < x2 =⇒ f (x1 ) ≤ f (x2 ), con
x1 , x2 ∈ IR.

Definición 4: función creciente estricta


Una función escalar real f : IR −→ IR es creciente estricta, si se cumple que para cada x1 < x2 =⇒ f (x1 ) < f (x2 ), con
x1 , x2 ∈ IR.

Definición 5: función constante


Una función escalar real f : IR −→ IR es constante, si se cumple que f (x1 ) = f (x2 ), ∀x1 , x2 ∈ IR.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 9 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Funciones decrecientes, crecientes, monótonas

Función monótona

Definición 6: función monótona


Una función escalar real f : IR −→ IR es una función monótona si la función f (x) es creciente o decreciente.

Definición 7: función monótona estricta


Una función escalar real f : IR −→ IR es una función monótona estricta si la función f (x) es creciente estricta o
decreciente estricta.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 10 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función Lipschitz

Función Lipschitz
Matemático alemán Rudolf Otto Sigismund Lipschitz (14 de mayo 1832- octubre 7 de 1903).
Continuidad Lipschitz es una forma fuerte de continuidad uniforme utilizado en análisis matemático:
intuitivamente una función continua Lipschitz tiene limitado su crecimiento o rapidez de cambio; por lo
que existe una constante positiva ρ, tal que para cada par de puntos x1 , x2 ∈ IR de la función f (x) ∈ IR, el valor
f (x2 )−f (x1 )
absoluto de la pendiente: x2 −x1
≤ ρ. La cota ρ más pequeña es llamada constante Lipschitz de la función.
Para cada función que tenga acotadas sus primeras derivadas es una función Lipschitz.

Una función f (x) crece, si su derivada es positiva: ∂x f (x) > 0.

Una función f (x) decrece (disminuye), si su derivada es negativa: ∂x
f (x) < 0.
Ejemplo 1: Funciones Lipschitz

La función f (x) = x2 + 8 es continua Lipschitz, puesto que satisface:
p p
f (x2 ) − f (x1 ) x22 + 8 − x21 + 8
= ≤ 1, ∀x1 , x2 ∈ IR,
x2 − x1 x2 − x1
√ √
f (1000) − f (800) 10002 + 8 − 8002 + 8 199.9990
= = ≤1
1000 − 800 1000 − 800 200
∂ p 2 x
x +8 = √ < 1, ∀x ∈ IR
∂x x2 + 8

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 11 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función Lipschitz

Ejemplo 3: Funciones Lipschitz


La función f (x) = sen(x) es continua Lipschitz, puesto que satisface:

f (x2 ) − f (x1 ) sen(x2 ) − sen(x1 )


= ≤ 1, ∀x1 , x2 ∈ IR,
x2 − x1 x2 − x1
f (5000) − f (3000) sen(5000) − sen(3000) −0.9880 − 0.2192
= = ≤1
5000 − 3000 2000 2000

sen(x) = cos(x) ≤ 1, ∀x ∈ IR
∂x

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 12 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función Lipschitz

Ejemplo 3: Funciones no Lipschitz


La función f (x) = senh(x) es continua, suave y diferenciable, pero f (x) no es continua Lipschitz, puesto que
no se satisface que ∀x1 , x2 ∈ IR:

f (x2 ) − f (x1 ) senh(x2 ) − senh(x1 )


= ρ
x2 − x1 x2 − x1
f (100) − f (50) senh(100) − senh(50)
= = 2.6881 × 1041
100 − 50 50

senh(x) = cosh(x)  ρ
∂x

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 13 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función Lipschitz

Función Lipschitz
Considérese el sistema dinámico ẋ = f (t, x) con x ∈ IRn y t ∈ IR+ . Si f (t, x) = f (x), ∀t ≥ 0, entonces el sistema
se llama sistema dinámico autónomo invariante en el tiempo.

Sea D ⊆ IRn , y f : D → IRn , x ∈ D, entonces f es uniformemente continua en x ∈ D, si para cada  ∈ IR+ , existe
δ = δ() > 0, tal que kf (x) − f (y)k < , ∀y ∈ D, satisface kx − yk < δ. Si f : D → IRn es uniformemente continua
en D, entonces f es una función continua para cada x ∈ D. Lo contrario de esta afirmación, no necesariamente
es verdadero.

Sea D ⊆ IRn , y f : D → IRn , entonces f es una función continua Lipschitz en x0 ∈ D, si existe una constante
Lipschitz l = l(x0 ) > 0 y una vecindad G ⊆ IRn de x0 tal que:

kf (x) − f (y)k ≤ lkx − yk ∀x, y ∈ G

f es unafunción continua Lipschitz globalmente si f es una función uniformemente Lipschitz sobre D = IRn .

Se tiene un conjunto atractor M ⊆ D del sistema dinámico ẋ = f (x) si existe una vecindad N ⊆ M tal que
∀x ∈ N , x(t) ∈ N ∀t ≥ 0 y x(t) → M conforme el tiempo tiende a infinito t → ∞. El dominio de atracción
M0 ⊆ D del sistema dinámico ẋ = f (x) está dado por M0 = {x0 ∈ D : si x(0) = x0 , ⇒ limt→∞ x(t) = 0}.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 14 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Muestreo de señales continuas

Muestreo de una señal y(t) en tiempo continuo t significa remplazar la señal y(t) por un conjunto de valores
discretos y(tk ) en función del tiempo discreto tk .

Notación y conceptos
Sea t ∈ IR+ la representación para la evolución del tiempo continuo y tk representa un subconjunto del tiempo
continuo, es decir: tk ⊂ t, de tal forma que significa muestras instantáneas, la versión muestreada de la señal y(t)
está denota por y(tk ).

El muestreo periódico se define como una operación lineal, donde el tiempo discreto tk evoluciona como
múltiplos del periodo de muestreo de la siguiente forma:

tk = kh

donde h ∈ IR+ representa el periodo de muestreo y k = 0, 1, 2, 3, · · · , n es un número entero positivo: k ∈ 0 ∪ N;


la frecuencia de muestreo es fs = 1h [Hz].

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 15 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Muestreo
Es el proceso de tomar un conjunto de muestras o pequeñas partes del sistema o planta de estudio para su
examen, procesamiento o análisis.

En la práctica, muestreo significa que una señal continua en el tiempo se remplaza por una secuencia de
números, los cuales representan valores de la señal en ciertos instantes; la señal continua representa la
variación en el tiempo de las variables del proceso se convierte en una secuencia de números, los cuales
se procesan en la computadora digital.

El procesamiento da una nueva secuencia de números, que se convierten en una señal continua y se aplican al
proceso. El proceso de convertir una secuencia de números en una señal continua se denomina reconstrucción
de la señal.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 16 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Retenedor y muestreador de orden cero

Retenedor y muestreador de orden cero

Un retenedor y muestreador de orden cero (zero-order sampling and hold) es un circuito electrónico muy común
en los convertidores analógico/digital que se utilizan en control de procesos por computadora. Consiste en un
interruptor electrónico que abre y cierra para tomar muestras de la señal continua y(t) cada determinado periodo
de muestreo h, la señal discreta y(tk ) es transferida hacia un elemento capacitor a través de un buffer o seguidor de
voltaje. El capacitor mantiene constante cada valor de conversión (retenedor de orden cero) de la señal muestrea
y(tk ) hasta el siguiente periodo de muestreo, la característica principal del retenedor de orden cero es generar
una señal discreta y(tk ) con escalones, cada escalón representa un el valor de la señal y(tk ) constante durante un
intervalo de muestreo tk = kh hasta la siguiente muestra tk+1 = (k + 1)h; la figura 1 muestra la configuración típica
de un retenedor y muestreador de orden cero.

Figura 1: Circuito electrónico retenedor y muestreador de orden cero.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 17 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Figura 2: Proceso de discretización de una señal continua y(t).

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 18 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Una señal discreta y(tk ) representa una aproximación de la señal continua y(t), las señales y(t) y y(tk ) son
iguales y(t) = y(tk ) cuando el tiempo continuo t es idéntico al tiempo discreto tk .
El grado de calidad de aproximación depende del número de punto o muestras que se tenga de la señal
continua, la figura 3 muestra una señal continua donde se han tomado 5 muestras en forma aperiódica, esta
información es insuficiente para propósitos de análisis de la señal y por lo tanto, no puede ser utilizada para
aproximar a la señal continua.
Observe que los puntos muestreados no corresponden a un retenedor de orden cero.

Figura 3: Señal continua discretizada con 5 muestras.

Para un sistema de primer orden el periodo de muestreo es razonable satisfacer: 0 < h ≤ 0.1T, siendo T la
constante de tiempo.
Para un sistema de segundo orden h es: 0 < h ≤ 0.1ts ; donde ts es el tiempo de subida.
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 19 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Ejemplo 3.1:
Considere las siguientes señales en tiempo continuo:

y(t) = sen(t)
y(t) = t
y(t) = 1 − e−0.3t
y(t) = cosh (t)

las correspondientes señales muestreadas y(tk ) utilizando un retenedor de orden cero se muestran en la figura 4.

Figura 4: Señales discretizadas con retenedor de orden cero y periodo de muestreo h=0.08 segundos.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 20 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Método de integración de Runge-Kutta


Uno de los métodos más importante para integración numérica de ecuaciones diferenciales de primer orden
ẋ = f (x) son los métodos de Runge-Kutta. Dichos métodos se basan en aproximar la solución a través de series de
Taylor.

El método más simple, el denominado método de primer orden, usa una serie de expansión de Taylor de primer
orden, el método de segundo orden usa la serie de expansión de Taylor de segundo orden, y así sucesivamente
(el método de Euler es equivalente al de primer orden de Runge-Kutta). MATLAB tiene funciones del método de
Runge-Kutta para los órdenes segundo, tercero, cuarto y quinto.

La serie de Taylor para evaluarla en el tk -ésimo tiempo a la función x(tk ) está dada por la siguiente expresión:

(tk − tk−1 )2
x(tk ) = x(tk−1 ) + (tk − tk−1 )ẋ(tk−1 ) + ẍ(tk−1 ) + · · · +
2!
n derivadas
(tk − tk−1 )n ·x· · · · · + · · ·
z }| {
(tk−1 )
n!
(2)

El término tk − tk−1 representa un pequeño intervalo el cual será representado por h = tk − tk−1 = kh − (k − 1)h, de
tal forma que la serie de Taylor queda expresada de la siguiente forma:

n derivadas
h2 hn ·x· · · · · + · · ·
z }| {
x(tk ) = x(tk−1 ) + hẋ(tk−1 ) + ẍ(tk−1 ) + · · · + (tk−1 )
2! n!
(3)
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 21 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Método de Runge-Kutta de primer orden


La integración numérica de la ecuación ẋ = f (x) por el método de Runge-Kutta de primer orden está dado de la
siguiente manera:

x(tk ) = x(tk−1 ) + hẋ(tk−1 ) = x(tk−1 ) + hf (tk−1 ) (4)


La interpretación geométrica de la ecuación (4) significa que el valor de estimación de x(tk ) es igual a la línea
tangente que la une con el valor x(tk−1 ) como se muestra en la figura 5. Este es un proceso iterativo para todos los
puntos x(tk ), con k = 1, 2, · · · , n.

Figura 5: Cálculo de x(tk ) usando el primer el método de Runge-Kutta primer orden.

El primer método
Dr. Fernando Reyes Cortés de Runge-Kutta
Período: Otoño ( 15 de agosto de 2023) es muy simple, ya que aproxima
Benemérita la función
Universidad Autónoma de Puebla con una serie de Taylor cortaen que
Licenciatura Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 22 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Método de Runge-Kutta de orden mayor

Los métodos de Runge-Kutta de orden mayor (dos, tercero, cuarto, y quinto) se usan para aproximar funciones
desconocidas; la aproximación se realiza a través de varias líneas tangentes, por lo tanto la exactitud es mejorada.
Por ejemplo, en el método de integración de cuarto orden usa la serie de Taylor con las primeras cuatro derivadas,
es decir la estimación de la función x(tk ) es a través de 4 líneas tangentes.

Funciones ode
MATLAB tiene las funciones para integrar la solución numérica de ecuaciones diferenciales ordinarias de primer
orden llamadas ode.
ode15s
ode113
ode23, ode23b, ode 23s, ode23t
ode45

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 23 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

opciones=odeset(’RelTol’,1e-6,’AbsTol’,1e-6,’InitialStep’,1.0e-3,’MaxStep’,1.0e-3)

Error de integración: en cada i-ésimo paso de integra- Error absoluto de tolerancia


ción se estima un error local de la i-ésima componente que se aplica a todas las
de la solución; este error debe ser menor o igual que el componentes individuales xi
error aceptable, el cual es una función de la tolerancia del vector solución x. Tam-
relativa RelTol y de la tolerancia absoluta AbsTol. bién determina la exactitud
La expresión para e(i) satisface la siguiente condición: cuando la solución se apro-
|e(i)| = max(RelTol|x(i), AbsTol(i)|). xima a cero.
RelTol representa el error relativo de tole- Si AbsTol es un vector, en-
rancia que se aplica a todas las componen- tonces su dimensión debe ser
tes xi del vector solución x ∈ IRn .Este pará- AbsTol
la misma del vector x. El va-
RelTol metro también controla el número correcto lor de cada componente de
de dígitos en todas las componentes xi . El AbsTol se aplica a la corres-
valor típico RelTol= 1e-3, el cual corres- pondiente componente xi .
ponde al 0.1 % de exactitud. Si AbsTol es un escalar, ese
valor se aplica a todas las
componentes xi del vector so-
lución x.
Generalmente, el valor típico
que se le asigna a AbsTol es:
AbsTol= 1e-6.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 24 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

NormControl significa la norma del error


relativo. Esta opción solicita a la función Representa una cota supe-
ode45 que el error de integración en cada rior del tamaño del paso, es
paso cumpla con la siguiente condición: un valor escalar positivo que
kek ≤ max(RelTolkxk, AbsTol). Se habili- se obtiene de la siguiente
NormControl ta/deshabilita como: on (off). Para fun- forma: 0.1|tinicial − tfinal |.
MaxStep
ciones suaves, la función ode45 entrega La ecuación diferencial tiene
un error equivalente a la exactitud solici- soluciones o coeficientes pe-
tada. La exactitud es menor para proble- riódicos, es recomendable
mas donde el intervalo de integración es inicializar MaxStep= 14 del
grande y para problemas moderadamente periodo.
inestables.
Paso de integración

Especifica el valor inicial del paso de inte-


gración. Representa una cota superior en la
magnitud del primer paso. En caso de no
especificarlo, entonces el tamaño del paso
se obtiene como la pendiente de la solución
InitialStep
en el tiempo inicial. Si la pendiente de todas
las componentes de la solución es cero, en-
tonces el procedimiento puede generar un
tamaño de paso muy grande. Por lo tanto,
es recomendable iniciar con un valor ade-
cuado esta opción.
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 25 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función ode15s
Para el caso en que el proceso de integración de la función ode45 sea muy lento debido a la rigidez del sistema
dinámico, entonces es recomendable usar la función ode15s. Esta función es de orden variable, multi pasos
basada en diferenciación numérica (backward o método Gear).

[t,x]=ode15s(’nombre_funcion’,ts,cond_iniciales,opciones)

Función ode113
Esta función se recomienda para resolver sistemas dinámicos complicados; mantiene un error de integración
riguroso. La función ode113 es un método de integración de orden variable propuesto por Adams-Bashforth-
Moulton.

[t,x]=ode113(’nombre_funcion’,ts,cond_iniciales,opciones)

Función ode23
La función ode23 utiliza el segundo y tercer método de integración. Tiene menor exactitud comparada con la
función ode45. Sin embargo, puede realizar más rápido el proceso de integración numérica. La sintaxis está dada
por:

[t,x]=ode23(’nombre_funcion’,ts,cond_iniciales,opciones)

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 26 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función ode23b
La función ode23tb es una combinación de métodos de Runge-Kutta y diferenciación numérica (backward) de
segundo orden. Para sistemas dinámicos con alta rigidez del resorte y errores de integración muy pequeños, la
exactitud de integración es baja.

[t,x]=ode23tb(’nombre_funcion’,ts,cond_iniciales,opciones)

Función ode23s
Es muy útil para sistemas dinámicos masa-resorte con alta rigidez en que el resorte la matriz de masas es
constante. La función ode23s se basa en el método modificado de segundo orden de Rosenbrock. Debido a que
el proceso de integración es por pequeños pasos, puede ser más eficiente que la función ode15s para tolerancias
pequeñas en el error de integración. Además es mucho más efectivo en sistemas dinámicos con rigidez donde
ode15s no lo es.

[t,x]=ode23s(’nombre_funcion’,ts,cond_iniciales,opciones)

Función ode23t
La función ode23t emplea el método trapezoidal usando una interpolación libre. Es recomendable para resolver
sistemas dinámicos moderados en la rigidez del resorte, sin utilizar amortiguamiento. La exactitud en la
integración es baja.

[t,x]=ode23t(’nombre_funcion’,ts,cond_iniciales,opciones)

Mayor información
Dr. Fernando Reyes Cortés en( 15lade ventana
Período: Otoño agosto de 2023) de comandos de MATLAB tecleando:
Benemérita fx >>
Universidad Autónoma help ode23 ←-
de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 27 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación de sistemas dinámicos en MATLAB.


La simulación de sistemas dinámicos en MATLAB se realiza por medio de las funciones ode

Es importante resaltar que la estructura matemática del modelo dinámico debe ser de la forma tradicional en
variables fase como una ecuación diferencial ordinaria de primer orden:

ẋ = f (x), ∀t ≥ 0

Si el modelo original del sistema es una ecuación diferencial de orden superior, entonces mediante un
adecuado cambio de variables de estados siempre es posible transformarlo a la estructura requerida.
La función en MATLAB que utilizaremos para realizar simulaciones es la técnica de integración de Runge-Kutta
4/5 adaptable:

ode45(...)

Documentación de esta función en la ventana de comandos: fx >> doc ode45 ←-

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 28 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Función ode45
La sintaxis de la función ode45 es la siguiente:

[t,x]=ode45(’nombre_funcion’,ts,cond_iniciales,opciones)

La función ode45 utiliza los métodos de Runge-Kutta de cuarto y quinto orden. nombre_funcion representa
una función M-File donde está implementado el sistema dinámico en la estructura matemática ẋ = f (x).

La función ode45 retorna la solución del sistema ẋ = f (x), es decir x, así como el vector de tiempo t.
El tiempo de simulación o el intervalo de integración se encuentra especificado por ts = [tinicial , tfinal ], por
ejemplo se puede especificar como un intervalo [0, 10].
Es mucho mejor expresarlo como: ts = 0 : h : 10, el cual incluye incrementos de tiempo, de acuerdo al paso
de integración h, por ejemplo un milisegundo, h = 0.001.
Las condiciones iniciales se encuentran determinadas por cond_iniciales, su forma depende del orden
del sistema.
Por ejemplo, para un sistema escalar cond_inciales=0; para el caso vectorial x(0) ∈ IR3 , tenemos
cond_inciales=[0;0;0].
El cuarto parámetro de opciones es muy importante debido a que contiene las propiedades de integración
numérica, y de eso depende la simulación del sistema. Para tal efecto se emplea la función odeset de la
siguiente forma:

opciones=odeset(’RelTol’,1e-6,’AbsTol’,1e-6,’InitialStep’,h,’MaxStep’,h)

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 29 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Ejemplos de sistemas dinámicos

Ejemplo 4.1:
Sistemas dinámicos lineales:

ẋ = −ax
ẋ = Ax

Ejemplo 4.2:
Sistemas dinámicos no lineales:

ẋ = −ax3
ẋ = ∆ sen(x)
ẋ = Γ cos (x)

Ejemplo 4.3:
Sistemas dinámicos no autónomos:

ẋ = −ax sen(t)
ẋ = xe−at
ẋ = A(t)x

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 30 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Sistemas lineales escalares

Función de transferencia es la relación de entrada a salida de un sistema lineal con condiciones iniciales cero.

y(s) b
= c
u(s) s+a
ẋ(t) = −ax(t) + bu(t)
y(t) = cx(t)

d
s= dt
; L[ẋ(t)] = sx(s), y(t) = x(t), y(s) = x(s):

ẋ(t) −ax(t) + bu(t)


=
L[ẋ(t)] L[−ax(t) + bu(t)] ⇒
= L[ẋ(t)] = sx(s) y L[−ax(t) + bu(t)] = L[−ax(t)] + L[bu(t)]
sx(s) −ax(s) + bu(s)
=
x(s)(s + a) bu(s)=
b
y(s) = cx(s) = c u(s)
s+a
y(s) b b 1
= c =c 1
u(s) s+a a as + 1
b
En el dominio de la frecuencia s = jw, a frecuencia de corte, a
es la ganancia del filtro.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 31 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación de sistemas dinámicos escalares

Función de transferencia es la relación de entrada a salida de un sistema lineal con condiciones iniciales cero.

y b
=
u s+a
ẋ = −ax + bu
y = cx

La solución analítica del modelo dinámico ẋ(t) = −ax(t) + bu(t) está dada por la siguiente ecuación:
  Z t  
x(t) = e
−a t − t0 x(t ) + −a t
e − σ bu(σ)dσ
0
t0

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 32 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Ejemplo 4: Solución de la ODE: ẋ = −ax + bu.

Z t
ẋ(t) = −ax(t) + bu(t) at at0
e x(t) − e x(t0 ) = eaσ bu(σ) dσ
t0
ẋ(t) + ax(t) = bu(t) Z t
at at0
e x(t) = e x(t0 ) + eaσ bu(σ) dσ
eat ẋ(t) + eat ax(t) = eat bu(t) t0

eat ẋ(t) + eat ax(t) = eat bu(t)   Z t


x(t) = e t − t0 x(t0 ) + e−at
a
| {z i } eaσ bu(σ) dσ
at
h
dt e x(t)
d t0

  Z t  
d  at x(t) = e
−a t − t0 x(t ) + e
−a t − σ bu(σ) dσ
e x(t) = eat bu(t)

0
dt t0

d eat x(t) = eat bu(t) dt


 

Z t Z t

eaσ bu(σ) dσ
 
d e x(σ) =
t0 t0   Z t  
x(t) = e
−a t − t0 x(t ) + −a
e t − σ bu(σ) dσ (5)
0
t Z t t0
eaσ x(σ) = eaσ bu(σ) dσ
t0
t0

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 33 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación de sistemas dinámicos


Para el caso en que u(t) = 0 y t0 = 0 la solución analítica de ẋ = −ax + bu(t) se reduce a la siguiente expresión:
x(t) = x(0)e−at

Ejemplo 5.1:
Realizar un programa en MATLAB para llevar a cabo la simulación del sistema ẋ = −ax; considere a = 2 y
x(0) = 1. ¿Qué sucede cuando x(0) = 0?

Figura 6: Simulación del sistema lineal ẋ(t) = −ax; x(t) = x(0)e−at .

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 34 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación en MATLAB del sistema dinámico ẋ = −ax

La función ejemplo9.m que se muestra en el código fuente 1 contiene el código en MATLAB para implementar el
modelo dinámico descrito por la ecuación diferencial ordinaria (ode): ẋ(t) = −ax(t). La simulación se realiza con
el programa principal ejemplo10.m descrito en el código fuente 2.
El resultado de la simulación se muestra en la figura 6.

Código MATLAB 1: sisEscalar


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

sisEscalar.m MATLAB versión 2023A


1 function xp =sisEscalar(t,x)
2 %Sistema dinámico ẋ = −ax
3 a=2;
4 xp=-a*x;
5 end

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 35 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación en MATLAB del sistema dinámico ẋ = −ax

Código MATLAB 2: ejemplo10


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

ejemplo10.m MATLAB versión 2023A


1 clc;
2 clear all;
3 close all;
4 format short
5 %tiempo de simulación (segundos)
6 ti=0; h=0.001; tfinal = 5; sigma=ti:h:tfinal; %vector tiempo
7 opciones=odeset(’RelTol’,1e-06,’AbsTol’,1e-06, ’InitialStep’,h,’MaxStep’,h);
8 x0=1; %condición inicial
9 [t, x]=ode45(’sisEscalar’,sigma,x0,opciones); %Integración por el método de Runge-Kutta (4/5)
10 % salida del sistema y=c*x
11 c=1; y=c*x;
12 y_aux=x0*exp(-2*t); %solución analítica yaux = cx(t) = cyaux (0)e−at del sistema ẋ = −ax; yaux (t) = cx(t)
13 subplot(3,1,1); plot(t,x) % gráfica de la solución numérica x(t)
14 subplot(3,1,2); plot(t,y_aux) %gráfica de la solución analítica y(t)
15 subplot(3,1,3); plot(t,x,t,y_aux) % comparación entre la solución numérica x(t) y analítica y(t)

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 36 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación de sistemas dinámicos


Ejemplo 5.2:
Considere el caso del sistema dinámico de primer orden:

ẋ(t) = −ax(t) + bu(t)


y(t) = cx(t)

Diseñe un programa en MATLAB para realizar la simulación del sistema cunado la entrada corresponde a un
escalón unitario u(t) = 1. Considere los parámetros a = 2 y b = 2.

Figura 7: Simulación del sistema lineal ẋ(t) = −ax(t) + bu(t).


Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 37 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación en MATLAB del sistema dinámico ẋ(t) = −ax + bu(t) para una entrada escalón
El modelo dinámico ẋ = −ax + bu se encuentra implementado em lenguaje MATLAB en a función ejemplo12.m
tal y como se describe en el código fuente 3. El programa principal ejemplo13.m permite realizar la simulación,
se encuentra descrito en el código fuente 4. El resultado de la simulación se muestra en la figura 7.

Código MATLAB 3: ejemplo12


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

ejemplo12.m MATLAB versión 2023A


1 function xp =ejemplo12(t,x)
2 %Sistema dinámico ẋ = −ax + bu
3 a=2;
4 b=2;
5 %entrada escalón
6 if t==0
7 u=0;
8 else
9 u=1;
10 end
11 xp=-a*x+b*u;
12 end

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 38 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Simulación en MATLAB del sistema dinámico ẋ = −ax + bu

Código MATLAB 4: ejemplo13


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

ejemplo13.m MATLAB versión 2023A


1 clc; clear all; close all; format short
2 ti=0; h=0.001; tfinal = 5; sigma=ti:h:tfinal; %tiempo de simulación (segundos) vector tiempo
3 opciones=odeset(’RelTol’,1e-06,’AbsTol’,1e-06, ’InitialStep’,h,’MaxStep’,h);
4 x0=0; %condición inicial
5 [t, x]=ode45(’ejemplo12’,sigma,x0,opciones); %Runge-Kutta 4/5
6 c=1; y=c*x; % salida del sistema y=c x
% se genera la función de transferencia G(s) = num(s) = s+2 2
7 den(s)
8 num=2; % numerador
9 den=[1 2]; %denominador
10 G=tf(num,den); %forma comparativa para obtener la respuesta a un escalón del sistema por medio de su
función de transferencia G(s) y la librería step(...).
11 [y1, t1]=step(G,t); %respuesta a un escalón
12 subplot(3,1,1); plot(t,y) %gráfica de y(t) por ode45(...)
13 subplot(3,1,2); plot(t,y1) %gráfica de y1 (t) por la la función step(...)
14 subplot(3,1,3); plot(t,y,t,y1) % gráficas comparativas entre las señales y(t) y y1 (t).

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 39 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Transformación del dominio de la frecuencia al dominio del tiempo



ẋ = Ax + Bu Variable de estado física y ∈ IR
 y = cT x



y(s) βu
G(s) = = 2 ⇐⇒ ÿ + α1 ẏ + α0 y = βu ⇐⇒ Variable de estado fase x ∈ IRn
u(s) s y + α1 sy + α0 y | {z } 
 ż = Λz + Γu
ecuación diferencial escalar 
Variable de estado canónica z ∈ IRn

y = dT z

y(s)
Figura 8: Control clásico G(s) = u(s)
vs control moderno ẋ = Ax + Bu; y = cT x.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 40 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Sistemas lineales vectoriales

Sistemas lineales vectoriales

Sea el siguiente sistema ODE:

ẋ = Ax + Bu
y = cT x

donde x, ẋ ∈ IRn ; A ∈ IRn×n , B ∈ IRn , cT ∈ IR1×n ; y, u ∈ IR; s = d


dt
(la función de transferencia considera
condiciones iniciales cero):
y(s)
Función de transferencia u(s) (condiciones iniciales cero).

ẋ(t) = Ax(t) + Bu(t)


L[ẋ(t)] = L[Ax(t) + Bu(t)] ⇒ L[Ax(t) + Bu(t)] = L[Ax(t)] + L[Bu(t)]; L[ẋ(t)] = sx(s)
sx(s) = Ax(s) + Bu(s)
 
sI − A x(s) = Bu(s)
x(s) = [sI − A]−1 Bu(s) (6)
y(s) = cT x(s) = cT [sI − A]−1 Bu(s)
y(s)
= cT [sI − A]−1 B
u(s)

En el dominio de la frecuencia s = jw.


Matriz resolvente: Φ = [sI − A]−1 .

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 41 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Ejemplo: transformación del dominio de la frecuencia al dominio del tiempo

Ejemplo 1: Dada una función de trasferencia de segundo grado, obtener su correspondiente ODE

y b0 w2n
= 2 = 2
u s + a1 s + a0 s + 2ρwn s + w2n

w2n u = ÿ +2ρwn ẏ +w2n y


|{z} |{z} |{z}
ẋ2 x2 x1

Considerando condiciones iniciales cero; variable de estado física y = y(t) ; s = dtd ; ẏ = sy, ÿ = s2 y: wn es la
frecuencia natural de resonancia y ρ es el factor de amortiguamiento. Mediante un adecuado cambio de variables,
por ejemplo: sea x1 = y, ẋ1 = x2 se obtiene:

ẋ1 = x2
ẋ2 = −w2n x1 − 2ρwn x2 + w2n u
      
d x1 0 1 x1 0
= 2 + 2 u
dt 2 x −w n −2ρwn x2 w
| {z } | {z } |{z} | {zn }
ẋ A x B
 
x
y = [1 0] 1
x2
ẋ = Ax + Bu Modelo dinámico en variables fase
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 42 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Ejemplo: transformación del dominio del tiempo al dominio de la frecuencia

Ejemplo 2: Dada cierta ODE de primer orden, obtener su correspondiente función de transferencia
Partiendo del modelo dinámico (dominio en el tiempo) obtener la función de transferencia (dominio de la
frecuencia):
    
0 1 x1 0
ẋ = Ax + Bu = 2 + 2 u
−wn −2ρwn x2 wn
 
x
y = [1 0] 1
x2
y(s)
Para obtener la función de transferencia u(s)
se utiliza la ecuación (6), es decir x(s) = [sI − A]−1 Bu(s)):
    −1  
−1 1 0 0 1 0
x(s) = [sI − A] Bu(s) = s − 2 u(s)
0 1 −wn −2ρwn w2n
 −1       2
s −1 0 1 s + 2ρwn 1 0 1 wn
= 2 2 u(s) = 2 2 2 u(s) = 2 u(s)
wn s + 2ρwn wn s + 2ρwn s + wn2 −wn s wn s + 2ρwn s + wn sw2n
2

w2n
 2
T T −1
  1 wn
y(s) = c x(s) = c [sI − A] Bu(s) = 1 0 2 u(s) = u(s)
s + 2ρwn s + w2n sw2n s2 + 2ρwn s + w2n
y(s) w2n
= .
u(s) s2 + 2ρwn s + w2n

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 43 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Sistemas Dinámicos lineales de segundo orden


El modelo dinámico de un sistema lineal de segundo orden está dado por la siguiente ecuación:

ÿ + a1 ẏ + a0 y = b0 u (7)

la relación que existe con la función de transferencia del sistema lineal se encuentra establecida de la siguiente
manera:
  y(s) b0
ÿ(t) + a1 ẏ(t) + a0 y(t) = b0 u(t) ⇒ s2 + a1 s + a0 y(s) = b0 u(s) ⇐⇒ G(s) = = 2
u(s) s + a1 s + a0

En un sistema lineal invariante en el tiempo, el modelo dinámico (7) y la función de transferencia G(s)
proporcionan información específica sobre el comportamiento del sistema. Este tipo de modelado puede ser
representado en función de los parámetros (ρ, wn ):
El parámetro de amortiguamiento ρ, físicamente representa la cantidad de fricción, inyecta a la respuesta del
sistema amortiguamiento o freno mecánico. La fricción es un fenómeno disipativo que convierte la energía
mecánica en energía térmica.
La frecuencia natural wn , es la frecuencia de resonancia u oscilación natural del sistema.
Sea a0 = b0 = w2n y a1 = 2ρwn , el modelo dinámico lineal de segundo orden y la función de transferencia quedan:

ÿ(t) + a1 ẏ(t) + a0 y(t) = b0 u(t) ⇒ ÿ(t) + 2ρwn ẏ(t) + w2n y(t) = w2n u(t) (8)
y(s) b0 w2n
G(s) = = 2 = 2 (9)
u(s) s + a1 s + a0 s + 2ρwn s + w2n

La ubicación de los polos en el plano s, queda en términos de ρ y wn definiendo el comportamiento del sistema.
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 44 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

El comportamiento de la respuesta del sistema de segundo orden para una entrada escalón, considerando los
casos de subamortiguamiento, amortiguamiento crítico y sobreamortiguamiento.

w2n
Figura 9: Respuesta a un escalón del sistema s2 +2ρwn s+w2n
variando ρ ∈ [0, 2] y wn = 1.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 45 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Código MATLAB 5: sistema2orden


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

sistema2orden.m MATLAB versión 2023A


1 clc; clear all; close all;
2 format short
3 % tiempo de simulación (segundos) tini=0; h=0.001; tfinal = 20;
4 t=tini:h:tfinal; % vector tiempo
5 wn=1;
6 rho=0.2;
w2n
7 % G(s) = s2 +2ρwn s+w2n
8 num=[wn*wn];
9 den=[1, 2*rho*wn, wn*wn];
10 step(num,den,t)

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 46 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Respuesta a un escalón

Especificaciones de la respuesta temporal a un escalón de un sistema de segundo orden


Considere la función de transferencia de segundo grado:

w2n
   
0 1 0  
G(s) = 2 ⇐⇒ ẋ = 2 x + 2 u; y= 1 0 x
2
s + 2ρwn s + wn −w n −2ρw n wn

La figura 10 corresponde a una res- :


puesta transitoria subamortiguada
para 0 < ρ < 1.

Tiempo de pico tp .

Máximo pico o sobreimpulso Mp

Tiempo de subida ts .

Tiempo de retardo tr .

Tiempo de establecimiento te .

w2n
Figura 10: Especificaciones del régimen transitorio y estacionario de la respuesta: s2 +2ρwn s+w2n
.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 47 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Especificaciones de la respuesta temporal

Especificaciones de la respuesta temporal


Las características de respuesta temporal a una entrada escalón para un sistema de segundo orden se especifican
a través de un conjunto de parámetros en el dominio del tiempo que definen la etapa transitoria y estacionaria.
Estos parámetros son muy útiles para realizar estudios comparativos del desempeño entre dos o más sistemas.
A continuación se presenta la descripción de los parámetros en el dominio del tiempo y la interpretación gráfica
se ilustra en la figura 10.
Tiempo de subida ts es el lapso de tiempo que requiere la respuesta y(t) en ir desde cero o también en pasar
del 5 % hasta alcanzar el 95 % del valor final de la magnitud de la señal escalón.
Tiempo de retardo tr es el tiempo requerido por la respuesta del sistema y(t) en alcanzar por primera vez el
50 % de la magnitud de la entrada escalón.
Mp es el máximo pico o sobreimpulso que la respuesta alcanza; su medición se realiza en términos
porcentuales con referencia al valor final o magnitud de la entrada escalón:

y(tp ) − y(t∞ )
Mp = × 100 % (10)
y(t∞ )

Tiempo de pico tp es el tiempo que la respuesta alcanza el primer sobreimpulso o máximo pico.
La evolución del tiempo t hacia infinito es t∞ , por lo que y(t∞ ) es el valor de la respuesta en estado
estacionario.
Tiempo de estado estacionario te es el tiempo en que la respuesta del sistema se mantiene en la banda de
tolerancia del valor final; generalmente se establece como banda de tolerancia a la región donde la variación
de la respuesta y(t) debido al rizo o ruido se encuentra comprendida dentro del ±2 % al ±5 % de la magnitud
de la entrada escalón. El tiempo te define el momento en que la respuesta del sistema entra en estado
estacionario, es decir: t ≥ te y la etapa o fase transitoria queda determinada para t < te .
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 48 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Código MATLAB 6: simusso


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

simusso.m MATLAB versión 2023A


1 clc;
2 clear all;
3 close all;
4 % parámetros de simulación:
5 ti=0; tf = 10; h=0.001;
6 % intervalo de simulación
7 sigma=ti:h:tf;
8 cond_iniciales=[0;0];
9 opciones=odeset( RelTol , 1e-06, AbsTol ,1e-06, InitialStep ,h, MaxStep ,h);
´

´
´

´
10 disp( Simulación de un sistema lineal de segundo orden )
´

´
11 [t,x]=ode45( sso ,sigma,cond_iniciales,opciones);
´
´

12 figure
13 subplot(2,1,1); plot(t, x(:,1))
14 subplot(2,1,2); plot(t, x(:,2))

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 49 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

w2n
   
0 1 0  
G(s) = 2 ⇒ ẋ = 2 x + 2 u; y= 1 0 x
2
s + 2ρwn s + wn −wn −2ρwn wn

Código MATLAB 7: sso


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

sso.m MATLAB versión 2023A


1 function xp =sso(t,x)
2 %frecuencia natural de resonancia wn
3 w_n=1;
4 % factor de amortiguamiento ρ
5 rho=0.35;
6 %Matriz A
7 A=[ 0, 1;
8 -w_n∧ 2, -2*rho*w_n];
9 %Matriz B
10 B=[0;
11 w_n∗w_n];
12 %señal de entrada
13 u=1; %sistema dinámico lineal
14 xp=A*x+B*u;
15 end

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 50 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Transformación de variables fase a variables canónicas

Espacio de estados en variables canónicas


Considere el sistema en espacio de estados en variables fase:

ẋ = Ax + Bu

cuando los valores propios λi con i = 1, 2 · · · , n de su respectiva matriz resolvente Φ son distintos entonces
se puede determinar una matriz apropiada de transformación T ∈ IRn×n tal que su matriz inversa exista
T−1 ∈ IRn×n para realizar un cambio de coordenadas de estado a través de z = Tx, obteniendo:

z = Tx
ż = Tẋ = TAx + TBu = TAT−1 z + TBu donde se ha usado: x = T−1 z
ż = Ac z + Bc u
y = cT x = cT T−1 z = cTc z
Ac = TAT−1
Bc = TB
cTc = cT T−1

ż = Ac z + Bc u (11)
y = cTc z (12)

donde Ac ∈ IRn×n , Bc ∈ IRn×1 y cc ∈ IRn×1 . La representación del sistema dinámico (11) y (12) se conoce como
espacio de estados en variables canónicas.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 51 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Desacoplamiento de la dinámica

La ventaja de tal transformación es que se puede desacoplar la dinámica del sistema, es decir las
velocidades żi dependen únicamente de las posiciones −λi zi y la entrada del sistema u.

En otras palabras żi = f (λi zi , bci u) obteniendo mayor sencillez para estudiar la dinámica del sistema.

En contraste con la forma estándar del modelo de espacio de estados la velocidad ẋi está en función de
las demás componentes de posiciones del vector de estados x, por ejemplo como se puede observar en:
ẋi = f (−ai , xi , −ai−1 xi−1 , ai−2 xi−2 , · · · , ai−(n−1) xi−(n−1) , bi u).

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 52 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Invariancia de los valores propios

Invariancia de los valores propios a cambios de transformaciones


Un resultado importante en la transformación lineal del modelo de espacio de estados en variables fase a variables
canónicas es que los valores propios permanecen invariantes ante dichas trnasformaciones. Por ejemplo,

det sI − Ac = det sI − T−1 AT


   
 
−1 −1
s T
= det | {z } T −T AT
I
 −1  
= det T sI − A T
= det T−1 det [sI − A] det [T]
 

= det [sI − A]

En otras palabras, los valores propios no se modifican en la transformación lineal z = Tx:


 
det sI − Ac = det [sI − A]
| {z } | {z }
det[Φc ] det[Φ]

Es decir, los valores propios de la matriz resolvente inversa Φ−1


 
c = sI − A c del modelo en espacio de estados con
−1

variables canónicas permanecen invariantes con los valores propios de la matriz resolvente inversa Φ = sI − A
del modelo en espacio de estados con variables fase.

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 53 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Invariancia de los valores propios

Ejemplo 3: Realizar la transformación de espacio de estados en variables fase a variables canónicas

   
0 1 0
ẋ = x+ u
−4 −5 1
 
y = 1 0 x

Los valores propios de la matriz resolvente Φ, corresponden a los ceros del polinomio del determinante de Φ:
    −1  −1
1 0 0 1 λ −1
Φ = λ − = ⇒ det[Φ] = λ2 + 5λ + 4 = 0
0 1 −4 −5 4 λ+5

los valores propios son: λ1 = −4 y λ2 = −1.


fx >> polinomio=[1, 5, 4]; % λ2 + 5λ + 4 ←-
fx >> lambda=roots(polinomio)
  ←-
−1
fx >> lambda =
−4
Procedimiento:
Seleccione la matriz de transformación T tal que Ac sea una matriz diagonal cuyos valores propios de la
matriz resolvente de Φ se ubiquen sobre esa diagonal.
Usar la transformación z = Tx, para este propósito se define la matriz T de la siguiente forma:
 
λ1 λ2
T =
1 1
Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 54 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Invariancia de los valores propios

Ejemplo 3: continúa...

   −1   
λ λ 0 1 λ1 λ2 λ1 λ2 0
ż = Ac z + Bc u = TAT z + TBu = 1 2 −1
z+ u
1 1 −4 −5 1 1 1 1 1
   
λ2 0 λ
ż = z+ 2 u
0 λ1 1
   
−1 0 −1
ż = z+ u
0 −4 1

 λ1 λ2 −1  −4 −1 −1
   
T −1
 
y = c T z= 1 0 z= 1 0 z
1 1 1 1
 
= −0.3333 −0.3333 z

Por lo tanto, el sistema en espacio de estados con variables canónicas se encuentra dado por:

      
ż1 −1 0 z1 −1
ż = = + u
ż2 0 −4 z2 1
 
  z1
y = −0.3333 −0.3333
z2

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 55 / 56
Modelo dinámico Estructura de los sistemas dinámicos de primer orden Muestreo de señales continuas Método de integración numérica de Runge Kutta Sistemas Dinámicos lineales escalares Sistemas Dinámicos lineales de segundo orden Especific

Invariancia de los valores propios

Código MATLAB 8: canonica


Robótica I (FCES 034 003), período otoño (15 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

canonica.m MATLAB versión 2023A


1 clc; clear all; close all; format short
1
2 % función de transferencia: s2 +5s+4 del sistema ẋ = Ax + Bu, y = cT x
3 A=[0,1; -4, -5]; B=[0;1]; c=[1,0]; d=[0]; % observe que el vector c ya se encuentra transpuesto
4 sys=ss(A,B,c,d);
5 den=poly(sys.A);
6 n=length(den);
7 lambda=roots(den);
h i
λ λ
8 T=[lambda(1,1),lambda(2,1); 1, 1]; % matriz de transformación T = 11 12
9 A_c=T*A*T∧ (-1); % Ac = TAT−1
10 B_c=T*B; % Bc = TB
11 c_c=c*T∧ (-1); % cTc = cT T−1
12 d_c=d;
13 % comprobando el resultado con la función ss2ss(sys,T)
14 sys1=ss2ss(sys,T); % genera el sistema: ż = Ac z + Bc u, y = cTc z
15 sys1.A
16 sys1.B
17 sys1.c
18 sys1.d

Dr. Fernando Reyes Cortés Período: Otoño ( 15 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 56 / 56

También podría gustarte