151 virtual public GraspingManagerInterface,
161 return "GraspingManager";
176 generateGraspingTrajectory(
const std::string& objectInstanceEntityId,
177 const Ice::Current&
c = Ice::emptyCurrent)
override;
178 GraspingTrajectoryList
179 generateGraspingTrajectoryList(
const std::string& objectInstanceEntityId,
180 const Ice::Current&
c = Ice::emptyCurrent)
override;
181 GraspingTrajectoryList generateGraspingTrajectoryListForGraspList(
182 const GeneratedGraspList& grasps,
183 const Ice::Current&
c = Ice::emptyCurrent)
override;
184 void visualizeGraspingTrajectory(
const GraspingTrajectory&
trajectory,
185 float visuSlowdownFactor,
186 const Ice::Current&
c = Ice::emptyCurrent)
override;
188 MotionPlanningDataList generateIKs(
const std::string& objectInstanceEntityId,
189 const Ice::Current&
c = Ice::emptyCurrent)
override;
194 generateGraspsByObjectName(
const std::string& objectName,
195 const Ice::Current& = Ice::emptyCurrent)
override;
202 void onInitComponent()
override;
207 void onConnectComponent()
override;
212 void onDisconnectComponent()
override;
217 void onExitComponent()
override;
232 std::pair<std::string, Ice::StringSeq>
233 visualizeGrasp(
const GeneratedGrasp& grasp,
235 const DrawColor& color = DrawColor{1, 1, 1, 1});
255 GeneratedGraspList generateGrasps(
const std::string& objectInstanceEntityId);
260 GeneratedGraspList filterGrasps(
const GeneratedGraspList& grasps);
265 GraspingPlacementList filterPlacements(
const GraspingPlacementList& placements);
273 GraspingPlacementList generateRobotPlacements(
const GeneratedGraspList& grasps);
284 GraspingTrajectory planMotion(
const MotionPlanningData& mpd);
290 void drawTrajectory(
const GraspingTrajectory& t,
float visuSlowdownFactor);
302 std::vector<MotionPlanningData> calculateIKs(
const GraspingPlacementList& graspPlacements);
318 NameValueMap calculateSingleIK(const ::std::string& robotNodeSetName,
319 const std::string& eef,
320 const PoseBasePtr& globalRobotPose,
321 const ::armarx::FramedPoseBasePtr& tcpPose,
322 bool checkCollisionFree =
true);
329 armarx::StringStringDictionary getJointSetCollisionSetMapping();
338 GraspingTrajectoryList
339 generateGraspingTrajectoryListForGraspListInternal(
const GeneratedGraspList& grasps);
340 MotionPlanningDataList generateIKsInternal(
const GeneratedGraspList& grasps);
342 std::vector<std::string> getRobotNodeSetNodesWithoutAllwaysColliding(
343 const std::vector<std::string>& robotColNodeNames,
344 const std::string& armCollisionSet);
346 void setDescriptionPositionForObject(
const std::string& objId);
347 void setNextStepDescription(
const std::string& description);
348 void resetStepDescription();
349 std::string graspGeneratorName;
350 std::string robotPlacementName;
351 std::vector<std::string> robotNodeSetNames;
352 std::vector<std::string> reachabilitySpaceFilePaths;
354 Vector3fRange planningBoundingBox;
355 GraspGeneratorInterfacePrx gg;
356 GraspSelectionManagerInterfacePrx gsm;
357 GraspSelectionCriterionInterfacePrx gsc;
358 RobotPlacementInterfacePrx rp;
360 PlannedMotionProviderInterfacePrx pmp;
368 memoryx::CommonStorageInterfacePrx cs;
369 memoryx::WorkingMemoryInterfacePrx
wm;
370 memoryx::PriorKnowledgeInterfacePrx prior;
372 memoryx::EntityDrawerInterfacePrx entityDrawer;
373 std::string layerName;
374 std::string robotVisuId;
379 std::vector<CSpaceVisualizerTaskHandle> planningTasks;
380 Mutex graspManagerMutex;