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  {
42  };
43 
44  inline const simox::meta::EnumNames<ControllerType> ControllerTypeShort{
45  {ControllerType::TSAdmittance, "TSAdmittance"},
46  {ControllerType::TSImpedance, "TSImpedance"},
47  {ControllerType::KptAdmittance, "KeypointAdmittance"},
48  {ControllerType::KptImpedance, "KeypointImpedance"},
49  {ControllerType::TSAdmittanceMP, "TSAdmittanceMP"},
50  {ControllerType::TSImpedanceMP, "TSImpedanceMP"},
51  {ControllerType::KptAdmittanceMP, "KeypointAdmittanceMP"},
52  {ControllerType::KptImpedanceMP, "KeypointImpedanceMP"},
53  {ControllerType::KVILImpedanceMP, "KVILImpedanceMP"},
54  {ControllerType::QPWholeBodyImpedance, "QPWholeBodyImpedance"},
55  {ControllerType::QPWholeBodyVelocity, "QPWholeBodyVelocity"}};
56 
57 
58  inline const simox::meta::EnumNames<ControllerType> ControllerTypeNames{
59  {ControllerType::TSAdmittance, "NJointTaskspaceAdmittanceController"},
60  {ControllerType::TSImpedance, "NJointTaskspaceImpedanceController"},
61  {ControllerType::KptAdmittance, "NJointKeypointsAdmittanceController"},
62  {ControllerType::KptImpedance, "KeypointImpedance"},
63  {ControllerType::TSAdmittanceMP, "NJointTSAdmittanceMPController"},
64  {ControllerType::TSImpedanceMP, "NJointTSImpedanceMPController"},
65  {ControllerType::KptAdmittanceMP, "NJointKeypointsAdmittanceMPController"},
66  {ControllerType::KptImpedanceMP, "NJointKeypointsImpedanceMPController"},
67  {ControllerType::KVILImpedanceMP, "NJointKVILImpedanceMPController"}};
68 
69 } // namespace armarx::control::common
armarx::control::common::ControllerType::KptAdmittance
@ KptAdmittance
armarx::control::common::ControllerType::TSAdmittanceMP
@ TSAdmittanceMP
armarx::control::common::ControllerType::QPWholeBodyImpedance
@ QPWholeBodyImpedance
armarx::control::common
This file is part of ArmarX.
Definition: aron_conversions.cpp:25
armarx::control::common::ControllerTypeNames
const simox::meta::EnumNames< ControllerType > ControllerTypeNames
Definition: type.h:58
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:44
armarx::control::common::ControllerType::TSImpedance
@ TSImpedance
armarx::control::common::ControllerType::KVILImpedanceMP
@ KVILImpedanceMP
armarx::control::common::ControllerType::KptAdmittanceMP
@ KptAdmittanceMP
armarx::control::common::ControllerType
ControllerType
Definition: type.h:29
armarx::control::common::ControllerType::KptImpedance
@ KptImpedance
armarx::control::common::ControllerType::KptImpedanceMP
@ KptImpedanceMP
armarx::control::common::ControllerType::TSAdmittance
@ TSAdmittance