def create_random(
        cls,
        traffic_mgr: PGTrafficManager,
        lane: AbstractLane,
        longitude: float,
        speed: float = None,
        random_seed=None
    ):
        """
        Create a random vehicle on the road.

        The lane and /or speed are chosen randomly, while longitudinal position is chosen behind the last
        vehicle in the road with density based on the number of lanes.

        :param longitude: the longitude on lane
        :param lane: the lane where the vehicle is spawn
        :param traffic_mgr: the traffic_manager where the vehicle is driving
        :param speed: initial speed in [m/s]. If None, will be chosen randomly
        :return: A vehicle with random position and/or speed
        """
        if speed is None:
            speed = traffic_mgr.np_random.uniform(Vehicle.DEFAULT_SPEEDS[0], Vehicle.DEFAULT_SPEEDS[1])
        v = cls(
            traffic_mgr,
            list(lane.position(longitude, 0)),
            lane.heading_theta_at(longitude),
            speed,
            # random_seed=get_np_random(random_seed)
            # np_random=get_np_random(random_seed)
        )
        return v

        Create a random vehicle on the road.

        The lane and /or speed are chosen randomly, while longitudinal position is chosen behind the last
        vehicle in the road with density based on the number of lanes.

        :param longitude: the longitude on lane
        :param lane: the lane where the vehicle is spawn
        :param traffic_mgr: the traffic_manager where the vehicle is driving
        :param speed: initial speed in [m/s]. If None, will be chosen randomly
        :return: A vehicle with random position and/or speed
        
metadrive/component/vehicle_model/kinematics.py