GraspControlSkill.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 // RobotAPI
28 #include <RobotAPI/libraries/skills/provider/PeriodicSimpleSpecializedSkill.h>
31 
32 // Prx
33 #include <RobotAPI/interface/objectpose/ObjectPoseProvider.h>
34 
35 // Mixins
37 
38 // ArmarX
40 
43 
44 namespace armarx::skills
45 {
47  {
48  std::string handControlSkillProvider = "HandControlSkillProvider";
49  std::string tcpControlSkillProvider = "TCPControlSkillProvider";
50  std::string jointControlSkillProvider = "JointControlSkillProvider";
51  std::string platformControlSkillProvider = "PlatformControlSkillProvider";
52  std::string visualSearchSkillProvider = "VisualSearchSkillProvider";
53 
54  void
56  const std::string& prefix) final
57  {
58  defs->optional(handControlSkillProvider, prefix + "handControlSkillProviderName");
59  defs->optional(tcpControlSkillProvider, prefix + "tcpControlSkillProviderName");
60  defs->optional(jointControlSkillProvider, prefix + "jointControlSkillProviderName");
61  defs->optional(platformControlSkillProvider,
62  prefix + "platformControlSkillProviderName");
63  defs->optional(visualSearchSkillProvider, prefix + "visualSearchSkillProviderName");
64  }
65 
66  virtual void
67  onInit(armarx::Component& parent) final
68  {
69  parent.usingProxy(handControlSkillProvider);
70  parent.usingProxy(tcpControlSkillProvider);
71  parent.usingProxy(jointControlSkillProvider);
72  parent.usingProxy(platformControlSkillProvider);
73  parent.usingProxy(visualSearchSkillProvider);
74  }
75  };
76 
78  {
79  public:
82  const std::string& layerName,
85 
86  protected:
88  };
89 } // 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::TwoArmGraspControlSkill::context
TwoArmGraspControlSkillContext & context
Definition: GraspControlSkill.h:84
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::TwoArmGraspControlSkillContext::platformControlSkillProvider
std::string platformControlSkillProvider
Definition: GraspControlSkill.h:51
armarx::skills::mixin::ArvizSkillMixin
Definition: ArvizSkillMixin.h:9
armarx::skills::SkillContext
Definition: SkillContext.h:13
armarx::skills::TwoArmGraspControlSkillContext::jointControlSkillProvider
std::string jointControlSkillProvider
Definition: GraspControlSkill.h:50
All.h
armarx::skills::TwoArmGraspControlSkill::TwoArmGraspControlSkill
TwoArmGraspControlSkill(armem::client::MemoryNameSystem &mns, armarx::viz::Client &arviz, const std::string &layerName, TwoArmGraspControlSkillContext &c)
Definition: GraspControlSkill.h:80
armarx::skills::mixin::ArvizSkillMixin::layerName
std::string layerName
Definition: ArvizSkillMixin.h:12
armarx::skills::TwoArmGraspControlSkillContext::visualSearchSkillProvider
std::string visualSearchSkillProvider
Definition: GraspControlSkill.h:52
armarx::skills::mixin::MNSSkillMixin::MNSSkillMixin
MNSSkillMixin(const armem::client::MemoryNameSystem &m)
Definition: MNSSkillMixin.h:13
Component.h
armarx::Component
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition: Component.h:95
SkillContext.h
armarx::skills::TwoArmGraspControlSkillContext::onInit
virtual void onInit(armarx::Component &parent) final
Definition: GraspControlSkill.h:67
armarx::skills::mixin::ArvizSkillMixin::ArvizSkillMixin
ArvizSkillMixin(const armarx::viz::Client &a, const std::string &ln)
Definition: ArvizSkillMixin.h:14
armarx::skills::TwoArmGraspControlSkillContext::tcpControlSkillProvider
std::string tcpControlSkillProvider
Definition: GraspControlSkill.h:49
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::skills::TwoArmGraspControlSkill
Definition: GraspControlSkill.h:77
armarx::skills::TwoArmGraspControlSkillContext::handControlSkillProvider
std::string handControlSkillProvider
Definition: GraspControlSkill.h:48
armarx::skills::TwoArmGraspControlSkillContext
Definition: GraspControlSkill.h:46
armarx::armem::client::MemoryNameSystem
The memory name system (MNS) client.
Definition: MemoryNameSystem.h:69
armarx::skills::TwoArmGraspControlSkillContext::defineProperties
void defineProperties(const armarx::PropertyDefinitionsPtr &defs, const std::string &prefix) final
Definition: GraspControlSkill.h:55
MemoryNameSystem.h
armarx::viz::Client
Definition: Client.h:109