diff --git a/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp b/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp index 23f89478661eeaee41e8c69410d0245ac0c3f850..034ad0f254a1f0a92a89797f282357d806ec46e4 100644 --- a/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp +++ b/source/RobotAPI/components/armem/server/GraspMemory/GraspMemory.cpp @@ -34,9 +34,9 @@ namespace armarx::armem::server::grasp workingMemory.name() = memoryName; workingMemory.addCoreSegment("GraspCandidate", - armarx::grasping::arondto::GraspCandidate::toInitialAronType()); + armarx::grasping::arondto::GraspCandidate::toAronType()); workingMemory.addCoreSegment("BimanualGraspCandidate", - armarx::grasping::arondto::BimanualGraspCandidate::toInitialAronType()); + armarx::grasping::arondto::BimanualGraspCandidate::toAronType()); } void GraspMemory::onConnectComponent() diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp index 7b870dd1afca4abae31288d55d1647ad5b0463a0..709b9c0921d57e30f43e22544c4e4b572c1d181f 100644 --- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp +++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.cpp @@ -1,13 +1,14 @@ #include "GraspCandidateWriter.h" #include <RobotAPI/libraries/GraspingUtility/aron/GraspCandidate.aron.generated.h> #include <RobotAPI/libraries/GraspingUtility/aron_conversions.h> +#include <RobotAPI/libraries/armem/core/error/mns.h> namespace armarx::armem { - GraspCandidateWriter::GraspCandidateWriter(armem::ClientWriterComponentPluginUser& component) - : component(component) + GraspCandidateWriter::GraspCandidateWriter(armem::client::MemoryNameSystem& memoryNameSystem) + : memoryNameSystem(memoryNameSystem) { } @@ -16,17 +17,17 @@ namespace armarx::armem // Wait for the memory to become available and add it as dependency. ARMARX_IMPORTANT << "GraspCandidateWriter: Waiting for memory '" << properties.memoryName << "' ..."; - auto result = component.useMemory(properties.memoryName); - if (not result.success) + try { - ARMARX_ERROR << result.errorMessage; + memoryWriter = memoryNameSystem.useWriter(properties.memoryName); + ARMARX_IMPORTANT << "GraspCandidateWriter: Connected to memory '" << properties.memoryName << "'"; + } + catch (const armem::error::CouldNotResolveMemoryServer& e) + { + ARMARX_ERROR << e.what(); return; } - ARMARX_IMPORTANT << "GraspCandidateWriter: Connected to memory '" << properties.memoryName; - - memoryWriter.setWritingMemory(result.proxy); - } void GraspCandidateWriter::registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def) diff --git a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h index 10a5027479fe990e7614055ea028866cdaec74b7..a38ab8f935b656c6fe5546282df3dd8b3b7cd286 100644 --- a/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h +++ b/source/RobotAPI/libraries/GraspingUtility/GraspCandidateWriter.h @@ -12,7 +12,7 @@ namespace armarx::armem class GraspCandidateWriter { public: - GraspCandidateWriter(armem::ClientWriterComponentPluginUser& component); + GraspCandidateWriter(armem::client::MemoryNameSystem& memoryNameSystem); void connect(); @@ -36,6 +36,8 @@ namespace armarx::armem const std::string& providerName, const armem::Time& timestamp, std::string coreMemoryName); + armem::client::MemoryNameSystem& memoryNameSystem; + armem::client::Writer memoryWriter; struct Properties @@ -50,8 +52,6 @@ namespace armarx::armem const std::string propertyPrefix = "mem.grasping."; - armem::ClientWriterComponentPluginUser& component; - }; diff --git a/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp b/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp index d70ff63103ddcbaa7ee3f6babb21f19b154c9ffc..2504df79b3b63cb7f6ff7e7a0831b224023c5226 100644 --- a/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp +++ b/source/RobotAPI/libraries/GraspingUtility/aron_conversions.cpp @@ -116,7 +116,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::GraspCandidate& dto, else { dto.executionHintsValid = false; - dto.executionHints.initialize(); + dto.executionHints.toAron(); } dto.graspPose = fromIce(bo.graspPose); dto.graspSuccessProbability = bo.graspSuccessProbability; @@ -131,7 +131,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::GraspCandidate& dto, else { dto.reachabilityInfoValid = false; - dto.reachabilityInfo.initialize(); + dto.reachabilityInfo.toAron(); } dto.robotPose = fromIce(bo.robotPose); dto.side = bo.side; @@ -144,7 +144,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::GraspCandidate& dto, else { dto.sourceInfoValid = false; - dto.sourceInfo.initialize(); + dto.sourceInfo.toAron(); } dto.targetFrame = bo.targetFrame; } @@ -226,7 +226,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate& else { dto.executionHintsRightValid = false; - dto.executionHintsRight.initialize(); + dto.executionHintsRight.toAron(); } if (bo.executionHintsLeft) { @@ -236,7 +236,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate& else { dto.executionHintsLeftValid = false; - dto.executionHintsLeft.initialize(); + dto.executionHintsLeft.toAron(); } dto.graspPoseRight = fromIce(bo.graspPoseRight); @@ -252,7 +252,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate& else { dto.reachabilityInfoRightValid = false; - dto.reachabilityInfoRight.initialize(); + dto.reachabilityInfoRight.toAron(); } if (bo.reachabilityInfoLeft) { @@ -262,7 +262,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate& else { dto.reachabilityInfoLeftValid = false; - dto.reachabilityInfoLeft.initialize(); + dto.reachabilityInfoLeft.toAron(); } dto.robotPose = fromIce(bo.robotPose); dto.sourceFrame = bo.sourceFrame; @@ -274,7 +274,7 @@ void armarx::grasping::toAron(armarx::grasping::arondto::BimanualGraspCandidate& else { dto.sourceInfoValid = false; - dto.sourceInfo.initialize(); + dto.sourceInfo.toAron(); } dto.targetFrame = bo.targetFrame; dto.inwardsVectorRight = fromIce(bo.inwardsVectorRight);