isaac_ros_visual_slam

GitHub
1.3k 187 较难 2 次阅读 5天前Apache-2.0其他
AI 解读 由 AI 自动生成,仅供参考

Isaac ROS Visual SLAM 是一个基于 NVIDIA GPU 加速的视觉同步定位与建图(VSLAM)开源工具包。它利用立体视觉惯性里程计(SVIO)技术,通过处理一个或多个立体相机(可选结合 IMU 惯性测量单元)的图像数据,实时估算机器人的位置和姿态变化,并同时构建环境地图。

它主要解决了机器人在缺乏 GPS 信号(如室内、隧道或城市峡谷)环境下的自主定位与导航问题。通过视觉里程计提供连续的位置估计,并借助回环检测来修正累积误差,使得机器人能够在未知或动态环境中实现稳定、精确的移动。

Isaac ROS Visual SLAM 非常适合机器人领域的开发者、研究人员以及从事自动驾驶、无人机或移动机器人应用的工程师使用。他们可以利用该工具为其机器人系统快速集成高性能的视觉定位与建图能力。

其独特的技术亮点在于深度利用了 NVIDIA GPU(特别是 Jetson 边缘计算平台)的加速能力,能够实时处理大量特征点,实现低延迟的位姿估计。它结合了视觉惯性里程计(VIO)来应对纹理稀疏或视觉特征不足的场景,并采用了高效的统计方法进行回环检测,提升了建图的准确性和系统的整体效率。

使用场景

某仓储物流公司的自主移动机器人(AMR)团队正在开发一款用于大型自动化仓库的搬运机器人,需要在货架林立的室内环境中实现厘米级精度的自主导航。

没有 isaac_ros_visual_slam 时

  • 定位漂移严重:传统轮式编码器在光滑地面打滑后,累计误差可达数十厘米,机器人频繁撞货架或找不到货位
  • GPS 完全失效:室内环境无法接收卫星信号,机器人失去绝对位置参考,重启后需要人工重新标定起点
  • 计算资源吃紧:开源 CPU-based VSLAM 方案在 Jetson 边缘设备上只能跑到 15-20 fps,延迟高导致导航决策滞后,机器人过弯道时摆动明显
  • 特征缺失场景崩溃:面对仓库中大量纯色货架或重复纹理的通道时,视觉特征点不足,系统直接丢失定位,触发急停

使用 isaac_ros_visual_slam 后

  • 厘米级精度保持:融合双目视觉与 IMU 的 VIO 方案实时修正轮式里程计漂移,长时间运行后定位误差稳定在 2cm 以内
  • 纯视觉自主重定位:无需 GPS,机器人通过回环检测自动识别曾到过的货架区域,重启后可秒级恢复全局位置
  • 250 fps 实时性能:NVIDIA GPU 加速使特征提取与匹配效率提升 10 倍以上,端到端延迟从 200ms 降至 30ms,过弯流畅无抖动
  • 视觉-惯性互补兜底:纯色墙面等弱纹理场景自动切换为 IMU 主导推算,系统持续输出可靠位姿,不再意外停机

isaac_ros_visual_slam 让仓储 AMR 在算力受限的边缘设备上,获得了媲美高端激光雷达方案的鲁棒定位能力,同时将硬件成本降低了 60%。

运行环境要求

操作系统
  • Linux
GPU

需要 NVIDIA GPU(Jetson AGX Xavier 等 ARM64 平台或 x86_64),CUDA 加速必需,具体 CUDA 版本未说明

内存

未说明

依赖
notes专为 NVIDIA Jetson 平台优化设计,支持 Nova Orin 兼容系统;需要立体相机(stereo camera)和可选 IMU 作为输入;GPU 加速为必需功能,用于实时关键点检测与匹配;2026-03-23 更新新增支持 SIPL 相机框架和 LI Eagle 立体相机
python未说明
ROS 2
cuVSLAM
CUDA
isaac_ros_visual_slam hero image

快速开始

Isaac ROS Visual SLAM

基于 NVIDIA 加速的立体视觉惯性里程计(Stereo Visual Inertial Odometry,SVIO)实现的同步定位与建图(Simultaneous Localization and Mapping,SLAM)。

image

网络研讨会

通过观看我们的点播网络研讨会,学习如何使用本软件包: 在 Jetson 上使用 vSLAM 实现精准、250 fps 的 ROS 2 定位


概述

Isaac ROS Visual SLAM 提供了一个高性能、行业领先的 ROS 2 视觉同步定位与建图(Visual Simultaneous Localization and Mapping,VSLAM)软件包。该软件包使用一个或多个立体相机,并可选择性地配合惯性测量单元(Inertial Measurement Unit,IMU)来估计里程计,作为导航的输入。它经过 GPU 加速,可在机器人应用中提供实时、低延迟的结果。VSLAM 为移动机器人(地面机器人)提供额外的里程计来源,并可作为无人机的主要里程计来源。

VSLAM 提供了一种通过视觉估计机器人相对于起始位置位置的方法,称为视觉里程计(Visual Odometry,VO)。这在 GPS 不可用(如室内环境)或信号不稳定(如城市环境中建筑物遮挡 GPS 卫星视线)的场景中特别有用。该方法设计为使用多个立体相机帧和一个 IMU 作为输入。它使用立体图像对来寻找匹配的关键点(key points)。利用相机对之间的基线(baseline),可以估计到关键点的距离。通过连续图像,VSLAM 可以跟踪关键点的运动,以估计相机的三维运动——然后用于计算作为导航输出的里程计。与经典的 VSLAM 方法相比,该方法使用 GPU 加速来实时查找和匹配更多的关键点,并通过精细调整以最小化整体重投影误差(reprojection error)。

关键点依赖于图像中的独特特征,这些特征可以在尺寸、方向、视角、光照和图像噪声变化的情况下被重复检测。在某些情况下,关键点的数量可能有限或完全缺失;例如,如果相机视野仅对着一面纯色大墙,可能检测不到任何关键点。如果关键点不足,该模块将使用 IMU 感知到的运动来提供运动传感,当测量时,可以提供里程计估计。这种方法称为视觉惯性里程计(Visual-Inertial Odometry,VIO),当场景中缺乏可用于视觉跟踪运动的独特特征时,可以提高估计性能。

SLAM(同步定位与建图)建立在 VIO 之上,创建关键点地图,可用于判断某个区域是否曾被访问过。当 VSLAM 确定某个区域曾被访问过时,它会降低地图估计的不确定性,这称为回环检测(loop closure)。VSLAM 使用一种计算效率更高的统计方法来实现回环检测,以提供实时解决方案,改善回环检测的收敛性。

image

有多种方法可以估计作为导航输入的里程计。这些方法都不是完美的;每种方法都因提供测量观测的传感器存在系统性缺陷而受到限制,例如黑色表面吸收激光雷达(LIDAR)回波导致数据缺失、车轮在地面上打滑时轮式编码器读数不准确,或场景中缺乏独特特征导致相机图像关键点受限。跟踪里程计的实用方法是使用多种传感器和不同方法,以便一种方法的系统性问题可以由另一种方法补偿。通过三种独立的里程计估计,可以检测到单一方法的故障,从而将多种方法融合为单一更高质量的结果。VSLAM 提供了一种基于视觉和 IMU 的里程计估计解决方案,不同于使用激光雷达和轮式里程计的常见做法。VSLAM 甚至可以用于提高多样性,通过将多个立体相机朝向不同方向布置,以提供多个并发的视觉里程计估计。

要了解更多关于 VSLAM 的信息,请参阅 cuVSLAM SLAM 文档。

精度

VSLAM 是一个行业领先的软件包,在 KITTI 视觉里程计 / SLAM 评估 2012 实时应用测试中,具有最低的平移和旋转误差。

方法 运行时间 平移误差 旋转误差 平台
VSLAM 0.007s 0.94% 0.0019 deg/m Jetson AGX Xavier aarch64
ORB-SLAM2 0.06s 1.15% 0.0027 deg/m 2 cores @ >3.5 GHz x86_64

除标准基准测试结果外,我们还在超过 1000 米的序列上测试了 VSLAM 的回环检测,涵盖室内和室外场景。

性能

[!Note] 视觉 SLAM 基准测试适用于特定的硬件配置。 更多详情请参阅 Isaac ROS Visual SLAM 文档。

[!Note] 此基准测试只能在兼容 Nova Orin 的系统上运行。


文档

请访问 Isaac ROS 文档 了解如何使用本仓库。


软件包

最新动态

2026-03-23 更新:初步支持 SIPL(Sensor Image Processing Library,传感器图像处理库)相机框架以及 LI Eagle 双目 CoE/HSB 相机与 ROS 的集成

版本历史

v4.3-02026/03/24
v4.2-02026/02/20
v4.1-02026/02/03
v4.0-02025/11/14
v3.2-62025/04/03
v3.2-52025/02/28
v3.2-22025/01/31
v3.2.02024/12/11
v3.1.02024/09/27
v3.0.12024/06/14
v3.0.02024/05/31
v2.1.02023/11/17
v2.0.02023/10/19
v0.31.0-dp2023/05/26
v0.30.0-dp2023/04/06
v0.20.0-dp2022/10/19
v0.11.0-dp2022/09/02
v0.10.1-dp2022/07/02
v0.9.3-ea32022/07/01
v0.9.1-ea22021/10/20

常见问题

相似工具推荐

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

74.9k|★★★☆☆|今天
语言模型图像开发框架

awesome-machine-learning

awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。

72.1k|★☆☆☆☆|2天前
开发框架其他

scikit-learn

scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最

65.6k|★☆☆☆☆|今天
开发框架其他数据工具

keras

Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。

63.9k|★★☆☆☆|昨天
开发框架数据工具其他