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

Empty parameter in remote launch

asked 2011-04-14 23:56:38 -0600

updated 2011-04-14 23:59:01 -0600

I am launching my configuration in my robot from my desktop computer.

Everything work fine except loading an urdf file into a parameter. This is my launch file:

<launch>

  <machine name="auriga" address="192.168.1.103" user="auriga" default="true"/>
  <machine name="local"  address="localhost" />

  <param name="robot_description" textfile="$(find auriga_model)/auriga_robot_box.urdf" />
  <param name="wii/axis_linear"   value="1"    type="int"/>
  <param name="wii/axis_angular"  value="0"    type="int"/>
  <param name="wii/scale_linear"  value="0.1"  type="double"/>
  <param name="wii/scale_angular" value="-0.1" type="double"/>
  <param name="wii/min_angular"   value="0.1"  type="double"/>
  <param name="wii/min_linear"    value="0.1"  type="double"/>

  <node  name="laser_hokuyo"          pkg="hokuyo_node" type="hokuyo_node" machine="auriga" respawn="false" output="screen">
    <param name="calibrate_time"      type="bool"       value="false" />            <!-- Starts up faster, but timestamps will be inaccurate. -->
    <param name="port"                type="string"     value="/dev/ttyACM0" />     <!-- Set the port to connect to here -->
    <param name="intensity"           type="bool"       value="false" />
    <param name="min_ang"             type="double"     value="-2.08621" />
    <param name="max_ang"             type="double"     value="+2.08621" />
  </node>

  <node  name="wii_mote_server"       pkg="wiimote"               type="wiimote_node.py"            machine="auriga" respawn="true" output="screen"/>
  <node  name="auriga_robot_base"     pkg="auriga_base"           type="auriga_base_node"           machine="auriga" />
  <node  name="laser_broadcaster"     pkg="tf"                    type="static_transform_publisher" machine="auriga" args="0 0 0.73 0 0 0 base_link laser 50" />
  <node  name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"            machine="auriga" />
  <node  name="wii_controller"        pkg="auriga_teleop"         type="teleop_wii_node"            machine="auriga" />

  <node  name="visualization"         pkg="rviz"                  type="rviz"                       machine="local"  />

</launch>

The "auriga_robot_box.urdf" file exists in both computers in the same location but when I launch the system, the process "state_publisher" dies because the "robot_description" parameter is empty.

This configuration works fine when I run it all on a local machine. What am I doing wrong?

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
3

answered 2011-04-15 01:35:34 -0600

Not sure what you are doing wrong, your launch file looks correct on first glance. Just as an idea for debugging, you can check if the parameter robot_description is set by running

rosparam get robot_description

from the command line. Can you do that from both localhost and auriga? Also, make sure that your network setup is correct (most importantly, ROS_MASTER_URI on auriga is set to the public IP of the machine that is running the roscore).

edit flag offensive delete link more

Comments

1
Thank you, the problem was that the environment parameter ROS_MASTER_URI was not properly set. After adding this line to my launch file everything worked fine: <env name="ROS_MASTER_URI" value="http://baseStation:11311" />
jsogorb gravatar image jsogorb  ( 2011-04-17 23:15:44 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2011-04-14 23:56:38 -0600

Seen: 551 times

Last updated: Apr 15 '11