Program Listing for File types.h
↰ Return to documentation for file (/tmp/ws/src/opensw/include/opensw/types.h
)
#pragma once
#include <memory>
#include <vector>
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <opencv2/core/core.hpp>
namespace opensw {
enum class MapType {
Bitmap8Bit = 0,
Pointmap,
ImageFeaturesMap,
RectangleAreaMap
};
enum class MapKind {
EXPLORERMAP = 0,
COSTMAP = 5,
SWEEPERMAP = 10,
UWBMAP = 20,
SLAMMAP = 30,
LOCALSLAMMAP = 40,
DBOWMAP = 50,
OPTIMALOPERATIONALMAP = 60,
MARKERMAP = 70,
RECTANGLEAREAMAP = 80,
DISCREPANCYRECORDMAP = 90
};
struct Bitmap {
using Ptr = std::shared_ptr<Bitmap>;
using ConstPtr = std::shared_ptr<const Bitmap>;
cv::Rect_<float> rect;
float resolution;
MapKind kind;
cv::Mat data;
};
struct HealthStatus {
bool has_depth_camera_disconnected;
bool has_error;
bool has_fatal;
bool has_lidar_disconnected;
bool has_sdp_disconnected;
bool has_system_emergency_stop;
bool has_warning;
};
struct ImuData {
Eigen::Vector3d acceleration;
Eigen::Vector3d angular_rate;
Eigen::Vector3d compass;
Eigen::Quaternion<double> orientation;
};
struct LaserPoint {
float angle;
float distance;
bool valid;
};
struct LaserScan {
using Ptr = std::shared_ptr<LaserScan>;
using ConstPtr = std::shared_ptr<const LaserScan>;
float x;
float y;
float yaw;
std::vector<LaserPoint> points;
};
} // namespace opensw