0
$\begingroup$

Rosanswers logo

I am new to ROS and I know little about what to expect from it and from my Turtlebot2 in terms of performance. It does seem to me that it works too slow, but I do not know for sure. I would like someone to confirm this, and maybe suggest ways to diagnose my setup to find the reason of this slowness.

Everything looks good if nothing on the workstation is subscribed to the camera feeds:

$ rosnode ping --all
Will ping the following nodes: 
 * /zeroconf/zeroconf
 * /camera/driver
 * /camera_base_link
 * /master
 * /capability_server
 * /cmd_vel_mux
 * /camera/depth_metric
 * /robot_state_publisher
 * /bumper2pointcloud
 * /camera/depth_rectify_depth
 * /camera/depth_points
 * /interactions
 * /app_manager
 * /camera/depth_metric_rect
 * /capability_server_nodelet_manager
 * /mobile_base
 * /rosout
 * /camera/rectify_color
 * /camera/camera_nodelet_manager
 * /turtlebot_teleop_keyboard
 * /rviz
 * /camera_base_link1
 * /camera_base_link3
 * /camera_base_link2
 * /diagnostic_aggregator
 * /camera/points_xyzrgb_sw_registered
 * /camera/register_depth_rgb
 * /mobile_base_nodelet_manager

pinging /zeroconf/zeroconf with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:51171/  time=7.439137ms
pinging /camera/driver with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:46037/  time=8.575916ms
pinging /camera_base_link with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:59431/  time=7.348061ms
pinging /master with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:35006/  time=36.192894ms
pinging /capability_server with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:49286/  time=11.957169ms
pinging /cmd_vel_mux with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:35104/  time=20.205975ms
pinging /camera/depth_metric with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:42717/  time=92.966080ms
pinging /robot_state_publisher with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:59314/  time=8.183002ms
pinging /bumper2pointcloud with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:45636/  time=13.126135ms
pinging /camera/depth_rectify_depth with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:53540/  time=7.639170ms
pinging /camera/depth_points with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:43682/  time=11.249065ms
pinging /interactions with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:54360/  time=13.771057ms
pinging /app_manager with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:38159/  time=15.375137ms
pinging /camera/depth_metric_rect with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:38714/  time=10.761976ms
pinging /capability_server_nodelet_manager with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:58260/  time=7.064819ms
pinging /mobile_base with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:47401/  time=25.177002ms
pinging /rosout with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:47568/  time=17.100096ms
pinging /camera/rectify_color with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:60723/  time=17.340899ms
pinging /camera/camera_nodelet_manager with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:44512/  time=6.161928ms
pinging /turtlebot_teleop_keyboard with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x20:50255/  time=2.305031ms
pinging /rviz with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x20:48983/  time=0.992060ms
pinging /camera_base_link1 with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:50165/  time=5.783081ms
pinging /camera_base_link3 with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:38337/  time=10.673046ms
pinging /camera_base_link2 with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:43771/  time=28.889179ms
pinging /diagnostic_aggregator with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:58545/  time=17.940044ms
pinging /camera/points_xyzrgb_sw_registered with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:34221/  time=13.350010ms
pinging /camera/register_depth_rgb with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:41668/  time=37.761927ms
pinging /mobile_base_nodelet_manager with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:53036/  time=15.838146ms

But when I check the Image box in RViz to subscribe to /camera/rgb/image_raw/compressed id does not look good anymore:

$ rosnode ping --all
Will ping the following nodes: 
 * /camera_base_link1
 * /camera/driver
 * /camera_base_link
 * /master
 * /capability_server
 * /cmd_vel_mux
 * /camera/depth_metric
 * /robot_state_publisher
 * /bumper2pointcloud
 * /camera/depth_rectify_depth
 * /camera/depth_points
 * /interactions
 * /app_manager
 * /camera/depth_metric_rect
 * /capability_server_nodelet_manager
 * /mobile_base
 * /rosout
 * /camera/rectify_color
 * /camera/camera_nodelet_manager
 * /turtlebot_teleop_keyboard
 * /rviz
 * /zeroconf/zeroconf
 * /camera_base_link3
 * /camera_base_link2
 * /diagnostic_aggregator
 * /camera/points_xyzrgb_sw_registered
 * /camera/register_depth_rgb
 * /mobile_base_nodelet_manager

pinging /camera_base_link1 with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:50165/  time=88.412046ms
pinging /camera/driver with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:46037/  time=59.931040ms
pinging /camera_base_link with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:59431/  time=92.458963ms
pinging /master with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:35006/  time=94.232798ms
pinging /capability_server with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:49286/  time=149.221897ms
pinging /cmd_vel_mux with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:35104/  time=262.837172ms
pinging /camera/depth_metric with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:42717/  time=1197.603941ms
pinging /robot_state_publisher with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:59314/  time=954.480886ms
pinging /bumper2pointcloud with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:45636/  time=524.415016ms
pinging /camera/depth_rectify_depth with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:53540/  time=436.686993ms
pinging /camera/depth_points with a timeout of 3.0s
xmlrpc reply from http://192.168.xx.x16:43682/  time=1748.670101ms
pinging /interactions with a timeout of 3.0s
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
xmlrpc reply from http://192.168.xx.x16:54360/  time=929.519892ms
pinging /app_manager with a timeout of 3.0s
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
unknown network error contacting node: timed out
xmlrpc reply from http://192.168.xx.x16:38159/  time=1815.817833ms
ERROR: Unable to communicate with master!

Is this a normal behavior or not?

I have Ubuntu 14.04, ROS Indigo.

Turtlebot's netbook details: Lenovo 11e, Intel N2940 (4C, 1.8GHz, 2MB) Quad-Core Processor, 4GB DDR3L 1600MHz Memory, 500GB 7200rpm Hard Drive, Ubuntu 14.04 with ROS Indigo


Originally posted by underactuated on ROS Answers with karma: 18 on 2017-07-24

Post score: 0


Original comments

Comment by jayess on 2017-07-24:
At the bottom of the snippet from rosnode ping --all it says ERROR: Unable to communicate with master!. Are you having network issues?

Comment by underactuated on 2017-07-24:
@jayess, it seems I do have network issues when something subscribes to the camera streams, like rviz or rostopic hz. It often results in significant lags of various ROS commands, like rosnode list. Teleop becomes unresponsive and so on. Is it normal?

Comment by jayess on 2017-07-24:
It depends on your setup and environment. From my experience, streaming video over Wi-Fi can have significant lag. Sometimes on the order of 10s of seconds or longer.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

From your comments of degrated performance when you start streaming camera data it's likely you're saturating the wireless link with that data and it's preventing other connections. ROS data streams are quite capable of saturating network communications, especially wifi. And if the wifi is saturated, connectivity issues are to be expected.

I'd recommend that you look at using a throttle node to subscribe to a lower data rate topic when subscribing remotely.


Originally posted by tfoote with karma: 58457 on 2017-07-25

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by underactuated on 2017-07-25:
I think you are right. I did just try throttling a topic and testing it with rostopic hz and rosnode ping --all. The ping times do increase, but within a limit; the network does not get clogged. Thanks.

$\endgroup$

Your Answer

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