-
Notifications
You must be signed in to change notification settings - Fork 1
/
path_planner.hpp
49 lines (35 loc) · 1.31 KB
/
path_planner.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
// Created by aoool on 8/8/18.
//
#ifndef PATH_PLANNING_PATHPLANNER_H
#define PATH_PLANNING_PATHPLANNER_H
#include "car.hpp"
#include "path_planner_config.hpp"
#include "trajectory_layer.hpp"
#include "localization_layer.hpp"
#include "prediction_layer.hpp"
#include "behavior_layer.hpp"
#include <vector>
class PathPlanner {
public:
PathPlanner(PathPlannerConfig config);
virtual ~PathPlanner();
/**
* Generate X and Y tracks for the car, that is, plan its path.
* @return vector containing 2 vectors with X and Y coordinates correspondingly
*/
std::vector< std::vector< double > >& GetNextXYTrajectories(const Car& current_ego_car,
const std::vector<double>& prev_path_x_m,
const std::vector<double>& prev_path_y_m,
const std::vector< std::vector<double> >& sensor_fusion);
const PathPlannerConfig& GetPathPlannerConfig() const;
private:
PathPlannerConfig config_;
std::vector< std::vector<double> > next_coords_;
Car car_;
LocalizationLayer localization_layer_;
PredictionLayer prediction_layer_;
BehaviorLayer behavior_layer_;
TrajectoryLayer trajectory_layer_;
};
#endif //PATH_PLANNING_PATHPLANNER_H