1 <!-- Entry point for using OpenNI2 devices -->
4 <!-- "camera" should uniquely identify the device. All topics are pushed down
5 into the "camera" namespace, and it is prepended to tf frame ids. -->
6 <arg name="camera" default="camera" />
7 <arg name="tf_prefix" default="" />
8 <arg name="rgb_frame_id" default="$(arg tf_prefix)/$(arg camera)_rgb_optical_frame" />
9 <arg name="depth_frame_id" default="$(arg tf_prefix)/$(arg camera)_depth_optical_frame" />
11 <!-- device_id can have the following formats:
12 "#1" : the first device found
13 "2@X" : the Xth device on USB bus 2 -->
14 <arg name="device_id" default="#1" />
16 <!-- By default, calibrations are stored to file://${ROS_HOME}/camera_info/${NAME}.yaml,
17 where ${NAME} is of the form "[rgb|depth]_[serial#]", e.g. "depth_B00367707227042B".
18 See camera_info_manager docs for calibration URL details. -->
19 <arg name="rgb_camera_info_url" default="" />
20 <arg name="depth_camera_info_url" default="" />
22 <!-- Hardware depth registration -->
23 <arg name="depth_registration" default="false" />
25 <!-- Driver parameters -->
26 <arg name="color_depth_synchronization" default="false" />
27 <arg name="auto_exposure" default="true" />
28 <arg name="auto_white_balance" default="true" />
30 <!-- Arguments for remapping all device namespaces -->
31 <arg name="rgb" default="rgb" />
32 <arg name="ir" default="ir" />
33 <arg name="depth" default="depth" />
35 <!-- Optionally suppress loading the driver nodelet and/or publishing the default tf
36 tree. Useful if you are playing back recorded raw data from a bag, or are
37 supplying a more accurate tf tree from calibration. -->
38 <arg name="load_driver" default="true" />
39 <arg name="publish_tf" default="true" />
40 <!-- Processing Modules -->
41 <arg name="rgb_processing" default="true" />
42 <arg name="debayer_processing" default="false" />
43 <arg name="ir_processing" default="false" />
44 <arg name="depth_processing" default="true" />
45 <arg name="depth_registered_processing" default="true" />
46 <arg name="disparity_processing" default="false" />
47 <arg name="disparity_registered_processing" default="false" />
48 <arg name="hw_registered_processing" default="true" if="$(arg depth_registration)" />
49 <arg name="sw_registered_processing" default="false" if="$(arg depth_registration)" />
50 <arg name="hw_registered_processing" default="false" unless="$(arg depth_registration)" />
51 <arg name="sw_registered_processing" default="true" unless="$(arg depth_registration)" />
53 <!-- Disable bond topics by default -->
54 <arg name="respawn" default="false" />
56 <!-- Worker threads for the nodelet manager -->
57 <arg name="num_worker_threads" default="4" />
59 <!-- Push down all topics/nodelets into "camera" namespace -->
60 <group ns="$(arg camera)">
62 <!-- Start nodelet manager -->
63 <arg name="manager" value="$(arg camera)_nodelet_manager" />
64 <arg name="debug" default="false" /> <!-- Run manager in GDB? -->
65 <include file="$(find rgbd_launch)/launch/includes/manager.launch.xml">
66 <arg name="name" value="$(arg manager)" />
67 <arg name="debug" value="$(arg debug)" />
68 <arg name="num_worker_threads" value="$(arg num_worker_threads)" />
72 <include if="$(arg load_driver)"
73 file="$(find openni2_launch)/launch/includes/device.launch.xml">
74 <arg name="manager" value="$(arg manager)" />
75 <arg name="device_id" value="$(arg device_id)" />
76 <arg name="rgb_frame_id" value="$(arg rgb_frame_id)" />
77 <arg name="depth_frame_id" value="$(arg depth_frame_id)" />
78 <arg name="rgb_camera_info_url" value="$(arg rgb_camera_info_url)" />
79 <arg name="depth_camera_info_url" value="$(arg depth_camera_info_url)" />
80 <arg name="rgb" value="$(arg rgb)" />
81 <arg name="ir" value="$(arg ir)" />
82 <arg name="depth" value="$(arg depth)" />
83 <arg name="respawn" value="$(arg respawn)" />
84 <arg name="depth_registration" value="$(arg depth_registration)" />
85 <arg name="color_depth_synchronization" value="$(arg color_depth_synchronization)" />
86 <arg name="auto_exposure" value="$(arg auto_exposure)" />
87 <arg name="auto_white_balance" value="$(arg auto_white_balance)" />
90 <!-- Load standard constellation of processing nodelets -->
92 <include file="$(find rgbd_launch)/launch/includes/processing.launch.xml">
93 <arg name="manager" value="$(arg manager)" />
94 <arg name="rgb" value="$(arg rgb)" />
95 <arg name="ir" value="$(arg ir)" />
96 <arg name="depth" value="$(arg depth)" />
97 <arg name="respawn" value="$(arg respawn)" />
98 <arg name="rgb_processing" value="$(arg rgb_processing)" />
99 <arg name="debayer_processing" value="$(arg debayer_processing)" />
100 <arg name="ir_processing" value="$(arg ir_processing)" />
101 <arg name="depth_processing" value="$(arg depth_processing)" />
102 <arg name="depth_registered_processing" value="$(arg depth_registered_processing)" />
103 <arg name="disparity_processing" value="$(arg disparity_processing)" />
104 <arg name="disparity_registered_processing" value="$(arg disparity_registered_processing)" />
105 <arg name="hw_registered_processing" value="$(arg hw_registered_processing)" />
106 <arg name="sw_registered_processing" value="$(arg sw_registered_processing)" />
110 </group> <!-- camera -->
112 <!-- Load reasonable defaults for the relative pose between cameras -->
113 <include if="$(arg publish_tf)"
114 file="$(find rgbd_launch)/launch/kinect_frames.launch">
115 <arg name="camera" value="$(arg camera)" />
116 <arg name="tf_prefix" value="$(arg tf_prefix)" />