32 const Point &start,
const Point &destination,
const Vector &initial_velocity,
34 const std::vector<ObstaclePtr> &obstacles,
const Rectangle &navigable_area,
35 const std::optional<Point> &prev_sub_destination = std::nullopt);
58 const Point &start,
const Point &destination,
const Vector &initial_velocity,
60 const std::vector<ObstaclePtr> &obstacles);
73 const TrajectoryPath &trajectory,
const std::vector<ObstaclePtr> &obstacles,
74 const std::optional<TrajectoryPathWithCost> &sub_traj_with_cost,
75 const std::optional<double> sub_traj_duration_s);
88 const std::vector<ObstaclePtr> &obstacles,
89 const double search_end_time_s)
const;
103 std::pair<double, ObstaclePtr> getFirstCollisionTime(
104 const TrajectoryPath &traj_path,
const std::vector<ObstaclePtr> &obstacles,
105 const double start_time_s,
const double search_end_time_s)
const;
120 const std::vector<ObstaclePtr> &obstacles,
121 const double search_end_time_s)
const;
133 std::vector<Point> getSubDestinations(
const Point &start,
const Point &destination,
142 static std::vector<Vector> getRelativeSubDestinations();
144 const std::vector<Vector> relative_sub_destinations;
145 static constexpr std::array<double, 4> SUB_DESTINATION_DISTANCES_METERS = {0.4, 1.1,
147 static constexpr unsigned int NUM_SUB_DESTINATION_ANGLES = 16;
151 const double SUB_DESTINATION_STEP_INTERVAL_SEC = 0.2;
152 const double COLLISION_CHECK_STEP_INTERVAL_SEC = 0.1;
153 const double FORWARD_COLLISION_CHECK_STEP_INTERVAL_SEC = 0.05;
154 const double MAX_FUTURE_COLLISION_CHECK_SEC = 2.0;
156 const double SUB_DESTINATION_CLOSE_BONUS_THRESHOLD_METERS = 0.1;
157 const double SUB_DESTINATION_CLOSE_BONUS_COST = -0.3;
std::optional< TrajectoryPath > findTrajectory(const Point &start, const Point &destination, const Vector &initial_velocity, const KinematicConstraints &constraints, const std::vector< ObstaclePtr > &obstacles, const Rectangle &navigable_area, const std::optional< Point > &prev_sub_destination=std::nullopt)
Definition trajectory_planner.cpp:56