Class TurningBase
Defined in File turning_base.h
Inheritance Relationships
Derived Types
public f2c::pp::DubinsCurves
(Class DubinsCurves)public f2c::pp::DubinsCurvesCC
(Class DubinsCurvesCC)public f2c::pp::ReedsSheppCurves
(Class ReedsSheppCurves)public f2c::pp::ReedsSheppCurvesHC
(Class ReedsSheppCurvesHC)
Class Documentation
-
class TurningBase
Base class for turn planners.
Subclassed by f2c::pp::DubinsCurves, f2c::pp::DubinsCurvesCC, f2c::pp::ReedsSheppCurves, f2c::pp::ReedsSheppCurvesHC
Public Functions
-
F2CPath createTurn(const F2CRobot &robot, const F2CPoint &start_pos, double start_angle, const F2CPoint &end_pos, double end_angle)
Create a turn that goes from one point with a certain angle to another point.
Start and end point are connected with a line that creates the inferior border of the turn.
- Parameters:
start_pos – Start point
start_angle – Start angle
end_pos – End point
end_angle – End angle
- Returns:
Path with the computed turn
-
F2CPath createTurnIfNotCached(const F2CRobot &robot, double dist_start_pos, double start_angle, double end_angle)
Generate a turn if it has not been computed before.
- Parameters:
dist_start_pos – Distance between start and end point
start_angle – Angle when going into the headland (0 deg is the angle of the headland)
end_angle – Angle when going out of the headland
-
virtual F2CPath createSimpleTurn(const F2CRobot &robot, double dist_start_pos, double start_angle, double end_angle) = 0
Create a turn.
- Parameters:
dist_start_pos – Distance between start and end point
start_angle – Angle when going into the headland (0 deg is the angle of the headland)
end_angle – Angle when going out of the headland
-
double getDiscretization() const
Get discretization distance from points in the turn.
-
void setDiscretization(double d)
Set discretization distance from points in the turn.
-
bool getUsingCache() const
Get if turns are being cached or not.
-
void setUsingCache(bool c)
Set if cache should be used when planning same turn as before.
-
virtual ~TurningBase() = default
Public Static Functions
-
static std::vector<double> transformToNormalTurn(const F2CPoint &start_pos, double start_angle, const F2CPoint &end_pos, double end_angle)
Transform the turn parameters representation from two points with two angles to one distance and two angles.
- Parameters:
start_pos – Start point
start_angle – Start angle
end_pos – End point
end_angle – End angle
- Returns:
Vector with the values of the new representation
-
F2CPath createTurn(const F2CRobot &robot, const F2CPoint &start_pos, double start_angle, const F2CPoint &end_pos, double end_angle)