28#include <VirtualRobot/VirtualRobot.h>
34class CVisualTargetLocator;
35class CColorParameterSet;
48 "VisionX/examples/colors.txt",
49 "The color parameter file configures the colors used for segmentable recognition "
50 "(usually colors.txt)");
52 "ShowSegmentedResultImages",
54 "Decide whether to calculate color-segmented images with the marker color and show "
55 "them as result images. Causes small additional computational effort.");
57 "TCPNameLeft",
"TCP L",
"Name of the TCP of the left robot hand.");
59 "TCPNameRight",
"TCP R",
"Name of the TCP of the right robot hand.");
61 "MarkerNameLeft",
"Marker L",
"Name of the marker ball at the left robot hand.");
63 "MarkerNameRight",
"Marker R",
"Name of the marker ball at the right robot hand.");
67 "You can switch off the use of the camera images. The returned pose will then just "
68 "be taken from the forward kinematics.");
70 "RobotStateComponentName",
71 "RobotStateComponent",
72 "Name of the RobotStateComponent that should be used");
74 "MaximalAcceptedDistanceFromForwardKinematics",
76 "Maximal distance that the localization result may have from the position "
77 "determined by forward kinematics. If it is further away, it is discarded..");
108 return "HandMarkerLocalization";
159 memoryx::ObjectLocalizationResultList
167 void drawCrossInImage(CByteImage* image, Eigen::Vector3f point,
bool leftCamera);
174 CVisualTargetLocator* visualTargetLocator;
175 std::map<std::string, ObjectColor> markerColors;
179 std::string tcpNameLeft, tcpNameRight, markerNameLeft, markerNameRight;
182 bool showSegmentedResultImages;
183 CColorParameterSet* colorParameterSet;
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)
HandMarkerLocalizationPropertyDefinitions(std::string prefix)
bool initRecognizer() override
Initializes segmentable recognition.
void onExitObjectLocalizerProcessor() override
void onInitObjectLocalizerProcessor() override
memoryx::ObjectLocalizationResultList localizeObjectClasses(const std::vector< std::string > &objectClassNames, CByteImage **cameraImages, armarx::MetaInfoSizeBasePtr imageMetaInfo, CByteImage **resultImages) override
localize one or both hand markers
void onConnectObjectLocalizerProcessor() override
Initialize stuff here?
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
std::string getDefaultName() const override
bool addObjectClass(const memoryx::EntityPtr &objectClassEntity, const memoryx::GridFileManagerPtr &fileManager) override
Add a memory entity representing the hand marker in order to set its properties.
ObjectLocalizerProcessorPropertyDefinitions(std::string prefix)
CByteImage * cameraImages[2]
ObjectLocalizerProcessor()
armarx::MetaInfoSizeBasePtr imageMetaInfo
CByteImage ** resultImages
std::shared_ptr< class Robot > RobotPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
::IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface > RobotStateComponentInterfacePrx
IceInternal::Handle< Entity > EntityPtr
Typedef of EntityPtr as IceInternal::Handle<Entity> for convenience.
std::shared_ptr< GridFileManager > GridFileManagerPtr