[ros-users] stereo camera nodelet remapping?

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: [ros-users] stereo camera nodelet remapping?
I want to run a stereo pair of 1394 cameras as nodelets. It would be
good to run both in the same address space with stereo_image_proc.
But, I can't figure out how to remap the topic and service names to do
that.

With nodes, I can get the right topic and service names like this:

<launch>
<group ns="stereo" >

    <!-- left camera -->
    <node pkg="camera1394" type="camera1394_node" name="left_node" >
      <rosparam file="$(find camera1394)/tests/left.yaml" />
      <remap from="camera" to="left" />
    </node>


    <!-- right camera -->
    <node pkg="camera1394" type="camera1394_node" name="right_node" >
      <rosparam file="$(find camera1394)/tests/right.yaml" />
      <remap from="camera" to="right" />
    </node>


</group>
</launch>

The equivalent nodelet launch script does not work:

<launch>
<group ns="stereo" >

    <!-- nodelet manager process -->
    <node pkg="nodelet" type="nodelet" name="camera_nodelet_manager"
          args="manager" />


    <!-- left camera -->
    <node pkg="nodelet" type="nodelet" name="left_camera"
          args="load camera1394/driver camera_nodelet_manager" >
      <rosparam file="$(find camera1394)/tests/left.yaml" />
      <remap from="camera" to="left" />
    </node>


    <!-- right camera -->
    <node pkg="nodelet" type="nodelet" name="right_camera"
          args="load camera1394/driver camera_nodelet_manager" >
      <rosparam file="$(find camera1394)/tests/right.yaml" />
      <remap from="camera" to="right" />
    </node>


</group>
</launch>

The failure is that neither <remap> works and both nodelets try to
declare the same service names: /stereo/camera/set_camera_info,
/stereo/camera/image_raw/compressed/set_parameters, etc..

It seems that the <remap> has to be applied to the nodelet manager
node, not the nodes doing the load.

So, how do I remap camera-->left for one nodelet and camera-->right
for the other?

Or, is there some other way to solve this problem?
--
 joq