20 std::stringstream logs;
23 for (
const auto& [robotName, robotDescription] : robotDescriptions)
36 if (
auto it = globalPoses.find(robotName); it != globalPoses.end())
42 logs <<
"\nNo global pose for robot '" << robotName <<
"'.";
44 if (
auto it = sensorValues.find(robotName); it != sensorValues.end())
46 for (
const auto& [name, values] : it->second.jointValueMap)
53 logs <<
"\nNo joint positions for robot '" << robotName <<
"'.";
57 if (not logs.str().empty())
SpamFilterDataPtr deactivateSpam(SpamFilterDataPtr const &spamFilter, float deactivationDurationSec, const std::string &identifier, bool deactivate)
#define ARMARX_VERBOSE
The logging level for verbose information.
std::vector< Robot > Robots
std::unordered_map< std::string, armarx::armem::robot_state::description::RobotDescription > RobotDescriptionMap
std::unordered_map< std::string, Eigen::Isometry3f > RobotPoseMap
std::unordered_map< std::string, SensorValues > SensorValuesMap
armem::robot_state::Robots combine(const description::RobotDescriptionMap &robotDescriptions, const localization::RobotPoseMap &globalPoses, const proprioception::SensorValuesMap &sensorValues, const armem::Time ×tamp)
armarx::core::time::DateTime Time
description::RobotDescription description