VINS-Mobile icon indicating copy to clipboard operation
VINS-Mobile copied to clipboard

Success to transplant VINS Mobile to Android platform, and test with MH_05_difficult

Open StevenCui opened this issue 7 years ago • 15 comments

Hi everyone, I have transplanted the VINS-Mobile project to Android platform, and compared the result between the Android platform and ROS platform with the EuRoC MAV Dataset named MH_05_difficult. In android project, the Initialization section could finish when the first descending of UAV, and the camera pose(translation and rotation) could be get. However,the pose is wrong! The translation in vertical direction of ROS and android is showed below: ROS: The result is similar with EuRoC dataset. image Android: image Do anyone know which issue went wrong? If the loop detection and global pose graph optimization are ignored, and the local visula-inertial BA process is correct, but the initialization is not correct, will the path of the camera in android be simular with ROS's? Thanks. If anyone is working for it, welcome to talk about it together.

StevenCui avatar Aug 21 '17 01:08 StevenCui

Hi, there must be something wrong or missed during your porting, because too many details need to be considered. It's hard to debug with only 2 figures...

PeiliangLi avatar Aug 21 '17 12:08 PeiliangLi

@PeiliangLi is right, there are too many details need to be considered.....

vonzy avatar Aug 21 '17 12:08 vonzy

Maybe @vonzy can help you, I think he has experience on this.

PeiliangLi avatar Aug 21 '17 12:08 PeiliangLi

@PeiliangLi ..... I am still struggling with time synchronization, and can't work it out. Do you have any idea?

vonzy avatar Aug 21 '17 13:08 vonzy

  1. Rotate your phone and keep the camera face to the chessboard meanwhile.
  2. Collect the image data and imu data with timestamp.
  3. Calculate the pitch and roll rotation from image(solve pnp) and acc data separately.
  4. Align the rotation curve in matlab, then you can find the time offset and if the offset is constant.

PeiliangLi avatar Aug 21 '17 13:08 PeiliangLi

@PeiliangLi calibrate the delay offline? sounds great! But why must face to chessboard?

vonzy avatar Aug 21 '17 13:08 vonzy

@PeiliangLi @vonzy Thanks for your reply. I know there are some problem during my porting to android. I want to locate which part the problem may be in. Because there are so many details to discuss, i will list my questions to ask your help:

  1. For MH-05, the external parameters are [0 -1 0; 1 0 0; 0 0 1] in ROS config,what is the corresponding roll/pitch/yaw in ios?
  2. Do u know anyone has tested the MH-05 in the VINS IOS? Does it work well?

StevenCui avatar Aug 21 '17 23:08 StevenCui

@StevenCui

  1. the extrinsic parameters is [0 -1 0; 1 0 0; 0 0 1] for all euroc dataset indeed, no matter which platform you run the program on. If you want to test the vins on android with android phone data, you should use android extrinsic parameters, which is [0 -1 0; -1 0 0; 0 0 -1].
  2. No.

vonzy avatar Aug 22 '17 00:08 vonzy

@PeiliangLi I changed the SOLVER_TIME that is used in VINS::solve_ceres, from 0.06s to 0.6s. I find the camera pose is different, like this: 1 when SOLVER_TIME=0.06: image 2 when SOLVER_TIME=0.6: image Compared with the two results, i think the iteration is not convergent. Is the conclusion right?

StevenCui avatar Aug 22 '17 08:08 StevenCui

Supplement: For MH-05, the termination of ceres solve in non-linear optimization is CONVERGENCE on Android, but it is NO_CONVERGENCE on ROS.

StevenCui avatar Aug 22 '17 14:08 StevenCui

@PeiliangLi Hi, have you tested the VINS-Mobile project on iphone with MH-05? Does it work well?

StevenCui avatar Aug 23 '17 00:08 StevenCui

I create a QQ group named "港科大VINS讨论群",which num is 634995296.Welcome to join us!

StevenCui avatar Aug 28 '17 22:08 StevenCui

Have anybody tried with S8 samsung -- can anyone please let me know the extrinsics between camera and imu

TouqeerAhmad avatar Aug 30 '17 18:08 TouqeerAhmad

@StevenCui, your version for android is available?

bileki avatar Sep 21 '17 18:09 bileki

@PeiliangLi I am trying to collect some data from a mobile device and then run the VINS offline using this data. This is what I have been trying: Get the timestamped date from iphone -- both imu and camera. Then perform imu-camera calibration using Kalibr and then use VINS with this calibrated file and offline data from iphone. I just read these comments from you:

"Rotate your phone and keep the camera face to the chessboard meanwhile. Collect the image data and imu data with timestamp. Calculate the pitch and roll rotation from image(solve pnp) and acc data separately. Align the rotation curve in matlab, then you can find the time offset and if the offset is constant."

Can you please elaborate a bit more on each of the points. I think I am messing up the synchronization for imu-camera and that is what messing my calibration. Any help in this regards would be great!

TouqeerAhmad avatar Oct 27 '17 17:10 TouqeerAhmad