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

adding a NaN check for feature points #110

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hbbor
Copy link

@hbbor hbbor commented Apr 21, 2020

Adding a nan check for feature points in feature tracker which is causing problems with fisheye lens cameras like the Intel Realsense T265. I have checked the working of the algorithm as it works fine now with the default calibration parameter provided by intel.

@mintar
Copy link

mintar commented May 6, 2020

I can confirm that this works and is necessary to make VINS work with a Realsense T265 tracking camera. I had to remove the following assertion though:

assert(id_pts.second[0].first == 0);

@RangerOnMars
Copy link

That do works! But for me it requires additional inf check like this.

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

@zkq123456789
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

@RangerOnMars
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

@zkq123456789
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

thank u,but this code can not slove my problem

@zkq123456789
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

May I ask what platform you are running on? I am running on NX.

@RangerOnMars
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

May I ask what platform you are running on? I am running on NX.

On Inter NUC 11.

@zkq123456789
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

May I ask what platform you are running on? I am running on NX.

On Inter NUC 11.

thanks bro, How does vinsfusion work on the NUC platform? Is it stable?

@zkq123456789
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

May I ask what platform you are running on? I am running on NX.

On Inter NUC 11.

thanks bro, How does vinsfusion work on the NUC platform? Is it stable?

Friend, can you provide your source code, thanks a lot

@RangerOnMars
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

May I ask what platform you are running on? I am running on NX.

On Inter NUC 11.

thanks bro, How does vinsfusion work on the NUC platform? Is it stable?

Friend, can you provide your source code, thanks a lot
I am using a ROS2 distribution of VINS-Fusion, which can be found at https://github.com/zinuok/VINS-Fusion-ROS2.
Here's my distribution https://github.com/tup-robomaster/TUP2023-Sentry-Nav/tree/main. You can find my source code and configuration in the VINS-Fusion-ROS2 directory.

@zkq123456789
Copy link

这确实有效!但对我来说,它需要像这样的额外 inf 检查。

        if (!std::isinf(cur_un_pts[i].x) && !std::isinf(cur_un_pts[i].y) && !std::isnan(cur_un_pts[i].x) && !std::isnan(cur_un_pts[i].y))

which cpp file?

At feature_tracker.cpp ,line 261 and line 283. Wrap this extra inf check inside these for loops.

May I ask what platform you are running on? I am running on NX.

On Inter NUC 11.

thanks bro, How does vinsfusion work on the NUC platform? Is it stable?

Friend, can you provide your source code, thanks a lot
I am using a ROS2 distribution of VINS-Fusion, which can be found at https://github.com/zinuok/VINS-Fusion-ROS2.
Here's my distribution https://github.com/tup-robomaster/TUP2023-Sentry-Nav/tree/main. You can find my source code and configuration in the VINS-Fusion-ROS2 directory.

thanks a lot,bro

@ahjcahkl
Copy link

Hello! I received this error after cloning the latest code. Is there any solution?
vins_node: /home/yuan/dai_ws/src/VINS-Fusion/vins_estimator/src/estimator/feature_manager.cpp:65: bool FeatureManager::addFeatureCheckParallax(int, const std::map<int, std::vector<std::pair<int, Eigen::Matrix<double, 7, 1> > > >&, double): Assertion `id_pts.second[0].first == 0' failed.

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

Successfully merging this pull request may close these issues.

None yet

5 participants