NavigatorInterface.ice
Go to the documentation of this file.
1 /**
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @package armarx::navigation::components::Navigator
17  * @author Christian R. G. Dreher ( c dot dreher at kit dot edu )
18  * @date 2021
19  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20  * GNU General Public License
21  */
22 
23 
24 #pragma once
25 
26 
27 #include <ArmarXCore/interface/serialization/Eigen.ice>
28 
29 #include <RobotAPI/interface/aron.ice>
30 #include <RobotAPI/interface/core/PoseBase.ice>
31 
32 [["python:pkgdir:armarx"]]
33 module armarx
34 {
35  module navigation
36  {
37 
38  module client
39  {
40  module detail
41  {
42  // defines how a waypoint should be reached
44  {
47  };
48 
49  // either symbolic or subsymbolic
50  struct Waypoint
51  {
52  string locationId;
53  armarx::PoseBase pose;
54 
56  };
57 
58  sequence<Waypoint> Waypoints;
59  };
60 
61 
62  interface NavigatorInterface {
63 
64  void createConfig(aron::data::dto::Dict config, string callerId);
65 
66  void moveTo(Eigen::Matrix4fSeq waypoints, string navigationFrame, string callerId);
67 
68  void moveTo2(detail::Waypoints waypoints, string navigationFrame, string callerId);
69 
70  void moveToLocation(string location, string callerId);
71 
72  void updateMoveTo(Eigen::Matrix4fSeq waypoints, string navigationFrame, string callerId);
73 
74  void
75  moveTowards(Eigen::Vector3f direction, string navigationFrame, string callerId);
76 
77  idempotent void pause(string callerId);
78  idempotent void resume(string callerId);
79  idempotent void stop(string callerId);
80  idempotent void stopAll();
81 
82  bool isPaused(string callerId);
83  bool isStopped(string callerId);
84  };
85  };
86  };
87 };
armarx::navigation::client::detail::Free
@ Free
Definition: NavigatorInterface.ice:45
armarx::navigation::client::detail::GlobalPlanningStrategy
GlobalPlanningStrategy
Definition: NavigatorInterface.ice:43
detail
Definition: OpenCVUtil.cpp:127
armarx::navigation::client::detail::Waypoint::locationId
string locationId
Definition: NavigatorInterface.ice:52
armarx::navigation::client::detail::Waypoints
sequence< Waypoint > Waypoints
Definition: NavigatorInterface.ice:58
armarx::navigation::client::detail::Point2Point
@ Point2Point
Definition: NavigatorInterface.ice:46
armarx::navigation::client::NavigatorInterface
Definition: NavigatorInterface.ice:62
navigation
This file is part of ArmarX.
armarx::navigation::client::detail::Waypoint::strategy
GlobalPlanningStrategy strategy
Definition: NavigatorInterface.ice:55
armarx::navigation::client::detail::Waypoint::pose
armarx::PoseBase pose
Definition: NavigatorInterface.ice:53
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
armarx::navigation::client::detail::Waypoint
Definition: NavigatorInterface.ice:50