#include <decoupled_lflc_planner.h>
Public Types | |
typedef adore::mad::LQ_OC_single_shooting< N, R, K, P > | TProgressSolver |
typedef adore::mad::LQ_OC_single_shooting< N, R, K, P > | TOffsetSolver |
typedef NominalPlannerInformationSet< N+1, 2 > | TInformationSet |
Public Member Functions | |
DecoupledLFLCPlanner (adore::view::ALane *lfv, adore::params::APLongitudinalPlanner *aplon, adore::params::APLateralPlanner *aplat, adore::params::APVehicle *apvehicle, adore::params::APTrajectoryGeneration *aptrajectory) | |
void | setPlanningHorizon (double Tend) |
double | getPlanningHorizon () const |
TInformationSet & | getInformationSet () |
TProgressSolver & | getProgressSolver () |
TOffsetSolver & | getOffsetSolver () |
RoadCoordinateConverter & | getRoadCoordinateConverter () |
std::string | getStatus () |
virtual void | compute (const VehicleMotionState9d &initial_state) override |
virtual bool | hasValidPlan () const override |
virtual const SetPointRequest * | getSetPointRequest () const override |
virtual double | getCPUTime () const override |
Static Public Attributes | |
static const int | N = 3 |
static const int | R = 1 |
Protected Attributes | |
TInformationSet | info_ |
Private Member Functions | |
void | init_progress_default_cost () |
void | init_offset_default_cost () |
void | initialize (double Tend) |
void | prepare_progress_computation () |
void | prepare_offset_computation () |
bool | update_guard (double &target, double value) |
void | update_progress_parameters () |
void | update_offset_parameters () |
Private Attributes | |
TProgressSolver | progress_solver_ |
TOffsetSolver | offset_solver_ |
double | s0 |
double | ds0 |
double | dds0 |
double | n0 |
double | dn0 |
double | ddn0 |
double | psi0 |
double | omega0 |
double | t0 |
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::APLongitudinalPlanner * | aplon_ |
adore::params::APLateralPlanner * | aplat_ |
adore::params::APTrajectoryGeneration * | aptraj_ |
adore::params::APVehicle * | apvehicle_ |
SetPointRequest | spr_ |
bool | valid_ |
the result as a set-point request More... | |
int | step_ |
Plans trajectories in a road relative coordinate system in 3 steps, using qpOASES. In step 1 the longitudinal motion of a point mass along the road coordinate s, the progress is optimized. In step 2 the lateral motion of a point mass is optimized. In step 3 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 problems in step 1 and 2 are 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::DecoupledLFLCPlanner< K, P >::TInformationSet |
typedef adore::mad::LQ_OC_single_shooting<N,R,K,P> adore::fun::DecoupledLFLCPlanner< K, P >::TOffsetSolver |
typedef adore::mad::LQ_OC_single_shooting<N,R,K,P> adore::fun::DecoupledLFLCPlanner< K, P >::TProgressSolver |
|
inline |
|
inlineoverridevirtual |
compute - try to compute a trajectory according to given constraints and objective
Implements adore::fun::ANominalPlanner.
|
inlineoverridevirtual |
getCPUTime - return the time require for trajectory planning in seconds
Implements adore::fun::ANominalPlanner.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
getSetPointRequest - return computed trajectory in the form of a SetPointRequest
Implements adore::fun::ANominalPlanner.
|
inline |
|
inlineoverridevirtual |
hasValidPlan - return true, if a trajectory was computed, which satisfies given constraints
Implements adore::fun::ANominalPlanner.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
prepare_offset_computation - sets up the constraints for the lateral optimization problem
|
inlineprivate |
prepare_progress_computation - sets up the constraints for the longitudinal optimization problem
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
static |
|
private |
|
private |
|
private |
|
private |
|
private |
|
static |
|
private |
end time of plan, defines planning horizon as [0,T_end_]
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
time steps, incl. 0 at 0
|
private |
the result as a set-point request