Replies: 10 comments
-
Hi, thanks for sharing your feature request! We are not very familiar with Behavior Trees and Groot. Do you know how popular these tools/libaries are or how many people use them? It looks like they are currently unmaintained: https://github.com/BehaviorTree/BehaviorTree.CPP / https://github.com/BehaviorTree/Groot
Which features from Groot are most important to you and would be required for a minimum viable solution? |
Beta Was this translation helpful? Give feedback.
-
Behavior Trees are important tool for robotics, especially ROS 2 and its Navigation2 (Nav2 stack). Examples of active, maintained packages with use of BT:
Short intro to BT in Nav2:
There are Minimum viable solution/features would be:
|
Beta Was this translation helpful? Give feedback.
-
Can you provide or link to some sample bags which contain this data? |
Beta Was this translation helpful? Give feedback.
-
Yes, of course:
|
Beta Was this translation helpful? Give feedback.
-
Is the BT itself stored in the bag file? And which other message types are used to indicate the current BT state? |
Beta Was this translation helpful? Give feedback.
-
AFAIK BT isn't stored in a rosbag (it was mentioned there). It seems that BT state could be indicated through currently executed plugin or nodes return values (SUCCESS/RUNNING/FAILURE). Honestly, I don't have any deeper knowledge about it :( I linked this feature request in Nav2 Slack, maybe other more knowledgeable people could help more. |
Beta Was this translation helpful? Give feedback.
-
This issue has been marked as stale because there has been no activity in the past 6 months. Please add a comment to keep it open. |
Beta Was this translation helpful? Give feedback.
-
I am very interested in this feature, and I think it would be a great addition to Foxglove Studio in general since BehaviorTree.CPP has become the defacto behavior tree tool for robotics, and Groot is its frontend graphical tool for editing/monitoring the trees. Things seem to be a bit in flux, Groot development has been suspended and only works with BehaviorTree.CPP v3.8 and will soon be replaced by Groot2 that will support the new BehaviorTree.CPP v4. I think the new Groot/BehaviorTree.CPP versions might not ensure back-compatibility, so it'd be wise to target development for the new ones once Groot2 is released. |
Beta Was this translation helpful? Give feedback.
-
For your information, Nav2 will move to BT.CPP 4.X in Jazzy and this will FINALLY make the old Groot1 obsolete! |
Beta Was this translation helpful? Give feedback.
-
It doesn't have to necessarily be an integration Groot2 (that's even probably hard as Groot2 is in C++ and Foxglove custom panels use TypeScript). Just throwing that out there but maybe Foxglove could sponsor @facontidavide to build a BT panel for Foxglove from scratch? I'm sure it would be a huge addition to all Nav2/BT.CPP users. |
Beta Was this translation helpful? Give feedback.
-
Foxglove should support live monitoring of Behavior Trees execution live during navigation of many robots, as a custom panel or extension (similar to Groot and Nav2 stack, but with adequate continuous support for debugging and new features).
Shortly: Since ROS Humble there will be no option to see BT during execution of the BT Navigator from Nav2 stack (ZeroMQ bugs for multirobot systems, it was described in some issue and in "Migration from ROS Galactic to Humble" notes)
I see that an option to view in real-time execution of 1+ BT will be an awesome new feature in Foxglove, because since next year and Humble there will be no clear candidate for this.
Best,
Łukasz Janiec
Beta Was this translation helpful? Give feedback.
All reactions