NavigationStackConfig.cpp
Go to the documentation of this file.
2 
3 #include <memory>
4 
7 
8 #include <RobotAPI/interface/aron/Aron.h>
11 
21 
23 {
26  {
28  return element;
29  }
30 
33  {
35  << "The NavigationStackConfig is not valid as some elements are not set!";
36  return dict.toAronDictDTO();
37  }
38 
39  bool
41  {
42  // TODO what about general config?
43 
45  {
46  ARMARX_WARNING << "Global planner not set!";
47  return false;
48  }
49 
50  if (not dict.hasElement(
52  {
53  ARMARX_WARNING << "Trajectory controller not set!";
54  return false;
55  }
56 
57  return true;
58  }
59 
62  {
63  // TODO
64  return *this;
65  }
66 
69  {
71  element->setElementCopy(core::NAME_KEY,
72  std::make_shared<aron::data::String>(
73  global_planning::AlgorithmNames.to_name(params.algorithm())));
74  element->setElementCopy(core::PARAMS_KEY, params.toAron());
75 
77  element);
78 
79  return *this;
80  }
81 
84  {
86  element->setElementCopy(core::NAME_KEY,
87  std::make_shared<aron::data::String>(
88  local_planning::AlgorithmNames.to_name(params.algorithm())));
89  element->setElementCopy(core::PARAMS_KEY, params.toAron());
90 
92 
93  return *this;
94  }
95 
99  {
101  element->setElementCopy(core::NAME_KEY,
102  std::make_shared<aron::data::String>(
103  traj_ctrl::local::AlgorithmNames.to_name(params.algorithm())));
104  element->setElementCopy(core::PARAMS_KEY, params.toAron());
105 
107  element);
108 
109  return *this;
110  }
111 
114  {
116  element->setElementCopy(core::NAME_KEY,
117  std::make_shared<aron::data::String>(
118  safety_guard::AlgorithmNames.to_name(params.algorithm())));
119  element->setElementCopy(core::PARAMS_KEY, params.toAron());
120 
122 
123  return *this;
124  }
125 } // namespace armarx::navigation::client
armarx::navigation::traj_ctrl::local::AlgorithmNames
const simox::meta::EnumNames< Algorithms > AlgorithmNames
Definition: core.h:34
armarx::navigation::global_planning::GlobalPlannerParams::toAron
virtual aron::data::DictPtr toAron() const =0
armarx::navigation::safety_guard::SafetyGuardParams::algorithm
virtual Algorithms algorithm() const =0
armarx::navigation::client::NavigationStackConfig::toAron
aron::data::dto::DictPtr toAron() const
Definition: NavigationStackConfig.cpp:32
armarx::navigation::core::NAME_KEY
const std::string NAME_KEY
Definition: constants.h:33
armarx::navigation::safety_guard::AlgorithmNames
const simox::meta::EnumNames< Algorithms > AlgorithmNames
Definition: core.h:35
TrajectoryController.h
armarx::navigation::core::PARAMS_KEY
const std::string PARAMS_KEY
Definition: constants.h:34
armarx::navigation::core::StackLayer::GlobalPlanner
@ GlobalPlanner
core.h
LocalPlanner.h
armarx::navigation::global_planning::GlobalPlannerParams
Parameters for GlobalPlanner.
Definition: GlobalPlanner.h:47
armarx::navigation::local_planning::LocalPlannerParams::toAron
virtual aron::data::DictPtr toAron() const =0
armarx::navigation::client
This file is part of ArmarX.
Definition: ComponentPlugin.cpp:21
armarx::navigation::local_planning::LocalPlannerParams::algorithm
virtual Algorithms algorithm() const =0
armarx::navigation::client::NavigationStackConfig
Definition: NavigationStackConfig.h:49
constants.h
armarx::navigation::client::NavigationStackConfig::globalPlanner
NavigationStackConfig & globalPlanner(const global_planning::GlobalPlannerParams &params)
Definition: NavigationStackConfig.cpp:68
armarx::navigation::traj_ctrl::local::TrajectoryControllerParams
Definition: TrajectoryController.h:48
core.h
Dict.h
armarx::navigation::traj_ctrl::local::TrajectoryControllerParams::algorithm
virtual Algorithms algorithm() const =0
ARMARX_CHECK
#define ARMARX_CHECK(expression)
Shortcut for ARMARX_CHECK_EXPRESSION.
Definition: ExpressionException.h:82
armarx::navigation::core::StackLayer::TrajectoryController
@ TrajectoryController
IceInternal::Handle
Definition: forward_declarations.h:8
armarx::navigation::global_planning::AlgorithmNames
const simox::meta::EnumNames< Algorithms > AlgorithmNames
Definition: core.h:45
armarx::navigation::global_planning::GlobalPlannerParams::algorithm
virtual Algorithms algorithm() const =0
armarx::navigation::core::StackLayer::SafetyGuard
@ SafetyGuard
armarx::navigation::client::NavigationStackConfig::isValid
bool isValid() const
checks if at least global planner and trajectory controller are set
Definition: NavigationStackConfig.cpp:40
NavigationStackConfig.h
armarx::navigation::core::StackLayerNames
const simox::meta::EnumNames< StackLayer > StackLayerNames
Definition: constants.h:44
armarx::navigation::local_planning::LocalPlannerParams
Definition: LocalPlanner.h:45
armarx::navigation::local_planning::AlgorithmNames
const simox::meta::EnumNames< Algorithms > AlgorithmNames
Definition: core.h:35
GlobalPlanner.h
armarx::aron::data::Dict::hasElement
bool hasElement(const std::string &) const
Definition: Dict.cpp:228
armarx::navigation::client::NavigationStackConfig::safetyGuard
NavigationStackConfig & safetyGuard(const safety_guard::SafetyGuardParams &params)
Definition: NavigationStackConfig.cpp:113
core.h
ExpressionException.h
armarx::navigation::core::StackLayer::LocalPlanner
@ LocalPlanner
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition: Dict.h:41
armarx::navigation::safety_guard::SafetyGuardParams
Definition: SafetyGuard.h:65
armarx::navigation::safety_guard::SafetyGuardParams::toAron
virtual aron::data::DictPtr toAron() const =0
armarx::aron::data::Dict::setElementCopy
void setElementCopy(const std::string &, const VariantPtr &=nullptr)
Definition: Dict.cpp:283
core.h
Logging.h
armarx::navigation::client::GeneralConfig::toAron
virtual aron::data::DictPtr toAron() const
Definition: NavigationStackConfig.cpp:25
ARMARX_WARNING
#define ARMARX_WARNING
Definition: Logging.h:193
armarx::navigation::client::NavigationStackConfig::localPlanner
NavigationStackConfig & localPlanner(const local_planning::LocalPlannerParams &params)
Definition: NavigationStackConfig.cpp:83
armarx::navigation::client::GeneralConfig
Definition: NavigationStackConfig.h:36
String.h
armarx::navigation::traj_ctrl::local::TrajectoryControllerParams::toAron
virtual aron::data::DictPtr toAron() const =0
armarx::aron::data::Dict
Definition: Dict.h:44
SafetyGuard.h
armarx::navigation::client::NavigationStackConfig::trajectoryController
NavigationStackConfig & trajectoryController(const traj_ctrl::local::TrajectoryControllerParams &params)
Definition: NavigationStackConfig.cpp:97
armarx::aron::data::Dict::toAronDictDTO
data::dto::DictPtr toAronDictDTO() const
Definition: Dict.cpp:146
armarx::navigation::client::NavigationStackConfig::general
NavigationStackConfig & general(const GeneralConfig &cfg)
Definition: NavigationStackConfig.cpp:61