#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