diff --git a/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp b/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp index 43af7dbcd44cce62ed344ae5965ae808675f43ad..cdaa6d2369a69bebba808a17b3807afd0990c4db 100644 --- a/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp +++ b/source/RobotAPI/libraries/armem_robot_state/server/common/Visu.cpp @@ -186,15 +186,17 @@ namespace armarx::armem::server::robot_state if (p.enabled) { - // TIMING_START(Visu); + TIMING_START(Visu); // TODO(fabian.reister): use timestamp + const auto timestamp = IceUtil::Time::now(); + try { - const auto robotDescriptions = descriptionSegment.getRobotDescriptions(); - const auto globalRobotPoseMap = localizationSegment.getRobotGlobalPoses(); - const auto robotJointPositionMap = proprioceptionSegment.getRobotJointPositions(); + const auto robotDescriptions = descriptionSegment.getRobotDescriptions(timestamp); + const auto globalRobotPoseMap = localizationSegment.getRobotGlobalPoses(timestamp); + const auto robotJointPositionMap = proprioceptionSegment.getRobotJointPositions(timestamp); // we need all 3 informations: @@ -216,7 +218,7 @@ namespace armarx::armem::server::robot_state ARMARX_DEBUG << "Done committing"; - // TIMING_END_STREAM(Visu, ARMARX_VERBOSE); + TIMING_END_STREAM(Visu, ARMARX_VERBOSE); // if (debugObserver) // { diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp index f00a970c168393a4c15223fcf02e5a30b1f3da91..011d37e33507cb19c8d888cb939c1d326813909e 100644 --- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp +++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.cpp @@ -105,7 +105,7 @@ namespace armarx::armem::server::robot_state::description storeRobotDescription(robotDescription); } - Segment::RobotDescriptionMap Segment::getRobotDescriptions() const + Segment::RobotDescriptionMap Segment::getRobotDescriptions(const armem::Time& timestamp) const { RobotDescriptionMap robotDescriptions; diff --git a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h index 8bb9ec017b006c1ad9dc5334688d04aa472e9ee1..21bfd98fe652e9973478769640ab9d06c5ef7c21 100644 --- a/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h +++ b/source/RobotAPI/libraries/armem_robot_state/server/description/Segment.h @@ -72,7 +72,7 @@ namespace armarx::armem::server::robot_state::description /// mapping "robot name" -> "robot description" using RobotDescriptionMap = std::unordered_map<std::string, robot::RobotDescription>; - RobotDescriptionMap getRobotDescriptions() const; + RobotDescriptionMap getRobotDescriptions(const armem::Time& timestamp) const; private: diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp index 38fe69a9172cf4e5b39b0995d64e7a4f78be8424..500925f2d99383ba7e463ff09ecf94ea7283b087 100644 --- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp +++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.cpp @@ -89,7 +89,7 @@ namespace armarx::armem::server::robot_state::proprioception robotUnitProviderID.providerSegmentName = providerSegmentName; } - std::unordered_map<std::string, std::map<std::string, float>> Segment::getRobotJointPositions() const + std::unordered_map<std::string, std::map<std::string, float>> Segment::getRobotJointPositions(const armem::Time& timestamp) const { std::unordered_map<std::string, std::map<std::string, float>> jointMap; diff --git a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h index 09bae1077a76757fcce175ec34dff212f6c4d2f3..bc83a946bcadafbc85a15d55cff79c3a18af970f 100644 --- a/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h +++ b/source/RobotAPI/libraries/armem_robot_state/server/proprioception/Segment.h @@ -68,7 +68,7 @@ namespace armarx::armem::server::robot_state::proprioception void init(); - std::unordered_map<std::string, std::map<std::string, float>> getRobotJointPositions() const; + std::unordered_map<std::string, std::map<std::string, float>> getRobotJointPositions(const armem::Time& timestamp) const; const armem::MemoryID& getRobotUnitProviderID() const;