function [T1, T2, T3] = din_inv(teta1, teta2, teta3, omega1, omega2, omega3, alfa1, alfa2, alfa3, m1, m2, m3, l1, l2, l3, r1, r2, r3)

%DIN_INV    devolve o binário exercido
%   [T1, T2, T3] = din_inv(teta1, teta2, omega1, omega2, m1, m2, l1, l2, r1, r2)
%       teta1 e teta2 -> posição angular dos braços
%       omega1 e omega2 -> velocidade angular dos braços
%       m1 e m2 -> massa de cada braço
%       l1 e l2 -> comprimento dos braços
%       r1 e r2 -> distancia da junta ao centro de massa do braço respectivo
%       T1, T2 e T3 -> binário exercido por cada braço
  
    go = 9.8;    % aceleração da gravidade

    T1 = m2*r2.^2.*alfa2+m3*l2.^2.*alfa2+m3*l2.^2.*alfa1+m3*l1.^2.*alfa1+m2*l1.^2.*alfa1+m1*r1.^2.*alfa1+m2*r2.^2.*alfa1+m2*go*(l1.*cos(teta1)+r2.*cos(teta1+teta2))+m3*go*(l1.*cos(teta1)+l2.*cos(teta1+teta2)+r3.*cos(teta1+teta2+teta3))+2*m2*l1.*alfa1.*r2.*cos(teta2)+2*m3*l1.*alfa1*l2.*cos(teta2)+m3*r3.^2.*alfa1-2*m3*l1.*omega1*l2.*sin(teta2).*omega2-2*m2*l1.*omega1*r2.*sin(teta2).*omega2+m1*go*r1.*cos(teta1)+m3*l1*r3.*alfa2.*cos(teta2+teta3)+m3*l2*r3.*alfa3.*cos(teta3)+m3*l1*r3.*alfa3.*cos(teta2+teta3)+2*m3*l1.*alfa1*r3.*cos(teta2+teta3)-2*m3*l1.*omega1*r3.*sin(teta2+teta3).*(omega2+omega3)+2*m3*l2.*alfa1*r3.*cos(teta3)-2*m3*l2.*omega1.*r3.*sin(teta3).*omega3-2*m3*l2*r3.*omega2.*sin(teta3).*omega3+m3*r3.^2.*alfa2+m3*l1*l2.*alfa2.*cos(teta2)+2*m3*l2*r3.*alfa2.*cos(teta3)-m3*l1*l2.*omega2.^2.*sin(teta2)+m2*l1*r2.*alfa2.*cos(teta2)-m2*l1*r2.*omega2.^2.*sin(teta2)-m3*l1*r3.*omega2.*sin(teta2+teta3).*(omega2+omega3)-m3*l2*r3.*omega3.^2.*sin(teta3)-m3*l1*r3.*omega3.*sin(teta2+teta3).*(omega2+omega3)+m3*r3.^2.*alfa3;

    T2 = m3*r3^2.*alfa2-m3*l2*r3.*omega3.^2.*sin(teta3)+m3*r3^2.*alfa3+m3*l2^2.*alfa1+m2*r2^2.*alfa1+m2*r2^2.*alfa2+m3*l2^2.*alfa2-2*m3*l2.*omega1*r3.*sin(teta3).*omega3+m3*l2*r3.*alfa3.*cos(teta3)-2*m3*l2*r3.*omega2.*sin(teta3).*omega3+2*m3*l2*r3.*alfa2.*cos(teta3)+m3*go*l2.*cos(teta1+teta2)+m2*go*r2.*cos(teta1+teta2)+m2*l1.*alfa1*r2.*cos(teta2)+m3*l1.*alfa1*r3.*cos(teta2+teta3)+m3*l1.*omega1.^2*l2.*sin(teta2)+m3*l1.*omega1.^2*r3.*sin(teta2+teta3)+m2*l1.*omega1.^2*r2.*sin(teta2)+m3*r3^2.*alfa1+m3*go*r3.*cos(teta1+teta2+teta3)+2*m3*l2.*alfa1*r3.*cos(teta3)+m3*l1.*alfa1*l2.*cos(teta2)

    T3 = m3.r3.^2.alfa3+m3.r3.^2.alfa1+m3.r3.^2.alfa2+m3.l2.alfa1.r3.cos(teta3)+m3.l1.alfa1.r3.cos(teta2+teta3)-m3.l1.omega1.r3.sin(teta2+teta3).(omega2+omega3)+m3.l2.r3.alfa2.cos(teta3)+m3.l2.omega2.^2.r3.sin(teta3)+m3.l1.omega1.r3.omega3.sin(teta2+teta3)+m3.l2.omega1.^2.r3.sin(teta3)+m3.l1.omega1.r3.omega2.sin(teta2+teta3)+2.m3.l2.omega1.r3.omega2.sin(teta3)+m3.l1.omega1.^2.r3.sin(teta2+teta3)+m3.go.r3.cos(teta1+teta2+teta3);

