#include <setpointrequest.h>
Public Member Functions | |
SetPointRequest () | |
virtual | ~SetPointRequest () |
void | push_back (const SetPoint &setPoint) |
void | append (const adoreMatrix< double, 1, 0 > &T, const adoreMatrix< double, 0, 0 > &X, int N, int maneuverID=0) |
void | setStartTime (double new_t0) |
double | getDuration () const |
PlanarVehicleState10d | interpolateReference (double t, adore::params::APVehicle *p) const |
SetPoint | interpolateSetPoint (double t, adore::params::APVehicle *p) const |
void | relocate (double deltaX, double deltaY, double new_PSI0) |
void | relocateTo (double newX0, double newY0, double new_PSI0) |
void | removeAfter (double t) |
int | numberOfDistinctManeuvers () |
void | compress (int targetCount) |
void | copySetPointInterval (double t0, double t1, SetPointRequest &destination) const |
void | copyTo (SetPointRequest &destination) const |
void | copySetPointInterval (double t0, double t1, SetPointRequest &destination, int maneuverID) const |
void | copyTo (SetPointRequest &destination, int maneuverID) const |
bool | isActive (double t) const |
bool | isPending (double t) const |
bool | isDone (double t) const |
int | getActiveElementNumber (double t) const |
adore::mad::LLinearPiecewiseFunctionM< double, 4 > | getTrajectory () |
void | cropAfterFirstStop (double vxslow) |
remove SetPoints after first stop Method looks for first downward zero crossing of vx and removes all SetPoints at zero crossing and after. More... | |
Public Attributes | |
std::vector< SetPoint > | setPoints |
int | setPointRequestID |
A description of a reference trajectory. Consisting of a queue of SetPoints, SetPointRequest defines the reference vehicle behavior during a longer time interval consisting of the sub-intervals of separate SetPoints.
|
inline |
|
inlinevirtual |
|
inline |
Add N new SetPoints to the end of the trajectory. Data for new SetPoints is retrieved from a state matrix.
T | time steps |
X | state matrix of size #x * #T |
N | number of SetPoints to be appended, step size is changed accordingly |
maneuverID | maneuver type |
|
inline |
resize the spr to the desired number of setpoints
|
inline |
copy a SetPoints in a given time interval to a destination SetPointRequest
|
inline |
copy a SetPoints in a given time interval to a destination SetPointRequest and change their maneuverID
|
inline |
|
inline |
copy all SetPoints to a destionation SetPointRequest
|
inline |
remove SetPoints after first stop Method looks for first downward zero crossing of vx and removes all SetPoints at zero crossing and after.
vxslow | terminal speed, defining the zero line for which zero crossing is detected |
|
inline |
|
inline |
|
inline |
Convert SetPointRequest to a state matrix representation with states [X,Y,PSI,vx].
|
inline |
Retrieve the reference vehicle state for an exact time t. In the general case t is located between discrete time steps. The reference is then interpolated by forwards integration.
t | the desired point of time |
p | vehicle parameters used for forwards integration |
|
inline |
|
inline |
|
inline |
test whether SetPointRequest ends before time t
|
inline |
test whether SetPointRequest has a reference for time t or starts after time t
|
inline |
count the number of distinct maneuver ids
|
inline |
|
inline |
Rotate and translate the reference trajectory to another initial position.
deltaX | the shift by X coordinate |
deltaY | the shift by Y coordinate |
new_PSI0 | the new initial heading/direction |
q = R(psi)(p-p0)+p1
|
inline |
Rotate and translate the reference trajectory to another initial position.
newX0 | the new origin X coordinate |
newY0 | the new origin Y coordinate |
new_PSI0 | the new initial heading/direction |
|
inline |
Remove entries after a certain point of time
t | maximum time to be contained |
|
inline |
shift the reference trajectory in time
new_t0 | the new start time |
int adore::fun::SetPointRequest::setPointRequestID |
id of reference trajectory, incremented with each update to track changes
std::vector<SetPoint> adore::fun::SetPointRequest::setPoints |
SetPoints, ordered by time