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
TSAdm
,
// TSAdmittance,
33
TSImp
,
// TSImpedance,
34
TSImpCol
,
// TSCollisionAvoidanceImpedance,
35
TSAdmCol
,
// TSCollisionAvoidanceAdmittance,
36
TSMixImpVel
,
// TSMixedImpedanceVelocity,
37
TSVel
,
38
TSMixImpVelCol
,
// TSCollisionAvoidanceMixedImpedanceVelocity,
39
// KptAdm, // KptAdmittance,
40
// KptImp, // KptImpedance,
41
// ----------- NJointMPControllers -----------
42
TSMPAdm
,
// TSAdmittanceMP,
43
TSMPImp
,
// TSImpedanceMP,
44
TSMPImpCol
,
// TSCollisionAvoidanceImpedanceMP,
45
TSMPMixImpVel
,
// TSMixedImpedanceVelocityMP,
46
TSMPVel
,
47
TSMPMixImpVelCol
,
// TSCollisionAvoidanceMixedImpedanceVelocityMP,
48
// ----------- NJointMPControllers for specific use-cases ------------------
49
TSMPMixImpVelColWiping
,
// adapted TSMPMixImpVelCol for wiping task
50
TSMPVelWiping
,
// adapted TSMPVel for wiping task
51
// KptMPAdm, // KptAdmittanceMP,
52
// KptMPImp, // KptImpedanceMP,
53
// KVILMPImp, // KVILImpedanceMP,
54
// BiKAC,
55
QPWholeBodyImpedance
,
56
QPWholeBodyVelocity
,
57
WholeBodyTrajectoryController
58
};
59
60
enum class
MPType
61
{
62
taskspace
,
63
nullsapce
,
64
hand
,
65
// The following will probably be supported in the future
66
// hand_ts,
67
// head,
68
// platform
69
};
70
71
72
enum class
MPStatus
73
{
74
reset
,
75
trained
,
76
running
,
77
paused
,
78
finished
79
};
80
81
inline
const
simox::meta::EnumNames<MPType>
mpTypeToString
= {{
MPType::taskspace
,
"taskspace"
},
82
{
MPType::nullsapce
,
"nullspace"
},
83
{
MPType::hand
,
"hand"
}};
84
85
inline
const
simox::meta::EnumNames<ControllerType>
ControllerTypeShort
{
86
{
ControllerType::TSAdm
,
"TSAdm"
},
87
{
ControllerType::TSImp
,
"TSImp"
},
88
{
ControllerType::TSImpCol
,
"TSImpCol"
},
89
{
ControllerType::TSMixImpVel
,
"TSMixImpVel"
},
90
{
ControllerType::TSVel
,
"TSVel"
},
91
{
ControllerType::TSMixImpVelCol
,
"TSMixImpVelCol"
},
92
// {ControllerType::KptAdmittance, "KeypointAdmittance"},
93
// {ControllerType::KptImpedance, "KeypointImpedance"},
94
{
ControllerType::TSMPAdm
,
"TSMPAdm"
},
95
{
ControllerType::TSMPImp
,
"TSMPImp"
},
96
{
ControllerType::TSMPImpCol
,
"TSMPImpCol"
},
97
{
ControllerType::TSMPMixImpVel
,
"TSMPMixImpVel"
},
98
{
ControllerType::TSMPVel
,
"TSMPVel"
},
99
{
ControllerType::TSMPMixImpVelCol
,
"TSMPMixImpVelCol"
},
100
{
ControllerType::TSMPMixImpVelColWiping
,
"TSMPMixImpVelColWiping"
},
101
{
ControllerType::TSMPVelWiping
,
"TSMPVelWiping"
},
102
// {ControllerType::KptAdmittanceMP, "KeypointAdmittanceMP"},
103
// {ControllerType::KptImpedanceMP, "KeypointImpedanceMP"},
104
// {ControllerType::KVILImpedanceMP, "KVILImpedanceMP"},
105
// {ControllerType::BiKAC, "BiKAC"},
106
{
ControllerType::QPWholeBodyImpedance
,
"QPWholeBodyImpedance"
},
107
{
ControllerType::QPWholeBodyVelocity
,
"QPWholeBodyVelocity"
},
108
{
ControllerType::WholeBodyTrajectoryController
,
"WholeBodyTrajectoryController"
}};
109
110
111
inline
const
simox::meta::EnumNames<ControllerType>
ControllerTypeNames
{
112
{
ControllerType::TSAdm
,
"NJointTaskspaceAdmittanceController"
},
113
{
ControllerType::TSImp
,
"NJointTaskspaceImpedanceController"
},
114
{
ControllerType::TSImpCol
,
"NJointTaskspaceCollisionAvoidanceImpedanceController"
},
115
{
ControllerType::TSMixImpVel
,
"NJointTaskspaceMixedImpedanceVelocityController"
},
116
{
ControllerType::TSVel
,
"NJointTaskspaceVelocityController"
},
117
{
ControllerType::TSMixImpVelCol
,
118
"NJointTaskspaceCollisionAvoidanceMixedImpedanceVelocityController"
},
119
// {ControllerType::KptAdmittance, "NJointKeypointsAdmittanceController"},
120
// {ControllerType::KptImpedance, "KeypointImpedance"},
121
{
ControllerType::TSMPAdm
,
"NJointTSAdmittanceMPController"
},
122
{
ControllerType::TSMPImp
,
"NJointTSImpedanceMPController"
},
123
{
ControllerType::TSMPImpCol
,
"NJointTSCollisionAvoidanceImpedanceMPController"
},
124
{
ControllerType::TSMPMixImpVel
,
"NJointTSMixedImpedanceVelocityMPController"
},
125
{
ControllerType::TSMPVel
,
"NJointTSVelocityMPController"
},
126
{
ControllerType::TSMPMixImpVelCol
,
"NJointTSCollisionAvoidanceMixedImpedanceVelocityMP"
},
127
{
ControllerType::TSMPMixImpVelColWiping
,
"NJointWipingMixImpVelColMPController"
},
128
{
ControllerType::TSMPVelWiping
,
"NJointWipingVelMPController"
},
129
// {ControllerType::KptAdmittanceMP, "NJointKeypointsAdmittanceMPController"},
130
// {ControllerType::KptImpedanceMP, "NJointKeypointsImpedanceMPController"},
131
// {ControllerType::BiKAC, "NJointBiKAC"},
132
// {ControllerType::KVILImpedanceMP, "NJointKVILImpedanceMPController"},
133
{
ControllerType::WholeBodyTrajectoryController
,
"NJointWholeBodyTrajectoryController"
}};
134
135
}
// namespace armarx::control::common
armarx::control::common::ControllerType::TSImp
@ TSImp
armarx::control::common::MPStatus::paused
@ paused
armarx::control::common::ControllerType::QPWholeBodyImpedance
@ QPWholeBodyImpedance
armarx::control::common::MPStatus::finished
@ finished
armarx::control::common::ControllerType::TSMPVelWiping
@ TSMPVelWiping
armarx::control::common::ControllerType::TSMPMixImpVel
@ TSMPMixImpVel
armarx::control::common::ControllerType::TSAdm
@ TSAdm
armarx::control::common::ControllerType::WholeBodyTrajectoryController
@ WholeBodyTrajectoryController
armarx::control::common
This file is part of ArmarX.
Definition:
aron_conversions.cpp:29
armarx::control::common::MPType::nullsapce
@ nullsapce
armarx::control::common::ControllerTypeNames
const simox::meta::EnumNames< ControllerType > ControllerTypeNames
Definition:
type.h:111
armarx::control::common::ControllerType::QPWholeBodyVelocity
@ QPWholeBodyVelocity
armarx::control::common::ControllerType::TSMPMixImpVelCol
@ TSMPMixImpVelCol
armarx::control::common::ControllerType::TSMixImpVelCol
@ TSMixImpVelCol
armarx::control::common::ControllerType::TSMixImpVel
@ TSMixImpVel
armarx::control::common::mpTypeToString
const simox::meta::EnumNames< MPType > mpTypeToString
Definition:
type.h:81
armarx::control::common::MPType
MPType
Definition:
type.h:60
armarx::control::common::ControllerType::TSVel
@ TSVel
armarx::control::common::ControllerTypeShort
const simox::meta::EnumNames< ControllerType > ControllerTypeShort
Definition:
type.h:85
armarx::control::common::ControllerType::TSMPMixImpVelColWiping
@ TSMPMixImpVelColWiping
armarx::control::common::ControllerType::TSMPImp
@ TSMPImp
armarx::control::common::MPType::hand
@ hand
armarx::control::common::ControllerType::TSMPAdm
@ TSMPAdm
armarx::control::common::ControllerType::TSMPVel
@ TSMPVel
armarx::control::common::MPStatus::trained
@ trained
armarx::control::common::ControllerType
ControllerType
Definition:
type.h:29
armarx::control::common::MPStatus
MPStatus
Definition:
type.h:72
armarx::control::common::ControllerType::TSAdmCol
@ TSAdmCol
armarx::control::common::ControllerType::TSImpCol
@ TSImpCol
armarx::control::common::ControllerType::TSMPImpCol
@ TSMPImpCol
armarx::control::common::MPType::taskspace
@ taskspace
armarx::control::common::MPStatus::reset
@ reset
armarx::control::common::MPStatus::running
@ running
armarx
control
common
type.h
Generated by
1.8.17