mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
140 lines
5.8 KiB
XML
140 lines
5.8 KiB
XML
|
|
<launch>
|
|
|
|
<!-- args: "delete_db_on_start" and "udebug" -->
|
|
<arg name="rtabmap_args" default="--delete_db_on_start" />
|
|
|
|
<!-- 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">
|
|
<remap from="openni_points" to="/planner_cloud"/>
|
|
<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_ros)/launch/azimut3/az3_openni.launch"/>
|
|
|
|
<!-- Throttling messages -->
|
|
<group ns="camera">
|
|
<node pkg="nodelet" type="nodelet" name="data_throttle" args="load rtabmap_ros/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"/>
|
|
</node>
|
|
|
|
<!-- for the planner -->
|
|
<node pkg="nodelet" type="nodelet" name="points_xyzrgb_planner" args="load rtabmap_ros/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"/>
|
|
</node>
|
|
</group>
|
|
|
|
<!-- SLAM (robot side) -->
|
|
<group ns="rtabmap">
|
|
<node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" output="screen" args="$(arg rtabmap_args)">
|
|
<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="mapData" to="mapData"/>
|
|
|
|
<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="goal_pose" to="/planner_goal"/>
|
|
|
|
<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/PoseScanMatching" type="string" value="true"/>
|
|
<param name="RGBD/LocalLoopDetectionSpace" type="string" value="true"/>
|
|
|
|
<param name="LccIcp/Type" type="string" value="2"/>
|
|
<param name="LccIcp2/Iterations" type="string" value="100"/>
|
|
<param name="LccIcp2/VoxelSize" type="string" value="0"/>
|
|
|
|
<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="Mem/RehearsalSimilarity" type="string" value="0.45"/>
|
|
<param name="Mem/RehearsedNodesKept" type="string" value="false"/>
|
|
|
|
<param name="Rtabmap/TimeThr" type="string" value="700"/>
|
|
<param name="Rtabmap/DetectionRate" type="string" value="1"/>
|
|
|
|
<param name="RGBD/ToroIterations" type="string" value="100"/>
|
|
<param name="RGBD/OptimizeFromGraphEnd" type="string" value="true"/>
|
|
|
|
<param name="Kp/TfIdfLikelihoodUsed" type="string" value="true"/>
|
|
<param name="Kp/DetectorStrategy" type="string" value="0"/>
|
|
<param name="Kp/WordsPerImage" type="string" value="200"/>
|
|
<param name="Kp/NNStrategy" type="string" value="1"/>
|
|
|
|
<param name="Bayes/FullPredictionUpdate" type="string" value="false"/>
|
|
|
|
<param name="SURF/HessianThreshold" type="string" value="1000"/>
|
|
|
|
<param name="LccBow/Force2D" type="string" value="true"/>
|
|
<param name="LccBow/MaxDepth" type="string" value="4"/>
|
|
<param name="LccBow/MinInliers" type="string" value="5"/>
|
|
<param name="LccBow/InlierDistance" type="string" value="0.1"/>
|
|
</node>
|
|
|
|
|
|
<!-- Grid map assembler for planner -->
|
|
<node pkg="rtabmap_ros" type="grid_map_assembler" name="grid_map_assembler" output="screen">
|
|
<remap from="grid_map" to="/map"/>
|
|
</node>
|
|
|
|
</group>
|
|
</launch>
|