diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp index 01250bbb4488654a14dedf2ac04acad72bd54b15..6f57909c671fb2c5766c487b1ac5c5744e944fc0 100644 --- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp +++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.cpp @@ -1,10 +1,11 @@ #include "MappingDataReader.h" -#include "RobotAPI/libraries/armem_robot_localization/MemoryConnector.h" #include <vector> #include <IceUtil/Time.h> +#include <SimoxUtility/algorithm/get_map_keys_values.h> + #include <ArmarXCore/core/logging/Logging.h> #include <RobotAPI/libraries/armem/core/EntityInstance.h> @@ -14,6 +15,7 @@ #include <RobotAPI/libraries/armem_robot_mapping/aron_conversions.h> #include <RobotAPI/libraries/armem_robot_mapping/types.h> #include <RobotAPI/libraries/aron/core/codegenerator/codeWriter/cpp/AronCppClass.h> +#include "RobotAPI/libraries/armem_robot_localization/MemoryConnector.h" namespace armarx::armem { @@ -109,6 +111,7 @@ namespace armarx::armem ARMARX_WARNING << "Failed to query data from memory: " << qResult.errorMessage; return {.laserScans = {}, + .sensors = {}, .status = Result::Status::Error, .errorMessage = qResult.errorMessage}; } @@ -128,7 +131,10 @@ namespace armarx::armem return laserScan; }); + const auto sensors = simox::alg::get_keys(entities); + return {.laserScans = std::move(laserScans), + .sensors = sensors, .status = Result::Status::Success, .errorMessage = ""}; } diff --git a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h index 3ccfc02ffbe0b84a0f2649a936ddda0f31c70c33..3c700703ecc40708922580070d735ae9c3aaaffa 100644 --- a/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h +++ b/source/RobotAPI/libraries/armem_robot_mapping/MappingDataReader.h @@ -82,6 +82,8 @@ namespace armarx::armem std::vector<LaserScanStamped> laserScans; + std::vector<std::string> sensors; + enum Status { Error,