Go to the documentation of this file.
36 #include <condition_variable>
54 return std::holds_alternative<core::GoalReachedEvent>(event);
60 return std::get<core::GoalReachedEvent>(event);
66 return std::holds_alternative<core::SafetyStopTriggeredEvent>(event);
72 return std::get<core::SafetyStopTriggeredEvent>(event);
78 return std::holds_alternative<core::UserAbortTriggeredEvent>(event);
84 return std::get<core::UserAbortTriggeredEvent>(event);
90 return std::holds_alternative<core::InternalErrorEvent>(event);
96 return std::get<core::InternalErrorEvent>(event);
145 void onGoalReached(
const std::function<
void(
void)>& callback);
160 std::condition_variable
cv;
164 InjectedServices srv;
void onGoalReached(const std::function< void(void)> &callback)
bool isGoalReachedEvent() const
StopEvent waitForStop(std::int64_t timeoutMs=-1)
core::SafetyStopTriggeredEvent & toSafetyStopTriggeredEvent()
bool isInternalErrorEvent() const
core::GoalReachedEvent & toGoalReachedEvent()
Event describing the occurance of an internal unhandled error.
core::InternalErrorEvent & toInternalErrorEvent()
Navigator interface for PointGoal navigation (with waypoints) and relative movement.
This file is part of ArmarX.
core::NavigatorInterface * navigator
std::condition_variable cv
void update(const std::vector< core::Pose > &waypoints, core::NavigationFrame frame)
core::UserAbortTriggeredEvent & toUserAbortTriggeredEvent()
void onWaypointReached(const std::function< void(int)> &callback)
std::optional< StopEvent > event
bool isUserAbortTriggeredEvent() const
bool isSafetyStopTriggeredEvent() const
Navigator(const InjectedServices &services)
Event describing that for security reasons, the robot was stopped completely.
void moveToLocation(const std::string &location)
void moveTowards(const core::Direction &direction, core::NavigationFrame frame)
Event describing that the user aborted the current execution.
Event describing that the targeted goal was successfully reached.
Eigen::Vector3f Direction
EventSubscriptionInterface * subscriber
void moveTo(const core::Pose &pose, core::NavigationFrame frame)