function symbols = scan_road(world_state, id, P)

symbols = [];

state = world_state.car_states(id);
other_states = world_state.car_states([world_state.car_states.id] ~= state.id);

road = P.roads(state.road_id);
% 1) check for intersection
if ~isnan(road.intersection.sf) && state.x < road.intersection.sf
  symbol.type = road.intersection.sign;
  symbol.id = state.road_id;
  symbols = [symbols, symbol];
end

% 2) check for other vehicles
for i=1:length(other_states)
  other_state = other_states(i);
  % only scan on same road
  if state.road_id ~= other_state.road_id
    continue
  end
  
  symbol.type = P.kCar;
  symbol.id = other_state.id;
  symbols = [symbols, symbol];  
end
