Skip to content
Snippets Groups Projects

Add method to get global robot pose to RobotStateMemory

Merged Patrick Hegemann requested to merge state_memory_get_global_pose into master
1 file
+ 6
5
Compare changes
  • Side-by-side
  • Inline
@@ -189,15 +189,16 @@ namespace armarx::armem::server::robot_state
}
armarx::PoseBasePtr RobotStateMemory::getGlobalRobotPose(Ice::Long timestamp, const std::string& robotName, const ::Ice::Current& /*unused*/)
armarx::PoseBasePtr RobotStateMemory::getGlobalRobotPose(Ice::Long timestamp_us, const std::string& robotName, const ::Ice::Current& /*unused*/)
{
auto poseMap = localizationSegment.getRobotGlobalPoses(armem::Time::microSeconds(timestamp));
ARMARX_DEBUG << "Getting robot pose of robot " << robotName << " at timestamp " << armem::Time::microSeconds(timestamp);
auto timestamp = armem::Time::microSeconds(timestamp_us);
ARMARX_DEBUG << "Getting robot pose of robot " << robotName << " at timestamp " << timestamp << ".";
auto poseMap = localizationSegment.getRobotGlobalPoses(timestamp);
bool robotNameFound = simox::alg::contains_key(poseMap, robotName);
ARMARX_CHECK(robotNameFound)
<< "Robot with name " << robotName << " does not exist. "
<< "Robot with name " << robotName << " does not exist at or before timestamp " << timestamp << ".\n"
<< "Available robots are: " << simox::alg::get_keys(poseMap);
return new Pose(poseMap[robotName].matrix());
Loading