feat(slam): add rtabmap_ros
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
|
||||
sensor_msgs/CameraInfo camera_info
|
||||
geometry_msgs/Transform local_transform
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
|
||||
CameraModel[] models
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# EnvSensor
|
||||
int32 type
|
||||
float64 value
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
float64 stamp # in seconds
|
||||
float64 longitude # DD format
|
||||
float64 latitude # DD format
|
||||
float64 altitude # in meters
|
||||
float64 error # in meters
|
||||
float64 bearing # North 0->360 deg
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# compressed global descriptor
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
int32 type
|
||||
uint8[] info
|
||||
uint8[] data
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# Set either node_id or node_label
|
||||
int32 node_id
|
||||
string node_label
|
||||
|
||||
# optional: if not set, the base frame of the robot is used
|
||||
string frame_id
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
########################################
|
||||
# RTAB-Map info with statistics
|
||||
########################################
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
int32 ref_id
|
||||
int32 loop_closure_id
|
||||
int32 proximity_detection_id
|
||||
int32 landmark_id
|
||||
|
||||
geometry_msgs/Transform loop_closure_transform
|
||||
|
||||
####
|
||||
# For statistics...
|
||||
####
|
||||
# State (node IDs) of the current Working Memory (including STM)
|
||||
int32[] wm_state
|
||||
|
||||
# std::map<int, float> posterior;
|
||||
int32[] posterior_keys
|
||||
float32[] posterior_values
|
||||
|
||||
# std::map<int, float> likelihood;
|
||||
int32[] likelihood_keys
|
||||
float32[] likelihood_values
|
||||
|
||||
# std::map<int, float> raw_likelihood;
|
||||
int32[] raw_likelihood_keys
|
||||
float32[] raw_likelihood_values
|
||||
|
||||
# std::map<int, int> weights;
|
||||
int32[] weights_keys
|
||||
int32[] weights_values
|
||||
|
||||
# std::map<int, std::string> labels;
|
||||
int32[] labels_keys
|
||||
string[] labels_values
|
||||
|
||||
# std::map<std::string, float> stats
|
||||
string[] stats_keys
|
||||
float32[] stats_values
|
||||
|
||||
# std::vector<int> local_path
|
||||
int32[] local_path
|
||||
int32 current_goal_id
|
||||
|
||||
# std::vector<int> odomCache
|
||||
MapGraph odom_cache
|
||||
@@ -0,0 +1,16 @@
|
||||
#class cv::KeyPoint
|
||||
#{
|
||||
# Point2f pt;
|
||||
# float size;
|
||||
# float angle;
|
||||
# float response;
|
||||
# int octave;
|
||||
# int class_id;
|
||||
#}
|
||||
|
||||
Point2f pt
|
||||
float32 size
|
||||
float32 angle
|
||||
float32 response
|
||||
int32 octave
|
||||
int32 class_id
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
# header.stamp: the timestamp of the detection (e.g. image timestamp)
|
||||
# header.frame_id: the base frame of pose (e.g., camera optical frame)
|
||||
std_msgs/Header header
|
||||
|
||||
# Landmark's frame id
|
||||
string landmark_frame_id
|
||||
|
||||
# Landmark's unique ID: should be >0
|
||||
int32 id
|
||||
|
||||
# Size in meters of the landmark/tag (optional, set 0 to not use it).
|
||||
float32 size
|
||||
|
||||
# Pose of the landmark in header.frame_id frame.
|
||||
# If covariance is unknown, keep it as null matrix.
|
||||
# rtabmap_slam/rtabmap's landmark_angular_variance and
|
||||
# landmark_linear_variance parameters can be used
|
||||
# for convenience if covariance is null.
|
||||
geometry_msgs/PoseWithCovariance pose
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
# header.stamp: the timestamp of the detection (e.g. image timestamp)
|
||||
# header.frame_id: the base frame of pose (e.g., camera optical frame)
|
||||
std_msgs/Header header
|
||||
|
||||
LandmarkDetection[] landmarks
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#class rtabmap::Link
|
||||
#{
|
||||
# int from;
|
||||
# int to;
|
||||
# Type type;
|
||||
# Transform transform;
|
||||
# cv::Mat(6,6,CV_64FC1) information;
|
||||
#}
|
||||
|
||||
int32 from_id
|
||||
int32 to_id
|
||||
int32 type
|
||||
geometry_msgs/Transform transform
|
||||
float64[36] information
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
##################
|
||||
# Optimized graph
|
||||
##################
|
||||
MapGraph graph
|
||||
|
||||
##################
|
||||
# Graph data
|
||||
##################
|
||||
Node[] nodes
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
##
|
||||
# /map to /odom transform
|
||||
# Always identity when the graph is optimized from the latest pose.
|
||||
##
|
||||
geometry_msgs/Transform map_to_odom
|
||||
|
||||
# The poses
|
||||
int32[] poses_id
|
||||
geometry_msgs/Pose[] poses
|
||||
|
||||
# The links
|
||||
Link[] links
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#class rtabmap::Signature
|
||||
|
||||
int32 id
|
||||
int32 map_id
|
||||
int32 weight
|
||||
float64 stamp
|
||||
string label
|
||||
|
||||
# Pose from odometry not corrected
|
||||
geometry_msgs/Pose pose
|
||||
|
||||
# std::multimap<wordId, index>
|
||||
# std::vector<cv::Keypoint>
|
||||
# std::vector<cv::Point3f>
|
||||
int32[] word_id_keys
|
||||
int32[] word_id_values
|
||||
KeyPoint[] word_kpts
|
||||
Point3f[] word_pts
|
||||
# compressed descriptors
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
uint8[] word_descriptors
|
||||
|
||||
SensorData data
|
||||
@@ -0,0 +1,72 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
bool lost
|
||||
int32 matches
|
||||
int32 inliers
|
||||
float32 icp_inliers_ratio
|
||||
float32 icp_rotation
|
||||
float32 icp_translation
|
||||
float32 icp_structural_complexity
|
||||
float32 icp_structural_distribution
|
||||
int32 icp_correspondences
|
||||
float64[36] covariance
|
||||
int32 features
|
||||
int32 local_map_size
|
||||
int32 local_scan_map_size
|
||||
int32 local_key_frames
|
||||
int32 local_bundle_outliers
|
||||
int32 local_bundle_constraints
|
||||
float32 local_bundle_time
|
||||
float32 local_bundle_avg_inlier_distance
|
||||
int32 local_bundle_max_key_frames_for_inlier
|
||||
bool key_frame_added
|
||||
float32 time_estimation
|
||||
float32 time_particle_filtering
|
||||
float32 stamp
|
||||
float32 interval
|
||||
float32 distance_travelled
|
||||
int32 memory_usage # MB
|
||||
|
||||
float32 gravity_roll_error
|
||||
float32 gravity_pitch_error
|
||||
|
||||
# Local bundle camera ids
|
||||
int32[] local_bundle_ids
|
||||
|
||||
# Local bundle camera models
|
||||
CameraModels[] local_bundle_models
|
||||
|
||||
# Local bundle camera poses
|
||||
geometry_msgs/Pose[] local_bundle_poses
|
||||
|
||||
geometry_msgs/Transform transform
|
||||
geometry_msgs/Transform transform_filtered
|
||||
geometry_msgs/Transform transform_ground_truth
|
||||
geometry_msgs/Transform guess
|
||||
|
||||
# 0=F2M, 1=F2F
|
||||
int32 type
|
||||
|
||||
# F2M odometry
|
||||
# std::multimap<int, cv::KeyPoint> words;
|
||||
# std::vector<int> wordMatches;
|
||||
# std::vector<int> wordInliers;
|
||||
int32[] words_keys
|
||||
KeyPoint[] words_values
|
||||
int32[] word_matches
|
||||
int32[] word_inliers
|
||||
int32[] local_map_keys
|
||||
Point3f[] local_map_values
|
||||
|
||||
# local scan map data
|
||||
sensor_msgs/PointCloud2 local_scan_map
|
||||
|
||||
# F2F odometry
|
||||
# std::vector<cv::Point2f> ref_corners;
|
||||
# std::vector<cv::Point2f> new_corners;
|
||||
# std::vector<int> corner_inliers;
|
||||
Point2f[] ref_corners
|
||||
Point2f[] new_corners
|
||||
int32[] corner_inliers
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
int32[] node_ids
|
||||
geometry_msgs/Pose[] poses
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#class cv::Point2f
|
||||
#{
|
||||
# float x;
|
||||
# float y;
|
||||
#}
|
||||
|
||||
float32 x
|
||||
float32 y
|
||||
@@ -0,0 +1,10 @@
|
||||
#class cv::Point3f
|
||||
#{
|
||||
# float x;
|
||||
# float y;
|
||||
# float z;
|
||||
#}
|
||||
|
||||
float32 x
|
||||
float32 y
|
||||
float32 z
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# For stereo, rgb corresponds to left camera, and depth the right camera.
|
||||
|
||||
# camera info
|
||||
sensor_msgs/CameraInfo rgb_camera_info
|
||||
sensor_msgs/CameraInfo depth_camera_info
|
||||
|
||||
# Raw
|
||||
sensor_msgs/Image rgb
|
||||
sensor_msgs/Image depth
|
||||
|
||||
# Compressed
|
||||
sensor_msgs/CompressedImage rgb_compressed
|
||||
sensor_msgs/CompressedImage depth_compressed
|
||||
|
||||
# Local features
|
||||
KeyPoint[] key_points
|
||||
Point3f[] points
|
||||
# compressed descriptors
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
uint8[] descriptors
|
||||
|
||||
GlobalDescriptor global_descriptor
|
||||
@@ -0,0 +1,4 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
RGBDImage[] rgbd_images
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# scan or scan_cloud is set
|
||||
sensor_msgs/LaserScan scan
|
||||
sensor_msgs/PointCloud2 scan_cloud
|
||||
|
||||
GlobalDescriptor global_descriptor
|
||||
@@ -0,0 +1,66 @@
|
||||
#class rtabmap::SensorData
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# For RGB-D, left corresponds to rgb camera, and right corresponds to depth camera.
|
||||
|
||||
# Raw images
|
||||
sensor_msgs/Image left
|
||||
sensor_msgs/Image right
|
||||
|
||||
# Compressed images
|
||||
# use rtabmap::util3d::uncompressImage() from "rtabmap/core/util3d.h"
|
||||
uint8[] left_compressed
|
||||
uint8[] right_compressed
|
||||
|
||||
# Camera info
|
||||
sensor_msgs/CameraInfo[] left_camera_info
|
||||
sensor_msgs/CameraInfo[] right_camera_info
|
||||
|
||||
# Transform from base frame to camera frame
|
||||
geometry_msgs/Transform[] local_transform
|
||||
|
||||
# raw 2d or 3D laser scan
|
||||
sensor_msgs/PointCloud2 laser_scan
|
||||
# compressed 2D or 3D laser scan
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
uint8[] laser_scan_compressed
|
||||
int32 laser_scan_max_pts
|
||||
float32 laser_scan_max_range
|
||||
int32 laser_scan_format
|
||||
# local transform (base frame -> laser frame)
|
||||
geometry_msgs/Transform laser_scan_local_transform
|
||||
|
||||
# compressed user data
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
uint8[] user_data
|
||||
|
||||
# compressed occupancy grid
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
uint8[] grid_ground
|
||||
uint8[] grid_obstacles
|
||||
uint8[] grid_empty_cells
|
||||
float32 grid_cell_size
|
||||
Point3f grid_view_point
|
||||
|
||||
# Local features
|
||||
KeyPoint[] key_points
|
||||
Point3f[] points
|
||||
# compressed descriptors
|
||||
# use rtabmap::util3d::uncompressData() from "rtabmap/core/util3d.h"
|
||||
uint8[] descriptors
|
||||
|
||||
GlobalDescriptor[] global_descriptors
|
||||
|
||||
EnvSensor[] env_sensors
|
||||
|
||||
sensor_msgs/Imu imu
|
||||
geometry_msgs/Transform imu_local_transform
|
||||
|
||||
LandmarkDetection[] landmarks
|
||||
|
||||
# Ground truth
|
||||
geometry_msgs/Pose ground_truth_pose
|
||||
|
||||
# GPS
|
||||
GPS gps
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
std_msgs/Header header
|
||||
|
||||
# OpenCV matrix containing the user data. A matrix of type CV_8UC1
|
||||
# with 1 row is considered to be compressed (with rtabmap::compressData() method).
|
||||
# If you have one dimension unsigned 8 bits uncompressed data, make sure to transpose it
|
||||
# (to have multiple rows instead of multiple columns) in order to be detected as
|
||||
# not compressed.
|
||||
uint32 rows
|
||||
uint32 cols
|
||||
uint32 type
|
||||
uint8[] data
|
||||
Reference in New Issue
Block a user