GuidingWithCollAvoidance.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <RobotAPI/interface/units/KinematicUnitInterface.h>
4
#include <
RobotAPI/libraries/armem/client/MemoryNameSystem.h
>
5
#include <
RobotAPI/libraries/armem_robot_state/client/common/VirtualRobotReader.h
>
6
#include <
RobotAPI/libraries/skills/provider/SimpleSpecializedSkill.h
>
7
8
#include <
armarx/control/client/ComponentPlugin.h
>
9
#include <armarx/control/skills/aron/GuidingWithCollAvoidanceParams.aron.generated.h>
10
#include <
armarx/control/skills/constants/constants.h
>
11
12
namespace
armarx::control::skills::skills
13
{
14
15
/**
16
* @class GuidingWithCollAvoidance
17
* @brief GuidingWithCollAvoidance-skill to enable guiding mode with collision avoidance
18
*
19
* create a zero-torque controller (potentially with drifting) and collision avoidance.
20
*/
21
class
GuidingWithCollAvoidance
:
22
public
::armarx::skills::SimpleSpecializedSkill
<arondto::GuidingWithCollAvoidanceParams>
23
{
24
25
public
:
26
struct
Services
27
{
28
::armarx::control::client::ComponentPlugin
*
controlComponentPluginUser
;
29
//armarx::manipulation::Robot& robot;
30
/*::armarx::KinematicUnitInterfacePrx kinematicUnit;
31
::armarx::armem::robot_state::VirtualRobotReader virtualRobotReader;
32
std::string robotName;*/
33
};
34
35
static ::armarx::skills::SkillDescription
36
GetSkillDescription
()
37
{
38
ParamType
defaultParams;
39
defaultParams.mode = arondto::GuidingMode::left_arm;
40
return ::armarx::skills::SkillDescription{
41
.
skillId
= {.
skillName
=
constants::GUIDING_COLL_AVOIDANCE_SKILL_NAME
},
42
.description =
"Enable guiding mode with collision avoidance feature."
,
43
.rootProfileDefaults = defaultParams.toAron(),
44
.timeout =
::armarx::Duration::Minutes
(1),
45
.parametersType = ParamType::ToAronType()};
46
}
47
48
GuidingWithCollAvoidance
(
const
Services&);
49
50
51
private
:
52
using
Base::exit
;
53
using
Base::main
;
54
55
::armarx::skills::Skill::MainResult
main
(
const
SpecializedMainInput& in)
override
;
56
::armarx::skills::Skill::ExitResult
exit
(
const
SpecializedExitInput& in)
override
;
57
58
59
private
:
60
Services srv_;
61
};
62
63
}
// namespace armarx::control::skills::skills
armarx::skills::SimpleSpecializedSkill< arondto::GuidingWithCollAvoidanceParams >::ParamType
arondto::GuidingWithCollAvoidanceParams ParamType
Definition:
SimpleSpecializedSkill.h:14
armarx::control::skills::constants::GUIDING_COLL_AVOIDANCE_SKILL_NAME
std::string GUIDING_COLL_AVOIDANCE_SKILL_NAME
Definition:
constants.cpp:19
armarx::skills::SkillID::skillName
std::string skillName
Definition:
SkillID.h:41
armarx::control::skills::skills::GuidingWithCollAvoidance::GetSkillDescription
::armarx::skills::SkillDescription GetSkillDescription()
Definition:
GuidingWithCollAvoidance.h:36
SimpleSpecializedSkill.h
armarx::control::skills::skills::GuidingWithCollAvoidance::GuidingWithCollAvoidance
GuidingWithCollAvoidance(const Services &)
Definition:
GuidingWithCollAvoidance.cpp:12
armarx::skills::SimpleSpecializedSkill< arondto::GuidingWithCollAvoidanceParams >::exit
Skill::ExitResult exit() final
Definition:
SimpleSpecializedSkill.h:81
constants.h
armarx::control::client::ComponentPlugin
Definition:
ComponentPlugin.h:68
armarx::control::skills::skills::GuidingWithCollAvoidance
GuidingWithCollAvoidance-skill to enable guiding mode with collision avoidance.
Definition:
GuidingWithCollAvoidance.h:21
armarx::skills::SkillDescription::skillId
SkillID skillId
Definition:
SkillDescription.h:19
armarx::skills::SimpleSpecializedSkill
Definition:
SimpleSpecializedSkill.h:10
armarx::control::skills::skills::GuidingWithCollAvoidance::Services
Definition:
GuidingWithCollAvoidance.h:26
VirtualRobotReader.h
armarx::core::time::Duration::Minutes
static Duration Minutes(std::int64_t minutes)
Constructs a duration in minutes.
Definition:
Duration.cpp:96
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition:
Skill.h:39
armarx::skills::Skill::ExitResult
A result struct for skill exit function.
Definition:
Skill.h:46
armarx::skills::Skill::exit
virtual ExitResult exit()
Override this method with the actual implementation.
Definition:
Skill.cpp:451
armarx::skills::SimpleSpecializedSkill< arondto::GuidingWithCollAvoidanceParams >::main
Skill::MainResult main() final
Definition:
SimpleSpecializedSkill.h:71
armarx::control::skills::skills
Definition:
ExecuteTrajectory.cpp:18
armarx::skills::Skill::main
virtual MainResult main()
Override this method with the actual implementation. The callback is for status updates to the callin...
Definition:
Skill.cpp:458
ComponentPlugin.h
MemoryNameSystem.h
armarx::control::skills::skills::GuidingWithCollAvoidance::Services::controlComponentPluginUser
::armarx::control::client::ComponentPlugin * controlComponentPluginUser
Definition:
GuidingWithCollAvoidance.h:28
armarx
control
skills
skills
GuidingWithCollAvoidance.h
Generated on Sat Mar 29 2025 09:17:35 for armarx_documentation by
1.8.17