27#include "modules/common_msgs/config_msgs/vehicle_config.pb.h"
28#include "modules/planning/planning_open_space/proto/planner_open_space_config.pb.h"
37 Node3d(
const double x,
const double y,
const double phi);
41 const std::vector<double>& XYbounds,
43 Node3d(
const std::vector<double>& traversed_x,
44 const std::vector<double>& traversed_y,
45 const std::vector<double>& traversed_phi,
46 const std::vector<double>& XYbounds,
55 return traj_cost_ + heuristic_cost_;
61 return heuristic_cost_;
94 const std::vector<double>&
GetXs()
const {
97 const std::vector<double>&
GetYs()
const {
101 return traversed_phi_;
104 return travel_distance_;
106 void SetPre(std::shared_ptr<Node3d> pre_node) {
107 pre_node_ = pre_node;
110 direction_ = direction;
116 heuristic_cost_ = cost;
119 steering_ = steering;
122 travel_distance_ = dist;
126 static std::string ComputeStringIndex(
127 int x_grid,
int y_grid,
int phi_grid);
133 size_t step_size_ = 1;
134 std::vector<double> traversed_x_;
135 std::vector<double> traversed_y_;
136 std::vector<double> traversed_phi_;
141 double traj_cost_ = 0.0;
142 double heuristic_cost_ = 0.0;
144 std::shared_ptr<Node3d> pre_node_ =
nullptr;
145 double steering_ = 0.0;
147 bool direction_ =
true;
149 double travel_distance_ = 0.0;
156 const std::vector<double>& XYbounds,
159 Node3d(
const std::vector<double>& traversed_x,
160 const std::vector<double>& traversed_y,
161 const std::vector<double>& traversed_phi,
162 const std::vector<double>& XYbounds,
Rectangular (undirected) bounding box in 2-D.
bool operator==(const Node3d &right) const
const std::vector< double > & GetYs() const
Node3d(const std::vector< double > &traversed_x, const std::vector< double > &traversed_y, const std::vector< double > &traversed_phi, const std::vector< double > &XYbounds, const WarmStartConfig &warm_start_conf)
const std::vector< double > & GetPhis() const
const std::string & GetIndex() const
size_t GetStepSize() const
virtual ~Node3d()=default
void SetHeuCost(double cost)
void SetTravelDist(double dist)
static apollo::common::math::Box2d GetBoundingBox(const common::VehicleParam &vehicle_param_, const double x, const double y, const double phi)
void SetTrajCost(double cost)
void SetDirec(bool direction)
void SetPre(std::shared_ptr< Node3d > pre_node)
Node3d(const double x, const double y, const double phi, const std::vector< double > &XYbounds, const WarmStartConfig &warm_start_conf)
double GetTrajCost() const
double GetHeuCost() const
const double & GetTravelDist() const
const std::vector< double > & GetXs() const
std::shared_ptr< Node3d > GetPreNode() const
void SetSteer(double steering)
Planning module main class.