BringObjectGroupStatechartContext.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* Copyright (C) 2014-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5
*
6
* ArmarX is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation.
9
*
10
* ArmarX is distributed in the hope that it will be useful, but
11
* WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
* @package RobotSkillTemplates::BringObjectGroup
19
* @author Mirko Waechter ( mirko dot waechter at kit dot edu )
20
* @date 2015
21
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22
* GNU General Public License
23
*/
24
25
#include "
BringObjectGroupStatechartContext.h
"
26
27
#include <
RobotAPI/libraries/core/remoterobot/RemoteRobot.h
>
28
#include <RobotAPI/interface/core/FramedPoseBase.h>
29
#include <
ArmarXCore/core/Component.h
>
30
#include <
ArmarXCore/core/system/ImportExportComponent.h
>
31
#include <
ArmarXCore/statechart/Statechart.h
>
32
33
34
35
namespace
armarx::BringObjectGroup
36
{
37
void
BringObjectGroupStatechartContext::onInitStatechartContext
()
38
{
39
// Register dependencies
40
// usingProxy(getProperty<std::string>("KinematicUnitName").getValue());
41
// usingProxy(getProperty<std::string>("KinematicUnitObserverName").getValue());
42
usingProxy
(getProperty<std::string>(
"RobotStateComponentName"
).getValue());
43
// usingProxy(getProperty<std::string>("TCPControlUnitName").getValue());
44
usingProxy
(getProperty<std::string>(
"WorkingMemoryName"
).getValue());
45
usingProxy
(getProperty<std::string>(
"ObjectMemoryObserverName"
).getValue());
46
usingProxy
(getProperty<std::string>(
"PriorKnowledgeName"
).getValue());
47
usingProxy
(getProperty<std::string>(
"ViewSelectionName"
).getValue());
48
// usingProxy(getProperty<std::string>("PathPlannerName").getValue());
49
50
offeringTopic
(
"DebugDrawerUpdates"
);
51
52
}
53
54
55
void
BringObjectGroupStatechartContext::onConnectStatechartContext
()
56
{
57
58
// retrieve proxies
59
robotStateComponent = getProxy<RobotStateComponentInterfacePrx>(getProperty<std::string>(
"RobotStateComponentName"
).getValue());
60
// kinematicUnitPrx = getProxy<KinematicUnitInterfacePrx>(getProperty<std::string>("KinematicUnitName").getValue());
61
// kinematicUnitObserverPrx = getProxy<KinematicUnitObserverInterfacePrx>(getProperty<std::string>("KinematicUnitObserverName").getValue());
62
// tcpControlPrx = getProxy<TCPControlUnitInterfacePrx>(getProperty<std::string>("TCPControlUnitName").getValue());
63
64
workingMemoryProxy = getProxy<memoryx::WorkingMemoryInterfacePrx>(getProperty<std::string>(
"WorkingMemoryName"
).getValue());
65
objectMemoryObserverProxy = getProxy<memoryx::ObjectMemoryObserverInterfacePrx>(getProperty<std::string>(
"ObjectMemoryObserverName"
).getValue());
66
priorKnowledgeProxy = getProxy<memoryx::PriorKnowledgeInterfacePrx>(getProperty<std::string>(
"PriorKnowledgeName"
).getValue());
67
viewSelection = getProxy<ViewSelectionInterfacePrx>(getProperty<std::string>(
"ViewSelectionName"
).getValue());
68
// pathPlannerPrx = getProxy<PathPlannerBasePrx>(getProperty<std::string>("PriorPathPlannerNameKnowledgeName").getValue());
69
70
71
// // initialize remote robot
72
remoteRobot.reset(
new
RemoteRobot
(robotStateComponent->getSynchronizedRobot()));
73
74
debugDrawerTopicProxy = getTopic<armarx::DebugDrawerInterfacePrx>(
"DebugDrawerUpdates"
);
75
/*try
76
{
77
simulatorPrx = getProxy<SimulatorInterfacePrx>("Simulator");
78
}
79
catch(...)
80
{
81
ARMARX_WARNING << "Could not get simulator proxy";
82
}*/
83
}
84
85
PropertyDefinitionsPtr
BringObjectGroupStatechartContext::createPropertyDefinitions()
86
{
87
return
PropertyDefinitionsPtr
(
new
BringObjectGroupStatechartContextProperties
(
88
getConfigIdentifier
()));
89
}
90
}
91
92
RemoteRobot.h
BringObjectGroupStatechartContext.h
Statechart.h
armarx::BringObjectGroup
Definition:
BringObjectGroupRemoteStateOfferer.h:30
armarx::BringObjectGroup::BringObjectGroupStatechartContext::onConnectStatechartContext
void onConnectStatechartContext() override
onConnectStatechartContext can be implemented by subclasses
Definition:
BringObjectGroupStatechartContext.cpp:55
Component.h
armarx::Component::getConfigIdentifier
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Definition:
Component.cpp:74
armarx::RemoteRobot
Mimics the behaviour of the VirtualRobot::Robot class while redirecting everything to an Ice proxy.
Definition:
RemoteRobot.h:139
armarx::ManagedIceObject::offeringTopic
void offeringTopic(const std::string &name)
Registers a topic for retrival after initialization.
Definition:
ManagedIceObject.cpp:290
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::PropertyDefinitionsPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Definition:
forward_declarations.h:34
armarx::BringObjectGroup::BringObjectGroupStatechartContext::onInitStatechartContext
void onInitStatechartContext() override
onInitStatechartonInitStatechartContext can be implemented by subclasses
Definition:
BringObjectGroupStatechartContext.cpp:37
armarx::ManagedIceObject::usingProxy
bool usingProxy(const std::string &name, const std::string &endpoints="")
Registers a proxy for retrieval after initialization and adds it to the dependency list.
Definition:
ManagedIceObject.cpp:151
armarx::BringObjectGroup::BringObjectGroupStatechartContextProperties
Definition:
BringObjectGroupStatechartContext.h:54
ImportExportComponent.h
RobotSkillTemplates
statecharts
BringObjectGroup
BringObjectGroupStatechartContext.cpp
Generated on Sat Oct 5 2024 09:14:05 for armarx_documentation by
1.8.17