PlatformControllerExecutor.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <string>
5
13
15{
16 class ComponentPlugin;
17}
18
20{
21
22 /**
23 * @brief The PlatformUnitExecutor class
24 *
25 * TODO: Should be renamed to whatever the new unit will be called which takes Mat4f
26 * as input instead of X/Y/Yaw, so that we have a generic interface.
27 */
29 {
30
31 public:
33
35 {
36 std::string robotName;
38 };
39
41 const Properties& properties);
43
45 bool activateController = false) override;
47 bool activateController = false) override;
48
49 void start(ControllerType controllerType) override;
50
51 void ensureIsActive(ControllerType controllerType) override;
52
53 void stop() override;
54
55 void updateVelocityLimits(const core::TwistLimits& limits) override;
56
57 void updateVelocityFactor(float velocityFactor) override;
58
59
60 private:
61 ControllerComponentPlugin& controllerPlugin_;
62
63 const Properties properties_;
64
65
68 globalTrajCtrl_;
69
72 localTrajCtrl_;
73
76 globalTrajCtrlInitialConfig_;
77
80 localTrajCtrlInitialConfig_;
81
82
83 ControllerType lastActiveController_ = ControllerType::None;
84 };
85
86} // namespace armarx::navigation::server
Wrapper class for an NJointController proxy.
An executer the server navigator will use to send its control commands to.
void ensureIsActive(ControllerType controllerType) override
PlatformControllerExecutor(ControllerComponentPlugin &controllerComponentPlugin, const Properties &properties)
void updateVelocityLimits(const core::TwistLimits &limits) override
armarx::control::client::ComponentPlugin ControllerComponentPlugin
void execute(const core::LocalTrajectory &trajectory, bool activateController=false) override
This file is part of ArmarX.
This file is part of ArmarX.