-
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
Use BT.CPP recommended sleep for event-driven trees? #4736
Comments
Sorry for the delay, ROSCon, ROS-I, and so forth kept me from a computer.
Because it didn't exist in BT.CPP when we created that bit of software :-) My immediate thought is that I'm perfectly happy moving to the After looking at the BT.CPP implementation, I don't see any downsides to that change. @tonynajjar want to submit a PR? |
Exactly!
This allows, as @tonynajjar point out, to wake uyp immediately when ANY node invokes Note that in general I suggest people to tick at 1 KHz using Unfortunately, there is a problem here, that prevent us ticking at high framerate.: https://github.com/ros-navigation/navigation2/blob/main/nav2_behavior_tree/src/behavior_tree_engine.cpp#L57-L74 The tick frequency is also the frequency of Summarizing, I agree that using |
Will give it a shot! |
Open a PR if its working well! I think it should ;-) |
Feature request
Feature description
I would be surprised if I'm the first one to bring up this discussion but I didn't find it anywhere. Why aren't we using the recommended
Tree::sleep()
from BT.CPP instead of the ROSrclcpp::WallRate
to leverage event-driven trees?I guess an obvious reason would be the better integration of
rclcpp::WallRate
with simulation time. But shouldn't we thrive to have all the benefits that both offer?In a couple of instances we use emitWakeUpSignal, but afaik these should be useless without
Tree::sleep()
right @facontidavide?Implementation considerations
The text was updated successfully, but these errors were encountered: