Skip to content
Snippets Groups Projects

Feature/object memory connected to robot state memory

1 file
+ 10
1
Compare changes
  • Side-by-side
  • Inline
@@ -151,6 +151,10 @@ namespace armarx::armem::server::obj::instance
// Build new poses.
objpose::ObjectPoseSeq newObjectPoses;
stats.numUpdated = 0;
// timestamp used to reduce the rpc calls for robot sync
Time robotSyncTimestamp = -1;
for (const objpose::data::ProvidedObjectPose& provided : providedPoses)
{
const Time timestamp = armarx::fromIce<Time>(provided.timestamp);
@@ -191,7 +195,12 @@ namespace armarx::armem::server::obj::instance
// Update the entity.
stats.numUpdated++;
ARMARX_CHECK(virtualRobotReader->synchronizeRobot(*robot, timestamp));
// update the robot to obtain correct local -> global transformation
if(robotSyncTimestamp != timestamp)
{
ARMARX_CHECK(virtualRobotReader->synchronizeRobot(*robot, timestamp));
robotSyncTimestamp = timestamp;
}
objpose::ObjectPose& newPose = newObjectPoses.emplace_back();
if (provided.objectPoseFrame.empty())
Loading