%% ========================================================================= % EXAMEN ROBÓTICA GITI - TERCERA CONVOCATORIA (29 OCTUBRE 2025) - PROBLEMA 1 % ========================================================================= % Cuestiones Teóricas y Aplicadas: % 1. Funcionamiento del Sincro-Resolver y Demodulación RDC % 2. Transformación Homogénea entre Marcos {U} y {A} % 3. Demostración Matemática del Desacoplo Dinámico por Reductoras (r >> 1) % ========================================================================= clear; clc; close all; fprintf('=================================================================\n'); fprintf(' EXAMEN ROBÓTICA GITI - OCTUBRE 2025 - PROBLEMA 1 (TEORÍA/CUESTIONES)\n'); fprintf('=================================================================\n\n'); %% CUESTIÓN 1: SINCRO-RESOLVER fprintf('--- CUESTIÓN 1: SINCRO-RESOLVER ---\n'); fprintf('Principio de medida: Transformador rotativo inductivo de tensión variable.\n'); fprintf('Excitación de rotor: Vr(t) = Vo * sin(w*t)\n'); fprintf('Tensiones inducidas en estator (a 90 grados espaciales):\n'); fprintf(' Vs1(t) = K * Vo * sin(w*t) * sin(theta)\n'); fprintf(' Vs2(t) = K * Vo * sin(w*t) * cos(theta)\n'); fprintf('Demodulación ratiométrica: tan(theta) = Vs1(t) / Vs2(t) -> Inmune a variaciones de amplitud Vo.\n\n'); %% CUESTIÓN 2: TRANSFORMACIÓN HOMOGÉNEA ENTRE MARCOS {U} Y {A} fprintf('--- CUESTIÓN 2: TRANSFORMACIÓN T_U_A ---\n'); syms ux uy uz ax ay az real syms px py pz alpha beta gamma real % Definición simbólica y numérica de transformación: % Suponiendo rotaciones canónicas y traslación p: % Ejemplo general mediante traslación y matriz de rotación: R_rot = [cos(alpha), -sin(alpha), 0; sin(alpha), cos(alpha), 0; 0, 0, 1]; p_tras = [px; py; pz]; T_UA = [R_rot, p_tras; 0, 0, 0, 1]; fprintf('Estructura general de la matriz de transformación homogénea T_U_A:\n'); disp(T_UA); fprintf('Instrucciones en MATLAB (Robotics System Toolbox o código directo):\n'); fprintf(' %% Metodo 1: Construcción matricial directa:\n'); fprintf(' R = rotz(deg2rad(alpha_deg));\n'); fprintf(' p = [px; py; pz];\n'); fprintf(' T_UA = [R, p; 0 0 0 1];\n\n'); fprintf(' %% Metodo 2: Funciones estándar:\n'); fprintf(' T_UA = trvec2tform(p'') * axang2tform([0 0 1 deg2rad(alpha_deg)]);\n\n'); %% CUESTIÓN 3: DEMOSTRACIÓN DEL DESACOPLO DINÁMICO POR REDUCTORAS fprintf('--- CUESTIÓN 3: DEMOSTRACIÓN DE DESACOPLO DINÁMICO ---\n'); syms r1 r2 real positive syms M11 M12 M21 M22 real syms Jm1 Jm2 real positive % Matriz de inercia del manipulador M(q): M_link = [M11, M12; M21, M22]; % Matriz de relación de transmisión R_red: R_red = diag([r1, r2]); % Inercia propia de motores Jm: J_m = diag([Jm1, Jm2]); % Inercia equivalente vista desde el eje de los motores: % Meq = J_m + inv(R_red) * M_link * inv(R_red) M_eq = J_m + inv(R_red) * M_link * inv(R_red); fprintf('Matriz de Inercia equivalente vista por los motores M_eq:\n'); disp(M_eq); fprintf('Análisis de orden de magnitud cuando r1, r2 >> 1 (ej. r = 100):\n'); fprintf(' Términos de la diagonal: Jmi + Mii / (ri^2) --> Jmi (predomina inercia del motor)\n'); fprintf(' Términos cruzados de acoplo: Mij / (ri * rj) --> 0 (se atenúan en un factor 10,000!)\n'); fprintf('Conclusión: Cada eje se desacopla en un sistema lineal SISO independiente.\n');