function PlotJuntas( DM, PM, axes_PM )

% keyboard
%-------------------------------------------------------------------------------------
% Evoluçao temporal dos angulas das juntas: q1...q12
%-------------------------------------------------------------------------------------
  fase = PM.fase;
  [t, Q] = planeamento(DM, fase);
  
  j = [PM.L1 PM.L2 PM.L3 PM.L4];
  
  Q = rad2deg(Q); %-- Transformar em graus para representaçao grafica
  
  ti = 0;   % tempo inicial
  axes(axes_PM) %-- Perna de suporte -------------------------------------------
  cla
  axis on
  
  for i=fase(1):fase(2)-1,
      t(i,:) = t(i,:)+ti;
      plot(t(i,:),Q(j(1),:,i),'k.')
      hold on
      plot(t(i,:),Q(j(2),:,i),'r.')
      plot(t(i,:),Q(j(3),:,i),'g.')
      plot(t(i,:),Q(j(4),:,i),'b.')
      ti = ti+t(i,end)-t(i,1);
  end
  grid on
  hold off
  drawnow
  
return


function [t, Q] = planeamento(DM, fase)

   q       = DM.q;
   duracao = DM.duracao;
   pe      = DM.pe;
   XYZRef  = DM.XYZRef;
   tetaPe  = DM.tetaPe;
    
   for k=fase(1):fase(2)-1,       %-- Movimento dividido em "i" fases --------------------#1 
       Texe = duracao(k); Ts = Texe/25; %-- Periodo de amostragem e tempo de execuçao ------------
       tp = 0:Ts:Texe;           %-- Vector tempo virtual ---------------------------------
       Tsim = 0;                 %-- Tempo de simulaçao (inicializaçao) -------------------

       %__ Matriz tempo de simulaçao ------------------------------------------------------
        t(k,:) = tp+Tsim; Tsim = Tsim+Texe;
       %__ Velocidade e aceleraçao inicial e final ----------------------------------------
        for n=1:size(q,2), VEL(n,:) = [0 0]; ACE(n,:) = [0 0]; end 
        [Q_legs,dQ_legs,ddQ_legs] = PlaneamentoJuntas( tp,q(k,:),q(k+1,:),VEL,ACE );     
       %__ Vector das juntas --------------------------------------------------------------
        Q(:,:,k) = Q_legs;       
   end
   
return
  