0
$\begingroup$

Rosanswers logo

Hi! 'm trying to use Groot to first visualize, then modify ROS2 navigation BT. I use eloquent on 18.04, all compiled from sources (Groot, BehaviorTree.CPP and ROS2 navigation)

When I try to open a tree, e.g. navigate_w_replanning.xml, I get this error:

image description

But I have no idea how to tell Groot where to find models, nor can find any documentation.

And the second question, I tried to visualize the running nav2 BT (a BehaviorTree.CPP), but nothing seems to publish to port 1666:

image description

How I enable this feature on BehaviorTree.CPP? Again, cannot find any parameter nor documentation.

Thanks!


Originally posted by jorge on ROS Answers with karma: 2284 on 2020-02-20

Post score: 0


Original comments

Comment by stevemacenski on 2020-02-20:
This is a great question for @Carl D.

Frankly, I’ve always designed the BTs on paper and edited by hand. But I think in the software crowd that makes me a heretic.

Comment by francoisdtf on 2020-10-13:
Digging this out, I also encounter the second error, even though I'm using ROS1 (Kinetic). I'm not sure which port I should use since default (1666) doesn't work, or if I should configure it somewhere in the xml. I couldn't find anything related to real-time monitoring in the doc. EDIT : found my answer here, in the loggers example code : https://www.behaviortree.dev/tutorial_05_subtrees/

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Unfortunately, development work needs to be done to enable both your questions.

For the first question, about the unregistered model. Nav 2 uses some custom control nodes. I believe there is no way to add custom control nodes to Groot at the moment. @Davide Faconti can probably confirm this or provide a solution.

For the second question, either Groot needs to be ported to ROS2, or we need to add the ZeroMQ publisher to the navigation 2 behavior tree. I would personally rather see Groot ported to ROS2, because I believe it would be beneficial to be able to capture the behavior tree messages in a Rosbag.


Originally posted by Carl D with karma: 303 on 2020-02-20

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by jorge on 2020-02-25:
Thanks for the answer. Looking forward to Davide's comments (and also to a ROS2 porting, it would be great!)

Comment by fergs on 2020-09-08:
There is an open PR towards this: https://github.com/ros-planning/navigation2/pull/1958

$\endgroup$
0
$\begingroup$

Rosanswers logo

HI, I just found the answer to your second question. You have to pass the BT in to zmq publisher so Groot can take it and display in real time. To do that In your Logger add below line.

PublisherZMQ publisher_zmq(tree);

tree - Loaded tree from text or file. Make sure that you include the bt_zmq_publisher header file first.

-- #include "behaviortree_cpp_v3/loggers/bt_zmq_publisher.h"


Originally posted by denuwan with karma: 11 on 2020-12-16

This answer was NOT ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.