55#include <SemanticObjectRelations/Shapes/Shape.h>
147 void moveTo(
const std::vector<core::Pose>& waypoints,
153 void update(
const std::vector<core::Pose>& waypoints,
157 void moveTo(
const std::vector<client::WaypointTarget>&
targets,
164 const std::optional<std::string>& providerName)
override;
168 void pause()
override;
172 bool isPaused() const noexcept override;
174 void stop() override;
176 bool isStopped() const noexcept override;
185 using GraphPath =
std::vector<
semrel::ShapeID>;
187 void moveToAbsolute(const
std::vector<
core::
Pose>& waypoints,
bool = true);
188 void moveTowardsAbsolute(const
core::Direction& direction);
190 void updateAbsolute(const
std::vector<
core::
Pose>& waypoints);
192 void moveToAbsoluteAlternatives(const
std::vector<
core::TargetAlternative>&
targets);
193 bool setupTargetAlternatives();
195 void setupGlobalPlanSubvidision();
198 bool startGlobalPathSegment(
bool incrementSegment,
bool rampFromCurrentVelocity);
202 void updateScene(
bool fullUpdate = false);
204 void checkGlobalPathAlternatives();
205 bool verifyGlobalPathPossible(const
core::GlobalTrajectory& plan);
208 void updateExecutor(const
std::optional<
local_planning::LocalPlannerResult>& localPlan);
209 void updateExecutor(const
core::GlobalTrajectory& globalTrajectory);
210 void updateIntrospector(const
std::optional<
local_planning::LocalPlannerResult>& localPlan);
212 void updateMonitor();
219 void stopAllThreads();
227 core::GlobalTrajectory convertToTrajectory(const GraphPath& shortestPath,
232 void setupRamping(
core::GlobalTrajectory&
trajectory,
float startVelocity) const;
234 bool hasLocalPlanner() const noexcept;
235 bool hasSafetyGuard() const;
241 std::atomic_bool executorEnabled = true;
242 std::atomic_bool shouldRun = false;
248 std::vector<
core::TargetAlternative> targetAlternatives;
256 std::mutex globalPlanningRequestMtx;
257 std::optional<Waypoints> globalPlanningRequest;
259 std::atomic<
float> velocityFactor = 1.F;
261 std::mutex updateLocalPlannerMtx;
265 std::mutex runningTaskMtx;
Brief description of class DebugObserverHelper.
The periodic task executes one thread method repeatedly using the time period specified in the constr...
Represents a point in time.
Navigator interface for PointGoal navigation (with waypoints) and relative movement.
A publisher the server navigator will use to notify others about events.
An executer the server navigator will use to send its control commands to.
void moveToAlternatives(const std::vector< core::TargetAlternative > &targets, core::NavigationFrame navigationFrame) override
void moveTowards(const core::Direction &direction, core::NavigationFrame navigationFrame) override
void update(const std::vector< core::Pose > &waypoints, core::NavigationFrame navigationFrame) override
Navigator(const Config &config, const InjectedServices &services)
void setVelocityFactor(float velocityFactor) override
void moveToLocation(const std::string &location, const std::optional< std::string > &providerName) override
bool isPaused() const noexcept override
void moveTo(const std::vector< core::Pose > &waypoints, core::NavigationFrame navigationFrame) override
bool isStopped() const noexcept override
Brief description of class targets.
This file is part of ArmarX.
This file is part of ArmarX.
Eigen::Vector3f Direction
This file is part of ArmarX.
This file is part of ArmarX.
This file is part of ArmarX.
This file is part of ArmarX.
This file is part of ArmarX.
core::GoalReachedConfig GoalReachedMonitorConfig
This file offers overloads of toIce() and fromIce() functions for STL container types.
boost::subgraph< CloudGraph > Graph
This file is part of ArmarX.
GlobalPathSubdivision(const global_planning::GlobalPlannerResult &globalPlan)
global_planning::GlobalPlannerResult plan
const core::GlobalTrajectory & currentGlobalSegment() const
bool useLocalPlanner(bool hasLocalPlanner)
core::GlobalTrajectory currentSegmentTrajectory
std::size_t currentSegment
std::vector< Subdivision > subdivision
struct armarx::navigation::server::Navigator::Config::General::@344222376127045226032312110301072212057201156307 subdivision
int replanningUpdatePeriod
float globalPlanExpansionDistance
float targetAlternativesFilterTimeSeconds
float localPlannerCostmapThreshold
struct armarx::navigation::server::Navigator::Config::General::@344207070160307005105315017266073311106207125254 tasks
server::NavigationStack stack
GoalReachedMonitorConfig goalReachedConfig
scene_provider::SceneProviderInterface * sceneProvider
armarx::DebugObserverHelper * debugObserverHelper
IntrospectorInterface * introspector
EventPublishingInterface * publisher
ExecutorInterface * executor