You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS Gmapping大场景建图能否媲美Google Cartographer及调优方法咨询

Gmapping 100×100m大尺寸建图弯曲问题优化方案

1 前置校准操作

  • 激光外参校准:确保激光雷达相对底盘base_footprint的坐标变换无偏差,安装俯仰/横滚角度误差控制在0.5°以内,避免雷达扫描地面或倾斜扫描导致的匹配误差。
  • 轮式里程计校准:
    • 线速度校准:控制机器人直线行驶10m,对比里程计读数与实际行驶距离,修正线速度比例系数
    • 角速度校准:控制机器人原地旋转360°,对比里程计角度读数与实际旋转角度,修正角速度比例系数
  • 时间同步校准:确保激光雷达、里程计的时间戳偏差小于10ms,避免扫描数据与位姿不匹配导致的漂移。

2 Launch配置优化

你当前的配置存在参数拼写错误、适配小场景的问题,可针对性调整:

注意:原配置中map_udpate_interval为拼写错误,正确应为map_update_interval,拼写错误会导致该参数无法生效,是引发漂移的常见原因。

优化后的核心参数调整参考如下:

<?xml version="1.0"?>
<launch>
  <!-- Gmapping -->
  <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
    <remap from="scan" to="/scan_front"/>
    <param name="base_frame" value="/base_footprint"/>
    <param name="odom_frame" value="/odom"/>
    <param name="map_frame" value="/map"/>

    <param name="map_update_interval" value="2.0"/> <!-- 降低大场景下的地图更新频率,减少计算负载 -->
    <param name="maxUrange" value="18.0"/> <!-- 取值为激光最大可靠测距的90%,丢弃边缘无效数据 -->
    <param name="sigma" value="0.05"/>
    <param name="kernelSize" value="1"/>
    <param name="lstep" value="0.05"/>
    <param name="astep" value="0.05"/>
    <param name="iterations" value="10"/>
    <param name="lsigma" value="0.075"/>
    <param name="ogain" value="3.0"/>
    <param name="lskip" value="0"/>
    <param name="srr" value="0.05"/> <!-- 按里程计精度调整,精度越低取值越高 -->
    <param name="srt" value="0.03"/>
    <param name="str" value="0.03"/>
    <param name="stt" value="0.05"/>
    <param name="linearUpdate" value="0.2"/> <!-- 每移动0.2m触发一次扫描匹配,提升位姿精度 -->
    <param name="angularUpdate" value="0.2"/> <!-- 每旋转0.2rad触发一次扫描匹配,减少转弯漂移 -->
    <param name="temporalUpdate" value="-1.0"/>
    <param name="resampleThreshold" value="0.5"/>
    <param name="particles" value="150"/> <!-- 大场景下提升粒子数,增强位姿估计可靠性 -->
    <param name="xmin" value="-100.0"/> <!-- 提前预设地图边界,避免动态扩张导致的漂移 -->
    <param name="ymin" value="-100.0"/>
    <param name="xmax" value="100.0"/>
    <param name="ymax" value="100.0"/>
    <param name="delta" value="0.05"/> <!-- 降低地图分辨率到5cm,减少大场景计算压力 -->
    <param name="llsamplerange" value="0.01"/>
    <param name="llsamplestep" value="0.01"/>
    <param name="lasamplerange" value="0.005"/>
    <param name="lasamplestep" value="0.005"/>
    <param name="inverted_laser" value="true"/>
  </node>
</launch>

3 建图操作规范

  • 建图过程中保持机器人匀速移动,转弯速度控制在0.3rad/s以内,避免急走急停
  • 空旷区域移动速度适当降低,保证雷达扫描到足够多的环境特征,避免无特征区域位姿估计失效
  • 建图中途可重复行驶已扫描过的区域,帮助算法修正累计漂移
  • 场景存在动态障碍物时,提前过滤动态点云,避免匹配错误

内容的提问来源于stack exchange,提问作者Richard Brada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 12:06:00