26#include <shared_mutex>
28#include <boost/thread/concurrent_queues/sync_queue.hpp>
30#include <Eigen/Geometry>
76 int64_t dtHistoryLength,
77 const std::set<std::string>& laserSensorIds,
87 bool allDataAvailable(int64_t
timestamp)
const;
89 void processAvailableData(int64_t
timestamp);
90 void processAllAvailableData(int64_t
timestamp);
94 const int64_t dtHistoryLength;
96 int64_t lastProcessedTimestamp{0};
98 using LaserTimeQueue =
104 std::unordered_map<std::string, LaserTimeQueue> laserQueues;
108 void serveMessageCallee();
110 boost::sync_queue<TimedData> timedDataQueue;
112 const bool useOdometry;
IceUtil::Handle< RunningTask< T > > pointer_type
Shared pointer type for convenience.
void insertLaserData(LaserScannerMessage message)
ApproximateTimeQueue(int64_t dt, int64_t dtHistoryLength, const std::set< std::string > &laserSensorIds, MessageCallee &messageCallee, bool useOdometry)
Construct a new Approximate Time Queue object.
void insertOdomData(armarx::localization_and_mapping::cartographer_adapter::PoseStamped odomPose)
This file is part of ArmarX.
std::vector< LaserMessage > LaserMessages
Eigen::Isometry3f robotPoseCorrection
armarx::localization_and_mapping::cartographer_adapter::PoseStamped odomPose