Class Plan::Waypoint
Defined in File Planner.hpp
Nested Relationships
This class is a nested type of Class Plan.
Class Documentation
-
class Waypoint
-
This class helps to discretize a Plan based on the Waypoints belonging to the agv::Graph. Each Graph::Waypoint that the Plan stops or turns at will be accounted for by a Plan::Waypoint.
To indicate the intended orientation, each of these Waypoints provides an Eigen::Vector3d where the third element is the orientation.
The time that the position is meant to be arrived at is also given by the Waypoint.
Note
Users are not allowed to make their own Waypoint instances, because it is too easy to accidentally get inconsistencies in the position and graph_index fields. Plan::Waypoints can only be created by Plan instances and can only be retrieved using Plan::get_waypoints().
Public Functions
-
const Eigen::Vector3d &position() const
Get the position for this Waypoint.
-
std::optional<std::size_t> graph_index() const
Get the graph index of this Waypoint.
-
const std::vector<std::size_t> &approach_lanes() const
Get the graph indices of the lanes that will be traversed on the way to this Waypoint. This will have multiple values if the robot is able to move straight through multiple lanes without stopping to reach this Waypoint. It will be empty if the robot does not need to traverse any lanes to reach this Waypoint (e.g. it is simply turning in place).
-
const std::vector<Progress> &progress_checkpoints() const
Points on the graph that will be passed along the way to this waypoint.
-
const Checkpoints &arrival_checkpoints() const
Points in the itinerary that have been reached when the robot arrives at this waypoint.
-
std::size_t itinerary_index() const
-
std::size_t trajectory_index() const
-
const Dependencies &dependencies() const
The dependencies on other traffic participants that must be satisfied before leaving this waypoint.
-
const Eigen::Vector3d &position() const