46 "SimulatorProxyName",
"Simulator",
"name of dynamics simulator proxy");
48 "RobotName",
"Armar3",
"Name of robot used for calculating reference frame");
50 "ReferenceFrameName",
"EyeLeftCamera",
"Name of reference frame to use for pose");
54 "RecognitionCertainty", 0.9f,
"Certainty of recognition used in simulation (0...1).");
58 "Whether to simulate camera and checking visibility within camera");
73 if (performVisibilityCheck)
113 memoryx::FloatVector
mean;
114 mean.push_back(pos(0));
115 mean.push_back(pos(1));
116 mean.push_back(pos(2));
121 posDist->setMean(
mean);
122 posDist->setCovariance(0, 0, 2.0f);
123 posDist->setCovariance(1, 1, 2.0f);
124 posDist->setCovariance(2, 2, 2.0f);
128memoryx::ObjectLocalizationResultList
130 const memoryx::ObjectClassNameList& objectClassNames,
134 memoryx::ObjectLocalizationResultList resultList;
140 for (
const auto& className : objectClassNames)
145 ObjectClassInformationSequence objectInstances =
146 simulatorPrx->getObjectClassPoses(robotName, frameName, className);
149 for (
const auto& instanceInfo : objectInstances)
151 memoryx::ObjectLocalizationResult result;
153 result.timeStamp =
new TimestampVariant(instanceInfo.timestampMicroSeconds);
156 result.objectClassName = instanceInfo.className;
162 result.position = position;
163 result.orientation = pose->getOrientation();
167 result.recognitionCertainty = recognitionCertainty;
169 resultList.push_back(result);
199 return "ObjectLocalizerDynamicSimulation";
#define ARMARX_REGISTER_COMPONENT_EXECUTABLE(ComponentT, applicationName)
ComponentPropertyDefinitions(std::string prefix, bool hasObjectNameParameter=true)
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Property< PropertyType > getProperty(const std::string &name)
SpamFilterDataPtr deactivateSpam(float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
disables the logging for the current line for the given amount of seconds.
bool usingProxy(const std::string &name, const std::string &endpoints="")
Registers a proxy for retrieval after initialization and adds it to the dependency list.
ArmarXObjectSchedulerPtr getObjectScheduler() const
std::string getName() const
Retrieve name of object.
Ice::ObjectPrx getProxy(long timeoutMs=0, bool waitForScheduler=true) const
Returns the proxy of this object (optionally it waits for the proxy)
ObjectLocalizerDynamicSimulationPropertyDefinitions(std::string prefix)
This component connects to the ArmarX Simulator and reports object poses from the physics world.
void onInitComponent() override
Pure virtual hook for the subclass.
memoryx::ObjectLocalizationResultList localizeObjectClasses(const memoryx::ObjectClassNameList &objectClassNames, const Ice::Current &c=Ice::emptyCurrent) override
localizes simulated object instances
void onConnectComponent() override
Pure virtual hook for the subclass.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
static std::string GetDefaultName()
::memoryx::MultivariateNormalDistributionPtr computePositionNoise(const Eigen::Vector3f &pos)
std::string getDefaultName() const override
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)
static void SleepMS(float milliseconds)
Implements a Variant type for timestamps.
The MultivariateNormalDistribution class.
#define ARMARX_INFO
The normal logging level.
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
#define ARMARX_VERBOSE
The logging level for verbose information.
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::optional< float > mean(const boost::circular_buffer< NameValueMap > &buffer, const std::string &key)
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
IceInternal::Handle< FramedPosition > FramedPositionPtr
const LogSender::manipulator flush
IceInternal::Handle< FramedPose > FramedPosePtr
IceInternal::Handle< MultivariateNormalDistribution > MultivariateNormalDistributionPtr