function [tt,position,velocity,current]=exe_traj(H,t,pos,Textra)

if (nargin<4), Textra=0, end

% Introduza aqui o número de SCU em FUNCIONAMENTO!
scu2test=[1,2,3,4];
N_SCU=length(scu2test);

% Inicialização de variáveis temporárias
position=zeros(0,0,0);
velocity=zeros(0,0,0);
current =zeros(0,0,0);

% Controladores ligados
controller(H);
%input('Controladores ligados! Ready?');

T=0.0;
for index=1:length(t)
    
    % Duração do movimento
    T=T+t(index)*0.02;
    
    % Parametrização da duração do movimento
    for scu=1:N_SCU
        applyjoint(H,scu2test(scu),1,[t(index) t(index) t(index)]);
    end
    
    % Parametrização das posições a executar
    for scu=1:N_SCU
        applyjoint(H,scu2test(scu),0,pos(scu2test(scu),:,index));
    end
    
    % Esperando que pelo menos um SCU comece a executar o movimento
    status=ones(1,8);
    scu=1;
    timeout=10;
    while (sum(status(end-2:end))==3)
        [pos,status]=readjoint(H,scu2test(scu),0);
        scu=rem(scu,N_SCU)+1;
        if (timeout==0), break, end
        timeout=timeout-1;
    end
    % Esperando que todos os scu's terminem o movimento
    status=zeros(1,8);
    while (sum(status(end-2:end))<3)
        p=[]; v=[]; c=[];
        status=ones(1,8);
        for scu=1:N_SCU
            % Leitura dos parametros posição, velocidade e corrente
            [pos,st]=readjoint(H,scu2test(scu),0);
            vel =readjoint(H,scu2test(scu),1);
            curr=readjoint(H,scu2test(scu),2);

            % Armazenamento dos dados de cada SCU
            p=[p; pos];
            v=[v; vel];
            c=[c; curr];

            status = status & st;
        end
        
        % Armazenamento dos dados de todos os sensores
        position(:,:,end+1)=p;
        velocity(:,:,end+1)=v;
        current(:,:,end+1) =c;
    end
end

L=length(position);         % Número de amostras
delta_t=T/L;                % Período de amostragem
tt=[delta_t:delta_t:T]';

fprintf('Stop!\n\n');

% Medição de dados extra
if (Textra>0.0)
    Lextra=floor(Textra*L/T);
    for i=1:Lextra
        p=[];  v=[];  c=[];
        for scu=1:N_SCU
            % Leitura dos parametros posição, velocidade e corrente
            pos =readjoint(H,scu2test(scu),0);
            vel =readjoint(H,scu2test(scu),1);
            curr=readjoint(H,scu2test(scu),2);

            % Armazenamento dos dados de cada SCU
            p=[p; pos];
            v=[v; vel];
            c=[c; curr];
        end
        % Armazenamento dos dados de todos os sensores
        position(:,:,end+1)=p;
        velocity(:,:,end+1)=v;
        current(:,:,end+1) =c;
    end

    tt=[tt; [(T+delta_t):delta_t:T+Textra]'];
end

fprintf('Finished!\n\n');