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
26
namespace
armarx::control::common
27
{
28
29
enum class
ControllerType
30
{
31
// ----------- NjointControllers -----------
32
TSAdmittance
,
33
TSImpedance
,
34
TSMixedImpedanceVelocity
,
35
// TSBiImpedance,
36
// KptAdmittance,
37
// KptImpedance,
38
// ----------- NJointMPControllers -----------
39
TSAdmittanceMP
,
40
TSImpedanceMP
,
41
TSMixedImpedanceVelocityMP
,
42
// TSBiImpedanceMP,
43
// KptAdmittanceMP,
44
// KptImpedanceMP,
45
// KVILImpedanceMP,
46
// BiKAC,
47
QPWholeBodyImpedance
,
48
QPWholeBodyVelocity
,
49
WholeBodyTrajectoryController
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"
},
75
{
ControllerType::TSMixedImpedanceVelocity
,
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
armarx
control
common
type.h
Generated on Wed Jul 24 2024 06:14:08 for armarx_documentation by
1.8.17