#include <lateralplanner.h>

Public Types | |
| typedef adore::mad::LQ_OC_single_shooting< N, R, K, P > | TOffsetSolver |
| typedef NominalPlannerInformationSet< N+1, 2 > | TInformationSet |
| typedef adore::mad::LLinearPiecewiseFunctionM< double, N+R > | TLongitudinalPlan |
| typedef adore::mad::LLinearPiecewiseFunctionM< double, N+R > | TLateralPlan |
Public Member Functions | |
| LateralPlanner (adore::view::ALane *lfv, adore::params::APLateralPlanner *aplat, adore::params::APVehicle *apvehicle, adore::params::APTrajectoryGeneration *aptrajectory) | |
| void | setPlanningHorizon (double Tend) |
| TInformationSet & | getInformationSet () |
| TOffsetSolver & | getOffsetSolver () |
| RoadCoordinateConverter & | getRoadCoordinateConverter () |
| void | compute (const VehicleMotionState9d &initial_state, TLongitudinalPlan *longitudinal_plan, double t0_offset, double s0_offset) |
| TLateralPlan & | getLateralPlan () |
| double | getTend () const |
| bool | hasValidPlan () const |
| const SetPointRequest * | getSetPointRequest () const |
| double | getCPUTime () const |
Static Public Attributes | |
| static const int | N = 3 |
| static const int | R = 1 |
Protected Attributes | |
| TInformationSet | info_ |
Private Member Functions | |
| void | init_offset_default_cost () |
| void | initialize (double Tend) |
| void | prepare_offset_computation (TLongitudinalPlan *longitudinal_plan, double t0_offset, double s0_offset) |
| bool | update_guard (double &target, double value) |
| void | update_offset_parameters () |
Private Attributes | |
| TOffsetSolver | offset_solver_ |
| double | n0_ |
| double | dn0_ |
| double | ddn0_ |
| double | T_ [K+1] |
| double | T_end_ |
| time steps, incl. 0 at 0 More... | |
| RoadCoordinateConverter | roadCoordinates_ |
| end time of plan, defines planning horizon as [0,T_end_] More... | |
| adore::params::APLateralPlanner * | aplat_ |
| adore::params::APTrajectoryGeneration * | aptraj_ |
| adore::params::APVehicle * | apvehicle_ |
| SetPointRequest | spr_ |
| bool | valid_ |
| the result as a set-point request More... | |
Plans lateral components of trajectories in a road relative coordinate system in 2 steps, using qpOASES. The longitudinal trajectory is assumed a given. In step 1 the lateral motion of a point mass is optimized. In step 2 the detailed vehicle dynamics is recovered by solving an initial value problem for the zero dynamics of the vehile model. Template parameter K defines number of time steps considered during planning, K*P is an increased number of time steps gained by interpolation. The optimization problem in step 1 is formulated as linear-quadratic with box constraints for integrator chains with input at the third derivative. All constraints and references for the optimization problems have to be externally supplied via the NominalPlannerInformationSet interface.
| typedef NominalPlannerInformationSet<N+1,2> adore::fun::LateralPlanner< K, P >::TInformationSet |
| typedef adore::mad::LLinearPiecewiseFunctionM<double,N+R> adore::fun::LateralPlanner< K, P >::TLateralPlan |
| typedef adore::mad::LLinearPiecewiseFunctionM<double,N+R> adore::fun::LateralPlanner< K, P >::TLongitudinalPlan |
| typedef adore::mad::LQ_OC_single_shooting<N,R,K,P> adore::fun::LateralPlanner< K, P >::TOffsetSolver |
|
inline |

|
inline |
compute - try to compute a trajectory according to given constraints and objective

|
inline |
getCPUTime - return the time require for trajectory planning in seconds
|
inline |
|
inline |

|
inline |
|
inline |
|
inline |
getSetPointRequest - return computed trajectory in the form of a SetPointRequest
|
inline |
|
inline |
hasValidPlan - return true, if a trajectory was computed, which satisfies given constraints
|
inlineprivate |


|
inlineprivate |


|
inlineprivate |
prepare_offset_computation - sets up the constraints for the lateral optimization problem


|
inline |

|
inlineprivate |

|
inlineprivate |


|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
static |
|
private |
|
private |
|
static |
|
private |
end time of plan, defines planning horizon as [0,T_end_]
|
private |
|
private |
|
private |
time steps, incl. 0 at 0
|
private |
the result as a set-point request