type.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 <SimoxUtility/meta/enum/EnumNames.hpp>
25 
27 {
28 
29  enum class ControllerType
30  {
31  // ----------- NjointControllers -----------
35  // TSBiImpedance,
36  // KptAdmittance,
37  // KptImpedance,
38  // ----------- NJointMPControllers -----------
42  // TSBiImpedanceMP,
43  // KptAdmittanceMP,
44  // KptImpedanceMP,
45  // KVILImpedanceMP,
46  // BiKAC,
50  };
51 
52  inline const simox::meta::EnumNames<ControllerType> ControllerTypeShort{
53  {ControllerType::TSAdmittance, "TSAdmittance"},
54  {ControllerType::TSImpedance, "TSImpedance"},
55  {ControllerType::TSMixedImpedanceVelocity, "TSMixedImpedanceVelocity"},
56  // {ControllerType::TSBiImpedance, "TSBiImpedance"},
57  // {ControllerType::KptAdmittance, "KeypointAdmittance"},
58  // {ControllerType::KptImpedance, "KeypointImpedance"},
59  {ControllerType::TSAdmittanceMP, "TSAdmittanceMP"},
60  {ControllerType::TSImpedanceMP, "TSImpedanceMP"},
61  {ControllerType::TSMixedImpedanceVelocityMP, "TSMixedImpedanceVelocityMP"},
62  // {ControllerType::TSBiImpedanceMP, "TSBiImpedanceMP"},
63  // {ControllerType::KptAdmittanceMP, "KeypointAdmittanceMP"},
64  // {ControllerType::KptImpedanceMP, "KeypointImpedanceMP"},
65  // {ControllerType::KVILImpedanceMP, "KVILImpedanceMP"},
66  // {ControllerType::BiKAC, "BiKAC"},
67  {ControllerType::QPWholeBodyImpedance, "QPWholeBodyImpedance"},
68  {ControllerType::QPWholeBodyVelocity, "QPWholeBodyVelocity"},
69  {ControllerType::WholeBodyTrajectoryController, "WholeBodyTrajectoryController"}};
70 
71 
72  inline const simox::meta::EnumNames<ControllerType> ControllerTypeNames{
73  {ControllerType::TSAdmittance, "NJointTaskspaceAdmittanceController"},
74  {ControllerType::TSImpedance, "NJointTaskspaceImpedanceController"},
76  "NJointTaskspaceMixedImpedanceVelocityController"},
77  // {ControllerType::TSBiImpedance, "NJointTaskspaceBimanualImpedanceController"},
78  // {ControllerType::KptAdmittance, "NJointKeypointsAdmittanceController"},
79  // {ControllerType::KptImpedance, "KeypointImpedance"},
80  {ControllerType::TSAdmittanceMP, "NJointTSAdmittanceMPController"},
81  {ControllerType::TSImpedanceMP, "NJointTSImpedanceMPController"},
82  {ControllerType::TSMixedImpedanceVelocityMP, "NJointTSMixedImpedanceVelocityMP"},
83  // {ControllerType::TSBiImpedanceMP, "NJointTSBimanualImpedanceMPController"},
84  // {ControllerType::KptAdmittanceMP, "NJointKeypointsAdmittanceMPController"},
85  // {ControllerType::KptImpedanceMP, "NJointKeypointsImpedanceMPController"},
86  // {ControllerType::BiKAC, "NJointBiKAC"},
87  // {ControllerType::KVILImpedanceMP, "NJointKVILImpedanceMPController"},
88  {ControllerType::WholeBodyTrajectoryController, "NJointWholeBodyTrajectoryController"}};
89 
90 } // namespace armarx::control::common
armarx::control::common::ControllerType::TSAdmittanceMP
@ TSAdmittanceMP
armarx::control::common::ControllerType::QPWholeBodyImpedance
@ QPWholeBodyImpedance
armarx::control::common::ControllerType::WholeBodyTrajectoryController
@ WholeBodyTrajectoryController
armarx::control::common
This file is part of ArmarX.
Definition: aron_conversions.cpp:29
armarx::control::common::ControllerTypeNames
const simox::meta::EnumNames< ControllerType > ControllerTypeNames
Definition: type.h:72
armarx::control::common::ControllerType::QPWholeBodyVelocity
@ QPWholeBodyVelocity
armarx::control::common::ControllerType::TSImpedanceMP
@ TSImpedanceMP
armarx::control::common::ControllerTypeShort
const simox::meta::EnumNames< ControllerType > ControllerTypeShort
Definition: type.h:52
armarx::control::common::ControllerType::TSImpedance
@ TSImpedance
armarx::control::common::ControllerType::TSMixedImpedanceVelocity
@ TSMixedImpedanceVelocity
armarx::control::common::ControllerType
ControllerType
Definition: type.h:29
armarx::control::common::ControllerType::TSMixedImpedanceVelocityMP
@ TSMixedImpedanceVelocityMP
armarx::control::common::ControllerType::TSAdmittance
@ TSAdmittance