SwitchCoordinationMode.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <vector>
4
5
#include <RobotAPI/interface/units/KinematicUnitInterface.h>
6
#include <
RobotAPI/libraries/armem/client/MemoryNameSystem.h
>
7
#include <
RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.h
>
8
#include <
RobotAPI/libraries/skills/core/Skill.h
>
9
#include <
RobotAPI/libraries/skills/provider/SimpleSpecializedSkill.h
>
10
11
#include <
armarx/control/client/ComponentPlugin.h
>
12
#include <armarx/control/skills/aron/SwitchCoordinationModeParams.aron.generated.h>
13
#include <
armarx/control/skills/constants/constants.h
>
14
15
namespace
armarx::control::skills::skills
16
{
17
18
/**
19
* @class SwitchCoordinationMode
20
* @brief SwitchCoordinationMode-skill to switch coordination mode
21
*
22
* Switch coordination mode for the task space bimanual controller.
23
*/
24
class
SwitchCoordinationMode
:
25
public
::armarx::skills::SimpleSpecializedSkill
<arondto::SwitchCoordinationModeParams>
26
{
27
28
public
:
29
struct
Services
30
{
31
::armarx::control::client::ComponentPlugin
*
controlComponentPluginUser
;
32
};
33
34
static ::armarx::skills::SkillDescription
35
GetSkillDescription
()
36
{
37
ParamType
defaultParameters;
38
defaultParameters.configPackageName =
"armarx_control"
;
39
defaultParameters.configRelPath =
"controller_config/coordination/sync_transport.json"
;
40
defaultParameters.controllerNamePattern =
41
std::vector<std::string>{
"LeftArm,RightArm"
,
"TSMixImpVelCol"
};
42
defaultParameters.enable =
true
;
43
44
return ::armarx::skills::SkillDescription{
45
.skillId = {.skillName =
constants::SWITCH_COORDINATION_MODE
},
46
.description =
"Switch coordination mode in the controller"
,
47
.rootProfileDefaults = defaultParameters.toAron(),
48
.timeout =
::armarx::Duration::Minutes
(1),
49
.parametersType = ParamType::ToAronType()};
50
}
51
52
SwitchCoordinationMode
(
const
Services&);
53
54
55
std::vector<std::string>
56
filterControllerNames
(
const
std::vector<std::string>& controllerNames,
57
const
std::vector<std::string>& patterns);
58
59
private
:
60
using
Base::exit
;
61
using
Base::main
;
62
63
::armarx::skills::Skill::MainResult
main
(
const
SpecializedMainInput& in)
override
;
64
::armarx::skills::Skill::ExitResult
exit
(
const
SpecializedExitInput& in)
override
;
65
66
67
private
:
68
Services srv_;
69
};
70
71
}
// namespace armarx::control::skills::skills
SimpleSpecializedSkill.h
Skill.h
VirtualRobotReader.h
armarx::Duration::Minutes
static Duration Minutes(std::int64_t minutes)
Constructs a duration in minutes.
Definition
Duration.cpp:96
armarx::control::client::ComponentPlugin
Definition
ComponentPlugin.h:69
armarx::control::skills::skills::SwitchCoordinationMode::SwitchCoordinationMode
SwitchCoordinationMode(const Services &)
Definition
SwitchCoordinationMode.cpp:14
armarx::control::skills::skills::SwitchCoordinationMode::GetSkillDescription
::armarx::skills::SkillDescription GetSkillDescription()
Definition
SwitchCoordinationMode.h:35
armarx::control::skills::skills::SwitchCoordinationMode::filterControllerNames
std::vector< std::string > filterControllerNames(const std::vector< std::string > &controllerNames, const std::vector< std::string > &patterns)
Definition
SwitchCoordinationMode.cpp:130
armarx::skills::SimpleSpecializedSkill
Definition
SimpleSpecializedSkill.h:19
armarx::skills::SimpleSpecializedSkill< arondto::SwitchCoordinationModeParams >::main
Skill::MainResult main() final
Definition
SimpleSpecializedSkill.h:81
armarx::skills::SimpleSpecializedSkill< arondto::SwitchCoordinationModeParams >::exit
Skill::ExitResult exit() final
Definition
SimpleSpecializedSkill.h:94
armarx::skills::SimpleSpecializedSkill< arondto::SwitchCoordinationModeParams >::ParamType
arondto::SwitchCoordinationModeParams ParamType
Definition
SimpleSpecializedSkill.h:22
armarx::skills::Skill::main
virtual MainResult main()
Override this method with the actual implementation.
Definition
Skill.cpp:542
armarx::skills::Skill::exit
virtual ExitResult exit()
Override this method with the actual implementation.
Definition
Skill.cpp:535
MemoryNameSystem.h
armarx::control::skills::constants::SWITCH_COORDINATION_MODE
std::string SWITCH_COORDINATION_MODE
Definition
constants.cpp:21
armarx::control::skills::skills
Definition
ExecuteTrajectory.cpp:19
ComponentPlugin.h
constants.h
armarx::control::skills::skills::SwitchCoordinationMode::Services
Definition
SwitchCoordinationMode.h:30
armarx::control::skills::skills::SwitchCoordinationMode::Services::controlComponentPluginUser
::armarx::control::client::ComponentPlugin * controlComponentPluginUser
Definition
SwitchCoordinationMode.h:31
armarx::skills::Skill::ExitResult
A result struct for skill exit function.
Definition
Skill.h:69
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition
Skill.h:62
armarx
control
skills
skills
SwitchCoordinationMode.h
Generated by
1.13.2