controller_descriptions.h
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  * @author Jianfeng Gao ( jianfeng dot gao at kit dot edu )
17  * @date 2022
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
33 #include <armarx/control/njoint_mp_controller/task_space/ControllerInterface.h>
34 
35 //#include <armarx/control/njoint_mp_controller/task_space/BiKAC.h>
36 //#include <armarx/control/njoint_mp_controller/task_space/KVILImpedanceController.h>
37 
39 {
40  template <>
42  {
43  using AronDTO =
44  armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfigDict;
45  using Proxy = armarx::control::NJointTSImpedanceMPControllerInterfacePrx;
46  constexpr static const char* name = "NJointTSImpedanceMPController";
47  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceImpedanceController";
48  };
49 
50  template <>
52  {
53  using AronDTO = armarx::control::common::control_law::arondto::
54  CollisionAvoidanceTSImpedanceControllerConfig;
55  using Proxy = armarx::control::NJointTSCollisionAvoidanceImpedanceMPControllerInterfacePrx;
56  constexpr static const char* name = "NJointTSCollisionAvoidanceImpedanceMPController";
57  constexpr static const char* ctrlConfigClassName =
58  "NJointTaskspaceCollisionAvoidanceImpedanceController";
59  };
60 
61  template <>
63  {
64  using AronDTO = armarx::control::common::control_law::arondto::
65  SafetyTaskspaceImpedanceControllerConfigDict;
66  using Proxy = armarx::control::NJointTSSafetyImpedanceMPControllerInterfacePrx;
67  constexpr static const char* name = "NJointTSSafetyImpedanceMPController";
68  constexpr static const char* ctrlConfigClassName =
69  "NJointTaskspaceSafetyImpedanceController";
70  };
71 
72  template <>
74  {
75  using AronDTO = armarx::control::common::control_law::arondto::
76  TaskspaceMixedImpedanceVelocityControllerConfigDict;
77  using Proxy = armarx::control::NJointTSMixedImpedanceVelocityMPControllerInterfacePrx;
78  constexpr static const char* name = "NJointTSMixedImpedanceVelocityMPController";
79  constexpr static const char* ctrlConfigClassName =
80  "NJointTaskspaceMixedImpedanceVelocityController";
81  };
82 
83  template <>
85  {
86  using AronDTO = armarx::control::common::control_law::arondto::
87  TaskspaceVelocityControllerConfigDict;
88  using Proxy = armarx::control::NJointTSVelocityMPControllerInterfacePrx;
89  constexpr static const char* name = "NJointTSVelocityMPController";
90  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceVelocityController";
91  };
92 
93  template <>
95  {
96  using AronDTO = armarx::control::common::control_law::arondto::
97  CollisionAvoidanceTSMixedImpedanceVelocityControllerConfig;
98  using Proxy = armarx::control::
99  NJointTSCollisionAvoidanceMixedImpedanceVelocityMPControllerInterfacePrx;
100  constexpr static const char* name =
101  "NJointTSCollisionAvoidanceMixedImpedanceVelocityMPController";
102  constexpr static const char* ctrlConfigClassName =
103  "NJointTaskspaceCollisionAvoidanceMixedImpedanceVelocityController";
104  };
105 
106  template <>
108  {
109  using AronDTO =
110  armarx::control::common::control_law::arondto::TaskspaceAdmittanceControllerConfigDict;
111  using Proxy = armarx::control::NJointTSAdmittanceMPControllerInterfacePrx;
112  constexpr static const char* name = "NJointTSAdmittanceMPController";
113  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceAdmittanceController";
114  };
115 
116  // template <>
117  // struct ControllerDescription<armarx::control::common::ControllerType::KVILImpedanceMP>
118  // {
119  // using AronDTO =
120  // armarx::control::njoint_mp_controller::task_space::arondto::KVILImpedanceMPConfig;
121 
122  // // using BO = armarx::control::njoint_mp_controller::task_space::KVILImpedanceMPConfig;
123 
124  // constexpr static const char* name = "NJointKVILImpedanceMPController";
125  // };
126 
127  // template <>
128  // struct ControllerDescription<armarx::control::common::ControllerType::BiKAC>
129  // {
130  // using AronDTO =
131  // armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfigDict;
132 
133  // // using BO = armarx::control::common::control_law::TaskspaceImpedanceController::ConfigDict;
134 
135  // constexpr static const char* name = "NJointBiKAC";
136  // };
137 
138 
139 } // namespace armarx::control::client
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImpCol >::Proxy
armarx::control::NJointTSCollisionAvoidanceImpedanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:55
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPAdm >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceAdmittanceControllerConfigDict AronDTO
Definition: controller_descriptions.h:110
armarx::control::common::ControllerType::TSMPImpSafe
@ TSMPImpSafe
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVelCol >::AronDTO
armarx::control::common::control_law::arondto::CollisionAvoidanceTSMixedImpedanceVelocityControllerConfig AronDTO
Definition: controller_descriptions.h:97
armarx::control::client
This file is part of ArmarX.
Definition: ComponentPlugin.cpp:20
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVel >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfigDict AronDTO
Definition: controller_descriptions.h:76
SafetyImpedanceController.h
armarx::control::common::ControllerType::TSMPMixImpVel
@ TSMPMixImpVel
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImpSafe >::Proxy
armarx::control::NJointTSSafetyImpedanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:66
armarx::control::client::ControllerDescription
Definition: ControllerDescription.h:103
type.h
MixedImpedanceVelocityController.h
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVel >::Proxy
armarx::control::NJointTSMixedImpedanceVelocityMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:77
CollisionAvoidanceImpedanceController.h
armarx::control::common::ControllerType::TSMPMixImpVelCol
@ TSMPMixImpVelCol
ImpedanceController.h
ControllerDescription.h
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImp >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfigDict AronDTO
Definition: controller_descriptions.h:44
CollisionAvoidanceMixedImpedanceVelocityController.h
AdmittanceController.h
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImpSafe >::AronDTO
armarx::control::common::control_law::arondto::SafetyTaskspaceImpedanceControllerConfigDict AronDTO
Definition: controller_descriptions.h:65
armarx::control::common::ControllerType::TSMPImp
@ TSMPImp
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImp >::Proxy
armarx::control::NJointTSImpedanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:45
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPAdm >::Proxy
armarx::control::NJointTSAdmittanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:111
armarx::control::common::ControllerType::TSMPAdm
@ TSMPAdm
armarx::control::common::ControllerType::TSMPVel
@ TSMPVel
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVelCol >::Proxy
armarx::control::NJointTSCollisionAvoidanceMixedImpedanceVelocityMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:99
VelocityController.h
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImpCol >::AronDTO
armarx::control::common::control_law::arondto::CollisionAvoidanceTSImpedanceControllerConfig AronDTO
Definition: controller_descriptions.h:54
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPVel >::Proxy
armarx::control::NJointTSVelocityMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:88
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPVel >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceVelocityControllerConfigDict AronDTO
Definition: controller_descriptions.h:87
armarx::control::common::ControllerType::TSMPImpCol
@ TSMPImpCol
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28