mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
Moved all nodelets and rviz plugins in "rtabmap_ros" namespace instead of "rtabmap" Refactored rtabmap_ros messages (added convenient conversion methods in rtabmap_ros/MsgConversion.h) Added noise filtering parameters for map_assembler node Added variance parameter for map_optimizer node Odometry nodes publish covariance matrices in odometry messages. Publish rtambap_ros::OdomInfo topic too.
95 lines
5.4 KiB
XML
95 lines
5.4 KiB
XML
|
|
<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_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="/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 -->
|
|
<param name="LccIcp2/CorrespondenceRatio" type="string" value="0.9"/>
|
|
<param name="LccIcp2/MaxFitness" type="string" value="0.1"/>
|
|
<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_ros" type="grid_map_assembler" name="grid_map_assembler" output="screen">
|
|
<remap from="mapData" to="rtabmap/mapData"/>
|
|
</node>
|
|
|
|
<!-- just to re-use azimut3.rviz config below -->
|
|
<node name="republish_rgb" type="republish" pkg="image_transport" args="compressed in:=/camera/data_throttled_image raw out:=/camera/data_throttled_image_relay" />
|
|
<node name="mapData_relay" type="relay" pkg="topic_tools" args="/rtabmap/mapData /rtabmap/mapData_relay"/>
|
|
|
|
<!-- Visualisation -->
|
|
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find rtabmap_ros)/launch/config/demo_find_object.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_ros/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_ros)/launch/config/find_object.ini" type="str"/>
|
|
<param name="subscribe_depth" value="true" type="bool"/>
|
|
<param name="objects_path" value="$(find rtabmap_ros)/launch/data/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>
|