15 #ifndef NAV2_SMAC_PLANNER__CONSTANTS_HPP_
16 #define NAV2_SMAC_PLANNER__CONSTANTS_HPP_
20 namespace nav2_smac_planner
22 enum class MotionModel
32 enum class GoalHeadingMode
40 inline std::string toString(
const MotionModel & n)
43 case MotionModel::TWOD:
45 case MotionModel::DUBIN:
47 case MotionModel::REEDS_SHEPP:
49 case MotionModel::STATE_LATTICE:
50 return "State Lattice";
56 inline MotionModel fromString(
const std::string & n)
59 return MotionModel::TWOD;
60 }
else if (n ==
"DUBIN") {
61 return MotionModel::DUBIN;
62 }
else if (n ==
"REEDS_SHEPP") {
63 return MotionModel::REEDS_SHEPP;
64 }
else if (n ==
"STATE_LATTICE") {
65 return MotionModel::STATE_LATTICE;
67 return MotionModel::UNKNOWN;
71 inline std::string toString(
const GoalHeadingMode & n)
74 case GoalHeadingMode::DEFAULT:
76 case GoalHeadingMode::BIDIRECTIONAL:
77 return "BIDIRECTIONAL";
78 case GoalHeadingMode::ALL_DIRECTION:
79 return "ALL_DIRECTION";
85 inline GoalHeadingMode fromStringToGH(
const std::string & n)
88 return GoalHeadingMode::DEFAULT;
89 }
else if (n ==
"BIDIRECTIONAL") {
90 return GoalHeadingMode::BIDIRECTIONAL;
91 }
else if (n ==
"ALL_DIRECTION") {
92 return GoalHeadingMode::ALL_DIRECTION;
94 return GoalHeadingMode::UNKNOWN;
98 const float UNKNOWN_COST = 255.0;
99 const float OCCUPIED_COST = 254.0;
100 const float INSCRIBED_COST = 253.0;
101 const float MAX_NON_OBSTACLE_COST = 252.0;
102 const float FREE_COST = 0;