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

[Nav2 Integration] Some BT nodes with registration are not being properly found at run-time #390

Closed
SteveMacenski opened this issue May 26, 2022 · 2 comments

Comments

@SteveMacenski
Copy link
Contributor

SteveMacenski commented May 26, 2022

Hi,

We're having a really bizarre issue with BT.CPP that we could use some help with. We've added a few BT nodes recently and some are failing to be usable in behavior tree XML files.

The BT nodes are compiling but we're finding that the builder in the BT registration macro isn't being called in these unique situations. So even though the BT node exists, they're not being registered as plugins to be able to be run-time loadable. This is affecting a number of recently added BT nodes to Nav2, with one example below. At run-time, the BT creation call hangs indefinitely without returning any warning or throwing any error, which is strange as well.

Do you have any idea why this is happening or what's gone wrong? I've looked over these files many times and compared them to other BT nodes we have in Nav2 using the same base classes that are working perfectly fine. We've tried removing caches and similar techniques in case its a bad compiler state, but it happens to these particular nodes, every time.

One example:

Another example is the BackUpCancel node, so you have 2 examples using completely different base libraries.

CC @jwallace42 @padhupradheep both of which have BT nodes that are in this limbo. More discussion ros-navigation/navigation2#2934

@SteveMacenski
Copy link
Contributor Author

SteveMacenski commented May 27, 2022

After more investigation, its not just happening in our unit tests either, it happens in CI testing of the main BT navigator server which works for users in production ros-navigation/navigation2#2962 (comment). Something seems off with BT.CPP potentially (or our use of it?)

They are being registered from a comment in the ticket ros-navigation/navigation2#2934 - it works out side of CI use-cases it seems

@SteveMacenski
Copy link
Contributor Author

Nevermind, pretty sure I just found it and its 100% on us. Sorry for the noise.

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

No branches or pull requests

1 participant