-
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
Create BT for each navigation (fixes #1285) #1322
Create BT for each navigation (fixes #1285) #1322
Conversation
…ree each time NavigateToPose is called. This avoids some problems in the BT library when using CoroActionNodes (coroutines).
Previously, we had noticed the robot would take considerable time from the moment the goal pose was provided when it started moving, we thought it had to do with the BT tree constructions. Does this re-introduce that problem? |
How long does it take to create the tree? That seems* like something relatively heavy and would add unacceptable latency.
|
@@ -197,8 +186,11 @@ BtNavigator::navigateToPose() | |||
} | |||
}; | |||
|
|||
// Create the Behavior Tree from the XML input | |||
BT::Tree tree = bt_->buildTreeFromText(xml_string_, blackboard_); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So now the tree could change between navigations if the user modifies the bt xml file during run-time?
@mjeronimo Can you file a ticket in the behaviortree repo that describes the issue? |
@mjeronimo What's the status of this PR? Is this intended to be merged? I think it is a high priority to fix #1285 for Eloquent. |
+1 on @bpwilcox's comment. Is there a blocker? |
@mjeronimo - can you resolve the conflicts on this, make sure it passes CI and then I think it can be merged? |
I'd like to know what the latency introduced is for creating the BT before merging. I want us to know what this overhead is and make a conscious decision that its acceptable. |
@bpwilcox To take a second look and see if there is another way to deal with this problem |
Rather than trying to re-use the behavior tree, create the behavior tree each time NavigateToPose is called. This avoids some problems in the BT library when using CoroActionNodes (coroutines).