def create_from(cls, vehicle: ControlledVehicle) -> "IDMVehicle":
        """
        Create a new vehicle from an existing one.

        The vehicle dynamics and target dynamics are copied, other properties are default.

        :param vehicle: a vehicle
        :return: a new vehicle at the same dynamical state
        """
        v = cls(
            vehicle.traffic_mgr,
            vehicle.position,
            heading=vehicle.heading,
            speed=vehicle.speed,
            # target_lane_index=vehicle.target_lane_index,
            # target_speed=vehicle.target_speed,
            # route=vehicle.route,
            # timer=getattr(vehicle, 'timer', None),
            np_random=vehicle.np_random
        )
        return v

        Create a new vehicle from an existing one.

        The vehicle dynamics and target dynamics are copied, other properties are default.

        :param vehicle: a vehicle
        :return: a new vehicle at the same dynamical state
        
metadrive/component/vehicle_model/behavior.py