-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Collision monitor / velocity smoother: handle nan inputs #3627
Comments
WhoopsIs this new to Iron (e.g. you didn't experience beforehand)? There are only 3 commits it could be if so: The first looks rather unlikely, since that just passes doing anything if The second is only when velocity commands stop coming in as expected to wind down the velocities by the dynamic limits instead of sending hard Are there any situational details when this happens I should know about, or just randomly in the middle of tracking a path? The last I don't see any new divide by zero opportunities. I'm also going to assume this doesn't relate to dynamic parameters or you would have mentioned that (right?) |
^^ ignore all of that, sorry, I'm sick today and misread the topic in my spinng head state. You mean that if you input a NaN into the system you want that to be handled. A-OK that's easy enough, I can do that. I think what makes sense is to look at the input callback and validate the message. If it contains a nan or inf, then we reject that velocity command and never integrate it into the system. That's not a valid command anyway to have processed. We could treat it as a zero, but I'd think its better to ignore it as an invalid dangerous command (with a log statement to that effect) since we can't know the intent of how it was generated. Especially if we have an If that's good with you, I can implement and add some unit tests ~Friday or early next week. Today's a sick day :( |
Yes, or at least that it doesn't put the node in a unrecoverable state
Yes! No specific rush, just wanted to document first the bug (the fact that the output stays blocked to .nan) before thinking about an action. It is probably there since a couple of versions.
Agree with all of that: rejecting and log. |
|
PR to appear shortly |
Bug report
Required Info:
Steps to reproduce issue
Uncovered by @kaichie
With:
Listen to the output:
ros2 topic echo /cmd_vel_smoothed
Generate an input with .nan value
Stop and generate a normal input:
The output is frozen on .nan.
Expected behavior
The output is set according to the input.
We also probably want to consider .nan as 0.0
Actual behavior
The output is frozen on .nan.
The text was updated successfully, but these errors were encountered: