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

Jason LaPenta's profile - activity

2017-09-21 10:54:28 -0500 received badge  Nice Question (source)
2016-01-30 04:20:03 -0500 received badge  Taxonomist
2015-11-06 10:51:11 -0500 received badge  Nice Question (source)
2013-01-14 06:00:53 -0500 received badge  Famous Question (source)
2013-01-14 06:00:53 -0500 received badge  Popular Question (source)
2013-01-14 06:00:53 -0500 received badge  Notable Question (source)
2012-08-24 00:06:09 -0500 received badge  Famous Question (source)
2012-07-14 18:22:28 -0500 received badge  Notable Question (source)
2012-05-07 22:41:35 -0500 received badge  Popular Question (source)
2012-02-02 16:11:03 -0500 marked best answer Kill roscore and all nodes when rosbag play finishes?

If you're running all your nodes from the same launch file as the bag, just add required="true" to the node tag for rosbag. This will cause the entire roslaunch to die when rosbag terminates.

2012-01-25 02:33:12 -0500 commented answer Kill roscore and all nodes when rosbag play finishes?
this appears to work perfectly, thanks
2012-01-25 02:32:56 -0500 received badge  Supporter (source)
2012-01-25 01:35:42 -0500 asked a question Kill roscore and all nodes when rosbag play finishes?

Hello,

I'm writing some automated test scripts. I'd like to run a launch script with a bag file, which works fine. But when the rosbag play completes I would like roslaunch to exit so my script can load up a new bag file and rerun roslaunch with the test.launch file. Is there an elegant way to cause all ros nodes and roscore to exit when a bag file is finished? I was thinking of making another script to monitor when rosbag finished and then execute a rosnode kill, but I thought there might be a better way.

Thanks, Jason

2012-01-05 08:39:13 -0500 received badge  Student (source)
2012-01-05 07:35:31 -0500 asked a question determine topic established port number for transport control

Hello,

I would like to use transport control, tc, to prioritize data on certain topic connections. How do I determine the port number for the topic connection between two nodes on different computers? rostopic info and rosnode info do not appear to give me this information.

For example, this test shows connections between two nodes, ladybug_server and ladybug_viewer. The viewer is located on the "terminal" computer and the server is located on "robot" computer. The terminal and server computers are connected via wifi. In the below example the terminal is 10.42.43.237.

the topics:

username@terminal:~/tc_test$ rostopic list
/joy_tablet
/ladybug_server/config
/ladybug_server/frame_ack
/ladybug_server/info
/ladybug_server/realtime_video
/ladybug_server/rsync_done
/ladybug_server/snapshot_request
/ladybug_server/snapshot_taken
/map_pose_updater/pose_announce
/rosout
/rosout_agg

for example, trying to find the realtime video port

username@robot:~$ rostopic info /ladybug_server/realtime_video
Type: ladybug/ladybugRealtimeVideo

Publishers: 
 * /ladybug_server (http://robot:59560/)

Subscribers: 
 * /ladybug_viewer (http://10.42.43.237:49643/)

Now trying to determine the established connections:

username@terminal:~/tc_test$ sudo netstat -anp | grep ladybug
tcp        0      0 0.0.0.0:35060           0.0.0.0:*               LISTEN      14359/ladybug_viewe
tcp        0      0 0.0.0.0:49643           0.0.0.0:*               LISTEN      14359/ladybug_viewe
tcp        0      0 10.42.43.237:35060      10.42.43.1:50960        ESTABLISHED 14359/ladybug_viewe
tcp        0      0 10.42.43.237:35060      10.42.43.1:50957        ESTABLISHED 14359/ladybug_viewe
tcp        0      0 10.42.43.237:40618      10.42.43.1:49016        ESTABLISHED 14359/ladybug_viewe
tcp        0      0 10.42.43.237:35060      10.42.43.1:50959        ESTABLISHED 14359/ladybug_viewe
tcp        0      0 10.42.43.237:37043      10.42.43.1:11311        CLOSE_WAIT  14359/ladybug_viewe
tcp        0      0 10.42.43.237:35060      10.42.43.1:50961        ESTABLISHED 14359/ladybug_viewe
udp        0      0 0.0.0.0:49045           0.0.0.0:*                           14359/ladybug_viewe
unix  3      [ ]         STREAM     CONNECTED     102562   14359/ladybug_viewe 


username@robot:~$ sudo netstat -anp | grep ladybug_ser
tcp        0      0 0.0.0.0:49016           0.0.0.0:*               LISTEN      12220/ladybug_serve
tcp        0      0 0.0.0.0:59560           0.0.0.0:*               LISTEN      12220/ladybug_serve
tcp        0      0 10.42.43.1:50959        10.42.43.237:35060      ESTABLISHED 12220/ladybug_serve
tcp        0      0 127.0.0.1:49016         127.0.0.1:38779         ESTABLISHED 12220/ladybug_serve
tcp        0      0 10.42.43.1:50960        10.42.43.237:35060      ESTABLISHED 12220/ladybug_serve
tcp        0      0 10.42.43.1:49016        10.42.43.237:40618      ESTABLISHED 12220/ladybug_serve
tcp        1      0 10.42.43.1:53324        10.42.43.1:11311        CLOSE_WAIT  12220/ladybug_serve
tcp        0      0 10.42.43.1:50961        10.42.43.237:35060      ESTABLISHED 12220/ladybug_serve
udp        0      0 0.0.0.0:40540           0.0.0.0:*                           12220/ladybug_serve

The question is, which one of these ports is the connected realtime_video topic between the server and terminal? By monitoring the netstat output queued data for a while I can "guess" that the realtime video port is 49016/40618 because ... (more)