48 #ifndef FASTRACK_STATE_POSITION_VELOCITY_REL_PLANAR_DUBINS_3D_H 49 #define FASTRACK_STATE_POSITION_VELOCITY_REL_PLANAR_DUBINS_3D_H 67 :
distance_(std::hypot(tracker_x.X() - planner_x.X(),
68 tracker_x.Y() - planner_x.Y())),
69 bearing_(std::atan2(tracker_x.Y() - planner_x.Y(),
70 tracker_x.X() - planner_x.X())),
72 std::sin(planner_x.Theta()) * tracker_x.Vy()),
74 std::cos(planner_x.Theta()) * tracker_x.Vy()) {}
84 double tangent_v,
double normal_v)
93 throw std::runtime_error(
"Vector was of incorrect dimension.");
PositionVelocityRelPlanarDubins3D(double distance, double bearing, double tangent_v, double normal_v)
VectorXd ToVector() const
void FromVector(const VectorXd &x)
double TangentVelocity() const
PositionVelocityRelPlanarDubins3D(const VectorXd &x)
double NormalVelocity() const
~PositionVelocityRelPlanarDubins3D()
PositionVelocityRelPlanarDubins3D(const PositionVelocity &tracker_x, const PlanarDubins3D &planner_x)
static constexpr size_t StateDimension()