#include <mrmplanner.h>


Public Types | |
| typedef adore::mad::LLinearPiecewiseFunctionM< double, N+R > | TPartialPlan |
| typedef InformationSetPostProcessing< 4, 2 > | TPostProcessConstraints |
Public Member Functions | |
| void | setJMax (double value) |
| void | setTStall (double value) |
| void | setAStall (double value) |
| void | setAMin (double value) |
| void | setSecondAttempt (bool value) |
| MRMPlanner (adore::view::ALane *lfv, adore::params::APLateralPlanner *aplat, adore::params::APVehicle *apvehicle, adore::params::APTrajectoryGeneration *aptrajectory) | |
| TPostProcessConstraints::TInformationSet & | getInformationSet () |
| double | amin_medium_brake_trapezoidal (double v0, double a0, double jmin) const |
| minimum acceleration that can be achieved before inverting jerk to end with v=0 and a=0 More... | |
| void | t_short_brake_trapezoidal (double v0, double a0, double jmin, double t3) |
| times required for ramp up during short brake More... | |
| void | t_medium_brake_trapezoidal (double v0, double a0, double jmin, double &t1, double &t3) const |
| times required for ramp down and ramp up during medium brake More... | |
| void | t_long_brake_trapezoidal (double v0, double a0, double amin, double jmin, double &t1, double &t2, double &t3) const |
| times required for ramp down, constant and ramp up during long brake More... | |
| int | brake_case_trapezoidal (double v0, double a0, double amin, double jmin) const |
| void | brake_params_trapezoidal (double v0, double a0, double amin, double jmin, double &a1, double &t1, double &t2, double &t3) |
| general parameters More... | |
| double | a_brake_trapezoidal (double t, double a0, double a1, double jmin, double t1, double t2, double t3) |
| double | j_brake_trapezoidal (double t, double jmin, double t1, double t2, double t3) |
| virtual void | compute (const VehicleMotionState9d &initial_state) |
| TPartialPlan & | getLongitudinalPlan () |
| TPartialPlan & | getLateralPlan () |
| LateralPlanner< K, P > & | getOffsetSolver () |
| virtual bool | hasValidPlan () const |
| virtual const SetPointRequest * | getSetPointRequest () const |
| virtual double | getCPUTime () const |
Static Public Attributes | |
| static const int | N = 3 |
| static const int | R = 1 |
Private Attributes | |
| LateralPlanner< K, P > | lateralPlanner_ |
| TPartialPlan | longitudinal_plan_ |
| TPostProcessConstraints | postproc_ |
| RoadCoordinateConverter | roadCoordinates_ |
| adore::params::APTrajectoryGeneration * | aptraj_ |
| adore::params::APVehicle * | apvehicle_ |
| double | jmax_ |
| double | tstall_ |
| double | astall_ |
| double | amin_ |
| bool | second_attempt_ |
| bool | longitudinal_plan_valid_ |
MRMPlanner uses a fixed acceleration profile and LateralPlanner to compute a braking trajectory. The fixed acceleration profile consists of two phases with different accelerations and may be parametrized by tstall, the duration of phase 0, astall, the acceleration of phase 0 and amin, the acceleration of phase 1. The lateral motion is constrained to the current lane. If the trajectory with two phases (delayed action) is invalid, a trajectory with immediate deceleration with amin will be attempted.
| typedef adore::mad::LLinearPiecewiseFunctionM<double,N+R> adore::fun::MRMPlanner< K, P >::TPartialPlan |
| typedef InformationSetPostProcessing<4,2> adore::fun::MRMPlanner< K, P >::TPostProcessConstraints |
|
inline |

|
inline |

|
inline |
minimum acceleration that can be achieved before inverting jerk to end with v=0 and a=0

|
inline |


|
inline |
general parameters


|
inlinevirtual |
compute - try to compute a trajectory according to given constraints and objective
Implements adore::fun::ANominalPlanner.


|
inlinevirtual |
getCPUTime - return the time require for trajectory planning in seconds
Implements adore::fun::ANominalPlanner.
|
inline |


|
inline |

|
inline |

|
inline |
provide reference to lateralPlanner for manipulation of constraints and references

|
inlinevirtual |
getSetPointRequest - return computed trajectory in the form of a SetPointRequest
Implements adore::fun::ANominalPlanner.

|
inlinevirtual |
hasValidPlan - return true, if a trajectory was computed, which satisfies given constraints
Implements adore::fun::ANominalPlanner.

|
inline |

|
inline |

|
inline |

|
inline |

|
inline |

|
inline |

|
inline |
times required for ramp down, constant and ramp up during long brake

|
inline |
times required for ramp down and ramp up during medium brake


|
inline |
times required for ramp up during short brake

|
private |
delayed, hard deceleration value
|
private |
|
private |
|
private |
initial, soft deceleration value
|
private |
maximum absolute longitudinal accelration
|
private |
|
private |
|
private |
is true, if a valid longitudinal trajectory is available
|
static |
|
private |
|
static |
|
private |
|
private |
if trajectory with tstall_ is invalid and second_attempt_ is true, a trajectory with immediate amin with computed
|
private |
delay, during which astall_ is applied. after tstall_, amin_ is applied. set tstall to 0 to gain immediate braking maneuver