class_docstr: BasicAgent implements an agent that navigates the scene.
  This agent respects traffic lights and other vehicles, but ignores stop signs.
  It has several functions available to specify the route that the agent must follow,
  as well as to change its parameters in case a different driving mode is desired.
class_docstr_tok: ["BasicAgent","implements","an","agent","that","navigates","the","scene",".","This","agent","respects","traffic","lights","and","other","vehicles",",","but","ignores","stop","signs",".","It","has","several","functions","available","to","specify","the","route","that","the","agent","must","follow",",","as","well","as","to","change","its","parameters","in","case","a","different","driving","mode","is","desired","."]
docstr: Changes the path so that the vehicle performs a lane change.
  Use 'direction' to specify either a 'left' or 'right' lane change,
  and the other 3 fine tune the maneuver
docstr_tok: ["Changes","the","path","so","that","the","vehicle","performs","a","lane","change",".","Use","'direction","'","to","specify","either","a","'left","'","or","'right","'","lane","change",",","and","the","other","3","fine","tune","the","maneuver"]
code: def lane_change(
      self,
      direction,
      same_lane_time=0,
      other_lane_time=0,
      lane_change_time=2,
  ):
      """
      Changes the path so that the vehicle performs a lane change.
      Use 'direction' to specify either a 'left' or 'right' lane change,
      and the other 3 fine tune the maneuver
      """
      speed = self._vehicle.get_velocity().length()
      path = self._generate_lane_change_path(
          self._map.get_waypoint(self._vehicle.get_location()),
          direction,
          same_lane_time * speed,
          other_lane_time * speed,
          lane_change_time * speed,
          False,
          1,
          self._sampling_resolution,
      )
      if not path:
          print(
              "WARNING: Ignoring the lane change as no path was found"
          )
  
      self.set_global_plan(path)
  
imports: import carla
  from shapely.geometry import Polygon
  from agents.navigation.local_planner import LocalPlanner, RoadOption
  from agents.navigation.global_route_planner import GlobalRoutePlanner
  from agents.tools.misc import get_speed, is_within_distance, get_trafficlight_trigger_location, compute_distance
label_desc: Use image node_id 16 for calling the BasicAgent obj's underlying member method code with example usage: obj.lane_change(direction, same_lane_time, other_lane_time, lane_change_time) without return types