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 
24 #include <armarx/control/common/control_law/aron/TaskspaceImpedanceControllerConfig.aron.generated.h>
25 #include <armarx/control/common/control_law/aron/TaskspaceVelocityControllerConfig.aron.generated.h>
26 #include <armarx/control/common/control_law/aron/TaskspaceAdmittanceControllerConfig.aron.generated.h>
27 #include <armarx/control/common/control_law/aron/CollisionAvoidanceControllerConfig.aron.generated.h>
28 #include <armarx/control/common/control_law/aron/CollisionAvoidanceConfig.aron.generated.h>
29 #include <armarx/control/common/control_law/aron/TaskspaceMixedImpedanceVelocityControllerConfig.aron.generated.h>
30 // #include <armarx/control/common/control_law/aron/
31 
34 #include <armarx/control/njoint_mp_controller/task_space/ControllerInterface.h>
35 
36 //#include <armarx/control/njoint_mp_controller/task_space/BiKAC.h>
37 //#include <armarx/control/njoint_mp_controller/task_space/KVILImpedanceController.h>
38 
40 {
41  template <>
43  {
44  using AronDTO =
45  armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfigDict;
46  using Proxy = armarx::control::NJointTSImpedanceMPControllerInterfacePrx;
47  constexpr static const char* name = "NJointTSImpedanceMPController";
48  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceImpedanceController";
49  };
50 
51  template <>
53  {
54  using AronDTO = armarx::control::common::control_law::arondto::
55  CollisionAvoidanceTSImpedanceControllerConfig;
56  using Proxy = armarx::control::NJointTSCollisionAvoidanceImpedanceMPControllerInterfacePrx;
57  constexpr static const char* name = "NJointTSCollisionAvoidanceImpedanceMPController";
58  constexpr static const char* ctrlConfigClassName =
59  "NJointTaskspaceCollisionAvoidanceImpedanceController";
60  };
61 
62  template <>
64  {
65  using AronDTO = armarx::control::common::control_law::arondto::
66  TaskspaceMixedImpedanceVelocityControllerConfigDict;
67  using Proxy = armarx::control::NJointTSMixedImpedanceVelocityMPControllerInterfacePrx;
68  constexpr static const char* name = "NJointTSMixedImpedanceVelocityMPController";
69  constexpr static const char* ctrlConfigClassName =
70  "NJointTaskspaceMixedImpedanceVelocityController";
71  };
72 
73  template <>
75  {
76  using AronDTO =
77  armarx::control::common::control_law::arondto::TaskspaceVelocityControllerConfigDict;
78  using Proxy = armarx::control::NJointTSVelocityMPControllerInterfacePrx;
79  constexpr static const char* name = "NJointTSVelocityMPController";
80  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceVelocityController";
81  };
82 
83  template <>
85  {
86  using AronDTO = armarx::control::common::control_law::arondto::
87  CollisionAvoidanceTSMixedImpedanceVelocityControllerConfig;
88  using Proxy = armarx::control::
89  NJointTSCollisionAvoidanceMixedImpedanceVelocityMPControllerInterfacePrx;
90  constexpr static const char* name =
91  "NJointTSCollisionAvoidanceMixedImpedanceVelocityMPController";
92  constexpr static const char* ctrlConfigClassName =
93  "NJointTaskspaceCollisionAvoidanceMixedImpedanceVelocityController";
94  };
95 
96  template <>
98  {
99  using AronDTO = armarx::control::common::control_law::arondto::
100  CollisionAvoidanceTSMixedImpedanceVelocityControllerConfig;
101  using Proxy = armarx::control::NJointWipingMixImpVelColMPControllerInterfacePrx;
102  constexpr static const char* name = "NJointWipingMixImpVelColMPController";
103  constexpr static const char* ctrlConfigClassName =
104  "NJointTaskspaceCollisionAvoidanceMixedImpedanceVelocityController";
105  };
106 
107  template <>
109  {
110  using AronDTO =
111  armarx::control::common::control_law::arondto::TaskspaceVelocityControllerConfigDict;
112  using Proxy = armarx::control::NJointWipingVelMPControllerInterfacePrx;
113  constexpr static const char* name = "NJointWipingVelMPController";
114  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceVelocityController";
115  };
116 
117  template <>
119  {
120  using AronDTO =
121  armarx::control::common::control_law::arondto::TaskspaceAdmittanceControllerConfigDict;
122  using Proxy = armarx::control::NJointTSAdmittanceMPControllerInterfacePrx;
123  constexpr static const char* name = "NJointTSAdmittanceMPController";
124  constexpr static const char* ctrlConfigClassName = "NJointTaskspaceAdmittanceController";
125  };
126 
127  // template <>
128  // struct ControllerDescription<armarx::control::common::ControllerType::KVILImpedanceMP>
129  // {
130  // using AronDTO =
131  // armarx::control::njoint_mp_controller::task_space::arondto::KVILImpedanceMPConfig;
132 
133  // // using BO = armarx::control::njoint_mp_controller::task_space::KVILImpedanceMPConfig;
134 
135  // constexpr static const char* name = "NJointKVILImpedanceMPController";
136  // };
137 
138  // template <>
139  // struct ControllerDescription<armarx::control::common::ControllerType::BiKAC>
140  // {
141  // using AronDTO =
142  // armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfigDict;
143 
144  // // using BO = armarx::control::common::control_law::TaskspaceImpedanceController::ConfigDict;
145 
146  // constexpr static const char* name = "NJointBiKAC";
147  // };
148 
149 
150 } // namespace armarx::control::client
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImpCol >::Proxy
armarx::control::NJointTSCollisionAvoidanceImpedanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:56
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPAdm >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceAdmittanceControllerConfigDict AronDTO
Definition: controller_descriptions.h:121
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPVelWiping >::Proxy
armarx::control::NJointWipingVelMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:112
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVelCol >::AronDTO
armarx::control::common::control_law::arondto::CollisionAvoidanceTSMixedImpedanceVelocityControllerConfig AronDTO
Definition: controller_descriptions.h:87
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:66
armarx::control::common::ControllerType::TSMPVelWiping
@ TSMPVelWiping
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVelColWiping >::Proxy
armarx::control::NJointWipingMixImpVelColMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:101
armarx::control::common::ControllerType::TSMPMixImpVel
@ TSMPMixImpVel
armarx::control::client::ControllerDescription
Definition: ControllerDescription.h:103
type.h
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVel >::Proxy
armarx::control::NJointTSMixedImpedanceVelocityMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:67
armarx::control::common::ControllerType::TSMPMixImpVelCol
@ TSMPMixImpVelCol
ControllerDescription.h
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImp >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfigDict AronDTO
Definition: controller_descriptions.h:45
armarx::control::common::ControllerType::TSMPMixImpVelColWiping
@ TSMPMixImpVelColWiping
armarx::control::common::ControllerType::TSMPImp
@ TSMPImp
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImp >::Proxy
armarx::control::NJointTSImpedanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:46
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPAdm >::Proxy
armarx::control::NJointTSAdmittanceMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:122
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:89
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPVelWiping >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceVelocityControllerConfigDict AronDTO
Definition: controller_descriptions.h:111
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPVel >::AronDTO
armarx::control::common::control_law::arondto::TaskspaceVelocityControllerConfigDict AronDTO
Definition: controller_descriptions.h:77
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPImpCol >::AronDTO
armarx::control::common::control_law::arondto::CollisionAvoidanceTSImpedanceControllerConfig AronDTO
Definition: controller_descriptions.h:55
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPVel >::Proxy
armarx::control::NJointTSVelocityMPControllerInterfacePrx Proxy
Definition: controller_descriptions.h:78
armarx::control::client::ControllerDescription< armarx::control::common::ControllerType::TSMPMixImpVelColWiping >::AronDTO
armarx::control::common::control_law::arondto::CollisionAvoidanceTSMixedImpedanceVelocityControllerConfig AronDTO
Definition: controller_descriptions.h:100
armarx::control::common::ControllerType::TSMPImpCol
@ TSMPImpCol
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27