-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
T265: Old issue: Frame didn't arrived within 5000 #5101
Comments
@neilyoung We are working to resolve this, and expect to have a significant improvement around this issue in a near-term (possibly next) release. In the meantime, however, it would be good to have a better way to reset after nan pose output begins, as you point out. In our testing, we have found that calling pipe.stop() followed by pipe.start() will restore normal pose tracking. This starts a new tracking session, which is not desirable in many application contexts, but it's better than having to physically unplug and replug the device. Does re-starting your script effectively result in calls to pipe.stop() and start()? I'm imagining that it likely just does start() at the beginning, which would not fix the problem. One thing you could try is modifying your application to check for a first nan pose output, and when it occurs, call stop(), start(), and continue with your application as best you can. Can you please let us know the outcome, if you try this (or if you've already tried it)? |
@harville thanks, yes meanwhile I also came to this conclusion, that an auto restart of my main loop (resulting in pipe.stop()/pipe.start()) does work. |
Thanks for the helpful feedback, @neilyoung . It would be great to get some clarifications on your issue:
It would be great to get your additional feedback on the above, to better guide our efforts to improve in these areas. Also, the new librealsense release 2.30.0 contains some improvements that may help address the NaN pose issues. If you are able to try it out, we would be interested in hearing about whether it helps to improve the issues you are reporting on here. That last comment applies more generally to the community - any feedback on whether release 2.30.0 reduces NaN occurrence would be appreciated. We are actively working on this topic, but it can occur in a variety of ways, and there is a lot of randomness to it. Also, as indicated in the release notes, you might consider creating a raw data recording of the issue. We feed these into our debugging and analysis tools internally. We already have some recordings, but could use more. |
@harville Sorry for being not specific enough. I didn't mention the specific situation and context, which produces this error. First of all: The problem is still existent in 2.30.0 pre-release OK, start over. There is a python example called After the initialisation phase the script waits for frames in The script terminates, if you don't catch the exception. In most cases the script recovers if the "initiating situation" is reverted (you move away from white walls, uncover the lenses, switch the light on) everything goes as it went before. Then there is sometimes the situation, that - even though there is a frame - an attempt to get out things like translation or rotation ends up in a "NaN" exception (not a number). Other environments say "Null pointer exception" or so. I haven't seen that much "NaN" anymore with 2.30.0, but it might be, that I'm now prepared and catching every exception. Not sure. Basically this is a non issue for me meanwhile. You can close it. |
Issue Description
I know, this issue has already been discussed (but no solution so far). I can easily reproduce it by letting the T265 starr to a white wall w/o features or covering it with a towel or letting it run in a dark room.
Most the time the T265 recovers from that by reverting the initiating situation. But this helps not all the time. If it doesn't recover, it starts to deploy NaN coordinates at 200 Hz and there is no way to convince the cam to be in "save" areas again :)
What would be the suggested procedure then? Not even restart of the script seems to help. Only unplug/re-plug of USB, which is a little problem IMHO for robots :)
The text was updated successfully, but these errors were encountered: