-
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
[velocity smoother] Deceleration limit not applied when command timeout #3481
Comments
I believe what you are referring to is happening here: https://github.com/ros-planning/navigation2/blob/main/nav2_velocity_smoother/src/velocity_smoother.cpp#L223 If we stop receiving commands, we go into a panic to say "stop!". I think that's reasonable behavior since that's a critical failure and I'd want to forcefully stop at the full power of my system rather than what might be the most comfortable. But, I'm assuming there that your robot's dynamics characteristics are either safe or low-level controller set to safe for the application so you don't dump an unsecured load. If that's not the case, then yes, it could make sense to bake the ramp down here, potentially with its own acceleration profile for "timeout stopping" (or just use the deceleration profile). Is that something you'd be willing to contribute? Admittedly this is not something I can prioritize building for the next several weeks to months, so if you wanted it, contributing it would be the fastest solution! |
I think I see how to do it cleanly. |
#3512 Imminently to be merged. |
Bug report
Required Info:
Steps to reproduce issue
Expected behavior
When the command timeout, the smoother sends a deceleration slope using the deceleration limit.
Actual behavior
When the command timeout, the smoother sends a 0 velocity command.
Additional information
Tested on real robot using this config:
The text was updated successfully, but these errors were encountered: