BehaviorTree.CPP gained a good amount of traction and popularity in recent years, mostly driven by its adoption in Nav2.
An increasing number of teams and companies (small and big) use BT.CPP to coordinate their robots and their requirements evolve over time.
I would like to engage more closely with the community and understand the:
use cases
pain points and challenges
design pattern
suggestions for improvement
My plan is to build a roadmap to design Behaviortree.CPP 4.0 with the goal of making it simpler to use, more readable, more scalable and easy to debug.
For this reason, I would like to host the first BehaviorTree workshop on March 31 (details to be shared soon).
If you want to have a spot to highlight your project and suggestion, please send me (direct message or davide.faconti@gmail.com) a short abstract of:
your use case
what you want to be discussed (possible improvements, challenges, ideas).
None of the information you submit will be shared with 3rd parties.
“I am a company and I don’t want to reveal anything about my IPs”
I fully understand your privacy concerns, but your feedback is extremely valuable to improve BT.CPP and make your life easier! Helping the project, you are helping yourself, as a user
You can contact me privately using my email davide.faconti@gmail.com and, if required, a NDA can be signed.
I’m certainly interested in attending! It sounds like a great opportunity to provide feedback and hopefully learn a bit more about the library.
A question about the workshop: Is it’s purpose solely to get feedback from the community or are you open to presenting some info about the lesser known features of BT.CPP? I think that could be very useful for both new and existing users of the library.
Sounds like a great idea! A couple of thoughts I had:
Are there any updated in Behavior Tree literature, especially from @miccol’s work, that could be added?
For live monitoring, potentially switching technology that allows for multiple publishers & publish the behavior tree XML file on starting so that we can potentially switch between trees within the execution of the system and have that appear in 1 window
Perhaps these exist and I haven’t run into them : included looping BT nodes (e.g. while or for conditions, basically) and demo XMLs using them as examples
Examples of the parallel control flow node in documentation
I’d really love to have a Rviz panel tool for visualizing BTs and BTs in execution. That would be such a huge help.
Versioning behavior trees – having version numbers in the preamble of the XML or the root so that we can read that in and have validation checks on the BT being what we expect it to be when in use
Other than that, the only piece I would like is somewhat better explanation of halt()haltChildren()setStatus() and other resetting or state-esk functions in BT.CPP and having best practices about when these should be manually called or handled by the system internally. So, a best practices for behavior tree node designers page. We picked up on those from discussions with you in the earlier days of Nav2, but I don’t think they’re explicitly made clear anywhere for developers at large.
The link to connect will be announced in the next days. Who wants to have a 10-15 minute time slot to talk at the workshop should get in contact with me as described above.
Google Calendar says that it “could not find the requested event” when I click on that link on my desktop, and creates an empty event when I try it on my phone. Is the event marked to private (or something else?), or is it an issue on my end?
@facontidavide will the workshop be recorded? I am interested, but I will not be able to join tomorrow
I am mostly interested in seeing if there is some research opportunity for us or even if I might promote some projects on BehaviourTree.CPP for my students at VU Amsterdam (an Rviz panel would be a nice Bachelor project for example).