race and short circuit on first completion - #51
Conversation
|
Hey @matthewashton-k , thanks for contributing! Sorry for delay, I haven't paid attention to my notifications lately and this PR was lost in my inbox The Sending you an invite to collaborate on the project, just decline the offer if you're not interested. If interested I'll make sure to update the Kanban board for the project and you can pick whatever tickets there you'd like and/or add new once. The philosophy for the crate is to keep it as lean with as few external dependencies as possible (I really need to add a CONTRIBUTING.md file now that I think of it). Only add new node types if they behavior cannot be created already with the existing primitives ( |
|
Updated Kanban now: Bonsai Kanban |
|
Awesome thanks! I'll run the checks, make example, etc tomorrow and hopefully get that merged in. |
|
ok the pre commit pipeline seems to be broken for some reason but ive ran it locally to make sure the clippy lints are fixed. |
|
I also accepted the collaborator invitation but it looks like I still may not have the permissions to view the kanban board in the github project. Anyways, I've added an example for the new Race behavior and this PR should be good to get merged in! |
There was a problem hiding this comment.
Looks good, last thing before merging this. Please add a short note the Race behavior here as well
Also, please bump the version to 0.11.0 here
Line 15 in 27494b6
|
Was not able to checkout your branch to fix as it comes from a fork. It probably just requires bumping to latest version of this action https://github.com/pre-commit/action in the workflow. Please check if that works, if not, we can fix the pre-commits in a separate PR |
|
Just gave you RW access to Kanban now |
Thanks for your work on this crate, I've been loving using it for robotics recently!
I recently was trying to make a timeout behavior and realized that:
I think it would be helpful to have a node that runs things in parallel and take the result of whichever finishes first so you can do stuff like this:
You can achieve a similar thing with a while loop but the caveat is that if the inner behavior suceeds before the timer is up itll restart.
Of course ways to use the blackboard to do timeouts without adding a new node but I think this one might be helpful.