HandGroupStatechartContext.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::HandGroup
19
* @author Simon Ottenhaus ( simon dot ottenhaus at kit dot edu )
20
* @date 2014
21
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22
* GNU General Public License
23
*/
24
25
#include "
HandGroupStatechartContext.h
"
26
27
#include <SimoxUtility/algorithm/string/string_tools.h>
28
29
#include <
ArmarXCore/core/Component.h
>
30
#include <
ArmarXCore/core/system/ImportExportComponent.h
>
31
#include <
ArmarXCore/statechart/Statechart.h
>
32
33
#include <
RobotAPI/libraries/core/Pose.h
>
34
#include <
RobotAPI/libraries/core/remoterobot/RemoteRobot.h
>
35
36
using namespace
armarx
;
37
38
namespace
armarx::HandGroup
39
{
40
void
41
HandGroupStatechartContext::onInitStatechartContext
()
42
{
43
// Register dependencies
44
// usingProxy(getProperty<std::string>("KinematicUnitName").getValue());
45
// usingProxy(getProperty<std::string>("KinematicUnitObserverName").getValue());
46
usingProxy
(getProperty<std::string>(
"RobotStateComponentName"
).getValue());
47
// usingProxy(getProperty<std::string>("TCPControlUnitName").getValue());
48
49
const
std::string handUnitNamesStr = getProperty<std::string>(
"HandUnitNames"
).getValue();
50
handUnitNames =
simox::alg::split
(handUnitNamesStr,
","
);
51
52
for
(std::string handUnitName : handUnitNames)
53
{
54
usingProxy
(handUnitName);
55
}
56
}
57
58
void
59
HandGroupStatechartContext::onConnectStatechartContext
()
60
{
61
62
// retrieve proxies
63
robotStateComponent = getProxy<RobotStateComponentInterfacePrx>(
64
getProperty<std::string>(
"RobotStateComponentName"
).getValue());
65
// kinematicUnitPrx = getProxy<KinematicUnitInterfacePrx>(getProperty<std::string>("KinematicUnitName").getValue());
66
// kinematicUnitObserverPrx = getProxy<KinematicUnitObserverInterfacePrx>(getProperty<std::string>("KinematicUnitObserverName").getValue());
67
// tcpControlPrx = getProxy<TCPControlUnitInterfacePrx>(getProperty<std::string>("TCPControlUnitName").getValue());
68
69
// initialize remote robot
70
remoteRobot.reset(
new
RemoteRobot
(robotStateComponent->getSynchronizedRobot()));
71
72
for
(std::string handUnitName : handUnitNames)
73
{
74
HandUnitInterfacePrx prx = getProxy<HandUnitInterfacePrx>(handUnitName);
75
handUnits.insert(std::make_pair(prx->getHandName(), prx));
76
}
77
}
78
79
PropertyDefinitionsPtr
80
HandGroupStatechartContext::createPropertyDefinitions()
81
{
82
return
PropertyDefinitionsPtr
(
83
new
HandGroupStatechartContextProperties
(
getConfigIdentifier
()));
84
}
85
}
// namespace armarx::HandGroup
RemoteRobot.h
Pose.h
Statechart.h
HandGroupStatechartContext.h
armarx::HandGroup::HandGroupStatechartContext::onConnectStatechartContext
void onConnectStatechartContext() override
onConnectStatechartContext can be implemented by subclasses
Definition:
HandGroupStatechartContext.cpp:59
Component.h
armarx::Component::getConfigIdentifier
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Definition:
Component.cpp:79
armarx::RemoteRobot
Mimics the behaviour of the VirtualRobot::Robot class while redirecting everything to an Ice proxy.
Definition:
RemoteRobot.h:144
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::HandGroup::HandGroupStatechartContextProperties
Definition:
HandGroupStatechartContext.h:48
armarx::HandGroup::HandGroupStatechartContext::onInitStatechartContext
void onInitStatechartContext() override
onInitStatechartonInitStatechartContext can be implemented by subclasses
Definition:
HandGroupStatechartContext.cpp:41
armarx::PropertyDefinitionsPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Definition:
forward_declarations.h:35
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:154
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition:
ArmarXTimeserver.cpp:27
armarx::HandGroup
Definition:
CloseHand.h:29
armarx::split
std::vector< std::string > split(const std::string &source, const std::string &splitBy, bool trimElements=false, bool removeEmptyElements=false)
Definition:
StringHelpers.cpp:38
ImportExportComponent.h
RobotSkillTemplates
statecharts
HandGroup
HandGroupStatechartContext.cpp
Generated on Sat Mar 29 2025 09:17:33 for armarx_documentation by
1.8.17