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

Add acceleration limits to DriveOnHeading and BackUp behaviors (backport #4810) #4877

Conversation

RBT22
Copy link
Contributor

@RBT22 RBT22 commented Jan 29, 2025

Backport of #4810 to humble



Basic Info

Info Please fill out this column
Ticket(s) this addresses (add tickets here #1)
Primary OS tested on (Ubuntu, MacOS, Windows)
Robotic platform tested on (Steve's Robot, gazebo simulation of Tally, hardware turtlebot)
Does this PR contain AI generated software? (No; Yes and it is marked inline in the code)

Description of contribution in a few bullet points

Description of documentation updates required from your changes

Description of how this change was tested


Future work that may be required in bullet points

For Maintainers:

  • Check that any new parameters added are updated in docs.nav2.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

…avigation#4810)

* Add acceleration constraints

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Cleanup code

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Format code

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add <limits> header to drive_on_heading.hpp

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove vel pointer

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Use the limits only if both of them is set

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Fix onActionCompletion params

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add default acc params and change decel sign

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add minimum speed parameter

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Update minimum speed parameter to 0.10

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Log warning when acceleration or deceleration limits are not set

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add param sign assert

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove unnecessary param checking

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Refactor acceleration limits to handle forward and backward movement separately

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Fix sign checking condition

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Replace throwing with silent sign correction

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
Copy link
Contributor

mergify bot commented Jan 29, 2025

@RBT22, all pull requests must be targeted towards the main development branch.
Once merged into main, it is possible to backport to @humble, but it must be in main
to have these changes reflected into new distributions.

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to backport this, we need to make some changes:

  • The acceleration / deceleration need to be defaulted to 0 and a new "off" condition is checked for the 0 values. We don't want behavior to instantly change for users updating on Humble due to acceleration limits being introduced which may or may not be sensible for their vehicle
  • Remove from the parameter file so that the default current value persists
  • Update the parameter value check so that 0 is a valid condition

These are actually the same reasons I realized I couldnt' auto-backport to Jazzy either

RBT22 added 3 commits January 30, 2025 11:47
Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
@SteveMacenski SteveMacenski merged commit aabad9a into ros-navigation:humble Jan 30, 2025
2 of 3 checks passed
RBT22 added a commit to EnjoyRobotics/navigation2 that referenced this pull request Feb 4, 2025
…ort ros-navigation#4810) (ros-navigation#4877)

* Add acceleration limits to DriveOnHeading and BackUp behaviors (ros-navigation#4810)

* Add acceleration constraints

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Cleanup code

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Format code

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add <limits> header to drive_on_heading.hpp

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove vel pointer

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Use the limits only if both of them is set

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Fix onActionCompletion params

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add default acc params and change decel sign

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add minimum speed parameter

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Update minimum speed parameter to 0.10

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Log warning when acceleration or deceleration limits are not set

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add param sign assert

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove unnecessary param checking

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Refactor acceleration limits to handle forward and backward movement separately

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Fix sign checking condition

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Replace throwing with silent sign correction

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Update parameter defaults to zero

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add off condition

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Move forward outside

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
emilnovak pushed a commit to EnjoyRobotics/navigation2 that referenced this pull request Feb 11, 2025
* Update Smac Planner for rounding to closest bin rather than flooring (ros-navigation#4636) (ros-navigation#4760)

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* fixing path longer on approach (ros-navigation#4622) (ros-navigation#4766)

* fixing path longer on approach



* removing the short circuit



* adding additional layer of check



---------

Signed-off-by: Pradheep <padhupradheep@gmail.com>

* Add acceleration limits to DriveOnHeading and BackUp behaviors (backport ros-navigation#4810) (ros-navigation#4877)

* Add acceleration limits to DriveOnHeading and BackUp behaviors (ros-navigation#4810)

* Add acceleration constraints

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Cleanup code

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Format code

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add <limits> header to drive_on_heading.hpp

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove vel pointer

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Use the limits only if both of them is set

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Fix onActionCompletion params

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add default acc params and change decel sign

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add minimum speed parameter

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Update minimum speed parameter to 0.10

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Log warning when acceleration or deceleration limits are not set

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add param sign assert

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove unnecessary param checking

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Refactor acceleration limits to handle forward and backward movement separately

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Fix sign checking condition

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Replace throwing with silent sign correction

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Update parameter defaults to zero

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add off condition

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Move forward outside

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add option to use open-loop control with Rotation Shim (backport ros-navigation#4880) (ros-navigation#4896)

* Add option to use open-loop control with Rotation Shim (ros-navigation#4880)

* Initial implementation

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* replace feedback param with closed_loop

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Reset last_angular_vel_ in activate method

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add closed_loop parameter to dynamicParametersCallback

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Add tests

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Override reset function

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Remove reset

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

---------

Signed-off-by: RBT22 <rozgonyibalint@gmail.com>

* Create footprint_collision_checker.py (ros-navigation#4899)

Backport of footprint_collision_checker to Nav2 Humble

Signed-off-by: ThomasHaley-neya <thaley@neyarobotics.com>

---------

Signed-off-by: Pradheep <padhupradheep@gmail.com>
Signed-off-by: RBT22 <rozgonyibalint@gmail.com>
Signed-off-by: ThomasHaley-neya <thaley@neyarobotics.com>
Co-authored-by: LinusTxtonomy <152272158+LinusTxtonomy@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: ThomasHaley-neya <thaley@neyarobotics.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants