opencda.core.actuation package
Submodules
opencda.core.actuation.control_manager module
Controller interface
- class opencda.core.actuation.control_manager.ControlManager(control_config)
Bases:
object
Controller manager that is used to select and call different controller’s functions.
- Parameters:
control_config (dict) – The configuration dictionary of the control manager module.
- controller
The controller object of the OpenCDA framwork.
- Type:
opencda object.
- run_step(target_speed, waypoint)
Execute current controller step.
- update_info(ego_pos, ego_speed)
Update ego vehicle information for controller.
opencda.core.actuation.pid_controller module
PID Control Class
- class opencda.core.actuation.pid_controller.Controller(args)
Bases:
object
PID Controller implementation.
- Parameters:
args (dict) – The configuration dictionary parsed from yaml file.
- _lon_ebuffer
A deque buffer that stores longitudinal control errors.
- Type:
deque
- _lat_ebuffer
A deque buffer that stores latitudinal control errors.
- Type:
deque
- current_transform
Current ego vehicle transformation in CARLA world.
- Type:
carla.transform
- current_speed
Current ego vehicle speed.
- Type:
float
- past_steering
Sterring angle from previous control step.
- Type:
float
- dynamic_pid()
Compute kp, kd, ki based on current speed.
- lat_run_step(target_location)
Generate the throttle command based on current speed and target speed
- Parameters:
target_location (carla.location) – Target location.
- Returns:
current_steering (float)
Desired steering angle value for the current step to
achieve target location.
- lon_run_step(target_speed)
- Parameters:
target_speed (float) – Target speed of the ego vehicle.
- Returns:
acceleration – Desired acceleration value for the current step to achieve target speed.
- Return type:
float
- run_step(target_speed, waypoint)
Execute one step of control invoking both lateral and longitudinal PID controllers to reach a target waypoint at a given target_speed.
- Parameters:
target_speed (float) – Target speed of the ego vehicle.
waypoint (carla.loaction) – Target location.
- Returns:
control – Desired vehicle control command for the current step.
- Return type:
carla.VehicleControl
- update_info(ego_pos, ego_spd)
Update ego position and speed to controller.
- Parameters:
ego_pos (carla.location) – Position of the ego vehicle.
ego_spd (float) – Speed of the ego vehicle