Describe the bug
When using a root blackboard, the entries are not visible in Groot2
It would be useful to visualize this blackboard
How to Reproduce
Use a blackboard and @keys
auto blackboard = BT::Blackboard::create();
auto factory = new BT::BehaviorTreeFactory();
BT::Blackboard::Ptr maintree_bb = BT::Blackboard::create(blackboard);
factory.registerBehaviorTreeFromFile("my_bt.xml");
factory.createTree("MainTree", maintree_bb)
Fix
The generateBlackboardsDump nevers exports the root blackboard ?
Adding this in groot2_publisher.cpp:546 works, but it's far from ideal
std::vector<uint8_t> Groot2Publisher::generateBlackboardsDump(const std::string& bb_list)
{
auto json = nlohmann::json();
auto const bb_names = BT::splitString(bb_list, ';');
for(auto name : bb_names)
{
std::string const bb_name(name);
auto it = _p->subtrees.find(bb_name);
if(it != _p->subtrees.end())
{
// lock the weak pointer
if(auto subtree = it->second.lock())
{
json[bb_name] = ExportBlackboardToJSON(*subtree->blackboard);
json["ROOT"] = ExportBlackboardToJSON(*subtree->blackboard->rootBlackboard());
}
}
}
return nlohmann::json::to_msgpack(json);
}
Describe the bug
When using a root blackboard, the entries are not visible in Groot2
It would be useful to visualize this blackboard
How to Reproduce
Use a blackboard and
@keysFix
The generateBlackboardsDump nevers exports the root blackboard ?
Adding this in
groot2_publisher.cpp:546works, but it's far from ideal