2014-09-29 20:07:33 +00:00
<launch>
<!-- AZIMUT 3 bringup: launch motors/odometry, laser scan and openni -->
<include file= "$(find az3_bringup)/az3_standalone.launch" />
<!-- <include file="$(find az3_bringup)/joystick.launch"/> -->
<!-- OpenNI -->
2014-11-25 17:43:26 -05:00
<include file= "$(find rtabmap_ros)/launch/azimut3/az3_openni.launch" />
2014-09-29 20:07:33 +00:00
<!-- Throttling messages -->
<group ns= "camera" >
<node pkg= "nodelet" type= "nodelet" name= "data_throttle" args= "load rtabmap/data_throttle camera_nodelet_manager" output= "screen" >
<param name= "max_rate" type= "double" value= "5.0" />
<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" />
<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>
<node pkg= "nodelet" type= "nodelet" name= "depthimage_to_laserscan" args= "load depthimage_to_laserscan/DepthImageToLaserScanNodelet camera_nodelet_manager" >
<remap from= "image" to= "depth_registered/image_raw" />
<remap from= "camera_info" to= "depth_registered/camera_info" />
<remap from= "scan" to= "/kinect_scan" />
<param name= "range_max" type= "double" value= "4" />
</node>
</group>
<!-- SLAM (robot side) -->
<!-- args: "delete_db_on_start" and "udebug" -->
<group ns= "rtabmap" >
2014-11-25 17:43:26 -05:00
<node name= "rtabmap" pkg= "rtabmap_ros" type= "rtabmap" output= "screen" args= "--delete_db_on_start" >
2014-09-29 20:07:33 +00:00
<param name= "frame_id" type= "string" value= "base_footprint" />
<param name= "subscribe_depth" type= "bool" value= "true" />
<param name= "subscribe_laserScan" type= "bool" value= "true" />
<remap from= "odom" to= "/base_controller/odom" />
<remap from= "scan" to= "/kinect_scan" />
<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" />
<param name= "queue_size" type= "int" value= "10" />
<!-- RTAB-Map's parameters: do "rosrun rtabmap rtabmap (double-dash)params" to see the list of available parameters. -->
<param name= "RGBD/LocalLoopDetectionSpace" type= "string" value= "false" /> <!-- Local loop closure detection (using estimated position) with locations in WM -->
<param name= "RGBD/LocalLoopDetectionTime" type= "string" value= "false" /> <!-- Local loop closure detection with locations in STM -->
<param name= "RGBD/OptimizeFromGraphEnd" type= "string" value= "false" />
<param name= "Kp/MaxDepth" type= "string" value= "4.0" />
<param name= "LccIcp/Type" type= "string" value= "2" /> <!-- Loop closure transformation refining with ICP: 0=No ICP, 1=ICP 3D, 2=ICP 2D -->
<param name= "LccIcp2/Iterations" type= "string" value= "100" />
<param name= "LccIcp2/VoxelSize" type= "string" value= "0" />
<param name= "LccIcp2/CorrespondenceRatio" type= "string" value= "0.5" />
<param name= "LccBow/MinInliers" type= "string" value= "3" /> <!-- 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.05" /> <!-- 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 -->
<param name= "Rtabmap/TimeThr" type= "string" value= "700" />
<param name= "Mem/RehearsalSimilarity" type= "string" value= "0.45" />
</node>
</group>
</launch>