ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Why does RQT Graph have limited insight into Turtlebot3?

asked 2020-04-21 09:24:10 -0500

cxrandolph gravatar image

updated 2020-04-21 09:40:27 -0500

Context

The Turtlebot3 platform is commonly referenced in ROS as an example robotics application. I was excited to learn about how this project was structured internally, and so I have downloaded it (only for ROS 1, not 2) and decided to run the turtlebot3_fake_node 3D visualization tool RViz as mentioned in this guide.


Problem

Once I got launched the simulator nodes, as well as the teleop-key input processes, I launched rqt_graph in order to check out how the project is structured in terms of ROS nodes, topics, and subscriptions. However, I discovered that there were only a few nodes and topics visible (where are the sensor topics, etc?). The entire robot behavior is encapsulated within the fake node.

image description

Is there another way to get introspection on how turtlebot3 works internally without an extensive review of the source code? I unfortunately do not have access to the real robot either.

Cheers

edit retag flag offensive close merge delete

Comments

The fake node only publishes to those topics. If you don't start anything else, what topics would expect?

gvdhoorn gravatar image gvdhoorn  ( 2020-04-21 10:00:49 -0500 )edit

@gvdhoorn I was under the impression that nodes within ROS typically represented small execution units. So I was expecting to see a node representing a sensor publishing readings to a sensor topic, which would then be consumed by a node that processed information on this topic (e.g. publishes messages to a ¨motor¨ node or something). Then there would be nodes for controlling motors and things like that.

cxrandolph gravatar image cxrandolph  ( 2020-04-21 10:07:59 -0500 )edit

I'm not entirely sure how the implementation of one specific node -- which is intended to provide a very simple and minimal surrogate of a base robot stack -- would contradict your initial assumption.

Whether or not there are multiple nodes would seem to come down to the design decisions made by the author/developer.

If you're interested in seeing the structure of the entire control system, you'd have to start it all up.

gvdhoorn gravatar image gvdhoorn  ( 2020-04-21 11:09:35 -0500 )edit

Why does RQT Graph have limited insight into Turtlebot3?

and pedantically the answer would be: it doesn't, it's actually correctly visualising everything there is.

But that is not actually your question I believe.

gvdhoorn gravatar image gvdhoorn  ( 2020-04-21 11:13:00 -0500 )edit

Just came across #q268671, which actually discusses the same question (but phrased differently).

gvdhoorn gravatar image gvdhoorn  ( 2020-04-22 07:12:00 -0500 )edit

1 Answer

Sort by » oldest newest most voted
2

answered 2020-04-21 11:11:43 -0500

gvdhoorn gravatar image

This would seem to already become clear from the description in the guide you linked (emphasis mine):

There are two development environments to do this, one is using fake node and 3D visualization tool RViz and the other is using the 3D robot simulator Gazebo.

There are two possible options:

  1. use the fake node
  2. start a full Gazebo simulation

The fake node method is suitable for testing with the robot model and movement, but it can not use sensors. If you need to test SLAM and Navigation, we recommend using Gazebo, which can use sensors such as IMU, LDS, and camera in the simulation.

So the fake node is really very minimal (just JointStates and a Twist subscriber == basic movement).

If you want sensor topics, you should use the Gazebo simulation.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2020-04-21 09:24:10 -0500

Seen: 499 times

Last updated: Apr 21 '20