鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    还在用AMCL定位吗?快试试这个SLAM工具

    已定时 已固定 已锁定 已移动
    文档资料
    slamtoolbox ros2 slam 动态地图 定位
    2
    2
    1.8k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 小鱼小
      小鱼 技术大佬
      最后由 编辑

      大家好,我是爱学习的小鱼,今天推荐一个ROS2中的开元SLAM库,大家知道Nav2的默认定位模块是AMCL,它根据已知地图,雷达Scan数据和里程计完成定位,虽然可以利用静态地图作Scan-To-Map 来提高定位精度,但现实世界中的地图往往是动态更新的,显然一直使用某一张地图并不能满足我们的需求,SLAM-Toolbox就提供了一个动态的SLAM解决方案(以前在公司的时候都是修改Cartography来实现的),下面是详细介绍。

      SLAM Toolbox:动态世界的SLAM解决方案

      212f86d0-40e7-47dd-9b0f-9a7deb386265-image.png

      SLAM Toolbox 是一个强大的开源库,专为动态环境中的二维SLAM(同时定位与地图构建)而设计。该项目由 Steve Macenski 在 Simbe Robotics 创立,并在他在三星研究院的期间以及业余时间进行了维护和更新。SLAM Toolbox 不仅提供了常规的移动机器人所需的 2D SLAM 功能,如启动、绘图、保存地图等,还包括了一些高级特性,如地图的连续细化、重映射、以及基于优化的定位模式等。

      核心功能与AMCL对比

      SLAM Toolbox 的设计目标是提供一个比其他SLAM库(无论是免费还是付费的)更全面的解决方案。其核心功能包括:

      • 基础2D SLAM:允许用户启动地图构建,保存为PGM文件,同时提供了地图保存等实用工具。
      • 序列化和反序列化:能够在任何时间点加载已保存的位姿图(pose-graph),继续地图的绘制或修改。
      • 终身映射:加载已保存的位姿图,继续在空间中绘图,同时从新加入的扫描中删除多余的信息。
      • 优化基定位模式:在没有先验地图的情况下,通过位姿图进行“激光里程计”模式定位,支持本地闭环。

      与AMCL(自适应蒙特卡罗定位方法)相比,SLAM Toolbox 提供了更为动态和灵活的地图处理能力。AMCL主要用于在已知地图中进行定位,而SLAM Toolbox 则允许用户不仅进行定位,还可以继续更新和优化地图。此外,SLAM Toolbox 支持的“终身映射”功能使得它可以在长时间内持续更新地图,这是AMCL所不支持的。

      高级应用

      除了基础的地图绘制和保存功能,SLAM Toolbox 还提供了几种高级应用:

      1. 生命周期管理:在多次会话中对同一区域进行映射,允许用户创建和更新现有地图,并将数据序列化以供其他映射会话使用。
      2. 动态本地化:将现有的序列化地图加载到节点中,维护最近扫描的滚动缓冲区,并在缓冲区过期后移除扫描,但不影响底层地图。

      支持和贡献

      SLAM Toolbox 在多种环境(如零售、仓库、图书馆和研究环境)中已被广泛应用。对于在生产环境中使用的机器人,建议使用SLAM Toolbox的Snap版本,其进行了优化,速度提升约10倍。此外,如果遇到使用或配置问题,可以在 ROS Answers 上发帖求助,或在GitHub上提交问题和功能请求。

      安装和配置

      SLAM Toolbox 支持通过ROS2进行安装和运行,具体的安装命令如下:

      rosdep install -q -y -r --from-paths src --ignore-src
      apt install ros-$ROS_DISTRO-slam-toolbox
      

      运行时,可以通过 ros2 launch slam_toolbox online_sync_launch.py 命令启动在线同步模式。

      结语

      SLAM Toolbox 不仅为研究人员和工程师提供了一个功能丰富的SLAM库,还通过其开源的方式,鼓

      励了更广泛的社区合作和知识共享。无论是在工业应用还是学术研究中,SLAM Toolbox 都展现了其卓越的性能和灵活性,使其成为当前最受推荐的ROS2-SLAM库之一。

      新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

      10125473041 1 条回复 最后回复 回复 引用 0
      • 10125473041
        ‭ @小鱼
        最后由 编辑

        @小鱼 在 还在用AMCL定位吗?快试试这个SLAM工具 中说:

        SLAM Toolbox 是一个强大的开源库,专为动态环境中的二维SLAM(同时定位与地图构建)而设计。该项目由 Steve Macenski 在 Simbe Robotics 创立,并在他在三星研究院的期间以及业余时间进行了维护和更新。SLAM Toolbox 不仅提供了常规的移动机器人所需的 2D SLAM 功能,如启动、绘图、保存地图等,还包括了一些高级特性,如地图的连续细化、重映射、以及基于优化的定位模式等。

        核心功能与AMCL对比
        SLAM Toolbox 的设计目标是提供一个比其他SLAM库(无论是免费还是付费的)更全面的解决方案。其核心功能包括:

        基础2D SLAM:允许用户启动地图构建,保存为PGM文件,

        请问snap是什么版本呀;我现在使用slam_toolbox humble分支;定位评分MatchScan那部分代码执行效率太低了

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS