How to run without a machine name from launch file?

asked 2016-06-23 22:52:07 -0500

Luis Ruiz gravatar image

I have a group of robots. I start the programs from a "master" computer. In that computer I set up the machine names and then from a main launch file I decide with programs to run in which robot/machine, everything works.

<machine name="robot_1" address="..." user=".." env-loader="..." />

Now, I am debugging one of the programs independently, so there is no need to assign machine names. Usually I am calling several launch files, and in the launch files I run nodes like this:

<node machine="$(arg machine_name)" name="node_name" pkg="pkg_name" type="node_name" >
       ... setup ...
</node>

If I do not set up the machine name beforehand, ROS trows an error. So, is there a way to run in "this machine" without assigning a machine name? I mean, without having to change the launch files or running the configuration script to assign a machine name.

The program I am want to debug is not in the same package as the configuration file so with this I would not have to make changes in the launch files every time I want to debug.

edit retag flag offensive close merge delete

Comments

Not sure if that is what you want... The machine tag has a default-attribute.

Also it would be nice if you'd post the error message which ROS throws, because it's hard to understand what exactly your problem is.

mozzbozz gravatar image mozzbozz  ( 2017-01-29 12:03:10 -0500 )edit