function Trajectoria = Movimento5grau(T0,Tf,tf,TS,NPS,ETS,NJ,TSMax)

%% Funcao que permite calcular a o Angulo,
%  a VelocidadeAngular e a AceleracaoAngular
%  de um actuador em funcao do angulo inicial,
%  o final e o tempo de execucao do movimento

%t - Referencia ao Tempo
%T - Referencia ao Teta
%0 - Referencia ao Momento Inicial
%f - Referencia ao Momento Final

%% Dados
V0=0;
A0=0;

a5 = 6*(Tf-T0)/tf^5;
a4 = -5/2*a5*tf;
a3 = (-12*a4*tf - 20*a5*tf^2) / 6;

%% Angulo
    t=0;
    for p=1:1:NPS
        if t < TS/2
          %Primeira Metade do Movimento Completo Desejado
            T(1,p) = T0 + V0*t + A0/2*t^2 + a3*t^3 + a4*t^4 + a5*t^5;
            %T(1,p) = -2/tf^3*(Tf-T0)*t^3 + 3/tf^2*(Tf-T0)*t^2 + T0
        else
          %Segunda Metade do Movimento Completo Desejado
            T(1,p) = Tf - (V0*(t-tf) + A0/2*(t-tf)^2 + a3*(t-tf)^3 + a4*(t-tf)^4 + a5*(t-tf)^5);
            %T(1,p) = -(-2/tf^3*(Tf-T0)*(t-tf)^3 + 3/tf^2*(Tf-T0)*(t-tf)^2) + Tf;
        end
        %Movimento Completo Desejado
            Tt(p,1) = T(1,p);
        %encremento do tempo
            t = t + ETS;
    end
%% Velocidade
    t=0;
    for p=1:1:NPS
        if t<TS/2
          %Primeira Metade do Movimento Completo Desejado
            dT(1,p) = V0 + A0*t + 3*a3*t^2 + 4*a4*t^3 + 5*a5*t^4;
            %dT(1,p) = -3*2/tf^3*(Tf-T0)*t^2 + 2*3/tf^2*(Tf-T0)*t;
        else
          %Segunda Metade do Movimento Completo Desejado
          if t<=TSMax
            dT(1,p) = -(V0 + A0*(t-tf)^1 + 3*a3*(t-tf)^2 + 4*a4*(t-tf)^3 + 5*a5*(t-tf)^4);
            %dT(1,p) = -(-3*2/tf^3*(Tf-T0)*(t-tf)^2 + 2*3/tf^2*(Tf-T0)*(t-tf));
          else
            dT(1,p) = 0;
          end
        end
        %Movimento Completo Desejado
            dTt(p,1) = dT(1,p);
        %encremento do tempo
            t = t + ETS;
    end
%% Aceleracao
    t=0;
    for p=1:1:NPS
        if t<TS/2
          %Primeira Metade do Movimento Completo Desejado
            ddT(1,p) = A0 + 6*a3*t^1 + 12*a4*t^2 + 20*a5*t^3;
            %ddT(1,p) = -2*3*2/tf^3*(Tf-T0)*t + 2*3/tf^2*(Tf-T0);
        else
          %Segunda Metade do Movimento Completo Desejado
          if t<=TSMax
            ddT(1,p) = -(A0 + 6*a3*(t-tf)^1 + 12*a4*(t-tf)^2 + 20*a5*(t-tf)^3);
            %ddT(1,p) = -(-2*3*2/tf^3*(Tf-T0)*(t-tf) + 2*3/tf^2*(Tf-T0));
          else
            ddT(1,p) = 0;
          end
        end
        %Movimento Completo Desejado
            ddTt(p,1) = ddT(1,p);
        %encremento do tempo
            t = t + ETS;
    end
    
%% Garantir Posicao Fixa no final da simulacao

%% Graficos
    %figure(NJ)
    %plot(Tt,'c');hold on; grid on;
    %plot(dTt,'b');
    %plot(ddTt,'r');

%% Output
    Trajectoria(1,:) = Tt;
    Trajectoria(2,:) = dTt;
    Trajectoria(3,:) = ddTt;

