FamiliarObjectDetectionExample.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <experimental/memory>
5#include <string>
6
10
14#include <RobotAPI/interface/objectpose/FamiliarObjectPoseStorageInterface.h>
15#include <RobotAPI/libraries/ArmarXObjects/aron/ObjectID.aron.generated.h>
17
19{
20
21 /**
22 * @defgroup Component-ExampleClient ExampleClient
23 * @ingroup RobotAPI-Components
24 * A description of the component ExampleClient.
25 *
26 * @class ExampleClient
27 * @ingroup Component-ExampleClient
28 * @brief Brief description of class ExampleClient.
29 *
30 * Detailed description of class ExampleClient.
31 */
33 virtual public armarx::Component,
36 {
37 public:
39
40 /// @see armarx::ManagedIceObject::getDefaultName()
41 std::string getDefaultName() const override;
42
43 protected:
45
46 void onInitComponent() override;
47 void onConnectComponent() override;
48 void onDisconnectComponent() override;
49 void onExitComponent() override;
50
51 void run();
52
54
55
58
59 private:
60 struct Properties
61 {
62 std::string robotName;
63
64 armarx::arondto::ObjectID knownObjectID;
65 armarx::arondto::ObjectID knownObjectAsFamID;
66
67 armarx::arondto::ObjectID exemplaryFamiliarObjectID;
68
69 float objectShiftX = 0;
70 float objectShiftY = 60;
71
72 unsigned int nFamObjects = 3;
73
74 } p;
75
76 // Writing familiar object instances to memory
77 objpose::FamiliarObjectPoseStorageInterfacePrx familiarObjectPoseStoragePrx;
78
79 // Reading familiar object instances from memory
82 familiarObjectInstanceReaderPlugin;
83
85 };
86
87} // namespace armarx::familiar_objects
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition Component.h:94
Provides an objpose::ObjectPoseTopicPrx objectPoseTopic as member variable.
IceUtil::Handle< PeriodicTask< T > > pointer_type
Shared pointer type for convenience.
A component plugin offering client-side access to a reader or writer and manages the lifecycle,...
void onInitComponent() override
Pure virtual hook for the subclass.
void onConnectComponent() override
Pure virtual hook for the subclass.
plugins::ListeningPluginUser ComponentPluginUser
Definition plugins.h:10
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.