function display_map(map_pts,time_start,time_length)

  ok_time = (map_pts(:,1)>=time_start) & (map_pts(:,1)<time_start+time_length);

  clearplot
  hold on

  sz = 10000;
  %axis([-sz,sz,-sz,sz]);  

  plot([0], [0], 'co')

  % wall
  ok_obj = (map_pts(:,2)==4);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'k.');
  endif

  % robot
  ok_obj = (map_pts(:,2)==5);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'m.');
  endif

  % red robot
  ok_obj = (map_pts(:,2)==6);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'r.');
  endif

  % blue robot
  ok_obj = (map_pts(:,2)==7);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'b.');
  endif

  % ball
  ok_obj = (map_pts(:,2)==8);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'c.');
  endif

  % cyan goal
  ok_obj = (map_pts(:,2)==9);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'c.');
  endif

  % yellow goal
  ok_obj = (map_pts(:,2)==10);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'c.');
  endif

  % stripe
  ok_obj = (map_pts(:,2)==11);
  ok = ok_time & ok_obj;
  if(sum(ok)>0)
    plot(map_pts(ok,3),map_pts(ok,4),'g.');
  endif

  hold off

endfunction
