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

How can I suppress sigint-timeout and sigterm-timout options from roslaunch ?

asked 2021-02-26 13:35:23 -0500

elpidiovaldez gravatar image

updated 2021-02-26 13:50:21 -0500

This question is part of a larger problem. I am trying to run a distributed application. I have upgraded one machine to Lubuntu 20.04/Noetic. The other remains as Lubuntu 16.04/Kinetic. My launch file now fails because the options --sigint-timeout and --sigterm-timeout are added to the command line invocation of roslaunch on the remote machine (running Kinetic). Unfortunately that version does not support these options.

roslaunch midget midget.launch 
... logging to /home/paul/.ros/log/989c153c-7864-11eb-bacf-1ff0df2d0d79/roslaunch-clio-11461.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://clio:39771/
remote[thalia-0] starting roslaunch
remote[thalia-0]: creating ssh connection to thalia:22
launching remote roslaunch child with command: [env ROS_MASTER_URI=http://clio:11311 /home/paul/catkin_ws/devel/env.sh roslaunch -c thalia-0 -u http://clio:39771/ --run_id 989c153c-7864-11eb-bacf-1ff0df2d0d79 --sigint-timeout 15.0 --sigterm-timeout 2.0]
remote[thalia-0]: ssh connection created
remote[thalia-0]: Usage: roslaunch [options] [package] <filename> [arg_name:=value...]
       roslaunch [options] <filename> [<filename>...] [arg_name:=value...]

If <filename> is a single dash ('-'), launch XML is read from standard input.

roslaunch: error: no such option: --sigint-timeout

[thalia-0] killing on exit
RLException: remote roslaunch failed to launch: thalia
The traceback for the exception was written to the log file

Is there any way to suppress these command line arguments ? Is there any chance of ROS Noetic co-operating with ROS Kinetic ?

Installing Noetic on the second machine is not really a option - it would require changing the O/S, ROS and a ton of other installed software.

edit retag flag offensive close merge delete

Comments

I have this exact same issue. Have you found a solution yet?

cwillia109 gravatar image cwillia109  ( 2021-04-23 16:45:48 -0500 )edit

@cwillia109 I have given up ! AFAIK different ROS versions never guaranteed to be compatible -- but they normally were as long as there are no changes in message structure. I upgraded my workstation to Ubuntu 20.04/Noetic and now I am forced to change OS and ROS versions on all connected robots. I wish there was a way to avoid that.

elpidiovaldez gravatar image elpidiovaldez  ( 2021-04-25 06:50:29 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2021-11-04 05:57:06 -0500

afrixs gravatar image

updated 2021-11-08 03:00:48 -0500

You can edit remoteprocess.py inside the installed ros package and remove the arguments, i.e.

sudo nano /opt/ros/noetic/lib/python3/dist-packages/roslaunch/remoteprocess.py

And change lines 141 and 142 from

    args = [machine.env_loader, 'roslaunch', '-c', name, '-u', server_uri, '--run_id', run_id,
            '--sigint-timeout', str(sigint_timeout), '--sigterm-timeout', str(sigterm_timeout)]

to

    args = [machine.env_loader, 'roslaunch', '-c', name, '-u', server_uri, '--run_id', run_id]

Note: You may need to do it every time after apt-upgrading ROS packages

edit flag offensive delete link more

Comments

This worked, upvoted

robot_gang gravatar image robot_gang  ( 2022-01-01 21:05:03 -0500 )edit

How to do the same in ROS2?

TinyTurtle gravatar image TinyTurtle  ( 2022-08-10 08:21:47 -0500 )edit

As far as I know, there is no remote launch support directly included in ROS2, but you can still use ExecuteProcess with ssh to achieve it. See my answer here: https://answers.ros.org/question/3641...

afrixs gravatar image afrixs  ( 2022-08-11 03:31:38 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2021-02-26 13:35:23 -0500

Seen: 1,475 times

Last updated: Nov 08 '21