Sistema mecánico Masa-Resorte-Amortiguador

Se tiene el siguiente sistema mecánico que se quiere modelar

sistema k-m-b

Asumiendo que el sistema es lineal, la ecuación que modela la respuesta es:

$latex m\ddot{y}+b \dot{y}+k y = u $

Si definimos las variables de estado:

$latex x_{1}(t) = y(t) $

$latex x_{2} (t) = \dot{y} (t) $

Con lo cual, reescribiendo se obtienen las euaciones de estado:

$latex \dot{x_{1}} = x_2 $
$latex \dot{x_{2}} = \frac{-k}{m} x_{1} \frac{-b}{m} x_{2}+\frac{1}{m}u $

y la ecuación de salida:
$latex y = x_1 $

En forma matricial:

$latex \begin{bmatrix} \dot{x_1} \\ \dot{x_2} \end{bmatrix} = \begin{bmatrix} 0 & 1\\ \frac{-k}{m} & \frac{-b}{m} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} + \begin{bmatrix} 0 \\ \frac{1}{m} \end{bmatrix} u$
$latex y = \begin{bmatrix} 1 & 0\end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} $

Estas ecuaciones se encuentran en una forma estandar de representar sistemas para control:
$latex \dot{x} = Ax+ Bu \\ y = Cx + Du $

Y dibujando el diagrama de bloques:diagrama de bloques

Ingresando las matrices a Octave

> k=1
k =  1
> m=1
m =  1
> b=1
b =  1
> A=[0 1; -k/m -b/m]
A =

   0   1
  -1  -1

> B = [ 0 ; 1/m]
B =

   0
   1

> C = [ 1 0]
C =

   1   0

> D=0
D = 0

Podemos calcular la función de transferencia al ser un sistema de una entrada y una salida.

>[num,den]=ss2tf(A,B,C,D)
num =  1
den =

   1.00000   1.00000   1.00000
>sys=tf(num,den)

Transfer function 'sys' from input 'u1' to output ...

            1      
 y1:  -------------
      s^2 + 1 s + 1
Continuous-time model.
>step(sys)

step response

Asignando valores reales a k, m y b se puede obtener la respuesta del sistema estudiado.

Cálculo de matrices de transformación D-H

Archivo dh.m

function A=dh(theta,alfa,a,d)
A=[cos(theta) -cos(alfa)*sin(theta) sin(alfa)*sin(theta) a*cos(theta);
sin(theta) cos(alfa)*cos(theta) -sin(alfa)*cos(theta) a*sin(theta);
0 sin(alfa) cos(alfa) d;
0 0 0 1];

endfunction

Archivo calculo-dh.m

##Parámetros Sistema 1

theta1 = 0;
a1 = 0;
alfa1 = -pi/2;

##Parámetros Sistema 2

l2=84;
a2 = 0;
alfa2 = -pi/2;

##Parámetros Sistema 3

l3 = 0;
a3 = 54;
alfa3 = 0;

##Parametros Sistema 4

l4 = 0;
a4 = 69;
alfa4 = 0;

l1=input("Ingrese l1[mm]")
A1=dh(theta1, l1, a1, alfa1);

theta2=input("Ingrese Theta2[rad]")
A2=dh(theta2, l2, a2, alfa2);

theta3=input("Ingrese Theta3[rad]")
A3=dh(theta3, l3, a3, alfa3);

theta4=input("Ingrese Theta4[rad]")
A4=dh(theta4, l4, a4, alfa4);

T=A1*A2*A3*A4