function [t,current,pressure,error,errorstr]=choque_no_solo(H,speed)

% Inicialização das varáveis com as medidas
t=[];
current=[];
pressure=[];


scuid=[2 4];

% Comprimento dos elos
L1=9.5;
L2=9.5;
L3=6.0;
L=[L1 L2 L3];

% Coordenadas cartesianas iniciais
x0=0;
y0=0.4;

x1=0;
y1=1.5;

xf=0;
yf=0;

% Descativação dos PWMs
[error,errorstr]=killuc(H,scuid);
if (error==1), return, end
disp 'PWMs desactivados!'
disp 'Pressione ENTER para os reactivar...'
pause

% % Posicionamento da perna nas coordenadas iniciais
% [theta,error,errorstr]=motioncartesian(H,[x0,y0],L,speed);
% if (error==1), return, end

% Activação dos PWMs
[error,errorstr]=inituc(H,scuid);
if (error==1), return, end

% Esperar que a activação dos PWMs seja feito
disp 'Reactivando PWMs...'
pause(5);
disp 'PWMs activados!'

% Posicionamento da perna em altura
disp 'Subindo a perna...'
[x,error,errorstr]=motioncartesian(H,[x1,y1],L,speed);
if (error==1), return, end

% Esperando pelo fim do movimento
[error,errsorstr]=waitmotionfin(H,scuid);
if (error==1), return, end

disp 'Perna no ar!'
disp 'Pressione ENTER para comecar as medições...'
pause

% Movendo a perna
disp 'Movendo a perna...'
[x,error,errorstr]=motioncartesian(H,[xf,yf],L,speed);
if (error==1), return, end

% Espera que os motores se comecem a mover
finall=1;
tic
while (finall==1 && toc<2.0)
    [finall,x,x,error,errorstr]=motionfin(H,scuid);
    if (error==1), return, end
end

% Espera que os motores terminem o movimento
tic
while (finall==0)
        
    % Leitura da corrente
    currentnow=zeros(1,3,length(scuid));
    for i=1:length(scuid)
        [currentnow(1,:,i),x,x,error,errorstr]=readjoint(H,scuid(i),2);
        if (error), return, end
    end
    current=[current; currentnow];
    
    % Leitura dos sensores de força
    [pressnow,x,error,errorstr]=readspecial(H,scuid(1));
    pressure=[pressure; pressnow];
    
    % Instante temporal de amostragem
    t=[t; toc];

    [finall,x,x,error,errorstr]=motionfin(H,scuid);
    if (error==1), return, end
end

% Reposicionamento da perna no ponto inicial
disp 'Reciclagem da perna...'
[x,error,errorstr]=motioncartesian(H,[x0,y0],L,speed);
if (error==1), return, end

% Esperando pelo fim do movimento
[error,errsorstr]=waitmotionfin(H,scuid);
if (error==1), return, end

% Desligar PWMs
[error,errorstr]=killuc(H,scuid);

disp 'Perna no ponto inicial!'
disp 'Programa terminado!'