2014-08-12 21:01:52 +00:00
<launch>
<param name= "use_sim_time" type= "bool" value= "True" />
<!-- SLAM (robot side) -->
<!-- args: "delete_db_on_start" and "udebug" -->
<group ns= "rtabmap" >
<node name= "rtabmap" pkg= "rtabmap" type= "rtabmap" output= "screen" args= "--delete_db_on_start" >
<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= "/base_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= "rgb/image_transport" type= "string" value= "compressed" />
<param name= "depth/image_transport" type= "string" value= "compressedDepth" />
<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/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 -->
<param name= "RGBD/LocalLoopDetectionTime" type= "string" value= "false" /> <!-- Local loop closure detection with locations in STM -->
<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-08-13 19:25:44 +00:00
<param name= "LccIcp2/CorrespondenceRatio" type= "string" value= "0.9" />
<param name= "LccIcp2/MaxFitness" type= "string" value= "0.1" />
2014-08-12 21:01:52 +00:00
<param name= "LccIcp2/Iterations" type= "string" value= "100" />
<param name= "LccIcp2/VoxelSize" type= "string" value= "0" />
<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 -->
<param name= "Rtabmap/TimeThr" type= "string" value= "700" />
<param name= "Mem/RehearsalSimilarity" type= "string" value= "0.45" />
<param name= "Mem/RehearsedNodesKept" type= "string" value= "false" />
</node>
</group>
<!-- send AZIMUT 3 urdf to param server -->
<param name= "robot_description" command= "$(find xacro)/xacro.py '$(find az3_description)/robots/azimut_3_laser.urdf.xacro'" />
<!-- Grid map assembler for rviz -->
<node pkg= "rtabmap" type= "grid_map_assembler" name= "grid_map_assembler" output= "screen" >
<remap from= "mapData" to= "rtabmap/mapData" />
</node>
2014-08-12 22:28:56 +00:00
<!-- just to re-use azimut3.rviz config below -->
2014-08-12 21:13:32 +00:00
<node name= "republish_rgb" type= "republish" pkg= "image_transport" args= "compressed in:=/camera/data_throttled_image raw out:=/camera/data_throttled_image_relay" />
2014-08-12 22:28:56 +00:00
<node name= "mapData_relay" type= "relay" pkg= "topic_tools" args= "/rtabmap/mapData /rtabmap/mapData_relay" />
<!-- Visualisation -->
2014-08-12 21:01:52 +00:00
<node pkg= "rviz" type= "rviz" name= "rviz" args= "-d $(find rtabmap)/launch/config/azimut3.rviz" output= "screen" />
<node pkg= "nodelet" type= "nodelet" name= "standalone_nodelet" args= "manager" output= "screen" />
<node pkg= "nodelet" type= "nodelet" name= "points_xyzrgb" args= "load rtabmap/point_cloud_xyzrgb standalone_nodelet" >
<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" />
<remap from= "cloud" to= "voxel_cloud" />
<param name= "rgb/image_transport" type= "string" value= "compressed" />
<param name= "depth/image_transport" type= "string" value= "compressedDepth" />
<param name= "queue_size" type= "int" value= "10" />
<param name= "voxel_size" type= "double" value= "0.01" />
</node>
<!-- Find-Object -->
<node name= "find_object_3d" pkg= "find_object_2d" type= "find_object_2d" output= "screen" >
<param name= "gui" value= "true" type= "bool" />
<param name= "settings_path" value= "$(find rtabmap)/launch/config/find_object.ini" type= "str" />
<param name= "subscribe_depth" value= "true" type= "bool" />
<param name= "objects_path" value= "$(find rtabmap)/launch/config/books" type= "str" />
<remap from= "rgb/image_rect_color" to= "/camera/data_throttled_image" />
<remap from= "depth_registered/image_raw" to= "/camera/data_throttled_image_depth" />
<remap from= "depth_registered/camera_info" to= "/camera/data_throttled_camera_info" />
<param name= "rgb/image_transport" type= "string" value= "compressed" />
<param name= "depth_registered/image_transport" type= "string" value= "compressedDepth" />
</node>
</launch>