from typing import List from nuplan.planning.simulation.trajectory.trajectory_sampling import TrajectorySampling from navsim.agents.abstract_agent import AbstractAgent from navsim.common.dataclasses import AgentInput, Trajectory, Scene, SensorConfig class HumanAgent(AbstractAgent): requires_scene = True def __init__( self, trajectory_sampling: TrajectorySampling = TrajectorySampling( time_horizon=4, interval_length=0.5 ), ): self._trajectory_sampling = trajectory_sampling def name(self) -> str: """Inherited, see superclass.""" return self.__class__.__name__ def initialize(self) -> None: """Inherited, see superclass.""" pass def get_sensor_config(self) -> SensorConfig: """Inherited, see superclass.""" return SensorConfig.build_no_sensors() def compute_trajectory(self, agent_input: AgentInput, scene: Scene) -> Trajectory: """ Computes the ego vehicle trajectory. :param current_input: Dataclass with agent inputs. :return: Trajectory representing the predicted ego's position in future """ return scene.get_future_trajectory(self._trajectory_sampling.num_poses)