Kyrylo-Shyvam / orbslam3_rrc

Implementation of ORB SLAM3 with changes in launch/config files which make it work with RealSense D455, Kinect Xbox 360 and normal mobile phone camera.
GNU General Public License v3.0
6 stars 3 forks source link

IMU error #1

Open IRONCROWY opened 1 month ago

IRONCROWY commented 1 month ago

When I run any inertial mode, for example:

rosbag play rrc2.bag
roslaunch orb_slam3_ros rrc_realsense_imu_rgbd.launch 

It reports

not IMU meas
Map point vector is empty!

The same condition also happens on mono-inertial mode.

By the way, i notice that there is an error in rrc_realsense_d455.yaml

IMU.T_b_c1: !!opencv-matrix
   rows: 4
   cols: 4
   dt: f
   data: [ 1.0, -0.0,  0.0, 1.30441e-05,
          0.0, 1.0,  0.0, 0.0149225,
           0.00 0.0, 1.0, 0.000316835,
           0.0, 0.0, 0.0, 1.0]

The data has 0.00 0.o without a comma, so i copied the 435i imu data to 455.

Full text is here:

gds@gds-System-Product-Name:~$ roslaunch orb_slam3_ros rrc_realsense_imu_rgbd.launch 
... logging to /home/gds/.ros/log/3c309978-765b-11ef-9356-1ddc1a3258fa/roslaunch-gds-System-Product-Name-13599.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://gds-System-Product-Name:34979/

SUMMARY
========

PARAMETERS
 * /orb_slam3/cam_frame_id: camera
 * /orb_slam3/enable_pangolin: True
 * /orb_slam3/imu_frame_id: imu
 * /orb_slam3/settings_file: /home/gds/catkin_...
 * /orb_slam3/voc_file: /home/gds/catkin_...
 * /orb_slam3/world_frame_id: world
 * /orb_slam3_ros/trajectory_server_orb_slam3/source_frame_name: /imu
 * /orb_slam3_ros/trajectory_server_orb_slam3/target_frame_name: /world
 * /orb_slam3_ros/trajectory_server_orb_slam3/trajectory_publish_rate: 20.0
 * /orb_slam3_ros/trajectory_server_orb_slam3/trajectory_update_rate: 20.0
 * /rosdistro: noetic
 * /rosversion: 1.16.0
 * /use_sim_time: False

NODES
  /
    orb_slam3 (orb_slam3_ros/ros_rgbd_inertial)
    rviz (rviz/rviz)
  /orb_slam3_ros/
    trajectory_server_orb_slam3 (hector_trajectory_server/hector_trajectory_server)

ROS_MASTER_URI=http://localhost:11311

process[orb_slam3-1]: started with pid [13613]
process[rviz-2]: started with pid [13614]
process[orb_slam3_ros/trajectory_server_orb_slam3-3]: started with pid [13615]
[ INFO] [1726734213.114131738]: Waiting for tf transform data between frames /world and /imu to become available

ORB-SLAM3 Copyright (C) 2017-2020 Carlos Campos, Richard Elvira, Juan J. Gómez, José M.M. Montiel and Juan D. Tardós, University of Zaragoza.
ORB-SLAM2 Copyright (C) 2014-2016 Raúl Mur-Artal, José M.M. Montiel and Juan D. Tardós, University of Zaragoza.
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions. See LICENSE.txt.

Input sensor was set to: RGB-D-Inertial
Loading settings from /home/gds/catkin_ws/src/orbslam3_rrc/config/RGB-D-Inertial/rrc_realsense_d455.yaml
    -Loaded camera 1
Camera.newHeight optional parameter does not exist...
Camera.newWidth optional parameter does not exist...
    -Loaded image info
    -Loaded IMU calibration
    -Loaded RGB-D calibration
    -Loaded ORB settings
Viewer.imageViewScale optional parameter does not exist...
    -Loaded viewer settings
System.LoadAtlasFromFile optional parameter does not exist...
System.SaveAtlasToFile optional parameter does not exist...
    -Loaded Atlas settings
System.thFarPoints optional parameter does not exist...
    -Loaded misc parameters
----------------------------------
SLAM settings: 
    -Camera 1 parameters (Pinhole): [ 641.449 639.908 646.711 362.441 ]
    -Camera 1 distortion parameters: [  0.262383 -0.953104 -0.005358 0.002628 1.16331 ]
    -Original image size: [ 640 , 480 ]
    -Current image size: [ 640 , 480 ]
    -Sequence FPS: 30
    -Gyro noise: 0.01
    -Accelerometer noise: 0.1
    -Gyro walk: 1e-06
    -Accelerometer walk: 0.0001
    -IMU frequency: 200
    -RGB-D depth map factor: 1000
    -Features per image: 1000
    -ORB scale factor: 1.2
    -ORB number of scales: 8
    -Initial FAST threshold: 20
    -Min FAST threshold: 7

Loading ORB Vocabulary. This could take a while...
[ INFO] [1726734213.160074661]: rviz version 1.14.25
[ INFO] [1726734213.160098232]: compiled against Qt version 5.12.8
[ INFO] [1726734213.160106782]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1726734213.167233807]: Forcing OpenGl version 0.
Vocabulary loaded!

Initialization of Atlas from scratch 
Creation of new map with id: 0
Creation of new map with last KF id: 0
Seq. Name: 
There are 1 cameras in the atlas
Camera 0 is pinhole
[ INFO] [1726734213.538038363]: Stereo is NOT SUPPORTED
[ INFO] [1726734213.538073383]: OpenGL device: NVIDIA GeForce RTX 4090/PCIe/SSE2
[ INFO] [1726734213.538083653]: OpenGl version: 4.6 (GLSL 4.6).
Starting the Viewer
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
[ INFO] [1726734214.114594744]: Finished waiting for tf, waited 1.000471 seconds
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
not IMU meas
Map point vector is empty!
Empty IMU measurements vector!!!
Kyrylo-Shyvam commented 1 month ago

Hi, @IRONCROWY thanks for pointing out some problems in our repo. If I remember well, we were not able to run mono-inertial with our own custom made rrc1/rrc2 bags. However, they worked perfectly well with standard EuRoC datasets. We did not figure out error completely during the duration of our project. It looked like the the measurements in our bag were not of IMU format (and were not converted to it), this also explains why it worked for standard datasets. Hope this helps in future.