ShapeHand.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <armarx/control/skills/aron/ShapeHandParams.aron.generated.h>
7
8#include "HandUnitServices.h"
9
11{
12
13 class ShapeHand : public ::armarx::skills::SpecializedSkill<arondto::ShapeHandParams>
14 {
15
16 public:
17 static ::armarx::skills::SkillDescription
19 {
20 ParamType defaultParams;
21
22 return ::armarx::skills::SkillDescription{
23 .skillId = {.skillName = constants::SHAPE_HAND_SKILL_NAME},
24 .description =
25 "Shapes the hand according to a predefined shape or passed joint angles",
26 .rootProfileDefaults = defaultParams.toAron(),
27 .timeout = ::armarx::Duration::Minutes(1),
28 .parametersType = ParamType::ToAronType(),
29 };
30 }
31
33
34 private:
36 Skill::MainResult waitUntilFinished(const NameValueMap& targetAngles);
37
38 private:
40
41 float getAccuracy(const std::string& jointName);
42 };
43
44 class OpenHand : public ::armarx::skills::SpecializedSkill<arondto::OpenHandParams>
45 {
46 public:
47 static ::armarx::skills::SkillDescription
49 {
50 ParamType defaultParams;
51
52 return ::armarx::skills::SkillDescription{
53 .skillId = {.skillName = constants::OPEN_HAND_SKILL_NAME},
54 .description = "Sets hand shape to 'Open'",
55 .rootProfileDefaults = defaultParams.toAron(),
56 .timeout = ::armarx::Duration::Minutes(1),
57 .parametersType = ParamType::ToAronType()};
58 }
59
60 OpenHand();
61
62 private:
64 };
65
66 class CloseHand : public ::armarx::skills::SpecializedSkill<arondto::CloseHandParams>
67 {
68 public:
69 static ::armarx::skills::SkillDescription
71 {
72 ParamType defaultParams;
73
74 return ::armarx::skills::SkillDescription{
75 .skillId = {.skillName = constants::CLOSE_HAND_SKILL_NAME},
76 .description = "Sets hand shape to 'Close'",
77 .rootProfileDefaults = defaultParams.toAron(),
78 .timeout = ::armarx::Duration::Minutes(1),
79 .parametersType = ParamType::ToAronType()};
80 }
81
82 CloseHand();
83
84 private:
86 };
87
88} // namespace armarx::control::skills::skills
int main(int argc, char *argv[])
Definition Admin.cpp:45
static Duration Minutes(std::int64_t minutes)
Constructs a duration in minutes.
Definition Duration.cpp:96
::armarx::skills::SkillDescription GetSkillDescription()
Definition ShapeHand.h:70
::armarx::skills::SkillDescription GetSkillDescription()
Definition ShapeHand.h:48
ShapeHand(const HandUnitServices &)
Definition ShapeHand.cpp:52
::armarx::skills::SkillDescription GetSkillDescription()
Definition ShapeHand.h:18
A result struct for th main method of a skill.
Definition Skill.h:62