pantor / ros-control-center

A web-based control center for ROS robots.
https://pantor.github.io/ros-control-center
BSD 3-Clause "New" or "Revised" License
265 stars 71 forks source link

[Error] subscribe: topic name is not a non-empty string #14

Closed WRidder closed 7 years ago

WRidder commented 8 years ago

I am running the default installation of ros indigo and when walking through the default [ROS tutorials](http://wiki.ros.org/ROS/Tuto

I installed the rosbridge_suite from: http://wiki.ros.org/rosbridge_suite/Tutorials/RunningRosbridge

When running the turtlesim example and the rosbridge server I end up with the following running nodes:

$ rosnode list
/my_turtle
/rosapi
/rosbridge_websocket
/rosout
/turtlesim

However, when I try to connect the ROS Control Center to localhost (which seems to work though), I end up with: screenshot from 2016-08-22 23 21 30

The terminal output for the rosbridge_suite reads:

[INFO] [WallTime: 1471900446.687831] Client connected.  1 clients total.
[INFO] [WallTime: 1471900447.912490] [Client 0] Subscribed to /rosout
[ERROR] [WallTime: 1471900447.917653] [Client 0] [id: subscribe::6] subscribe: topic name is not a non-empty string

It seems like the ros nodes are not correctly retrieved and shown in the ROS Control Center, am I correct in assuming this currently encountered behaviour is incorrect?

shoemakerlevy9 commented 7 years ago

I had the same issue. One thing to note is that the topic names must start with a capital letter in order to be displayed (except for when the advanced checkbox is checked, which did not show up for me). For instance I had to change my imu message from imu_bosch/data to IMU/Data in order for it to display IMU on the side bar and Data as a sub category.

The logic for filtering topics by a starting capital letter is in /app/helper/domain.service.js

pantor commented 7 years ago

With the latest commit, an info message is shown if no nodes or parameters are displayed. The message refers to the advanced view, which can be enabled in the settings tab to show all nodes / parameters.

nckswt commented 7 years ago

@pantor Enabling the advanced view doesn't seem to do anything for me either. Clicking the Enable Advanced View button gives no reaction and checking the Advanced View box under Settings doesn't do anything either.

Worse, if I set up a node called Tester that publishes a string to a topic /Test_group/Test_topic, I don't see any output under the control tab (regardless of Advanced View). This is also true if I publish anything to /battery.

I'm confused because rosbridge_suite shows me that a new client subscribes to /rosout whenever I refresh the browser page, but I only see the "There is nothing to show here..." alert, nor do I see any subscriptions to /battery or /Test_group/Test_topic.

Anything I can give you for debugging information? This is ROS indigo, ubuntu 14.04, running a local ros-control-center.

nckswt commented 7 years ago

Actually, it looks like this was a completely unrelated problem: https://github.com/RobotWebTools/roslibjs/issues/219

I changed bson from my pip installed version to the apt-get installed version. This fixed the problems I was experiencing above (including the advanced view one).