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

Revision history [back]

Actually, I found out how to get rid of that annoying error message. The reason for that error is that really roslaunch openni_launch openni.launch is trying to publish twice some of the topics.

I am using ROS Electric, but I think the following also applies to Fuerte:

Taking a look at the file openni.launch one can see that, among other things, it includes another launch file

<include file="$(find openni_launch)/launch/includes/device.launch">

Then, the file device.launch includes (very elegantly) some other launch files

<include file="$(find openni_launch)/launch/includes/rgb.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/ir.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/depth.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/depth_registered.launch" ns="$(arg rgb)">
...

The problem is that the launch file depth_registered.launch includes again the launch file depth.launch, but this time with a flag to disable the generation of the point_xyz generation. I don't know why it is doing it, I see no reason for it considering that depth.launch is already running.

So, a workaround to the error of this post is to comment out the following from the depth_registered.launch file

<!-- Get all the usual depth topics -->
<include file="$(find openni_launch)/launch/includes/depth.launch"
   ns="$(arg depth_registered)">
    <arg name="manager"    value="$(arg manager)" />
    <arg name="points_xyz" value="false" /> 
    <arg name="bond" value="$(arg bond)" />
</include>

If you comment those lines, the error goes away and everythin seems to work just fine.

I hope this could be helpful for you too.

Actually, I found out how to get rid of that annoying error message. The reason for that error is that really roslaunch openni_launch openni.launch is trying to publish twice some of the topics.

I am using ROS Electric, but I think the following also applies to Fuerte:

Taking a look at the file openni.launch one can see that, among other things, it includes another launch file

<include file="$(find openni_launch)/launch/includes/device.launch">

Then, the file device.launch includes (very elegantly) some other launch files

<include file="$(find openni_launch)/launch/includes/rgb.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/ir.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/depth.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/depth_registered.launch" ns="$(arg rgb)">
...

The problem is that the launch file depth_registered.launch includes again again the launch file depth.launch, but this time with a flag to disable the generation of the point_xyz generation. I don't know why it is doing it, I see no reason for it considering that depth.launch is already running.

So, a workaround to the error of this post is to comment out the following from the depth_registered.launch file

<!-- Get all the usual depth topics -->
<include file="$(find openni_launch)/launch/includes/depth.launch"
   ns="$(arg depth_registered)">
    <arg name="manager"    value="$(arg manager)" />
    <arg name="points_xyz" value="false" /> 
    <arg name="bond" value="$(arg bond)" />
</include>

If you comment those lines, the error goes away and everythin seems to work just fine.

I hope this could be helpful for you too.

Actually, I found out how to get rid of that annoying error message. The reason for that error is that really roslaunch openni_launch openni.launch is trying to publish twice some of the topics.

I am using ROS Electric, but I think the following also applies to Fuerte:

Taking a look at the file openni.launch one can see that, among other things, it includes another launch file

<include file="$(find openni_launch)/launch/includes/device.launch">

Then, the file device.launch includes (very elegantly) some other launch files

<include file="$(find openni_launch)/launch/includes/rgb.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/ir.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/depth.launch" ns="$(arg rgb)">
<include file="$(find openni_launch)/launch/includes/depth_registered.launch" ns="$(arg rgb)">
...

The problem is that the launch file depth_registered.launch includes again the launch file depth.launch, but this time with a flag to disable the generation of the point_xyz generation. I don't know why it is doing it, I see no reason for it considering that depth.launch is already running.

So, a workaround to the error of this post is to comment out the following from the depth_registered.launch file

<!-- Get all the usual depth topics -->
<include file="$(find openni_launch)/launch/includes/depth.launch"
   ns="$(arg depth_registered)">
    <arg name="manager"    value="$(arg manager)" />
    <arg name="points_xyz" value="false" /> 
    <arg name="bond" value="$(arg bond)" />
</include>

If you comment those lines, the error goes away and everythin everything seems to work just fine.

I hope this could be helpful for you too.