29#include <ArmarXCore/interface/observers/ConditionHandlerInterface.h>
31#include <ArmarXSimulation/interface/simulator/SimulatorInterface.h>
33#include <MemoryX/interface/components/PriorKnowledgeInterface.h>
34#include <MemoryX/interface/components/WorkingMemoryInterface.h>
35#include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
46 "SceneModificationType",
47 "Possible modes are 'addObject', 'removeObject', and 'moveObject'. No object "
48 "manipulation with 'none'.");
50 "Name of object class in PriorKnowledge");
52 "Name of object instance in working memory");
58 "OrientationPitch", 0.0f,
"Orientation of object (pitch)");
62 "Specify if the object is static (fixed in the world) or "
63 "dynamic (can move in the world)");
67 "Name of the WorkingMemory component that should be used");
71 "Name of the PriorKnowledge component that should be used");
75 "Name of the Simulator component that should be used");
78 for (
int i = 0; i < 10; i++)
80 std::stringstream ss1;
81 ss1 <<
"SceneModificationType_" << i;
85 "Optional additional object. Possible modes are 'addObject', 'removeObject', "
86 "and 'moveObject'. No object manipulation with 'none'.");
88 std::stringstream ss2;
89 ss2 <<
"ObjectClassName_" << i;
93 "Optional additional object. Name of object class in PriorKnowledge");
95 std::stringstream ss3;
96 ss3 <<
"ObjectInstanceName_" << i;
100 "Optional additional object. Name of object instance in working memory");
102 std::stringstream ss4;
103 ss4 <<
"PositionX_" << i;
105 ss4.str(), 0.0f,
"Optional additional object. Position of object (x)");
107 std::stringstream ss5;
108 ss5 <<
"PositionY_" << i;
110 ss5.str(), 0.0f,
"Optional additional object. Position of object (y)");
112 std::stringstream ss6;
113 ss6 <<
"PositionZ_" << i;
115 ss6.str(), 0.0f,
"Optional additional object. Position of object (z)");
117 std::stringstream ss7;
118 ss7 <<
"OrientationRoll_" << i;
120 ss7.str(), 0.0f,
"Optional additional object. Orientation of object (roll)");
122 std::stringstream ss8;
123 ss8 <<
"OrientationPitch_" << i;
125 ss8.str(), 0.0f,
"Optional additional object. Orientation of object (pitch)");
127 std::stringstream ss9;
128 ss9 <<
"OrientationYaw_" << i;
130 ss9.str(), 0.0f,
"Optional additional object. Orientation of object (yaw)");
132 std::stringstream ss10;
133 ss10 <<
"StaticObject_" << i;
137 "Optional additional object. Specify if the object is static (fixed in the "
138 "world) or dynamic (can move in the world)");
144 "Start localization of object. This will make the object visible in the WM gui.");
146 "LocalizeObject_seconds", 10,
"How long should the object be localized");
150 "Attach object to robot: object instance name");
152 "AttachObjectToRobot.RobotName",
"",
"Attach object to robot: name of robot");
154 "AttachObjectToRobot.RobotNodeName",
156 "Attach object to robot: name of RobotNode (i.e. tcp)");
192 return "SceneModifier";
195 void onInitComponent()
override;
196 void onExitComponent()
override;
197 void onConnectComponent()
override;
199 void onDisconnectComponent()
override;
202 Eigen::Matrix4f getGlobalPose(
const std::string& suffix);
204 void addObject(
const std::string& suffix);
205 void removeObject(
const std::string& suffix);
206 void moveObject(
const std::string& suffix);
216 const std::string& robotName,
217 const std::string& robotNodeName);
219 bool getStatic(
const std::string& suffix);
#define ARMARXCOMPONENT_IMPORT_EXPORT
Default component property definition container.
ComponentPropertyDefinitions(std::string prefix, bool hasObjectNameParameter=true)
Baseclass for all ArmarX ManagedIceObjects requiring properties.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
PropertyDefinition< PropertyType > & defineRequiredProperty(const std::string &name, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
SceneModifierPropertyDefinitions(std::string prefix)
bool checkForConfigs(const std::string &suffix)
armarx::ConditionHandlerInterfacePrx conditionHandler
memoryx::WorkingMemoryInterfacePrx workingMemoryProxy
memoryx::ObjectMemoryObserverInterfacePrx memoryObserver
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
SimulatorInterfacePrx simulatorPrx
armarx::ChannelRefBasePtr classChannel1
void localizeSingleObject(const std::string &objClass, int sleepS)
void attachObject(const std::string &objName, const std::string &robotName, const std::string &robotNodeName)
bool getStatic(const std::string &suffix)
std::string getDefaultName() const override
Retrieve default name of component.
memoryx::PriorKnowledgeInterfacePrx priorKnowledgeProxy
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.