class_docstr: PIDLongitudinalController implements longitudinal control using a PID.
docstr: Constructor method.
  
      :param vehicle: actor to apply to local planner logic onto
      :param K_P: Proportional term
      :param K_D: Differential term
      :param K_I: Integral term
      :param dt: time differential in seconds
docstr_tok: ["Constructor","method",".",":","param","vehicle",":","actor","to","apply","to","local","planner","logic","onto",":","param","K_P",":","Proportional","term",":","param","K_D",":","Differential","term",":","param","K_I",":","Integral","term",":","param","dt",":","time","differential","in","seconds"]
code: def __init__(self, vehicle, K_P=1.0, K_I=0.0, K_D=0.0, dt=0.03):
      """
      Constructor method.
  
          :param vehicle: actor to apply to local planner logic onto
          :param K_P: Proportional term
          :param K_D: Differential term
          :param K_I: Integral term
          :param dt: time differential in seconds
      """
      self._vehicle = vehicle
      self._k_p = K_P
      self._k_i = K_I
      self._k_d = K_D
      self._dt = dt
      self._error_buffer = deque(maxlen=10)
  
imports: from collections import deque
  import math
  import numpy
  import carla
  from agents.tools.misc import get_speed
label_desc: Use image node_id 1 to create a new PIDLongitudinalController object  with example: obj = PIDLongitudinalController(vehicle, K_P, K_I, K_D, dt)