Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any plan for supporting Zero Velocity Update ? #42

Open
BearrGod opened this issue Oct 2, 2024 · 5 comments
Open

Any plan for supporting Zero Velocity Update ? #42

BearrGod opened this issue Oct 2, 2024 · 5 comments

Comments

@BearrGod
Copy link

BearrGod commented Oct 2, 2024

Hello everyone. Great work and system. I would like to ask if you plan on supporting zero velocity update soon.

@WoosikLee2510
Copy link
Member

WoosikLee2510 commented Oct 15, 2024

I'm sorry, but I do not plan to add a zero-velocity update here. It can be useful when you do not have a good way to fix your estimate when the platform is static (e.g., VINS). However, fixing the estimate becomes very tedious if you have other sensors, such as LiDAR or wheel. Adding zero velocity, in this case, may easily make the system overconfident. If you would like to run VINS with zero velocity update, I high recommend OpenVINS

@BearrGod
Copy link
Author

Thanks @WoosikLee2510 for the advice. My use case requires 3d mapping in a very smooth environment that lacks 3d features. So i wanted to remove the point cloud contribution to the EKF altogether but still do the mapping (with the help of icp ). I only have imu + 2cams + 1 lidar. I figured i might need ZVUP like OpenVINS , enven if it was an imu only based one. Do you have any pointers on how i should do this ?

@WoosikLee2510
Copy link
Member

I assume your LiDAR is not 360. Can it provide consistent position constraints while static? Then, I suggest to add ZUPT similar to OpenVINS. I think you can quite easily take the ZUPT part of OpenVINS and add it to MINS.

@BearrGod
Copy link
Author

The lidar is a 360 lidar Livox Lidar mid-360. And despite my best efforts the estimator drifts away when there is no slam points. But since i am in a special environment, sometimes i can end up with no slam features at all , while being stationary. I'm currently simplifying the OpenVins ZVUP logic to be an im-uonly one, and then add an UpdaterZeroVelocity class to the SystemManager. I will keep you updated.

@WoosikLee2510
Copy link
Member

WoosikLee2510 commented Nov 6, 2024

Thank you, @BearrGod. Just one more comment: when you add UpdaterZeroVelocity, the system should do either IMU propagation or UpdaterZeroVelocity to avoid reusing IMU measurements.
Here is my pseudo code for how I would implement it.

// Time for propagation
bool system_is_stationary = check_system_stationary(imu_measurements)
if (system_is_stationary)
UpdaterZeroVelocity
else
RegularIMUPropagation
end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants