RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
Loading...
Searching...
No Matches
CameraSeerSense.h
1#pragma once
2
3#include "rtabmap/core/Camera.h"
4#include "rtabmap/core/Version.h"
5#include "rtabmap/utilite/USemaphore.h"
6
7#ifdef RTABMAP_XVSDK
8#include <xv-sdk.h>
9#endif
10
11namespace rtabmap
12{
13
14class RTABMAP_CORE_EXPORT CameraSeerSense :
15 public Camera
16{
17public:
18 static bool available();
19
20public:
22 bool computeOdometry = false,
23 float imageRate = 0.0f,
24 const Transform & localTransform = Transform::getIdentity()
25 );
26 virtual ~CameraSeerSense();
27
28 virtual bool init(const std::string & calibrationFolder = ".", const std::string & cameraName = "");
29 virtual bool isCalibrated() const;
30 virtual std::string getSerial() const;
31 virtual bool odomProvided() const;
32 virtual bool getPose(double stamp, Transform & pose, cv::Mat & covariance, double maxWaitTime = 0.0);
33
34protected:
35 virtual SensorData captureImage(SensorCaptureInfo * info = 0);
36
37private:
38#ifdef RTABMAP_XVSDK
39 CameraModel cameraModel_;
40 bool computeOdometry_;
41 int imuId_;
42 int tofId_;
43 std::shared_ptr<xv::Device> device_;
44 std::map<double, std::pair<cv::Vec3d, cv::Vec3d>> imuBuffer_;
45 std::pair<double, std::pair<cv::Mat, cv::Mat>> lastData_;
46 UMutex imuMutex_;
47 UMutex dataMutex_;
48 USemaphore dataReady_;
49#endif
50};
51
52} // namespace rtabmap
Represents a pinhole camera model containing intrinsic and extrinsic parameters, used for projection,...
Definition CameraModel.h:53
virtual bool init(const std::string &calibrationFolder=".", const std::string &cameraName="")
Initializes the sensor.
virtual bool getPose(double stamp, Transform &pose, cv::Mat &covariance, double maxWaitTime=0.0)
Gets the sensor's pose estimate at a specific timestamp.
virtual bool odomProvided() const
Checks if the sensor provides odometry poses.
virtual std::string getSerial() const
Returns the sensor's serial number or unique identifier.
Metadata structure for sensor data capture and processing.
Container class for all sensor data captured at a specific time.
Definition SensorData.h:97
Represents a 3D rigid body transformation (rotation + translation).
Definition Transform.h:53