CollisionAvoidance.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
* @package control::COMPONENT_NAME_SNAKE::skills
17
* @author Meixner ( andre dot meixner at kit dot edu )
18
* @date 2025
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#pragma once
24
25
#include <experimental/memory>
26
27
// RobotAPI
28
#include <
RobotAPI/components/ArViz/Client/Client.h
>
29
#include <
RobotAPI/libraries/armem_objects/client/articulated_object/ArticulatedObjectReader.h
>
30
#include <
RobotAPI/libraries/armem_objects/client/class/ClassReader.h
>
31
#include <
RobotAPI/libraries/armem_objects/client/familiar_object_instance/ObjectReader.h
>
32
#include <
RobotAPI/libraries/armem_objects/client/instance/ObjectReader.h
>
33
#include <
RobotAPI/libraries/skills/provider/SimpleSpecializedSkill.h
>
34
35
//#include <VisionX/libraries/armem_human/client/HumanPoseReader.h>
36
//#include <VisionX/libraries/armem_human/util.h>
37
38
// collision_avoidance
39
#include "
armarx/control/client/ComponentPlugin.h
"
40
#include "
armarx/control/client/ControllerWrapper.h
"
41
#include "
armarx/control/collision_avoidance/skill_provider/Component.h
"
42
//#include "armarx/control/njoint_controller/task_space/ObjectCollisionAvoidanceImpedanceController.h"
43
//#include "armarx/control/njoint_controller/task_space/ColAvoid.h"
44
#include <armarx/control/collision_avoidance/aron/CollisionAvoidanceParams.aron.generated.h>
45
#include <
armarx/control/collision_avoidance/constants/constants.h
>
46
#include <armarx/control/common/control_law/aron/CollisionPrimitives.aron.generated.h>
47
#include <armarx/control/collision_avoidance/component/ComponentInterface.h>
48
#include <armarx/control/njoint_controller/task_space/ControllerInterface.h>
49
50
namespace
armarx::control::collision_avoidance::skills
51
{
52
/**
53
* @class CollisionAvoidance
54
* @ingroup Library-collision_avoidance
55
* @brief Brief description of skill class collision_avoidance.
56
*
57
* Detailed description of class collision_avoidance.
58
*/
59
class
CollisionAvoidance
:
60
public
::armarx::skills::SimpleSpecializedSkill
<
61
::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams>
62
{
63
public
:
64
using
Base
=
::armarx::skills::SimpleSpecializedSkill
<
65
::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams>;
66
67
/// Remote parameters of this skill implementation
68
struct
Remote
69
{
70
std::experimental::observer_ptr<armarx::control::components::collision_avoidance::ComponentInterfacePrx>
71
collisionAvoidanceComponent
;
72
};
73
74
/// Fixed properties of this skill implementation
75
struct
Properties
76
{
77
// e.g. std::string someProperty;
78
};
79
80
static ::armarx::skills::SkillDescription
GetSkillDescription
();
81
82
//CollisionAvoidance(const Remote& r, const Properties& p, const Services& srv);
83
CollisionAvoidance
(
const
Remote
& r);
84
85
private
:
86
// SimpleSpecializedSkill interface
87
// Enable each function you want to override.
88
// Base::InitResult init(const SpecializedInitInput&) override;
89
using
Base::main
;
90
Base::MainResult
main(
const
SpecializedMainInput& in)
override
;
91
92
using
Base::exit
;
93
Base::ExitResult
exit(
const
SpecializedExitInput&)
override
;
94
95
Remote
remote;
96
//Properties properties;
97
};
98
99
}
// namespace armarx::control::collision_avoidance::skills
ArticulatedObjectReader.h
ClassReader.h
Client.h
ControllerWrapper.h
SimpleSpecializedSkill.h
armarx::control::collision_avoidance::skills::CollisionAvoidance::GetSkillDescription
::armarx::skills::SkillDescription GetSkillDescription()
Definition
CollisionAvoidance.cpp:61
armarx::control::collision_avoidance::skills::CollisionAvoidance::CollisionAvoidance
CollisionAvoidance(const Remote &r)
Definition
CollisionAvoidance.cpp:78
armarx::control::collision_avoidance::skills::CollisionAvoidance::Base
::armarx::skills::SimpleSpecializedSkill< ::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams > Base
Definition
CollisionAvoidance.h:64
armarx::skills::SimpleSpecializedSkill
Definition
SimpleSpecializedSkill.h:19
armarx::skills::SimpleSpecializedSkill< ::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams >::main
virtual Skill::MainResult main(const SpecializedMainInput &)
Definition
SimpleSpecializedSkill.h:54
armarx::skills::SimpleSpecializedSkill< ::armarx::control::collision_avoidance::arondto::CollisionAvoidanceParams >::exit
virtual Skill::ExitResult exit(const SpecializedExitInput &)
Definition
SimpleSpecializedSkill.h:63
std::experimental::observer_ptr
Definition
ManagedIceObject.h:53
ObjectReader.h
ObjectReader.h
armarx::control::collision_avoidance::skills
Definition
CollisionAvoidance.cpp:58
ComponentPlugin.h
constants.h
Component.h
armarx::control::collision_avoidance::skills::CollisionAvoidance::Properties
Fixed properties of this skill implementation.
Definition
CollisionAvoidance.h:76
armarx::control::collision_avoidance::skills::CollisionAvoidance::Remote
Remote parameters of this skill implementation.
Definition
CollisionAvoidance.h:69
armarx::control::collision_avoidance::skills::CollisionAvoidance::Remote::collisionAvoidanceComponent
std::experimental::observer_ptr< armarx::control::components::collision_avoidance::ComponentInterfacePrx > collisionAvoidanceComponent
Definition
CollisionAvoidance.h:71
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
collision_avoidance
skills
CollisionAvoidance.h
Generated by
1.13.2