39 const std::vector<double>& XYbounds,
41 CHECK_EQ(XYbounds.size(), 4U)
42 <<
"XYbounds size is not 4, but" << XYbounds.size();
48 x_grid_ =
static_cast<int>(
51 y_grid_ =
static_cast<int>(
54 phi_grid_ =
static_cast<int>(
58 traversed_x_.push_back(x);
59 traversed_y_.push_back(y);
60 traversed_phi_.push_back(phi);
62 index_ = ComputeStringIndex(x_grid_, y_grid_, phi_grid_);
66 const std::vector<double>& traversed_y,
67 const std::vector<double>& traversed_phi,
68 const std::vector<double>& XYbounds,
70 CHECK_EQ(XYbounds.size(), 4U)
71 <<
"XYbounds size is not 4, but" << XYbounds.size();
72 CHECK_EQ(traversed_x.size(), traversed_y.size());
73 CHECK_EQ(traversed_x.size(), traversed_phi.size());
75 x_ = traversed_x.back();
76 y_ = traversed_y.back();
77 phi_ = traversed_phi.back();
80 x_grid_ =
static_cast<int>(
83 y_grid_ =
static_cast<int>(
86 phi_grid_ =
static_cast<int>(
90 traversed_x_ = traversed_x;
91 traversed_y_ = traversed_y;
92 traversed_phi_ = traversed_phi;
94 index_ = ComputeStringIndex(x_grid_, y_grid_, phi_grid_);
95 step_size_ = traversed_x.size();
99 const double x,
const double y,
const double phi) {
100 double ego_length = vehicle_param_.
length();
101 double ego_width = vehicle_param_.
width();
102 double shift_distance =
105 {x + shift_distance * std::cos(phi), y + shift_distance * std::sin(phi)},
106 phi, ego_length, ego_width);