SLAM3 open source data set analysis

At   the end of the blog post " Building ORB_SLAM3 Compiling and Running Environment under Linux
", I ran the open source ORB_SLAM3 algorithm and the open source data set "Vicon Room 1 01" :
kmavvisualinertialdatasets – ASL Datasets

Now take the "Vicon Room 1 01" data set as an example to analyze the data flow (DataFlow) of
a standard VIO device and SLAM3 algorithm to further understand the operation mechanism of VIO device and SLAM3 algorithm


1.VIO DataFlow Overview

Not much nonsense, the annotation on the picture above:

Diagram:
(1). This diagram is a standard VIO (Visual Inertial Odometer/Visual Inertial System) data transmission process (DataFlow)
(2). Binocular Camera + IMU + 6DoF is a very standard/typical VIO
(3). 6DOF is SLAM
(4). SLAM input (Input): single/double Camera + IMU
(5). SLAM output (OutPut): pose data in TUM format (Pose)
(6). Pose ( Pose): position (3D coordinates) + attitude (3D rotation angle)
(6). TUM format Pose: {timestamp, coordinates, quaternion}/{Timestamp, x, y, z, qx, qy, qz, qw }
(7). IMU input frequency: up to 1000Hz
(8). 6DOF output frequency: limited to Camera data input frequency (30Hz), only 30Hz.
(9). After 6DOF outputs 30HZ Pose data, it can be combined with 1000Hz IMU data for interpolation frequency improvement and pose prediction
(10). Pose interpolation frequency increase: Theoretically, the highest frequency can be mentioned as the same as the IMU frequency, reaching 1000Hz
(11). Interpolation frequency improvement and pose prediction are in one VIO systemIt is not necessary
(12). The frequency boost and predicted Pose will be stored in a cache, and the upper layer will apply for Pose when it needs Pose


2. SLAM dataset : Overview 

Open source dataset "Vicon Room 1 01", above:

Mav0: Micro Air Vehicles (micro-aircraft), VIO equipment can be regarded as a micro-aircraft.
Cam0/Cam1: Image data collected by the binocular Tracking Camera during device operation
IMU: IMU data during device operation
Pointcloud: Point cloud information generated during device operation
State_groundtruth_estimate: GT value measured by the motion capture system (truth value/ground Live), is also the most accurate pose value
Vicon: the position of the reflection mark used for positioning in the motion capture system


3.SLAM data set : Camera

Cam0 data information, mav0/cam0/data.csv:
It records the time stamp and file name of the image :

Images in mav0/cam0/data:
SLAM tracking cameras are all mono black and white, and the resolution is 640x480 


4. SLAM data set : IMU

R: test the LEICA motion capture system coordinate system of this open source data set
S: Sensor coordinate system
RS: refers to the original value measured from the Sensor coordinate system, and then converted to the value of the R coordinate system

w represents mav in the R coordinate system The following angular velocity information , unit rad/s
• w_RS_S_x [rad s^-1]
• w_RS_S_y [rad s^-1]
• w_RS_S_z [rad s^-1]
rad is the unit of angle, that is, radian
is equal to the arc corresponding to the angle length divided by radius

a means that this is the linear acceleration information of the MAV in the R coordinate system , the unit is m/s^2
•a_RS_S_x [ms^-2]
•a_RS_S_y [ms^-2]
•a_RS_S_z [ms^-2]


5. SLAM dataset : PointCloud

The specific information stored in point cloud feature points are:
(1). Coordinates of x, y, z          points
(2).     Color intensity of Intensity points
(3). R, G, B          are all 0

 Example of color intensity (intensity) :


6. SLAM dataset : Ground truth

Groundtruth (ground truth): the accurate mav pose information measured by the motion capture system, also known as GT value

 
Groundtruth interpretation:
R/S/RS, which has been annotated in the previous article, will be briefly repeated:
RS means that the value is measured in the Sensor coordinate system, and then transformed into the R coordinate system

p:position , space 3D coordinates, x represents the value in the x-axis direction of the 3D position. [m] in meters
• p_RS_R_x [m]
• p_RS_R_y [m]
• p_RS_R_z [m]

q stands for quaternion , which expresses the orientation information of MAV, w is the real part of the quaternion, and xyz is the imaginary part
• q_RS_w []
• q_RS_x []
• q_RS_y []
• q_RS_z []

v means that this is the speed information of MAV , and it is the speed information in the R coordinate system, the unit is m/s
•v_RS_R_x [ms^-1]
•v_RS_R_y [ms^-1]
•v_RS_R_z [ms^-1]

w means that this is the angular velocity information of the MAV in the R coordinate system , the unit is rad/s
•b_w_RS_S_x [rad s^-1]
•b_w_RS_S_y [rad s^-1]
•b_w_RS_S_z [rad s^-1]

a means that this is the linear acceleration information of the MAV in the R coordinate system , the unit is m/s^2
•b_a_RS_S_x [ms^-2]
•b_a_RS_S_y [ms^-2]
•b_a_RS_S_z [ms^-2]

(1).Groundtruth: Accurate mav pose information measured by the motion capture system, also known as GT value
(2).The original pose data calculated by SLAM is the EuRoc data set in the same format as the GT value. Each row contains 17 pieces of information including the timestamp.
(3). EuRoc format data cannot be directly used by the SDK, upper-layer applications, and the trajectory drawing tool EVO on the PC side. It needs to be converted into TUM data format. (
4). TUM format conversion

TUM data format:  (timestamp ,tx ,ty ,tz ,qx ,qy ,qz ,qw)
For example: 1317354879.544785976 , 0.33350 , -0.00480 , -0.07558 , -0.49915 , 0.50408 , -0.49682 , 9 20.499


7. SLAM Dataset : Motion Capture System

In this article, the motion capture system has been mentioned many times, the quaternion of the logo angle information, the reflective logo, etc.
The following is a few diagrams to show the motion capture system:

(1).Motion capture system diagram, captured data types, Euler angle diagram:

 

(2). Components of the motion capture system:

(3).Motion capture system camera, reflective logo attached to the object under test, etc.:

 

Guess you like

Origin blog.csdn.net/geyichongchujianghu/article/details/125022080