2015-01-23 17:22:39 -05:00
|
|
|
|
|
|
|
|
<launch>
|
|
|
|
|
|
|
|
|
|
<!-- HECTOR MAPPING VERSION: use this with ROS bag demo_mapping_no_odom.bag generated -->
|
|
|
|
|
<!-- from demo_mapping.bag with: -->
|
|
|
|
|
<!-- rosbag filter demo_mapping.bag demo_mapping_no_odom.bag 'topic != "/tf" or topic == "/tf" and m.transforms[0].header.frame_id != "/odom"' -->
|
|
|
|
|
<!-- WARNING : Database is automatically deleted on each startup -->
|
2015-01-25 13:13:57 -05:00
|
|
|
<!-- See "delete_db_on_start" option below... -->
|
2015-01-23 17:22:39 -05:00
|
|
|
|
|
|
|
|
<!-- Choose visualization -->
|
|
|
|
|
<arg name="rviz" default="true" />
|
|
|
|
|
<arg name="rtabmapviz" default="false" />
|
|
|
|
|
|
|
|
|
|
<param name="use_sim_time" type="bool" value="True"/>
|
|
|
|
|
|
|
|
|
|
<node pkg="tf" type="static_transform_publisher" name="scanmatcher_to_base_footprint"
|
|
|
|
|
args="0.0 0.0 0.0 0.0 0.0 0.0 /scanmatcher_frame /base_footprint 100" />
|
|
|
|
|
|
|
|
|
|
<!-- Odometry from laser scans -->
|
|
|
|
|
<!-- We use Hector mapping to generate odometry for us -->
|
|
|
|
|
<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
|
|
|
|
|
|
|
|
|
|
<!-- Frame names -->
|
|
|
|
|
<param name="map_frame" value="hector_map" />
|
|
|
|
|
<param name="base_frame" value="base_footprint" />
|
|
|
|
|
<param name="odom_frame" value="odom" />
|
|
|
|
|
|
|
|
|
|
<!-- Tf use -->
|
|
|
|
|
<param name="pub_map_odom_transform" value="false"/>
|
|
|
|
|
<param name="pub_map_scanmatch_transform" value="true"/>
|
|
|
|
|
<param name="pub_odometry" value="true"/>
|
|
|
|
|
|
|
|
|
|
<!-- Map size / start point -->
|
|
|
|
|
<param name="map_resolution" value="0.050"/>
|
|
|
|
|
<param name="map_size" value="2048"/>
|
|
|
|
|
<param name="map_multi_res_levels" value="2" />
|
|
|
|
|
|
|
|
|
|
<!-- Map update parameters -->
|
|
|
|
|
<param name="map_update_angle_thresh" value="0.06" />
|
|
|
|
|
|
|
|
|
|
<!-- Advertising config -->
|
|
|
|
|
<param name="scan_topic" value="/jn0/base_scan"/>
|
|
|
|
|
</node>
|
|
|
|
|
|
|
|
|
|
<group ns="rtabmap">
|
|
|
|
|
<!-- SLAM (robot side) -->
|
|
|
|
|
<!-- args: "delete_db_on_start" and "udebug" -->
|
|
|
|
|
<node name="rtabmap" pkg="rtabmap_ros" 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="/scanmatch_odom"/>
|
|
|
|
|
<remap from="scan" to="/jn0/base_scan"/>
|
|
|
|
|
|
|
|
|
|
<remap from="rgb/image" to="/data_throttled_image"/>
|
|
|
|
|
<remap from="depth/image" to="/data_throttled_image_depth"/>
|
|
|
|
|
<remap from="rgb/camera_info" to="/data_throttled_camera_info"/>
|
|
|
|
|
|
|
|
|
|
<param name="rgb/image_transport" type="string" value="compressed"/>
|
|
|
|
|
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
|
|
|
|
|
|
|
|
|
<!-- RTAB-Map's parameters -->
|
|
|
|
|
<param name="LccIcp/Type" type="string" value="2"/> <!-- 0=No ICP, 1=ICP 3D, 2=ICP 2D -->
|
|
|
|
|
<param name="LccBow/MaxDepth" type="string" value="10.0"/> <!-- 3D visual words maximum depth 0=infinity -->
|
|
|
|
|
<param name="LccBow/InlierDistance" type="string" value="0.1"/> <!-- 3D visual words correspondence distance -->
|
|
|
|
|
</node>
|
|
|
|
|
|
|
|
|
|
<!-- Grid map assembler for rviz -->
|
|
|
|
|
<node if="$(arg rviz)" pkg="rtabmap_ros" type="grid_map_assembler" name="grid_map_assembler">
|
|
|
|
|
<param name="unknown_space_filled" type="bool" value="false"/>
|
|
|
|
|
</node>
|
|
|
|
|
|
|
|
|
|
<!-- Visualisation RTAB-Map -->
|
|
|
|
|
<node if="$(arg rtabmapviz)" pkg="rtabmap_ros" type="rtabmapviz" name="rtabmapviz" args="-d $(find rtabmap_ros)/launch/config/rgbd_gui.ini" output="screen">
|
|
|
|
|
<param name="subscribe_depth" type="bool" value="true"/>
|
|
|
|
|
<param name="subscribe_laserScan" type="bool" value="true"/>
|
|
|
|
|
<param name="frame_id" type="string" value="base_footprint"/>
|
|
|
|
|
|
|
|
|
|
<remap from="rgb/image" to="/data_throttled_image"/>
|
|
|
|
|
<remap from="depth/image" to="/data_throttled_image_depth"/>
|
|
|
|
|
<remap from="rgb/camera_info" to="/data_throttled_camera_info"/>
|
|
|
|
|
<remap from="scan" to="/jn0/base_scan"/>
|
|
|
|
|
<remap from="odom" to="/scanmatch_odom"/>
|
|
|
|
|
|
|
|
|
|
<param name="rgb/image_transport" type="string" value="compressed"/>
|
|
|
|
|
<param name="depth/image_transport" type="string" value="compressedDepth"/>
|
|
|
|
|
</node>
|
|
|
|
|
|
|
|
|
|
</group>
|
|
|
|
|
|
|
|
|
|
<!-- Visualisation RVIZ -->
|
|
|
|
|
<node if="$(arg rviz)" pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap_ros)/launch/config/demo_robot_mapping.rviz" output="screen"/>
|
|
|
|
|
<node pkg="nodelet" type="nodelet" name="points_xyzrgb" args="standalone rtabmap_ros/point_cloud_xyzrgb">
|
|
|
|
|
<remap from="rgb/image" to="/data_throttled_image"/>
|
|
|
|
|
<remap from="depth/image" to="/data_throttled_image_depth"/>
|
|
|
|
|
<remap from="rgb/camera_info" to="/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="voxel_size" type="double" value="0.01"/>
|
|
|
|
|
</node>
|
|
|
|
|
|
|
|
|
|
</launch>
|