28using ::cl_nav2z::odom_tracker::CpOdomTracker;
29using ::cl_nav2z::odom_tracker::WorkingMode;
31using namespace std::chrono_literals;
53 nav2_msgs::action::NavigateToPose::Goal goal;
58 if (forwardpath.poses.size() > 0)
60 goal.pose = forwardpath.poses.front();
61 goal.pose.header.stamp = rclcpp::Time(0);
68 "[" <<
getName() <<
"] Undoing path with controller: " << *
options_->undoControllerName_);
85 rclcpp::sleep_for(std::chrono::milliseconds(500));
87 RCLCPP_INFO_STREAM(
getLogger(),
"[" <<
getName() <<
"] activating undo navigation planner");
104 RCLCPP_INFO_STREAM(
getLogger(),
"[" <<
getName() <<
"] Exiting: undo navigation ");
113 getLogger(),
getName() <<
" - [CbUndoPathBackwards] Exiting: undo navigation successful, "
114 "popping odom tracker path");
122 getLogger(),
getName() <<
" - [CbUndoPathBackwards] Exiting: undo navigation abort, avoiding "
123 "popping current path");
rclcpp_action::ResultCode navigationResult_
std::optional< CbUndoPathBackwardsOptions > options_
CpOdomTracker * odomTracker
CbUndoPathBackwards(std::optional< CbUndoPathBackwardsOptions > options=std::nullopt)
void setGoalCheckerId(std::string goal_checker_id)
void setUndoPathBackwardPlanner(bool commit=true)
void setDesiredController(std::string)
void popPath(int pathCount=1, bool keepPreviousPath=false)
nav_msgs::msg::Path getPath()
void setWorkingMode(WorkingMode workingMode)
void logStateString(bool debug=true)
std::string getName() const
virtual rclcpp::Logger getLogger() const
void requiresComponent(SmaccComponentType *&storage, ComponentRequirement requirementType=ComponentRequirement::SOFT)
bool sendGoal(Goal &goal)