amcl 参数设置


< launch >
<!-- 如果值为真, AMCL 将接收地图话题,而不是服务调用。-->
< arg name = "use _ map _ topic" default = "false" />
<!-- 这是关于距离传感器检测值的话题名称。-->
< arg name = "scan _ topic"
default = "scan" />
<!-- 它在初始位置估计中被用作为高斯分布的初始 x 坐标值。-->
< arg name = "initial _ pose _ x" default = "0 . 0" />
<!-- 它在初始位置估计中被用作为高斯分布的初始 y 坐标值。-->
< arg name = "initial _ pose _ y" default = "0 . 0" />
<!-- 它在初始位置估计中被用作为高斯分布的初始 yaw 坐标值。-->
< arg name = "initial _ pose _ a" default = "0 . 0" />
<!-- 参考下面的参数设置,运行 amcl 节点。-->
< node pkg = "amcl" type = "amcl" name = "amcl" >
<!-- 过滤器相关参数 -->
<!-- 允许的最小粒子数量 -->
< param name = "min _ particles" value = "500" />
<!-- 允许的最大粒子数量(越大越好,需根据 PC 的性能进行设置) -->
< param name = "max _ particles" value = "3000" />
<!-- 实际分布与估计分布之间的最大误差 -->
< param name = "kld _ err" value = "0 . 02" />
<!-- 执行滤波器更新之前所需的平移运动(以米为单位) -->
< param name = "update _ min _ d" value = "0 . 2" />
<!-- 执行滤波器更新之前所需的旋转运动(以弧度表示) -->
< param name = "update _ min _ a" value = "0 . 2" />
<!-- 重采样间隔 -->
< param name = "resample _ interval" value = "1" />
<!-- 允许的转换时间(以秒为单位) -->
354
ROS机器人编程< param name = "transform _ tolerance" value = "0 . 5" />
<!-- 指数衰减率( slow average weight filter ),当值为 0 . 0 则禁用 -->
< param name = "recovery _ alpha _ slow" value = "0 . 0" />
<!-- 指数衰减率( fast average weight filter ),当值为 0 . 0 则禁用 -->
< param name = "recovery _ alpha _ fast" value = "0 . 0" />
<!-- 请参考上述 initial _ pose _ x 的说明 -->
< param name = "initial _ pose _ x" value = " $( arg initial _ pose _ x ) " />
<!-- 请参考上述 initial _ pose _ y 的说明 -->
< param name = "initial _ pose _ y" value = " $( arg initial _ pose _ y ) " />
<!-- 请参考上述 innitial _ pose _ a 的说明 -->
< param name = "initial _ pose _ a" value = " $( arg initial _ pose _ a ) " />
<!-- 可视化扫描和路径信息的最大周期 -->
<!-- 例如: 10Hz = 0 . 1 秒,- 1 . 0 则被禁用 -->
< param name = "gui _ publish _ rate" value = "50 . 0" />
<!-- 同上述 use _ map _ topic 的说明 -->
< param name = "use _ map _ topic" value = " $( arg use _ map _ topic ) " />
<!-- 距离传感器参数 -->
<!-- 更改传感器的话题名称 -->
< remap from = "scan" to = " $( arg scan _ topic ) " />
<!-- 要使用的激光感应最大距离(米) -->
< param name = "laser _ max _ range" value = "3 . 5" />
<!-- 滤波器更新时被用到的激光束数量上限。-->
< param name = "laser _ max _ beams" value = "180" />
<!-- 传感器的 z _ hit 的混合加权值( mixture weight ) -->
< param name = "laser _ z _ hit" value = "0 . 5" />
<!-- 传感器的 z _ short 的混合加权值( mixture weight ) -->
< param name = "laser _ z _ short" value = "0 . 05" />
<!-- 传感器的 z _ max 的混合加权值( mixture weight ) -->
< param name = "laser _ z _ max" value = "0 . 05" />
<!-- 传感器的 z _ rand 的混合加权值( mixture weight ) -->
< param name = "laser _ z _ rand" value = "0 . 5" />
<!-- 使用传感器的 z _ hit 的高斯模型的标准偏差 -->
< param name = "laser _ sigma _ hit" value = "0 . 2" />
<!-- 传感器的 z _ short 的指数衰减参数 -->
< param name = "laser _ lambda _ short" value = "0 . 1" />
<!-- 与障碍物的最大距离,用于 likelihood _ field 方式的传感器 -->
< param name = "laser _ likelihood _ max _ dist" value = "2 . 0" />
<!-- 传感器类型(选择 likelihood _ field 或 beam ) -->
第11章 _ SLAM和导航
355< param name = "laser _ model _ type" value = "likelihood _ field" />
<!-- 与 odometry 有关的参数 -->
<!-- 机器人驱动方法可以选择 "diff" 或 "omni" 。-->
< param name = "odom _ model _ type"value = "diff" />
<!-- 在旋转运动中预计的测位的旋转动量噪声的估计值 -->
< param name = "odom _ alpha1" value = "0 . 1" />
<!-- 在平移运动中预计的测位的旋转动量噪声的估计值 -->
< param name = "odom _ alpha2" value = "0 . 1" />
<!-- 在平移运动中预计的测位的平移动量噪声的估计值 -->
< param name = "odom _ alpha3" value = "0 . 1" />
<!-- 在旋转运动中预计的测位的平移动量噪声的估计值 -->
< param name = "odom _ alpha4" value = "0 . 1" />
<!-- odometry 框架 -->
< param name = "odom _ frame _ id" value = "odom" />
<!-- 机器人底座( robot base )框架 -->
< param name = "base _ frame _ id" value = "base _ footprint" />
</ node >
</launch>

原文链接:https://blog.csdn.net/m0_55812384/article/details/122165685

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[2\]中提供的伪代码,AMCL(自适应蒙特卡洛定位)中的粒子分布是通过运动采样模型生成的。具体流程如下: 1. 获取机器人当前位姿和移动增量delta。 2. 使用运动采样模型,在上一个位姿Xt-1和移动增量delta的基础上,按照给定的分布生成若干数量的粒子,即生成当前状态的可能位姿。 3. 对每个粒子使用激光传感器模型计算在其状态下获得测量Zt的概率,并计算总概率totalweight。 4. 根据粒子的权重进行采样,即根据粒子的权重值,按照一定的概率选择粒子。具体方法是生成一个(0,1)之间的随机数r,然后根据粒子的累积权重值c,选择满足条件c\[i\] <= r < c\[i+1\]的粒子作为采样结果。 5. 采样后粒子数量不变,并重置所有粒子的权重为平均值(1/sample_count)。 6. 对粒子进行聚类,计算每个聚类的位姿均值、权重均值、协方差等参数。 7. 选择平均权重最大的聚类作为最终的机器人位姿,并根据该位姿修正ODOM坐标系下机器人的位姿。 8. 完成一个AMCL粒子滤波周期。 综上所述,AMCL粒子分布是通过运动采样模型生成的,并根据粒子的权重进行采样和聚类,最终得到机器人的位姿估计。 #### 引用[.reference_title] - *1* *2* *3* [AMCL的粒子滤波](https://blog.csdn.net/gadwgdsk/article/details/103364846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值