trajectory_supervisor.helper_funcs.src.reachable_set_feasible_bound module¶
- class trajectory_supervisor.helper_funcs.src.reachable_set_feasible_bound.ReachSetFeasible(bound_l: numpy.ndarray, bound_r: numpy.ndarray, localgg: numpy.ndarray, ax_max_machines: numpy.ndarray, closed: bool, trim_set_to_bounds: bool = False)[source]¶
Bases:
objectClass that handles calculation of a simple reachable set, that is limited by the track bounds (including a maneuver that ensures to be parallel to the bound on the outermost position)
- Parameters
bound_l – coordinates of the left bound (numpy array with columns x, y)
bound_r – coordinates of the right bound (numpy array with columns x, y)
localgg – maximum g-g-values at a certain position on the map (currently, only the max a used)
ax_max_machines – velocity dependent maximum acceleration (motor limits)
trim_set_to_bounds – if set to ‘True’, regions of the reachable set outside of the track are removed (computationally demanding)
- calc_reach_set(obj_key: str, obj_pos: numpy.ndarray, obj_heading: float, obj_vel: float, obj_length: float, obj_width: float, obj_turn: float, dt: float, t_max: float) → tuple[source]¶
Calculates a simple reachable set, that is limited by the track bounds (including a maneuver that ensures to be parallel to the bound on the outermost position)
- Parameters
obj_key – sting identifier of object (in order to initialize with previous solution, if existing)
obj_pos – position of the vehicle (x and y coordinate)
obj_heading – heading of the vehicle
obj_vel – velocity of the vehicle
obj_length – length of the vehicle [in m]
obj_width – width of the vehicle [in m]
obj_turn – turn radius of the vehicle [in m]
dt – desired temporal resolution of the reachable set
t_max – maximum temporal horizon for the reachable set
- Returns
poly - dict of reachable areas with:
keys holding the evaluated time-stamps
values holding the outlining coordinates as a np.ndarray with columns [x, y]
outline - outline of shape that is removed from the reachable set