#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