mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-04 00:37:46 +08:00
97 lines
4.2 KiB
XML
97 lines
4.2 KiB
XML
<?xml version="1.0"?>
|
|
<launch>
|
|
<!--
|
|
$ sudo apt install ros-melodic-turtlebot3* ros-melodic-dwa-local-planner
|
|
To avoid TF warning about leading '/' in frame name, remove it in:
|
|
- "/opt/ros/melodic/share/turtlebot3_navigation/param/global_costmap_params.yaml"
|
|
- "/opt/ros/melodic/share/turtlebot3_navigation/param/local_costmap_params.yaml"
|
|
|
|
Example Gazebo:
|
|
$ export TURTLEBOT3_MODEL=waffle
|
|
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch
|
|
|
|
$ export TURTLEBOT3_MODEL=waffle
|
|
$ roslaunch rtabmap_demos demo_turtlebot3_navigation.launch
|
|
-->
|
|
|
|
<!-- Arguments -->
|
|
<arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>
|
|
<arg name="open_rviz" default="true"/>
|
|
<arg name="rtabmap_viz" default="true"/>
|
|
<arg name="move_forward_only" default="false"/>
|
|
|
|
<arg name="with_camera" default="true"/>
|
|
<arg name="localization" default="false"/>
|
|
<arg name="database_path" default="~/.ros/rtabmap.db"/>
|
|
<arg if="$(arg localization)" name="rtabmap_args" default=""/>
|
|
<arg unless="$(arg localization)" name="rtabmap_args" default="-d"/>
|
|
|
|
<!-- Turtlebot3 -->
|
|
<include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch">
|
|
<arg name="model" value="$(arg model)" />
|
|
</include>
|
|
|
|
<group ns="rtabmap">
|
|
<node if="$(eval model=='waffle')" pkg="rtabmap_sync" type="rgbd_sync" name="rgbd_sync" output="screen">
|
|
<remap from="rgb/image" to="/camera/rgb/image_raw"/>
|
|
<remap from="depth/image" to="/camera/depth/image_raw"/>
|
|
<remap from="rgb/camera_info" to="/camera/rgb/camera_info"/>
|
|
</node>
|
|
|
|
<node name="rtabmap" pkg="rtabmap_slam" type="rtabmap" output="screen" args="$(arg rtabmap_args)">
|
|
<param name="database_path" type="string" value="$(arg database_path)"/>
|
|
<param name="frame_id" type="string" value="base_footprint"/>
|
|
<param name="subscribe_rgb" type="bool" value="false"/>
|
|
<param name="subscribe_depth" type="bool" value="false"/>
|
|
<param if="$(eval model=='waffle')" name="subscribe_rgbd" type="bool" value="true"/>
|
|
<param unless="$(eval model=='waffle')" name="subscribe_rgbd" type="bool" value="false"/>
|
|
<param name="subscribe_scan" type="bool" value="true"/>
|
|
<param name="approx_sync" type="bool" value="true"/>
|
|
|
|
<!-- use actionlib to send goals to move_base -->
|
|
<param name="use_action_for_goal" type="bool" value="true"/>
|
|
<remap from="move_base" to="/move_base"/>
|
|
|
|
<!-- inputs -->
|
|
<remap from="scan" to="/scan"/>
|
|
<remap from="odom" to="/odom"/>
|
|
<remap from="rgbd_image" to="rgbd_image"/>
|
|
|
|
<!-- output -->
|
|
<remap from="grid_map" to="/map"/>
|
|
|
|
<!-- RTAB-Map's parameters -->
|
|
<param name="Reg/Strategy" type="string" value="1"/>
|
|
<param name="Reg/Force3DoF" type="string" value="true"/>
|
|
<param name="GridGlobal/MinSize" type="string" value="20"/>
|
|
|
|
<!-- localization mode -->
|
|
<param if="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="false"/>
|
|
<param unless="$(arg localization)" name="Mem/IncrementalMemory" type="string" value="true"/>
|
|
</node>
|
|
|
|
<!-- visualization with rtabmap_viz -->
|
|
<node if="$(arg rtabmap_viz)" pkg="rtabmap_viz" type="rtabmap_viz" name="rtabmap_viz" args="-d $(find rtabmap_demos)/launch/config/rgbd_gui.ini" output="screen">
|
|
<param name="subscribe_scan" type="bool" value="true"/>
|
|
<param name="subscribe_odom" type="bool" value="true"/>
|
|
<param name="frame_id" type="string" value="base_footprint"/>
|
|
<param name="approx_sync" type="bool" value="true"/>
|
|
|
|
<remap from="odom" to="/odom"/>
|
|
<remap from="scan" to="/scan"/>
|
|
</node>
|
|
</group>
|
|
|
|
<!-- move_base -->
|
|
<include file="$(find turtlebot3_navigation)/launch/move_base.launch">
|
|
<arg name="model" value="$(arg model)" />
|
|
<arg name="move_forward_only" value="$(arg move_forward_only)"/>
|
|
</include>
|
|
|
|
<!-- rviz -->
|
|
<group if="$(arg open_rviz)">
|
|
<node pkg="rviz" type="rviz" name="rviz" required="true"
|
|
args="-d $(find turtlebot3_navigation)/rviz/turtlebot3_navigation.rviz"/>
|
|
</group>
|
|
</launch>
|