NavigatorInterface.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <string>
5#include <vector>
6
10
12{
13
14 /**
15 * @brief Navigator interface for PointGoal navigation (with waypoints) and relative movement
16 *
17 */
19 {
20
21 public:
22 virtual void moveTo(const std::vector<core::Pose>& waypoints,
23 core::NavigationFrame navigationFrame) = 0;
24
25 virtual void moveToAlternatives(const std::vector<core::TargetAlternative>& targets,
26 core::NavigationFrame navigationFrame) = 0;
27
28 virtual void moveTowards(const core::Direction& direction,
29 core::NavigationFrame navigationFrame) = 0;
30
31 virtual void moveTo(const std::vector<client::WaypointTarget>& targets,
32 core::NavigationFrame navigationFrame) = 0;
33
34 virtual void moveToLocation(const std::string& location,
35 const std::optional<std::string>& providerName) = 0;
36
37 virtual void update(const std::vector<core::Pose>& waypoints,
38 core::NavigationFrame navigationFrame) = 0;
39
40 virtual void setVelocityFactor(float velocityFactor) = 0;
41
42 virtual void pause() = 0;
43
44 virtual void resume() = 0;
45
46 virtual void stop() = 0;
47
48 virtual bool isPaused() const noexcept = 0;
49
50 virtual bool isStopped() const noexcept = 0;
51
52 // Non-API
53 public:
54 virtual ~NavigatorInterface() = default;
55 };
56
57} // namespace armarx::navigation::core
Navigator interface for PointGoal navigation (with waypoints) and relative movement.
virtual bool isStopped() const noexcept=0
virtual void moveTowards(const core::Direction &direction, core::NavigationFrame navigationFrame)=0
virtual void moveTo(const std::vector< core::Pose > &waypoints, core::NavigationFrame navigationFrame)=0
virtual bool isPaused() const noexcept=0
virtual void moveToAlternatives(const std::vector< core::TargetAlternative > &targets, core::NavigationFrame navigationFrame)=0
virtual void moveTo(const std::vector< client::WaypointTarget > &targets, core::NavigationFrame navigationFrame)=0
virtual void update(const std::vector< core::Pose > &waypoints, core::NavigationFrame navigationFrame)=0
virtual void setVelocityFactor(float velocityFactor)=0
virtual void moveToLocation(const std::string &location, const std::optional< std::string > &providerName)=0
Brief description of class targets.
Definition targets.h:39
This file is part of ArmarX.
Eigen::Vector3f Direction
Definition basic_types.h:39
This file is part of ArmarX.
Definition constants.cpp:4