ROBÓTICA — PRIMERA CONVOCATORIA (JUNIO 2025)
Resolución Oficial Detallada: Problema 1 (Teoría y Cuestiones Aplicadas)
Grado en Ingeniería de Tecnologías Industriales
Universidad de Sevilla | 8 de Junio de 2025
Tiempo: 30 minutos | Calificación: 3.0 Puntos

CUESTIÓN 1: GENERADOR DE TRAYECTORIAS RECTAS CARTESIANAS (1.0 PUNTO)

Enunciado: Describa cómo sería el programa de un generador de las trayectorias de las referencias de las articulaciones ($q_r, \dot{q}_r, \ddot{q}_r$), de un robot de 3 grados de libertad para el caso de que se desee una línea recta en cartesianas, con precisión de 10 puntos, dadas la posición inicial $(x_i, y_i, z_i)$ y final $(x_f, y_f, z_f)$ de la recta.

1.1. Arquitectura y Fases del Generador

El generador de trayectorias en control cinemático opera desacoplando la planificación espacial cartesiana y el mapeo a variables articulares mediante las siguientes etapas:

1. Interpolación Cartesiana

Se discretiza el segmento rectilíneo en $N=10$ puntos temporales $t_k \in [0, T]$: $$p(t) = p_i + s(t)(p_f - p_i)$$ donde $s(t) \in [0, 1]$ es la ley de evolución temporal suave (polinomio cúbico con velocidad nula en extremos: $s(\tau) = 3\tau^2 - 2\tau^3$, con $\tau = t/T$).

$$\dot{p}(t) = \dot{s}(t)(p_f - p_i), \quad \ddot{p}(t) = \ddot{s}(t)(p_f - p_i)$$
2. Mapeo a Espacio Articular

Para cada instante $t_k$, se resuelve la cinemática inversa y la cinemática diferencial:

$$q_r(t_k) = f_{\text{cin}}^{-1}(p(t_k))$$ $$\dot{q}_r(t_k) = J^{-1}(q_r(t_k)) \dot{p}(t_k)$$ $$\ddot{q}_r(t_k) = J^{-1}(q_r(t_k)) [\ddot{p}(t_k) - \dot{J}(q_r, \dot{q}_r)\dot{q}_r]$$

1.2. Estructura del Programa en MATLAB / Pseudocódigo

function [qr, qdr, qddr] = generador_recta_cartesianas(pi, pf, T, N)
  % pi, pf: [3x1] vectores posición inicial y final cartesianos
  % T: tiempo total de maniobra; N = 10 puntos de evaluación
  t = linspace(0, T, N)';
  tau = t / T;
  s = 3*tau.^2 - 2*tau.^3;          % Ley de avance suave cúbico
  sd = (6*tau - 6*tau.^2) / T;      % Derivada primera
  sdd = (6 - 12*tau) / (T^2);       % Derivada segunda

  qr = zeros(N, 3); qdr = zeros(N, 3); qddr = zeros(N, 3);

  for k = 1:N
      pk = pi + s(k) * (pf - pi);
      vk = sd(k) * (pf - pi);
      ak = sdd(k) * (pf - pi);

      % 1. Posición articular mediante cinemática inversa
      qr(k, :) = cinematica_inversa_3gdl(pk);

      % 2. Velocidad articular mediante el Jacobiano
      J = jacobiano_geometrico(qr(k, :));
      qdr(k, :) = (J \ vk)';

      % 3. Aceleración articular
      Jdot_qdot = jacobiano_derivada(qr(k, :), qdr(k, :)) * qdr(k, :)';
      qddr(k, :) = (J \ (ak - Jdot_qdot))';
  end
end

CUESTIÓN 2: TRANSFORMACIÓN HOMOGÉNEA $T_0^1$ EN RAMPA (1.0 PUNTO)

Enunciado: Dados los marcos de referencia {0} y {1} que se muestran en la figura, encontrar la transformación $T_0^1$ que los relaciona.
Rampa Prismática Junio 2025 P1
Figura 1: Prisma triangular de base 4, profundidad 2 y altura 3, con marcos {0} y {1}.

2.1. Vector de Posición del Origen de {1}

El marco $\{0\}$ se sitúa en el vértice inferior frontal de la base, mientras que $\{1\}$ se ubica en el vértice superior posterior de la rampa: $$p_0^1 = \begin{bmatrix} 4 \\ 2 \\ 3 \end{bmatrix}$$

2.2. Matriz de Rotación $R_0^1$

La hipotenusa de la rampa en el plano $x_0 - z_0$ tiene longitud $L = \sqrt{4^2 + 3^2} = 5$. El ángulo de inclinación es $\theta = \arctan(3/4) \approx 36.87^\circ$, por lo que $\cos\theta = 4/5 = 0.8$ y $\sin\theta = 3/5 = 0.6$.

$$T_0^1 = \begin{bmatrix} R_0^1 & p_0^1 \\ 0_{1\times 3} & 1 \end{bmatrix} = \begin{bmatrix} -0.6 & -0.8 & 0 & 4 \\ 0 & 0 & -1 & 2 \\ 0.8 & -0.6 & 0 & 3 \\ 0 & 0 & 0 & 1 \end{bmatrix}$$

CUESTIÓN 3: DEMOSTRACIÓN DEL DESACOPLO DINÁMICO POR REDUCTORAS (1.0 PUNTO)

Enunciado: DEMOSTRAR por qué la dinámica de un robot manipulador queda desacoplada debido a las reductoras y por tanto pueden utilizarse controladores monovariables.

3.1. Ecuaciones Dinámicas con Relación de Transmisión

En un robot con accionamiento indirecto, los motores se acoplan a las articulaciones mediante reductores de engranajes con relación $r_i \gg 1$ ($r_i = \dot{q}_{m,i} / \dot{q}_i$). En notación vectorial: $$q_m = R\, q \iff q = R^{-1} q_m, \qquad R = \text{diag}(r_1, r_2, \dots, r_n)$$ Por conservación de la potencia mecánica transmitida: $\tau = R\, \tau_m \iff \tau_m = R^{-1} \tau$.

3.2. Proyección al Eje del Motor

La dinámica completa del manipulador formulada en el espacio de los motores ($q_m$) resulta: $$\tau_m = M_{\text{eq}}(q)\,\ddot{q}_m + C_{\text{eq}}(q, \dot{q})\,\dot{q}_m + G_{\text{eq}}(q)$$ donde los tensores reflejados son: $$M_{\text{eq}}(q) = J_m + R^{-1} M(q) R^{-1} = \text{diag}(J_{m1}, \dots, J_{mn}) + \begin{bmatrix} \frac{M_{11}(q)}{r_1^2} & \frac{M_{12}(q)}{r_1 r_2} & \dots \\ \frac{M_{21}(q)}{r_2 r_1} & \frac{M_{22}(q)}{r_2^2} & \dots \\ \vdots & \vdots & \ddots \end{bmatrix}$$

3.3. Justificación Asintótica y Desacoplamiento

Dado que las reductoras industriales operan en rangos $r_i \approx 50 \sim 150$:

Conclusión de la demostración: $$M_{\text{eq}} \approx J_m = \text{diag}(J_{m1}, \dots, J_{mn}) = \text{constante}$$ El sistema multivariable de $n$ ecuaciones acopladas no lineales colapsa en $n$ subsistemas lineales desacoplados de segundo orden (SISO): $$J_{mi}\ddot{q}_{mi} + B_{mi}\dot{q}_{mi} \approx \tau_{mi} - \tau_{\text{pert}, i}$$ lo que justifica matemáticamente el uso de lazos de control monovariables descentralizados (PID/PD) independientes por articulación.