diff --git a/source/Navigation/components/Navigator/Navigator.cpp b/source/Navigation/components/Navigator/Navigator.cpp index 157fef079711e741470cab9e40f857271e1a97ae..05a025c3732c60159ea4039f89f774566b4dd3de 100644 --- a/source/Navigation/components/Navigator/Navigator.cpp +++ b/source/Navigation/components/Navigator/Navigator.cpp @@ -91,6 +91,7 @@ namespace armarx::nav::components updateContext(); server::NavigationStack stack = fac::NavigationStackFactory::create(stackConfig, scene); + server::Navigator navigator{stack, scene, executor}; navigator.moveTo(convert(waypoints), core::NavigationFramesMap.from_name(navigationMode)); diff --git a/source/Navigation/libraries/server/execution/PlatformUnitExecutor.h b/source/Navigation/libraries/server/execution/PlatformUnitExecutor.h index 458ed29e3c8cb15e19d9c4ee3e2920c3ceb0020a..218304c48d147fb3b1e0c966ad427152c0935801 100644 --- a/source/Navigation/libraries/server/execution/PlatformUnitExecutor.h +++ b/source/Navigation/libraries/server/execution/PlatformUnitExecutor.h @@ -1,6 +1,7 @@ #pragma once // RobotAPI +#include <atomic> #include <RobotAPI/interface/units/PlatformUnitInterface.h> // Navigation @@ -21,10 +22,15 @@ namespace armarx::nav::server void move(const core::Twist &twist); + void disableAndStop(); + void enable(); + private: PlatformUnitInterfacePrx platformUnit; + std::atomic_bool enabled{true}; + }; }