From 2fad98a2f07709022b0098591c31893cbecb4fbf Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Tue, 14 Jun 2022 10:48:04 +0200 Subject: [PATCH] Remove requirement that object memory needs instance index for prediction --- .../armem/server/ObjectMemory/ObjectMemory.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp b/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp index 89da7e8a6..fbfdba9d7 100644 --- a/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp +++ b/source/RobotAPI/components/armem/server/ObjectMemory/ObjectMemory.cpp @@ -234,15 +234,16 @@ namespace armarx::armem::server::obj auto boRequest = armarx::fromIce<armem::PredictionRequest>(request); armem::PredictionResult result; result.snapshotID = boRequest.snapshotID; - if (armem::contains(workingMemory().id().withCoreSegmentName("Instance"), - boRequest.snapshotID) && - !boRequest.snapshotID.hasGap() && boRequest.snapshotID.hasInstanceIndex()) + if (armem::contains(workingMemory().id().withCoreSegmentName("Instance"), boRequest.snapshotID) + and not boRequest.snapshotID.hasGap() + and boRequest.snapshotID.hasTimestamp()) { objpose::ObjectPosePredictionRequest objPoseRequest; toIce(objPoseRequest.timeWindow, Duration::SecondsDouble(predictionTimeWindow)); objPoseRequest.objectID = toIce(ObjectID(request.snapshotID.entityName)); objPoseRequest.settings = request.settings; toIce(objPoseRequest.timestamp, boRequest.snapshotID.timestamp); + objpose::ObjectPosePredictionResult objPoseResult = predictObjectPoses({objPoseRequest}).at(0); result.success = objPoseResult.success; @@ -263,6 +264,10 @@ namespace armarx::armem::server::obj } else { + if (not boRequest.snapshotID.hasInstanceIndex()) + { + boRequest.snapshotID.instanceIndex = 0; + } auto* aronInstance = queryResult.memory.findLatestInstance( boRequest.snapshotID, boRequest.snapshotID.instanceIndex); if (aronInstance == nullptr) -- GitLab