## Ejemplo 2.2 - Análisis de cinemático de un mecanismo biela-manivela


### Análisis de Posición

La figura muestra un mecanismo de biela-manivela. Para el instante en que la manivela forma un ángulo $\theta_2 = 30^{\circ}$ con la horizontal, calcule la posición de la corredera y el ángulo que el eslabón 3 forma con la horizontal.

![figBM.jpeg](./figs/figBM.jpeg)

Datos:

Longitudes de los eslabones, en metros: $\overline{O_2 A} = 0.25;\,\overline{AB} = 0.6;\,y_B = 0.25;$

---

### Análisis de posición por el Método Gráfico

El objetivo es construir la configuración del mecanismo a escala para el instante $\theta_2 = 30^\circ$ y medir las incógnitas de posición: la coordenada horizontal de la corredera ($x_B$) y el ángulo del acoplador ($\theta_3$).

#### Datos de Construcción:

*   **Eslabón 2 (Manivela):** $L_2 = \overline{O_2A} = 0.25 \text{ m}$
*   **Eslabón 3 (Acoplador):** $L_3 = \overline{AB} = 0.6 \text{ m}$
*   **Eje de la Corredera:** La corredera se mueve sobre una línea horizontal a una altura constante $y_B = 0.25 \text{ m}$.
*   **Ángulo de Entrada:** $\theta_2 = 30^\circ$.

#### Procedimiento de Construcción:

1.  **Establecer el origen:** El pivote fijo $O_2$ se coloca en el origen de coordenadas (0,0).
2.  **Posicionar la manivela (Eslabón 2):** Desde $O_2$, se dibuja el eslabón 2 con su longitud $L_2 = 0.25 \text{ m}$ y el ángulo de entrada $\theta_2 = 30^\circ$. El extremo de este vector es la posición de la junta A.
3.  **Dibujar la guía de la corredera:** Se dibuja la línea horizontal que define la trayectoria de la corredera B. Esta línea está a una altura constante $y = 0.25 \text{ m}$.
4.  **Localizar la junta B (Cierre del lazo):**
    *   **Restricción del Acoplador:** El punto B debe estar a una distancia $L_3 = 0.6 \text{ m}$ de A. Geométricamente, esto es una circunferencia con centro A y radio 0.6.
    *   **Restricción de la Corredera:** El punto B debe estar sobre la línea $y = 0.25$.
5.  **Resolver la ambigüedad de configuración:** La intersección de la circunferencia (centro A, radio $L_3$) y la línea ($y=0.25$) da dos posibles soluciones para el punto B. Se debe elegir la que corresponde a la configuración mostrada en la figura del problema.
6.  **Medición de resultados:** Con el mecanismo completamente dibujado, las cantidades deseadas se miden directamente desde el software gráfico:
    *   Coordenadas del punto B: $(x_B, y_B)$.
    *   Ángulo del acoplador, $\theta_3$: El ángulo del segmento AB con la horizontal.

---

### Análisis de posición por el Método Analítico

El objetivo es encontrar expresiones para las incógnitas ($x_B$ y $\theta_3$) en función de los parámetros conocidos.

#### Formulación del Lazo Vectorial

Modelamos el mecanismo como una cadena vectorial abierta. La posición del punto B se puede expresar partiendo del origen $O_2$:
$ \vec{R}_B = \vec{R}_A + \vec{R}_{AB} $
Donde:
*   $\vec{R}_A = L_2(\cos\theta_2 \hat{i} + \sin\theta_2 \hat{j})$
*   $\vec{R}_{AB} = L_3(\cos\theta_3 \hat{i} + \sin\theta_3 \hat{j})$
*   $\vec{R}_B = x_B \hat{i} + y_B \hat{j}$ (con $y_B$ constante)

Descomponemos la ecuación vectorial en sus componentes escalares (x e y):

*   **Componente x:**
    $ x_B = L_2\cos\theta_2 + L_3\cos\theta_3 \quad (\text{Ecuación 1}) $
*   **Componente y:**
    $ y_B = L_2\sin\theta_2 + L_3\sin\theta_3 \quad (\text{Ecuación 2}) $

Tenemos un sistema de dos ecuaciones con dos incógnitas: $\theta_3$ y $x_B$.

#### Resolviendo para $\theta_3$ y $x_B$

1.  **Resolver para $\theta_3$:**
    De la Ecuación 2, podemos despejar $\sin\theta_3$:
    $ \sin\theta_3 = \frac{y_B - L_2\sin\theta_2}{L_3} $
    Esto nos dará dos valores posibles para $\theta_3$, ya que $\theta_{3,2} = 180^\circ - \theta_{3,1}$. Debemos elegir la solución que corresponde a la configuración del dibujo. Una vez conocido $\sin\theta_3$, podemos encontrar $\cos\theta_3 = \pm\sqrt{1 - \sin^2\theta_3}$, donde el signo depende del cuadrante en que se encuentre $\theta_3$.

2.  **Resolver para $x_B$:**
    Una vez que tenemos el valor correcto de $\theta_3$ (y por tanto, de $\cos\theta_3$), lo sustituimos en la Ecuación 1 para encontrar la posición de la corredera:
    $ x_B = L_2\cos\theta_2 + L_3\cos\theta_3 $

---

El cálculo se realiza para las dos configuraciones posibles.

*   **Datos Iniciales:**
    *   Longitudes: $L_2=0.25 \text{ m}, L_3=0.6 \text{ m}$
    *   Posición vertical de la corredera: $y_B = 0.25 \text{ m}$
    *   Ángulo de entrada: $\theta_2 = 30^\circ$

*   **Cálculo de $\theta_3$:**
    Usando la Ecuación 2:
    $ \sin\theta_3 = \frac{0.25 - 0.25\sin(30^\circ)}{0.6} = \frac{0.25 - 0.25 \cdot 0.5}{0.6} = \frac{0.125}{0.6} \approx 0.2083 $
    Esto da dos posibles soluciones para $\theta_3$:
    *   **Solución 1:** $\theta_{3,1} = \arcsin(0.2083) \approx 12.02^\circ$. Esta corresponde a la configuración de la figura.
    *   **Solución 2:** $\theta_{3,2} = 180^\circ - 12.02^\circ = 167.98^\circ$. Esta corresponde a la otra configuración posible del mecanismo.

*   **Cálculo de $x_B$ (para la Solución 2):**
    Se elige la segunda solución para $\theta_3$. Primero, calculamos el coseno para este ángulo:
    $ \cos(167.98^\circ) \approx -0.9781 $
    Ahora, usamos la Ecuación 1:
    $ x_B = 0.25\cos(30^\circ) + 0.6\cos(167.98^\circ) = 0.25 \cdot 0.866 + 0.6 \cdot (-0.9781) $
    $ x_B = 0.2165 - 0.5868 = -0.3703 \text{ m} $

*   **Resultados Finales de Posición (Solución 2):**
    *   Ángulo del acoplador: $\mathbf{\theta_3 = 167.98^\circ}$
    *   Posición de la corredera: $\mathbf{x_B = -0.3703 \text{ m}}$

### Análisis de velocidad 

En el instante en que la manivela forma un ángulo $\theta_2 = 30^{\circ}$ con la horizontal, su velocidad angular es $\vec{\omega}_2 = 1\hat{k}$ rad/s, y su aceleración es $\vec{\alpha}_2 = 1\hat{k}$ rad/s². Calcule la velocidad de la corredera y la velocidad angular del eslabón 3.

Datos:

Longitudes de los eslabones, en metros: $\overline{O_2 A} = 0.25;\, \overline{AB} = 0.6;\, y_B = 0.25$.
Ángulo del eslabón 3 con la horizontal, del análisis de posición: $\theta_3 = 167.98^{\circ}$.

#### Resolución (Cálculos en Matlab)

Para este ejemplo, realizaremos los cálculos usando Matlab en un script que puede ser descargado desde {download}`este enlace <../TMM-sphinx-EN/_static/scripts/ejemplo2_02.mlx>`. Empezamos creando variables para los datos dados:

```matlab
clear, clc
O2A = 0.25; AB = 0.6;
th2 = 30; th3 = 167.98;
w2 = [0 0 1]; af2 = [0 0 1];
```

El mecanismo tiene un grado de libertad, correspondiente a $\vec{\omega}_2$. Usamos este dato conocido para calcular la velocidad del punto A:

$\vec{v}_A = \vec{\omega}_2 \times \vec{r}_{O2A}$

A partir de los datos geométricos, calculamos $\vec{r}_{O2A}$:

```matlab
rO2A = O2A * [cosd(th2) sind(th2) 0];
```

Por lo tanto,

$\vec{v}_A = 1\hat{k} \times (0.2165\hat{i} + 0.125\hat{j}) = -0.125\hat{i} + 0.2165\hat{j}$
```matlab
vA = cross(w2, rO2A);
```

A continuación, nos centramos en el punto B. Analizándolo como parte del eslabón 3, podemos establecer la ecuación de velocidad relativa entre A y B:

$\vec{v}_{B3} = \vec{v}_A + \vec{v}_{B/A}$

con $\vec{v}_A$ conocida y $\vec{v}_{B/A} = \vec{\omega}_3 \times \vec{r}_{AB}$, donde conocemos la dirección pero no la magnitud de $\vec{\omega}_3$.

```matlab
syms w3k real
w3 = [0 0 w3k];
rAB = AB * [cosd(th3) sind(th3) 0];
vB_A = cross(w3, rAB);
vB3 = vA + vB_A;
```

Ahora analizamos el punto B como parte del eslabón 4 (la corredera). Al ser una corredera, sabemos que su dirección debe ser a lo largo del eje de deslizamiento, que en este caso es horizontal:

$\vec{v}_{B4} = v_B\hat{i}$
```matlab
syms vBi real
vB4 = [vBi 0 0];
```

Como hay una junta de revolución en B, podemos igualar las dos expresiones:

```matlab
sol_v1 = solve(vB3 == vB4, w3k, vBi);
w3k = double(sol_v1.w3k);
vBi = double(sol_v1.vBi);
fprintf('w3k=%0.3f vBi=%0.3f\n', w3k, vBi)
```

```matlabTextOutput
w3k=0.369 vBi=-0.171
```

#### Cinema de Velocidad

El cinema de velocidad para este ejemplo no se proporciona, pero se puede crear usando los mismos principios demostrados en ejemplos anteriores.

### Análisis de aceleración

En el instante en que la manivela forma un ángulo $\theta_2 = 30^{\circ}$ con la horizontal, su velocidad angular es $\vec{\omega}_2 = 1\hat{k}$ rad/s, y su aceleración es $\vec{\alpha}_2 = 1\hat{k}$ rad/s². Calcule la aceleración de la corredera y la aceleración angular del eslabón 3.

Datos:

Longitudes de los eslabones, en metros: $\overline{O_2 A} = 0.25;\, \overline{AB} = 0.6;\, y_B = 0.25$.
Ángulo del eslabón 3 con la horizontal (del análisis de posición): $\theta_3 = 167.98^{\circ}$, y su velocidad angular $\vec{\omega}_3 = 0.369$ rad/s.

#### Resolución (Cálculos en Matlab)

El procedimiento para calcular las aceleraciones del mecanismo es similar al de las velocidades. Empezamos con el punto A ya que tenemos información sobre él. Calculamos $\vec{a}_A$ a partir de sus componentes normal y tangencial:

$\vec{a}_A = \vec{a}_A^n + \vec{a}_A^t = \vec{\omega}_2 \times (\vec{\omega}_2 \times \vec{r}_{O2A}) + \vec{\alpha}_2 \times \vec{r}_{O2A}$
```matlab
aA = cross(w2, cross(w2, rO2A)) + cross(af2, rO2A);
```

Ahora, analizando el punto B como parte del eslabón 3, tenemos:

$\vec{a}_{B3} = \vec{a}_A + \vec{a}_{B/A}$

que, al descomponer, da:

$\vec{a}_{B3} = \vec{a}_A + \vec{a}_{B/A}^n + \vec{a}_{B/A}^t$

donde la aceleración de A es conocida, y podemos expresar las componentes de la aceleración relativa a partir de la información disponible:

- Para $\vec{a}_{B/A}^n$, todo es conocido. Por lo tanto:
$\vec{a}_{B/A}^n = \vec{\omega}_3 \times (\vec{\omega}_3 \times \vec{r}_{AB})$
```matlab
aB_An = cross(w3, cross(w3, rAB));
```

- Para $\vec{a}_{B/A}^t$, podemos operar y expresarla en términos de la incógnita $\vec{\alpha}_3$, de la que solo conocemos su dirección:
$\vec{a}_{B/A}^t = \vec{\alpha}_3 \times \vec{r}_{AB}$
```matlab
syms af3k real
af3 = [0 0 af3k];
aB_At = cross(af3, rAB);
```

Lo que nos deja con:

```matlab
aB3 = aA + aB_An + aB_At;
```

Por otro lado, si consideramos el punto B como parte del eslabón 4, tenemos:

$\vec{a}_{B4} = a_B\hat{i}$
```matlab
syms aBi real
aB4 = [aBi 0 0];
```

Finalmente, si igualamos ambas expresiones, tenemos:

```matlab
sol_ac1 = solve(aB3 == aB4, af3k, aBi);
af3k = double(subs(sol_ac1.af3k));
aBi = double(subs(sol_ac1.aBi));
fprintf('af3k=%0.3f aBi=%0.3f\n', af3k, aBi)
```

```matlabTextOutput
af3k=0.127 aBi=-0.277
```

#### Cinema de Aceleración

El cinema de aceleración para este ejemplo no se proporciona, pero se puede crear usando los mismos principios demostrados en ejemplos anteriores.