#include <anominalplanner.h>
Public Types | |
enum | ConstraintDirection { LB , UB } |
Public Member Functions | |
virtual double | getValue (double t, double s, double ds) const =0 |
virtual void | update (double t0, double s0, double ds0)=0 |
virtual ConstraintDirection | getDirection ()=0 |
virtual int | getDimension ()=0 |
virtual int | getDerivative ()=0 |
Interface for constriants specified in road-relative coordinates.
|
pure virtual |
Determine for which derivative of given dimension this constraint is responsible.
Implemented in adore::fun::LateralOffsetConstraintLM, adore::fun::FollowPrecedingVehicleOnLaneToBeLeft_BrakingCurve, adore::fun::AdvancedLateralOffsetConstraintLC, adore::fun::LateralOffsetConstraintLC, adore::fun::StopAtNextConflictPoint, adore::fun::StopAtNextGoalPoint, adore::fun::AdhereToNextLimitLine, adore::fun::LowerBoundSGapToPrecedingVehicle, adore::fun::FollowPrecedingVehicle_BreakingCurve, adore::fun::FollowPrecedingVehicle, adore::fun::LongitudinalAccelerationConstraint, adore::fun::LateralOffsetConstraintLF, adore::fun::DistanceToLaneEndConstraint, adore::fun::LFVSpeedLimit, adore::fun::HeadingConstraint, adore::fun::LateralAccelerationConstraint, adore::fun::BreakAtHorizon, adore::fun::StopAtBottleneckLFV, adore::fun::LaneWidthSpeedLimitLFV, adore::fun::DontDriveBackwards, adore::fun::CurvatureSpeedLimitPredict, adore::fun::CurvatureSpeedLimitSmooth, and adore::fun::CurvatureSpeedLimit.
|
pure virtual |
Determine for which dimension this constraint is responsible (e.g. longitudinal, lateral, etc.)
Implemented in adore::fun::LateralOffsetConstraintLM, adore::fun::FollowPrecedingVehicleOnLaneToBeLeft_BrakingCurve, adore::fun::AdvancedLateralOffsetConstraintLC, adore::fun::LateralOffsetConstraintLC, adore::fun::StopAtNextConflictPoint, adore::fun::StopAtNextGoalPoint, adore::fun::AdhereToNextLimitLine, adore::fun::LowerBoundSGapToPrecedingVehicle, adore::fun::FollowPrecedingVehicle_BreakingCurve, adore::fun::FollowPrecedingVehicle, adore::fun::LongitudinalAccelerationConstraint, adore::fun::LateralOffsetConstraintLF, adore::fun::DistanceToLaneEndConstraint, adore::fun::LFVSpeedLimit, adore::fun::HeadingConstraint, adore::fun::LateralAccelerationConstraint, adore::fun::BreakAtHorizon, adore::fun::StopAtBottleneckLFV, adore::fun::LaneWidthSpeedLimitLFV, adore::fun::DontDriveBackwards, adore::fun::CurvatureSpeedLimitPredict, adore::fun::CurvatureSpeedLimitSmooth, and adore::fun::CurvatureSpeedLimit.
|
pure virtual |
Determine whether this constraint is an upper or lower bound.
Implemented in adore::fun::LateralOffsetConstraintLM, adore::fun::FollowPrecedingVehicleOnLaneToBeLeft_BrakingCurve, adore::fun::AdvancedLateralOffsetConstraintLC, adore::fun::LateralOffsetConstraintLC, adore::fun::StopAtNextConflictPoint, adore::fun::StopAtNextGoalPoint, adore::fun::AdhereToNextLimitLine, adore::fun::LowerBoundSGapToPrecedingVehicle, adore::fun::FollowPrecedingVehicle_BreakingCurve, adore::fun::FollowPrecedingVehicle, adore::fun::LongitudinalAccelerationConstraint, adore::fun::LateralOffsetConstraintLF, adore::fun::DistanceToLaneEndConstraint, adore::fun::LFVSpeedLimit, adore::fun::HeadingConstraint, adore::fun::LateralAccelerationConstraint, adore::fun::BreakAtHorizon, adore::fun::StopAtBottleneckLFV, adore::fun::LaneWidthSpeedLimitLFV, adore::fun::DontDriveBackwards, adore::fun::CurvatureSpeedLimitPredict, adore::fun::CurvatureSpeedLimitSmooth, and adore::fun::CurvatureSpeedLimit.
|
pure virtual |
return the value of the constraint at a certain time and position
t | the time |
s | progress along the road-relative coordinate system |
ds | derivative of s |
Implemented in adore::fun::LateralOffsetConstraintLM, adore::fun::FollowPrecedingVehicleOnLaneToBeLeft_BrakingCurve, adore::fun::AdvancedLateralOffsetConstraintLC, adore::fun::LateralOffsetConstraintLC, adore::fun::StopAtNextConflictPoint, adore::fun::StopAtNextGoalPoint, adore::fun::AdhereToNextLimitLine, adore::fun::LowerBoundSGapToPrecedingVehicle, adore::fun::FollowPrecedingVehicle_BreakingCurve, adore::fun::FollowPrecedingVehicle, adore::fun::LongitudinalAccelerationConstraint, adore::fun::LateralOffsetConstraintLF, adore::fun::DistanceToLaneEndConstraint, adore::fun::LFVSpeedLimit, adore::fun::HeadingConstraint, adore::fun::LateralAccelerationConstraint, adore::fun::BreakAtHorizon, adore::fun::StopAtBottleneckLFV, adore::fun::LaneWidthSpeedLimitLFV, adore::fun::DontDriveBackwards, adore::fun::CurvatureSpeedLimitPredict, adore::fun::CurvatureSpeedLimitSmooth, and adore::fun::CurvatureSpeedLimit.
|
pure virtual |
Refresh values of the constraint object. Allows parameters and precomputations to buffered for one planning cycle.
t0 | start time for planning |
s0 | start progress in road-relative coordinate system |
ds0 | derivative of s at t0 |
Implemented in adore::fun::LateralOffsetConstraintLM, adore::fun::FollowPrecedingVehicleOnLaneToBeLeft_BrakingCurve, adore::fun::AdvancedLateralOffsetConstraintLC, adore::fun::LateralOffsetConstraintLC, adore::fun::StopAtNextConflictPoint, adore::fun::StopAtNextGoalPoint, adore::fun::AdhereToNextLimitLine, adore::fun::LowerBoundSGapToPrecedingVehicle, adore::fun::FollowPrecedingVehicle_BreakingCurve, adore::fun::FollowPrecedingVehicle, adore::fun::LongitudinalAccelerationConstraint, adore::fun::LateralOffsetConstraintLF, adore::fun::DistanceToLaneEndConstraint, adore::fun::LFVSpeedLimit, adore::fun::HeadingConstraint, adore::fun::LateralAccelerationConstraint, adore::fun::BreakAtHorizon, adore::fun::StopAtBottleneckLFV, adore::fun::LaneWidthSpeedLimitLFV, adore::fun::DontDriveBackwards, adore::fun::CurvatureSpeedLimitPredict, adore::fun::CurvatureSpeedLimitSmooth, and adore::fun::CurvatureSpeedLimit.