2014-09-23 21:09:01 +00:00
<launch>
<!-- AZIMUT 3 bringup: launch motors/odometry, laser scan and openni -->
<include file= "$(find az3_bringup)/az3_standalone.launch" />
<node name= "joy" pkg= "joy" type= "joy_node" />
<group ns= "teleop" >
<remap from= "joy" to= "/joy" />
<node name= "teleop" pkg= "nodelet" type= "nodelet"
args= "standalone azimut_tools/Teleop" />
<param name= "cmd_eta/abtr_priority" value= "50" />
</group>
<group ns= "go_back" >
<remap from= "joy" to= "/joy" />
<remap from= "goal" to= "/planner_goal" />
<node name= "go_back" pkg= "azimut_tools" type= "go_back" />
<rosparam>
btn_save: 1
btn_goto: 3
</rosparam>
</group>
<group ns= "planner" >
2014-09-30 21:09:42 +00:00
<remap from= "openni_points" to= "/planner_cloud" />
2014-09-23 21:09:01 +00:00
<remap from= "base_scan" to= "/base_scan" />
<remap from= "map" to= "/map" />
<remap from= "move_base_simple/goal" to= "/planner_goal" />
<include file= "$(find az3_navigation)/launch/az3_move_base_slam.launch" />
<param name= "cmd_vel/abtr_priority" value= "10" />
</group>
<node name= "az3_abtr" pkg= "azimut_tools" type= "azimut_abtr_priority_node" >
<remap from= "abtr_cmd_eta" to= "/base_controller/cmd_eta" />
</node>
<node name= "register_cmd_eta" pkg= "abtr_priority" type= "register"
args= "/cmd_eta /teleop/cmd_eta" />
<node name= "register_cmd_vel" pkg= "abtr_priority" type= "register"
args= "/cmd_vel /planner/cmd_vel" />
<!-- OpenNI -->
<include file= "$(find rtabmap)/launch/azimut3/az3_openni.launch" />
<!-- 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" />
2014-09-30 21:09:42 +00:00
</node>
<!-- for the planner -->
<node pkg= "nodelet" type= "nodelet" name= "points_xyzrgb_planner" args= "load rtabmap/point_cloud_xyzrgb camera_nodelet_manager" >
<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= "/planner_cloud" />
<param name= "queue_size" type= "int" value= "10" />
<param name= "decimation" type= "int" value= "4" />
2014-09-23 21:09:01 +00:00
</node>
</group>
<!-- Grid map assembler for rviz -->
<node pkg= "rtabmap" type= "grid_map_assembler" name= "grid_map_assembler" output= "screen" >
<remap from= "mapData" to= "rtabmap/mapData" />
<remap from= "grid_map" to= "map" />
</node>
<!-- 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= "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 -->
<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" />
<param name= "RGBD/OptimizeFromGraphEnd" type= "string" value= "false" />
</node>
</group>
</launch>