25 #include <pcl/point_cloud.h>
26 #include <pcl/point_types.h>
30 #include <RobotAPI/libraries/armem_vision/client/laser_scans/Reader.h>
32 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
33 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
43 #include "RobotComponents/components/CartographerMapRegistration/RemoteGui.h"
49 class LaserScanAggregator;
115 void createRemoteGuiTab();
120 void RemoteGui_update() override;
134 void drawBoxes(const Properties& p, viz::Client& arviz);
137 Eigen::Affine3f selectedBoundingBoxCorner()
const;
141 std::unique_ptr<armem::vision::laser_scans::client::Reader> mappingDataReader;
143 memoryx::PriorKnowledgeInterfacePrx priorKnowledge;
144 memoryx::WorkingMemoryInterfacePrx workingMemory;
148 RemoteGuiInterfacePrx remoteGuiInterface;
156 std::string mapPath =
"./RobotComponents/maps/";
157 std::string mapToLoad;
158 std::string cartographerConfigPath =
"./RobotComponents/cartographer/config/";
160 float minLaserRange = 400.F;
163 Properties properties;
172 std::mutex arvizMutex;
176 std::vector<wykobi::Model> models;
178 std::unique_ptr<LaserScanAggregator> aggregator;
180 std::unique_ptr<MapRegistration> mapRegistration;
181 std::vector<MapRegistration::Association> associations;
185 std::unique_ptr<armarx::cartographer_map_registration::RemoteGui> remoteGui;
187 int boundingBoxCorner{0};