29 #include <Eigen/Eigen> 
   33 #include <ArmarXCore/interface/observers/ObserverInterface.h> 
   35 #include <VisionX/interface/components/AffordanceExtraction.h> 
   36 #include <VisionX/interface/components/PointCloudSegmenter.h> 
   38 #include <AffordanceKit/affordances/BimanualAlignedGraspAffordance.h> 
   39 #include <AffordanceKit/affordances/BimanualAlignedPlatformGraspAffordance.h> 
   40 #include <AffordanceKit/affordances/BimanualAlignedPrismaticGraspAffordance.h> 
   41 #include <AffordanceKit/affordances/BimanualGraspAffordance.h> 
   42 #include <AffordanceKit/affordances/BimanualLiftAffordance.h> 
   43 #include <AffordanceKit/affordances/BimanualOpposedGraspAffordance.h> 
   44 #include <AffordanceKit/affordances/BimanualOpposedPlatformGraspAffordance.h> 
   45 #include <AffordanceKit/affordances/BimanualOpposedPrismaticGraspAffordance.h> 
   46 #include <AffordanceKit/affordances/BimanualPlatformGraspAffordance.h> 
   47 #include <AffordanceKit/affordances/BimanualPrismaticGraspAffordance.h> 
   48 #include <AffordanceKit/affordances/BimanualTurnAffordance.h> 
   49 #include <AffordanceKit/affordances/GraspAffordance.h> 
   50 #include <AffordanceKit/affordances/HoldAffordance.h> 
   51 #include <AffordanceKit/affordances/LeanAffordance.h> 
   52 #include <AffordanceKit/affordances/LiftAffordance.h> 
   53 #include <AffordanceKit/affordances/PlatformGraspAffordance.h> 
   54 #include <AffordanceKit/affordances/PrismaticGraspAffordance.h> 
   55 #include <AffordanceKit/affordances/PullAffordance.h> 
   56 #include <AffordanceKit/affordances/PushAffordance.h> 
   57 #include <AffordanceKit/affordances/SupportAffordance.h> 
   58 #include <AffordanceKit/affordances/TurnAffordance.h> 
   60 #include <MemoryX/interface/components/WorkingMemoryInterface.h> 
   76             defineOptionalProperty<std::string>(
"DebugObserverName",
 
   78                                                 "Name of the topic the DebugObserver listens on");
 
   79             defineOptionalProperty<std::string>(
 
   80                 "WorkingMemoryName", 
"WorkingMemory", 
"Name of WorkingMemory component");
 
   81             defineOptionalProperty<std::string>(
"AffordanceExtractionTopicName",
 
   82                                                 "ExtractedAffordances",
 
   83                                                 "Topic for publishing extraction notifications");
 
   84             defineOptionalProperty<std::string>(
 
   85                 "PrimitiveExtractionTopicName",
 
   86                 "SegmentedPointCloud",
 
   87                 "Topic under which primitive extraction notifications are published");
 
   88             defineOptionalProperty<std::string>(
 
   91                 "Name of the embodiment to use for affordance extraction (Armar3, Armar4, WalkMan");
 
   92             defineOptionalProperty<float>(
 
   93                 "SpatialSamplingDistance", 75, 
"Distance between two spatial samplings in mm");
 
   94             defineOptionalProperty<int>(
 
   95                 "NumOrientationalSamplings", 4, 
"Number of orientational samplings");
 
   96             defineOptionalProperty<std::string>(
"RestrictToAffordanceList",
 
   98                                                 "Only evaluate affordances from this list (use " 
   99                                                 "short names in comma separated list)");
 
  100             defineOptionalProperty<int>(
"MaxPrimitiveSamplingSize",
 
  102                                         "Maximum size of primitive sampling to be considered for " 
  103                                         "extracting affordances (0 means infinity)");
 
  104             defineOptionalProperty<float>(
 
  105                 "AffordanceExtractionCertainty",
 
  107                 "Certainty value attributed to visual affordance extraction");
 
  120         virtual public AffordanceExtractionInterface
 
  131             return "AffordanceExtraction";
 
  139         armarx::TimestampBasePtr
 
  143                             const std::string& affordance,
 
  144                             const std::string& primitiveId,
 
  149                             const Ice::Current& 
c = Ice::emptyCurrent) 
override;
 
  152                          const Ice::Current& 
c = Ice::emptyCurrent) 
override;
 
  154                          const Ice::Current& 
c = Ice::emptyCurrent) 
override;
 
  225         AffordanceKit::BimanualOpposedPlatformGraspAffordancePtr
 
  227         AffordanceKit::BimanualOpposedPrismaticGraspAffordancePtr
 
  229         AffordanceKit::BimanualAlignedPlatformGraspAffordancePtr
 
  231         AffordanceKit::BimanualAlignedPrismaticGraspAffordancePtr