2014-07-02 15:43:28 +00:00
<launch>
<!-- AZIMUT 3 bringup: launch motors/odometry, laser scan and openni -->
2014-07-07 21:51:01 +00:00
<include file= "$(find az3_bringup)/az3_standalone.launch" />
2014-07-02 15:43:28 +00:00
<include file= "$(find az3_bringup)/joystick.launch" />
2014-07-07 21:51:01 +00:00
<!-- OpenNI -->
<!-- Xtion -->
<include file= "$(find openni2_launch)/launch/openni2.launch" >
<arg name= "depth_registration" value= "True" />
2014-07-09 15:11:45 +00:00
<arg name= "rgb_camera_info_url"
value= "$(find rtabmap)/launch/calibration/rgb_PS1080_PrimeSense.yaml" />
<arg name= "depth_camera_info_url"
value= "$(find rtabmap)/launch/calibration/depth_PS1080_PrimeSense.yaml" />
2014-07-07 21:51:01 +00:00
</include>
<!-- Xtion frame -->
<node pkg= "tf" type= "static_transform_publisher" name= "base_to_camera_tf"
args= "0.077 0.067 0.185 0.0 0.0 0.0 /base_link /camera_link 100" />
2014-07-02 15:43:28 +00:00
<!-- Throttling messages -->
2014-07-02 19:14:41 +00:00
<group ns= "camera" >
2014-07-02 19:19:13 +00:00
<node pkg= "nodelet" type= "nodelet" name= "data_throttle" args= "load rtabmap/data_throttle camera_nodelet_manager" output= "screen" >
2014-07-02 20:48:29 +00:00
<param name= "max_rate" type= "double" value= "5.0" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<remap from= "rgb/image_in" to= "rgb/image_rect_color" />
<remap from= "depth/image_in" to= "depth_registered/image_raw" />
<remap from= "rgb/camera_info_in" to= "depth_registered/camera_info" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<remap from= "rgb/image_out" to= "data_throttled_image" />
<remap from= "depth/image_out" to= "data_throttled_image_depth" />
<remap from= "rgb/camera_info_out" to= "data_throttled_camera_info" />
</node>
2014-07-02 19:14:41 +00:00
</group>
2014-07-02 15:43:28 +00:00
<!-- SLAM (robot side) -->
<!-- args: "delete_db_on_start" and "udebug" -->
2014-07-02 19:14:41 +00:00
<group ns= "rtabmap" >
2014-07-02 19:33:58 +00:00
<node name= "rtabmap" pkg= "rtabmap" type= "rtabmap" output= "screen" args= "--delete_db_on_start" >
2014-07-02 19:19:13 +00:00
<param name= "frame_id" type= "string" value= "base_footprint" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<param name= "subscribe_depth" type= "bool" value= "true" />
<param name= "subscribe_laserScan" type= "bool" value= "true" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<remap from= "odom" to= "/base_controller/odom" />
<remap from= "scan" to= "/base_scan" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<remap from= "rgb/image" to= "/camera/data_throttled_image" />
<remap from= "depth/image" to= "/camera/data_throttled_image_depth" />
<remap from= "rgb/camera_info" to= "/camera/data_throttled_camera_info" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<param name= "queue_size" type= "int" value= "10" />
2014-07-02 15:43:28 +00:00
2014-07-02 19:19:13 +00:00
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
2014-07-07 14:37:12 +00:00
<param name= "RGBD/ScanMatchingSize" type= "string" value= "1" /> <!-- Do odometry correction with consecutive laser scans -->
<param name= "RGBD/LocalLoopDetectionSpace" type= "string" value= "true" /> <!-- Local loop closure detection (using estimated position) with locations in WM -->
2014-07-07 21:51:01 +00:00
<param name= "RGBD/LocalLoopDetectionTime" type= "string" value= "false" /> <!-- Local loop closure detection with locations in STM -->
2014-07-07 14:37:12 +00:00
<param name= "Mem/BadSignaturesIgnored" type= "string" value= "false" /> <!-- Don't ignore bad images for 3D node creation (e.g. white walls) -->
<param name= "LccIcp/Type" type= "string" value= "2" /> <!-- Loop closure transformation refining with ICP: 0=No ICP, 1=ICP 3D, 2=ICP 2D -->
2014-07-02 19:19:13 +00:00
<param name= "LccIcp2/Iterations" type= "string" value= "100" />
<param name= "LccIcp2/VoxelSize" type= "string" value= "0" />
2014-07-07 14:37:12 +00:00
<param name= "LccBow/MinInliers" type= "string" value= "5" /> <!-- 3D visual words minimum inliers to accept loop closure -->
<param name= "LccBow/MaxDepth" type= "string" value= "4.0" /> <!-- 3D visual words maximum depth 0=infinity -->
<param name= "LccBow/InlierDistance" type= "string" value= "0.1" /> <!-- 3D visual words correspondence distance -->
<param name= "RGBD/AngularUpdate" type= "string" value= "0.01" /> <!-- Update map only if the robot is moving -->
<param name= "RGBD/LinearUpdate" type= "string" value= "0.01" /> <!-- Update map only if the robot is moving -->
2014-07-02 19:19:13 +00:00
<param name= "Rtabmap/TimeThr" type= "string" value= "700" />
2014-07-07 14:37:12 +00:00
<param name= "Mem/RehearsalSimilarity" type= "string" value= "0.45" />
<param name= "RGBD/OptimizeFromGraphEnd" type= "string" value= "false" /> <!-- Optimize graph from initial node so /map -> /odom transform will be generated -->
2014-07-02 19:19:13 +00:00
</node>
2014-07-02 19:14:41 +00:00
</group>
2014-07-02 15:43:28 +00:00
</launch>