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

behavior_tree: migration to BT.CPP 4.5.x #4128

Merged
merged 17 commits into from
Feb 29, 2024

Conversation

facontidavide
Copy link
Contributor

@facontidavide facontidavide commented Feb 20, 2024

Basic Info

Info Please fill out this column
Ticket(s) this addresses #4059
Primary OS tested on Ubuntu 22.04, Rolling
Robotic platform tested on none
Does this PR contain AI generated software? No

Description of contribution in a few bullet points

Moving from BT.CPP 3.8 to BT.CPP 4.5 (latest in Rolling).

TODO:

  • Compile without errors.
  • Fix failing unit tests.
  • Handle NodeStatus::SKIPPED in Control Nodes and Decorators.
  • Add documentation in "Migration guide".

List of changes:

  • XML: adding BTCPP_format="4" to root and removing the redundant main_tree_to_execute
  • blackboard->get is [[nodiscard]] in BT.CPP 4.x.
  • Fix the different behavior of ReactiveSequence and ReactiveFallback
  • tickRoot renamed to tickOnce

Description of documentation updates required from your changes

None of these changes should affect the user's code, nor in terms of Behavior or API.

But we need to add the migration guide to the website.
I will also need to update mine here: https://www.behaviortree.dev/docs/migration


Future work that may be required in bullet points

  1. Groot2 publisher to be added to the BT executor.
  2. Reminder that using blackboard->get prevent the use of SubTrees, but not the topic of this PR.

For Maintainers:

  • Check that any new parameters added are updated in navigation.ros.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

@SteveMacenski
Copy link
Member

The fastest I've ever reviewed 93 files 😆 I'll pick up the rest tomorrow

@facontidavide facontidavide changed the title behavior_tree: migration to BT.CPP 4.5.x [DRAFT] behavior_tree: migration to BT.CPP 4.5.x Feb 21, 2024
@facontidavide facontidavide marked this pull request as draft February 21, 2024 09:57
@facontidavide
Copy link
Contributor Author

facontidavide commented Feb 21, 2024

I am realizing that this is more work than I expected and converted this to DRAFT.

I will keep you posted on the progress; in the meantime, I added a list of TODOs in the description above

@SteveMacenski
Copy link
Member

SteveMacenski commented Feb 21, 2024

OK, LMK explicitly when you want me to review again, I'll ignore updates until then

Was tickRoot just renamed to tickOnce or is there a real behavioral change you're making there?

Copy link
Contributor

mergify bot commented Feb 22, 2024

@facontidavide, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

@facontidavide
Copy link
Contributor Author

Was tickRoot just renamed to tickOnce or is there a real behavioral change you're making there?

tickRoot now offers more options, being tickWhileRunning my suggested default.
tickOnce is the equivalent to the old behavior.

@facontidavide
Copy link
Contributor Author

@SteveMacenski I believe that the tests on CI might be flaky, and I can not spot any relationship between those errors and my changes. Can you?

@SteveMacenski
Copy link
Member

SteveMacenski commented Feb 22, 2024

@facontidavide your branch may be out of sync by several weeks. I fixed the spin tests if you rebase (something in the rclcpp libs changed in rolling and exposed some issues that this is just an application manifestation of). That spin test failure and the WPF flaky test were resolved in mainline - but either way you're probably right if you're only seeing those 2 that its not related to you. But, I do want to see coverage metrics after this transition, so rebase so that it'll generate

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Copy link

codecov bot commented Feb 22, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.04%. Comparing base (55c952d) to head (4122287).
Report is 3 commits behind head on main.

❗ Current head 4122287 differs from pull request most recent head 76a2b67. Consider uploading reports for the commit 76a2b67 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4128      +/-   ##
==========================================
- Coverage   90.11%   90.04%   -0.07%     
==========================================
  Files         432      432              
  Lines       19406    19407       +1     
==========================================
- Hits        17487    17475      -12     
- Misses       1919     1932      +13     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
@facontidavide
Copy link
Contributor Author

@SteveMacenski waiting for CI to confirm but tests should pass now.

I added all the changes that I wanted to, also some test cases.

let me know what you think. If you need more information about the SKIPPED status, just ask

@SteveMacenski
Copy link
Member

There's a DWB test that seems to be failing deterministically on this PR (2/2) which is odd. Its a known flaky test, but flaky means like 1/500 I see it, seeing it 2x in row here is extremely unusual. But, I think safely not your fault unless it fails for a third time right now.

Let me know when you're ready.

@facontidavide facontidavide marked this pull request as ready for review February 28, 2024 06:39
@facontidavide facontidavide changed the title [DRAFT] behavior_tree: migration to BT.CPP 4.5.x behavior_tree: migration to BT.CPP 4.5.x Feb 28, 2024
@facontidavide
Copy link
Contributor Author

Code is ready to be reviewed, but I will investigate that

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
@@ -32,6 +32,11 @@ BehaviorTreeEngine::BehaviorTreeEngine(
for (const auto & p : plugin_libraries) {
factory_.registerFromPlugin(loader.getOSName(p));
}

// FIXME: the next two line are needed for back-compatibility with BT.CPP 3.8.x
Copy link
Member

Choose a reason for hiding this comment

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

Please explain for my knowledge + file a separate ticket for this so its not forgotten. Also, why twice?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the two lines are not the same :)

The explanation can be found here: BehaviorTree/BehaviorTree.CPP#755

In short, I changed the way these nodes work, but that change made things worse, so I am reverting it in 4.6.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added this specifically because you mentioned that you don't want to use the "latest version".

This is the workaround, if you want to use 4.5 (a small price to pay)

Copy link
Member

Choose a reason for hiding this comment

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

OK - please file a separate ticket as a reminder to us both about this - we don't accept inline FIXME / TODOs as proper documentation of issues (there are some in the codebase, but those all predate my tenure)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Copy link
Contributor

mergify bot commented Feb 29, 2024

@facontidavide, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
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.

Last change - otherwise I went through the rest of the files and I approve

@SteveMacenski
Copy link
Member

SteveMacenski commented Feb 29, 2024

Question: What if a post-callback fails? The skipped is for pre-conditions not being met, do post-conditions throw or something? (also not mentioned in the v3 to v4 guide what is SOP)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Copy link
Contributor

mergify bot commented Feb 29, 2024

@facontidavide, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
@SteveMacenski SteveMacenski merged commit efd777e into ros-navigation:main Feb 29, 2024
9 of 11 checks passed
@fmros
Copy link

fmros commented Mar 7, 2024

Do you plan to backport this PR to humble? Thanks

@SteveMacenski
Copy link
Member

No, its not ABI compatible.

stevedanomodolor pushed a commit to stevedanomodolor/navigation2 that referenced this pull request Mar 25, 2024
* behavior_tree: migration to BT.CPP 4.5.x

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix formatting

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix lint warning

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove setStatus(BT::NodeStatus::IDLE)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* handle SKIPPED state

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix unit tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add emitWakeUpSignal()

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fit test

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* keep resetStatus() in action_node

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add suggestions from peer reviewer

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix compilation

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: stevedan <stevedan.o.omodolor@gmail.com>
stevedanomodolor added a commit to stevedanomodolor/navigation2 that referenced this pull request Mar 25, 2024
Signed-off-by: stevedan <stevedan.o.omodolor@gmail.com>

New MPPI Cost Critic (Contrib: Brice Renaudeau) (ros-navigation#4090)

* Share code

Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Update inflation_cost_critic.hpp

- copyright
- ifndef

Signed-off-by: Brice <brice.renaudeau@gmail.com>

* fix lint cpp

- extra space

Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Fix Smac Planner confined collision checker  (ros-navigation#4055)

* Update collision_checker.cpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Fix tests

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Update test_a_star.cpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Prevent analytic expansions from shortcutting Smac Planner feasible paths (ros-navigation#3962)

* a potential solution to smac shortcutting

* costmap reoslution

* some fixes

* completed prototype

* some fixes for collision detection and performance

* completing shortcutting fix

* updating tests

* adding readme

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070)

Signed-off-by: GoesM <GoesM@buaa.edu.cn>
Co-authored-by: GoesM <GoesM@buaa.edu.cn>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* [Smac Planner] Massive Improvement of Behavior for SE2 Footprint Checking (ie non-circular robots) In Confined Settings (ros-navigation#4067)

* prototype to test SE2 footprint H improvements

* some fixes

* fixed

* invert logic

* Working final prototype to be tested

* complete unit test conversions

* Update inflation_layer.hpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Adding new Smac paper to readme

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Update README.md

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* [behavior_tree] don't repeat yourself in "blackboard->set" (ros-navigation#4074)

* don't repeat yourself: templates in tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* misse change

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Allow path end pose deviation revive (ros-navigation#4065)

* Support stitching paths in compute path to poses

* Update nav2_planner/src/planner_server.cpp

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

* Rename parameter to allow_path_through_poses_goal_deviation

* Fix description

* restore nav2_params

* missing whitespace

* lint fix

* removed parameter

Signed-off-by: gg <josho.wallace@gmail.com>

* Update planner_server.hpp

* Update planner_server.cpp

---------

Signed-off-by: gg <josho.wallace@gmail.com>
Co-authored-by: pepisg <pedro.gonzalez@eia.edu.co>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Updated code to use getInflationLayer() method (ros-navigation#4076)

* updated code to use getInflationLayer method

Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com>

* Fix linting

Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com>

---------

Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* 1594 twist stamped publisher (ros-navigation#4077)

* Add TwistStamped to controller_server via TwistPublisher util

* Add a new util class for publishing either Twist or TwistStamped
* Add a new parameter for selecting to stamp the twist data
* Consume TwistPublisher in nav2_controller

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Fix small issues

* Unused variable
* Incorrect doxygen

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Remove stored node and assert

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Add tests for node

* Facing timeout even though it does the same thing as velocity smoother test

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Add missing spin call to solve timeout

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Fix copyright (me instead of intel)

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Add full test coverage with subscriber

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Remove unused rclcpp fixture

* Can't use it due to needing to join the pub thread after rclcpp shuts down

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use TwistStamped in nav2_behaviors

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use TwistStamped in collision monitor node

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Add TwistStamped readme updates to velocity smoother

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Add TwistSubscriber implementation

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Fix syntax errors

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use TwistSubscriber in test_velocity_smoother

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use TwistSubscriber in assisted_teleop

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use TwistSubscriber in collision monitor node

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use TwistSubscriber in velocity smoother

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Remove unused code

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* add timestamp and frame_id to TwistStamped message

* Add missing utility include

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Document TwistPublisher and TwistSubscriber usage

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Use pass-by-reference

* Instead of std::move(std::unique_ptr<TwistStamped>)

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Finish twist subscriber tests

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Add other constructor and docs

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Fix linter issues

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Manually fix paren alignment

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Remove GSoC reference

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Document twist bool param in README

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Handle twistPublisher in collision monitor

* Implement behavior in the stamped callback
* Unstamped callback calls the stamped callback
* Switch to unique pointer for publisher

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Convert to using TwistStamped interally

* Use incoming twistStamped timestamp if available
* Convert all internal representations to use TwistStamped

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Remove nav2_util usage instructions

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Remove unused Twist only subscriber

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* More linter fixes

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Prefer working with unique_ptr for cmd_vel

* This makes it easier to switch to std::move instead of dereference on
  publish

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

* Completing twist stamped migration

* shared to unique ptr

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* twist add stamps and properly propogated

* nav2_util: fix for compiling with clang

- Resolve error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>

---------

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Co-authored-by: pedro-fuoco <pedrofuoco6@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* Change costmap_queue to shared library (ros-navigation#4072)

Signed-off-by: cybaol <cybao292261@163.com>
Signed-off-by: Brice <brice.renaudeau@gmail.com>

* fix include of hpp

Signed-off-by: Brice Renaudeau <brice.renaudeau@gmail.com>

* inflation cost optmiizations and cleanu

* rename, add defaults, and docs

* smoke test addition

* lintg

* normalize weight

* update readme

* increment cache

* Update cost_critic.hpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Update cost_critic.cpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: Brice <brice.renaudeau@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: GoesM <GoesM@buaa.edu.cn>
Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: gg <josho.wallace@gmail.com>
Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com>
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Signed-off-by: cybaol <cybao292261@163.com>
Signed-off-by: Brice Renaudeau <brice.renaudeau@gmail.com>
Co-authored-by: BriceRenaudeau <48433002+BriceRenaudeau@users.noreply.github.com>
Co-authored-by: GoesM <130988564+GoesM@users.noreply.github.com>
Co-authored-by: GoesM <GoesM@buaa.edu.cn>
Co-authored-by: Davide Faconti <davide.faconti@gmail.com>
Co-authored-by: Joshua Wallace <josho.wallace@gmail.com>
Co-authored-by: pepisg <pedro.gonzalez@eia.edu.co>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: jncfa <20467009+jncfa@users.noreply.github.com>
Co-authored-by: Ryan <ryanfriedman5410+github@gmail.com>
Co-authored-by: pedro-fuoco <pedrofuoco6@gmail.com>
Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com>
Co-authored-by: Kino <cybao292261@163.com>

[behavior_tree] support both ports and blackboard (ros-navigation#4060)

* check result of blackboard->get and use halTree

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove unused header

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* BT: add port inputs when missing and use getInputPortOrBlackboard

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add description

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* change return value of getInputPortOrBlackboard

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* updated tree XML

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

Use ament_export_targets for all targets (ros-navigation#4112)

* Matches new internal ALIAS targets
* Use ALIAS targets for all internal linkage
* Remove unnecessary calls to ament_target_dependencies in test code
* Export includes in proper folders for overlays in colcon

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>

adding new Friends of Nav2 Sponsors!

Update README.md (ros-navigation#4114)

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

CI green P3 (ros-navigation#4117)

Refactors `possible_inscribed_cost` to `possible_circumscribed_cost` in collision checker for smac_planner and mppi_controller (ros-navigation#4113). (ros-navigation#4118)

* Utilizes circumscribed radius to assess potential collision points on the robot.
* Ensures safety when the robot's center is outside the circumscribed radius, eliminating additional checks and optimizing CPU usage.
Signed-off-by: Alan Xue <alan.xuefei@googlemail.com>

Added cast to float to getClosestAngularBin return for behavior consistency (ros-navigation#4123)

* Added cast to float to getClosestAngularBin return for behavior consistency.

Signed-off-by: Hunter Song <hsong@macleanengineering.com>

* Revised test name

Signed-off-by: Hunter Song <hsong@macleanengineering.com>

---------

Signed-off-by: Hunter Song <hsong@macleanengineering.com>

Adding context to MPPI readme

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

[behavior_tree] Add generate_nav2_tree_nodes_xml (ros-navigation#4073)

* Add generate_nav2_tree_nodes_xml

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* behavior_tree: removed list of plugins from yaml

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* check result of get_parameter(plugin_lib_names)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix previous commit (uncrustify)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* revert change

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

Fix compilation with clang (ros-navigation#4131)

Signed-off-by: Ramon Wijnands <ramon.wijnands@nobleo.nl>

code improvement based on feedback. Name changes and minor code improvement

Signed-off-by: stevedan <stevedan.o.omodolor@gmail.com>

Fix goal handle was not freed correctly (ros-navigation#4137)

* Fix goal handle was not freed correctly

* Update nav2_util/include/nav2_util/simple_action_server.hpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Ziohang <hang.zhou@agvsz.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

Adding Nvidia as Gold Sponsor! (ros-navigation#4144)

Prevent a possible segmentation fault (ros-navigation#4141) (ros-navigation#4147)

* Prevent a possible segmentation fault

Signed-off-by: Joni Pöllänen <joni.pollanen@karelics.fi>

* Cleanup

Signed-off-by: Joni Pöllänen <joni.pollanen@karelics.fi>

---------

Signed-off-by: Joni Pöllänen <joni.pollanen@karelics.fi>

Updating stereolabs logo (ros-navigation#4158)

Update README.md

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

behavior_tree: migration to BT.CPP 4.5.x (ros-navigation#4128)

* behavior_tree: migration to BT.CPP 4.5.x

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix formatting

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix lint warning

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove setStatus(BT::NodeStatus::IDLE)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* handle SKIPPED state

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix unit tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add emitWakeUpSignal()

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fit test

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* keep resetStatus() in action_node

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add suggestions from peer reviewer

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix compilation

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

bug fix (ros-navigation#4160)

Signed-off-by: Tianchu <tianchu.zhang0706@gmail.com>

Stop planner if the goal is cancelled (ros-navigation#4148)

* Add support for stopping planners when the action is cancelled

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Support cancel in Smac planner

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Support cancel in Theta* planner

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Support cancel in Navfn planner

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Update nav2_system_tests to use cancel checker

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Add terminal_checking_interval parameter

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Handle timeout and cancel check on the same branch and default to 5000 iterations

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

* Add system tests for cancel

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>

---------

Signed-off-by: Kemal Bektas <kemal.bektas@node-robotics.com>
Co-authored-by: Kemal Bektas <kemal.bektas@node-robotics.com>

Improvement on the wat the distance heuristic is calculated

Signed-off-by: stevedan <stevedan.o.omodolor@gmail.com>

Fix BT.CPP import (ros-navigation#4165)

Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com>

Update default recommendation from Obstacles to Cost critic in MPPI (ros-navigation#4170)

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

nav2_controller: add loop rate log (ros-navigation#4171)

* update smac_planner README

Signed-off-by: ARK3r <kermani.areza@gmail.com>

* added current controller loop rate logging

Signed-off-by: ARK3r <kermani.areza@gmail.com>

* linting

Signed-off-by: ARK3r <kermani.areza@gmail.com>

* uncrustify lint

Signed-off-by: ARK3r <kermani.areza@gmail.com>

* Update nav2_controller/src/controller_server.cpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Update nav2_controller/src/controller_server.cpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

* Update nav2_controller/src/controller_server.cpp

Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>

---------

Signed-off-by: ARK3r <kermani.areza@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

improvement based on feedback

Signed-off-by: stevedan <stevedan.o.omodolor@gmail.com>
ajtudela pushed a commit to grupo-avispa/navigation2 that referenced this pull request Apr 19, 2024
* behavior_tree: migration to BT.CPP 4.5.x

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix formatting

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix lint warning

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove setStatus(BT::NodeStatus::IDLE)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* handle SKIPPED state

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix unit tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add emitWakeUpSignal()

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fit test

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* keep resetStatus() in action_node

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add suggestions from peer reviewer

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix compilation

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
enricosutera pushed a commit to enricosutera/navigation2 that referenced this pull request May 19, 2024
* behavior_tree: migration to BT.CPP 4.5.x

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix formatting

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix lint warning

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove setStatus(BT::NodeStatus::IDLE)

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* handle SKIPPED state

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix unit tests

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add emitWakeUpSignal()

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fit test

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* remove SequenceStar

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* keep resetStatus() in action_node

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* add suggestions from peer reviewer

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

* fix compilation

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>

---------

Signed-off-by: Davide Faconti <davide.faconti@gmail.com>
Signed-off-by: enricosutera <enricosutera@outlook.com>
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

3 participants