rpng / open_vins

An open source platform for visual-inertial navigation research.
https://docs.openvins.com
GNU General Public License v3.0
2.06k stars 616 forks source link

Drone shoots away in the X-Y plane when doing vertical takeoff #349

Closed meepo20 closed 11 months ago

meepo20 commented 1 year ago

The drone initially starts on the ground and doesn't move for a few seconds Then a performs vertical takeoff. The path should reflect the change in the Z axis however it just shoots off into the distance on the X-Y axis. I've changed the parameters in the files to accommodate my drone

IMU parameters have been set to 0 Camera has been calibrated according to messaged from /camera_info Image of path and take off height of drone https://imgur.com/a/W377PWG

image image

meepo20 commented 1 year ago

ROS2 bag, IMU, IMU CAM config files https://drive.google.com/drive/folders/1id5e6_6XDSqAFTeTynhyxp-74kaDTIrC?usp=sharing

goldbattle commented 1 year ago

The estimator needs to still have noise values even if the simulated measurements have no noise. I recommend using 1pixel and the noises from the euroc_mav.

  accelerometer_noise_density: 2.0000e-3  # [ m / s^2 / sqrt(Hz) ]   ( accel "white noise" )
  accelerometer_random_walk: 3.0000e-3    # [ m / s^3 / sqrt(Hz) ].  ( accel bias diffusion )
  gyroscope_noise_density: 1.6968e-04     # [ rad / s / sqrt(Hz) ]   ( gyro "white noise" )
  gyroscope_random_walk: 1.9393e-05       # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
meepo20 commented 1 year ago

Hi Patrick. I was echoing the IMU data and saw that there were still fluctuations in the readings and it wasn't exactly 0 when level. I've performed the IMU calibration and obtained the values accelerometer_noise_density: 0.007205075424279859 # [ m / s^2 / sqrt(Hz) ] ( accel "white noise" ) accelerometer_random_walk: 3.122055276713202e-05 # [ m / s^3 / sqrt(Hz) ]. ( accel bias diffusion ) gyroscope_noise_density: 0.0010819891643888133 # [ rad / s / sqrt(Hz) ] ( gyro "white noise" ) gyroscope_random_walk: 5.910826591997863e-06 # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )

However rviz shows thecorrect path during takeoff but after take off it just shoots away even though the drone is just hovering

goldbattle commented 11 months ago

I still think this is likely a calibration problem with either the noises or transformation. Not sure if there is much we can do to help here. Feel free to reopen if you were able to solve it, or have any further progress.