Skip to content

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

Merged
SteveMacenski merged 17 commits intoros-navigation:mainfrom
facontidavide:btcpp4_migration
Feb 29, 2024
Merged

behavior_tree: migration to BT.CPP 4.5.x#4128
SteveMacenski merged 17 commits intoros-navigation:mainfrom
facontidavide:btcpp4_migration

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

Loading
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.

3 participants