kr_autonomous_flight icon indicating copy to clipboard operation
kr_autonomous_flight copied to clipboard

Accumulative DRIFT when using only-VIO in gazebo simulation

Open nvhungv2k opened this issue 1 year ago • 2 comments

Hi guys, I am trying to run with only VIO in gazebo simulation Firstly, I followed this to build and then to simulate in gazebo. I figured out that the odometry which is for planning task come from gazebo directly. So I want to replace Gazebo's odometry by VIO's odometry (particularly in this case it is MSCKF-VIO) First and foremost, I need to get odometry from MSCKF-VIO and check it. I did do as following:

  1. Feeding IMU and CAMERA from gazebo to MSCKF-VIO: edit system_mp.launch
<arg name="cam0" default="cam_left"/>
<arg name="cam1" default="cam_right"/>
 <arg name="imu" default="imu"/>

-->

<arg name="cam0" default="/quadrotor/ovc3/left"/>
<arg name="cam1" default="/quadrotor/ovc3/right"/>
<arg name="imu" default="/falcon4/os1_cloud_node/imu"/>
  1. Change the calibration file in system_mp.launch: <arg name="calibration_file" default="msckf_calib.yaml"/> --> <arg name="calibration_file" default="$(find estimation_launch)/config/msckf_calib_simulation.yaml"/>
  2. Change image topics in calibration file: msckf_calib_simulation.yaml cam0: rostopic: /quadrotor/cam_left/image_raw --> cam0: rostopic: /quadrotor/ovc3/left/image_raw cam1: rostopic: /quadrotor/cam_right/image_raw --> cam1: rostopic: /quadrotor/ovc3/right/image_raw

Finally, I run and view odom from MSCKF (via /quadrotor/vio/odom and /quadrotor/ukf_odom topics) on RVIZ Run: roslaunch gazebo_utils full_sim.launch (gazebo word is still default, it is forest0) View on Rviz: 2024-06-24 16-37-56

In above GIF: the fixed frame is truth odom from gazebo, the two remaining frames is odom from MSCKF-VIO We saw that odom's DRIFT from MSCKF-VIO is accumulated.

nvhungv2k avatar Jun 24 '24 10:06 nvhungv2k

As stated in our paper and our wiki, we use high fidelity Unity-based simulator for VIO simulation experiments. In gazebo, we use ground truth Odom since its image quality is not enough for running the vio.

XuRobotics avatar Jun 24 '24 13:06 XuRobotics

As stated in our paper and our wiki, we use high fidelity Unity-based simulator for VIO simulation experiments. In gazebo, we use ground truth Odom since its image quality is not enough for running the vio.

As you said. Couldn't we also use any vision-based odometry in gazebo simulation? So what about the LiDAR-ONLY-based odometry such as LLOL, LOAM,...?

nvhungv2k avatar Jun 24 '24 15:06 nvhungv2k