VisualSearchSkill.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 Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
// STD/STL
25
#include <string>
26
27
// ArmarX
28
#include <
ArmarXCore/core/Component.h
>
29
30
// RobotAPI
31
#include <
RobotAPI/libraries/skills/provider/SimpleSpecializedSkill.h
>
32
#include <
RobotAPI/libraries/skills/provider/SkillContext.h
>
33
34
// Proxies
35
#include <RobotAPI/interface/objectpose/ObjectPoseProvider.h>
36
#include <RobotAPI/interface/units/KinematicUnitInterface.h>
37
38
// Skills
39
#include <
RobotAPI/libraries/skills/provider/mixins/All.h
>
40
41
// ArmarX
42
#include <
ArmarXCore/core/Component.h
>
43
44
#include <
RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h
>
45
#include <
RobotAPI/libraries/armem/client/MemoryNameSystem.h
>
46
47
namespace
armarx::skills
48
{
49
struct
VisualSearchSkillContext
:
public
SkillContext
50
{
51
// Properties
52
std::string
jointControlSkillProvider
=
"JointControlSkillProvider"
;
53
KinematicUnitInterfacePrx
kinematicUnitPrx
;
54
55
void
56
defineProperties
(
const
armarx::PropertyDefinitionsPtr
& defs,
57
const
std::string& prefix)
final
58
{
59
defs->optional(
jointControlSkillProvider
, prefix +
"jointControlSkillProviderName"
);
60
defs->component(
61
kinematicUnitPrx
,
"KinematicUnitName"
, prefix +
"KinematicUnitInterfaceName"
);
62
}
63
};
64
65
class
VisualSearchSkill
:
public
mixin::ArvizSkillMixin
,
public
mixin::MNSSkillMixin
66
{
67
public
:
68
VisualSearchSkill
(
armem::client::MemoryNameSystem
&
mns
,
69
armarx::viz::Client
&
arviz
,
70
const
std::string&
layerName
,
71
VisualSearchSkillContext
&
c
) :
72
mixin::
ArvizSkillMixin
(
arviz
,
layerName
), mixin::
MNSSkillMixin
(
mns
),
context
(
c
){};
73
74
protected
:
75
VisualSearchSkillContext
&
context
;
76
};
77
}
// namespace armarx::skills
armarx::skills::mixin::MNSSkillMixin::mns
armem::client::MemoryNameSystem mns
Definition:
MNSSkillMixin.h:11
ArVizComponentPlugin.h
armarx::skills
This file is part of ArmarX.
Definition:
PeriodicUpdateWidget.cpp:11
armarx::skills::mixin::MNSSkillMixin
Definition:
MNSSkillMixin.h:9
armarx::skills::VisualSearchSkill
Definition:
VisualSearchSkill.h:65
c
constexpr T c
Definition:
UnscentedKalmanFilterTest.cpp:43
SimpleSpecializedSkill.h
armarx::skills::mixin::ArvizSkillMixin::arviz
armarx::viz::Client arviz
Definition:
ArvizSkillMixin.h:11
armarx::skills::mixin::ArvizSkillMixin
Definition:
ArvizSkillMixin.h:9
armarx::skills::SkillContext
Definition:
SkillContext.h:13
armarx::skills::VisualSearchSkillContext::kinematicUnitPrx
KinematicUnitInterfacePrx kinematicUnitPrx
Definition:
VisualSearchSkill.h:53
All.h
armarx::skills::VisualSearchSkillContext
Definition:
VisualSearchSkill.h:49
armarx::skills::mixin::ArvizSkillMixin::layerName
std::string layerName
Definition:
ArvizSkillMixin.h:12
armarx::skills::VisualSearchSkillContext::jointControlSkillProvider
std::string jointControlSkillProvider
Definition:
VisualSearchSkill.h:52
armarx::skills::VisualSearchSkillContext::defineProperties
void defineProperties(const armarx::PropertyDefinitionsPtr &defs, const std::string &prefix) final
Definition:
VisualSearchSkill.h:56
armarx::skills::mixin::MNSSkillMixin::MNSSkillMixin
MNSSkillMixin(const armem::client::MemoryNameSystem &m)
Definition:
MNSSkillMixin.h:13
Component.h
SkillContext.h
armarx::skills::mixin::ArvizSkillMixin::ArvizSkillMixin
ArvizSkillMixin(const armarx::viz::Client &a, const std::string &ln)
Definition:
ArvizSkillMixin.h:14
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::armem::client::MemoryNameSystem
The memory name system (MNS) client.
Definition:
MemoryNameSystem.h:69
armarx::skills::VisualSearchSkill::context
VisualSearchSkillContext & context
Definition:
VisualSearchSkill.h:72
MemoryNameSystem.h
armarx::skills::VisualSearchSkill::VisualSearchSkill
VisualSearchSkill(armem::client::MemoryNameSystem &mns, armarx::viz::Client &arviz, const std::string &layerName, VisualSearchSkillContext &c)
Definition:
VisualSearchSkill.h:68
armarx::viz::Client
Definition:
Client.h:109
RobotSkillTemplates
libraries
skill_visual_search
VisualSearchSkill.h
Generated on Sat Oct 12 2024 09:14:13 for armarx_documentation by
1.8.17