function q = CinInversa(pX,pY,pZ,ox,oy) if nargin<5 error('Faltan datos') end longHombro = 97; longBrazo = 142; longAntBrazo = 77.5; longMuneca = 71.5; cabeceo = pi/2; q2 = atan2(pY,pX); Z = pZ-longHombro; r=(pX^2+(pY)^2)^(0.5); Afr = sin(cabeceo)*longMuneca; ladoB = r-Afr; Afz = cos(cabeceo)*longMuneca; ladoA = Z+Afz; hipotenusa = sqrt((ladoA^2)+(ladoB^2)); alfa = atan2(ladoA,ladoB); beta = acos((longBrazo^2 + hipotenusa^2 - longAntBrazo^2) /(2*longBrazo*hipotenusa)); angBrazo = alfa + beta; q3=angBrazo; gamma = acos((longBrazo^2+longAntBrazo^2-hipotenusa^2)/(2*longBrazo*longAntBrazo)); angAntBrazo = -(pi-gamma); q4=angAntBrazo; angMuneca = cabeceo-angBrazo-angAntBrazo; q5=angMuneca; q6=acos(-sin(q2)*ox+cos(q2)*oy); q = [q2,q3,q4,q5,q6]; end