45 "SimulatorProxyName",
"Simulator",
"name of dynamics simulator proxy");
47 "RobotName",
"Armar3",
"Name of robot used for calculating reference frame");
49 "ReferenceFrameName",
"EyeLeftCamera",
"Name of reference frame to use for pose");
53 "RecognitionCertainty", 0.9f,
"Certainty of recognition used in simulation (0...1).");
57 "Whether to simulate camera and checking visibility within camera");
72 if (performVisibilityCheck)
112 memoryx::FloatVector
mean;
113 mean.push_back(pos(0));
114 mean.push_back(pos(1));
115 mean.push_back(pos(2));
120 posDist->setMean(
mean);
121 posDist->setCovariance(0, 0, 2.0f);
122 posDist->setCovariance(1, 1, 2.0f);
123 posDist->setCovariance(2, 2, 2.0f);
127memoryx::ObjectLocalizationResultList
129 const memoryx::ObjectClassNameList& objectClassNames,
133 memoryx::ObjectLocalizationResultList resultList;
139 for (
const auto& className : objectClassNames)
144 ObjectClassInformationSequence objectInstances =
145 simulatorPrx->getObjectClassPoses(robotName, frameName, className);
148 for (
const auto& instanceInfo : objectInstances)
150 memoryx::ObjectLocalizationResult result;
152 result.timeStamp =
new TimestampVariant(instanceInfo.timestampMicroSeconds);
155 result.objectClassName = instanceInfo.className;
161 result.position = position;
162 result.orientation = pose->getOrientation();
166 result.recognitionCertainty = recognitionCertainty;
168 resultList.push_back(result);
192 return "ObjectLocalizerDynamicSimulation";
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)
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
::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