29 #include "modules/planning/proto/planner_open_space_config.pb.h" 36 Node3d(
const double x,
const double y,
const double phi);
37 Node3d(
const double x,
const double y,
const double phi,
38 const std::vector<double>& XYbounds,
39 const PlannerOpenSpaceConfig& open_space_conf);
40 Node3d(
const std::vector<double>& traversed_x,
41 const std::vector<double>& traversed_y,
42 const std::vector<double>& traversed_phi,
43 const std::vector<double>& XYbounds,
44 const PlannerOpenSpaceConfig& open_space_conf);
47 const common::VehicleParam& vehicle_param_,
const double x,
48 const double y,
const double phi);
49 double GetCost()
const {
return traj_cost_ + heuristic_cost_; }
55 double GetX()
const {
return x_; }
56 double GetY()
const {
return y_; }
57 double GetPhi()
const {
return phi_; }
59 const std::string&
GetIndex()
const {
return index_; }
63 std::shared_ptr<Node3d>
GetPreNode()
const {
return pre_node_; }
64 const std::vector<double>&
GetXs()
const {
return traversed_x_; }
65 const std::vector<double>&
GetYs()
const {
return traversed_y_; }
66 const std::vector<double>&
GetPhis()
const {
return traversed_phi_; }
67 void SetPre(std::shared_ptr<Node3d> pre_node) { pre_node_ = pre_node; }
68 void SetDirec(
bool direction) { direction_ = direction; }
71 void SetSteer(
double steering) { steering_ = steering; }
74 static std::string ComputeStringIndex(
int x_grid,
int y_grid,
int phi_grid);
80 size_t step_size_ = 1;
81 std::vector<double> traversed_x_;
82 std::vector<double> traversed_y_;
83 std::vector<double> traversed_phi_;
88 double traj_cost_ = 0.0;
89 double heuristic_cost_ = 0.0;
91 std::shared_ptr<Node3d> pre_node_ =
nullptr;
92 double steering_ = 0.0;
94 bool direction_ =
true;
const std::vector< double > & GetPhis() const
Definition: node3d.h:66
double GetY() const
Definition: node3d.h:56
double GetTrajCost() const
Definition: node3d.h:50
void SetTrajCost(double cost)
Definition: node3d.h:69
double GetX() const
Definition: node3d.h:55
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
bool operator==(const Node3d &right) const
Planning module main class. It processes GPS and IMU as input, to generate planning info...
void SetSteer(double steering)
Definition: node3d.h:71
Node3d(const double x, const double y, const double phi)
double GetPhi() const
Definition: node3d.h:57
Rectangular (undirected) bounding box in 2-D.
Definition: box2d.h:52
double GetSteer() const
Definition: node3d.h:62
void SetHeuCost(double cost)
Definition: node3d.h:70
const std::vector< double > & GetYs() const
Definition: node3d.h:65
const std::vector< double > & GetXs() const
Definition: node3d.h:64
static apollo::common::math::Box2d GetBoundingBox(const common::VehicleParam &vehicle_param_, const double x, const double y, const double phi)
void SetDirec(bool direction)
Definition: node3d.h:68
double GetCost() const
Definition: node3d.h:49
std::shared_ptr< Node3d > GetPreNode() const
Definition: node3d.h:63
bool GetDirec() const
Definition: node3d.h:61
virtual ~Node3d()=default
int GetGridPhi() const
Definition: node3d.h:54
int GetGridX() const
Definition: node3d.h:52
size_t GetStepSize() const
Definition: node3d.h:60
int GetGridY() const
Definition: node3d.h:53
The class of Box2d. Here, the x/y axes are respectively Forward/Left, as opposed to what happens in e...
const std::string & GetIndex() const
Definition: node3d.h:59
double GetHeuCost() const
Definition: node3d.h:51
void SetPre(std::shared_ptr< Node3d > pre_node)
Definition: node3d.h:67