参数说明:
<launch>
<!-- 使用map的topic而不是map文件-->
<arg name="use_map_topic" default="false"/>
<!-- 不可以使用PointCloud,只能使用LaserScan -->
<arg name="scan_topic" default="scan"/>
<arg name="map_topic" default="/map"/>
<node pkg="amcl" type="amcl" name="amcl" clear_params="true">
<!-- 当设置为true时,AMCL将订阅地图主题,而不是进行服务调用以接收其地图。 -->
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- 使用rtabmap分布的Map,连接TF树 -->
<remap from="/map" to="/$(arg map_topic)"/>
<!-- 使用哪个模型,“diff”,“omni”,“diff-corrected”或“omni-corrected”。 -->
<param name="odom_model_type" value="omni-corrected"/>
<!--===================== 总体过滤器参数 ================================-->
<!-- 最小允许的颗粒数。 default: 100 -->
<param name="min_particles" value="500"/>
<!-- 最大允许的颗粒数。 default: 5000 -->
<param name="max_particles" value="2000"/>
<!-- 真实分布和估计分布之间的最大误差。default: 0.01 -->
<param name="kld_err" value="0.05"/>
<!-- 1-p)的上标准正常分位数,其中p是估计的失谐上的误差将小于kld_err的概率。 default: 0.99 -->
<param name="kld_z" value="0.99"/>
<!-- 执行过滤器更新之前需要执行平移运动。default: 0.2m -->
<param name="update_min_d" value="0.25"/>
<!-- 执行过滤器更新之前需要执行旋转运动。default: π/ 6.0 radians -->
<param name="update_min_a" value="0.2"/>
<!-- 重新采样之前所需的过滤器更新数。default: 2 -->
<param name="resample_interval" value="1"/>
<!-- 将发布的变换后期化的时间,以指示此变换在未来有效。default: 0.1s -->
<param name="transform_tolerance" value="1.0"/>
<!-- 慢平均权重滤波器的指数衰减率,用于决定何时通过添加随机姿态来恢复。良好的值可能为0.001。default: 0.0(禁用) -->
<param name="recovery_alpha_slow" value="0.0"/>
<!-- 快速平均权重滤波器的指数衰减率,用于决定何时通过添加随机姿态来恢复。好的值可能为0.1。default: 0.0(禁用) -->
<param name="recovery_alpha_fast" value="0.0"/>
<!-- 初始姿态均值(x),用于初始化具有高斯分布的滤波器。default: 0.0m -->
<param name="initial_pose_x" value="0.0"/>
<!-- 初始姿态平均值(y),用于初始化具有高斯分布的滤波器。 default: 0.0m -->
<param name="initial_pose_y" value="0.0"/>
<!-- 初始姿态平均(偏航),用于初始化具有高斯分布的滤波器。 default: 0.0弧度 -->
<param name="initial_pose_a" value="0.0"/>
<!-- 发布可视化扫描和路径的最大速率(Hz),禁用-1.0。 default: -1.0 Hz -->
<param name="gui_publish_rate" value="10.0"/>
<!--===================== 激光模型参数 ================================-->
<!-- 在更新过滤器时要在每次扫描中使用多少均匀间隔的光束。 default: 30 -->
<param name="laser_max_beams" value="60"/>
<!-- 要考虑的最大扫描范围; -1.0将导致使用激光器报告的最大范围。 default: -1.0 -->
<param name="laser_max_range" value="12.0"/>
<!-- 模型的z_hit部分的混合重量。 default: 0.95 -->
<param name="laser_z_hit" value="0.5"/>
<!-- 模型的z_short部分的混合重量。 default: 0.1 -->
<param name="laser_z_short" value="0.05"/>
<!-- 模型的z_max部分的混合物重量。 default: 0.05 -->
<param name="laser_z_max" value="0.05"/>
<!-- 模型的z_rand部分的混合重量。 default: 0.05 -->
<param name="laser_z_rand" value="0.5"/>
<!-- 在模型的z_hit部分中使用的高斯模型的标准偏差。 default: 0.2米 -->
<param name="laser_sigma_hit" value="0.2"/>
<!-- 模型的z_short部分的指数衰减参数。 default: 0.1 -->
<param name="laser_lambda_short" value="0.1"/>
<!-- 使用哪个模型,beam,likelihood_field或likelihood_field_prob(与likelihood_field相同,但包含beamkip功能,如果已启用)。 default: “likelihood_field” -->
<param name="laser_model_type" value="likelihood_field"/>
<!-- 在地图上做障碍物充气的最大距离,用于likelihood_field模型。 default: 2.0m -->
<param name="laser_likelihood_max_dist" value="2.0"/>
<!--===================== 里程计模型参数 ================================-->
<!-- 根据机器人运动的旋转分量指定里程表旋转估计中的预期噪声。default:0.2 -->
<param name="odom_alpha1" value="0.2"/>
<!-- 根据机器人运动的平移分量,指定里程表旋转估计中的预期噪声。default:0.2 -->
<param name="odom_alpha2" value="0.2"/>
<!-- 从机器人运动的平移分量中指定odometry的翻译估计中的预期噪声。 default:0.2 -->
<param name="odom_alpha3" value="0.2"/>
<!-- 根据机器人运动的旋转分量指定odometry的翻译估计中的预期噪声。 default:0.2 -->
<param name="odom_alpha4" value="0.2"/>
<!-- 与翻译相关的噪声参数(仅在模型为“omni”时使用)。 default:0.2 -->
<param name="odom_alpha5" value="0.1"/>
<!-- 用于odometry的帧。 default:odom -->
<param name="odom_frame_id" value="odom_combined"/>
<!-- 由本地化系统发布的坐标系的名称 default:map -->
<param name="global_frame_id" value="map"/>
<remap from="scan" to="$(arg scan_topic)"/>
</node>
</launch>