From fc32519af5832acd3853aea8a8af8e757eda526a Mon Sep 17 00:00:00 2001 From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu> Date: Tue, 8 Feb 2022 11:54:48 +0100 Subject: [PATCH] updates to known grasps (need to be ordered) --- .../aron/KnownGraspCandidate.xml | 19 +++++++++++-------- .../server/KnownGraspProviderSegment.cpp | 6 +++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml b/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml index 8397a5d2c..17247c71f 100644 --- a/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml +++ b/source/RobotAPI/libraries/armem_grasping/aron/KnownGraspCandidate.xml @@ -6,7 +6,6 @@ </AronIncludes> <GenerateTypes> <Object name='armarx::armem::grasping::arondto::KnownGrasp'> - <ObjectChild key='name'> <string /> </ObjectChild> @@ -22,25 +21,30 @@ <ObjectChild key='pose'> <Pose /> </ObjectChild> - </Object> + <!-- A Grasp set is a set of grasps that need to be executed to grasp an object. The order is important! --> <Object name='armarx::armem::grasping::arondto::KnownGraspSet'> - <ObjectChild key='name'> <string /> </ObjectChild> + <ObjectChild key='robot'> + <string /> + </ObjectChild> + + <ObjectChild key='endeffector'> + <string /> + </ObjectChild> + <ObjectChild key='grasps'> - <Dict> + <List> <armarx::armem::grasping::arondto::KnownGrasp /> - </Dict> + </List> </ObjectChild> - </Object> <Object name='armarx::armem::grasping::arondto::KnownGraspInfo'> - <ObjectChild key='correspondingObject'> <armarx::armem::arondto::MemoryID /> </ObjectChild> @@ -54,7 +58,6 @@ <ObjectChild key='xml'> <armarx::arondto::PackagePath /> </ObjectChild> - </Object> </GenerateTypes> diff --git a/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp b/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp index 5b8aaafea..e66a190bd 100644 --- a/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp +++ b/source/RobotAPI/libraries/armem_grasping/server/KnownGraspProviderSegment.cpp @@ -50,8 +50,8 @@ namespace armarx::armem::grasping::segment arondto::KnownGraspSet retGraspSet; retGraspSet.name = graspSetNode.attribute_value("name"); - //std::string robotType = graspSetNode.attribute_value("RobotType"); - //std::string endEffector = graspSetNode.attribute_value("EndEffector"); + retGraspSet.robot = graspSetNode.attribute_value("RobotType"); + retGraspSet.endeffector = graspSetNode.attribute_value("EndEffector"); for (const auto& graspNode : graspSetNode.nodes()) { @@ -97,7 +97,7 @@ namespace armarx::armem::grasping::segment ARMARX_INFO << "Found grasp '" << retGrasp.name << "' in set '" << retGraspSet.name << "' for obj '" << objectClassName << "' with pose \n" << retGrasp.pose; - retGraspSet.grasps[retGrasp.name] = retGrasp; + retGraspSet.grasps.push_back(retGrasp); } ret.graspSets[retGraspSet.name] = retGraspSet; } -- GitLab