具身导航赋能智能物流!OpenBench:智能物流最后一公里语义导航新基准


-
作者:Junhui Wang, Dongjie Huo, Zehui Xu, Yongliang Shi, Yimin Yan, Yuanxin Wang, Chao Gao, Yan Qiao, Guyue Zhou
-
单位:澳门科技大学系统工程与协作实验室、智能科学与系统联合实验室,清华大学人工智能产业研究院(AIR),北京化工大学信息科学与技术学院,哈尔滨工业大学航天学院,中国科学院大学人工智能学院,北京理工大学机械与车辆工程学院,清华大学车辆与运载学院
-
标题:OpenBench: A New Benchmark and Baseline for Semantic Navigation in Smart Logistics
-
原文链接:https://arxiv.org/pdf/2502.09238
-
项目主页:https://ei-nav.github.io/OpenBench/
-
代码链接:https://github.com/EI-Nav/light-map-navigation
主要贡献
-
论文引入OpenBench基准,用于优化住宅环境中的最后一公里配送,提供了一个框架来评估室外语义导航系统,重点关注长期操作能力和任务理解能力。
-
提出了OPEN基线系统,具有交互性和易部署性,并使用现成的OpenStreetMap (OSM) 进行轻量级地图表示,消除了预映射的需求。
-
OPEN系统结合了基础模型和经典算法来增强语义导航,使用大模型(LLMs)进行自然语言理解和视觉语言模型(VLMs)进行全局定位、地图更新和门牌号识别。
-
在模拟和现实环境中进行广泛的实验,验证了OPEN系统在最后一公里配送中的有效性,在导航效率和可靠性方面有显著提升,并公开了代码和基准数据集。
研究背景

研究问题
-
在智能物流领域,高效解决最后一公里配送问题已成为一项亟待满足的关键需求。
-
传统导航方法过度依赖高精度地图,导致资源消耗巨大;相比之下,基于学习的方法虽有优势,但在现实场景中的泛化能力存在明显不足,且对大量训练数据存在过度依赖。
-
随着自动化机器人需求的日益增长,如何提升其操作效率并降低相关成本,已成为该领域的核心问题。
-
本文提出了一种融合基础模型与经典算法的 Openstreetmap 增强型开放式语义导航(OPEN)系统,旨在显著提升自主机器人在长期操作以及任务理解方面的能力。
研究难点
该问题的研究难点包括:
-
传统方法的高资源消耗和复杂环境下的泛化问题;
-
基于学习的方法需要大量训练数据,且在现实场景中表现不佳。
相关工作
-
传统导航方法:依赖于高精度地图的同步定位与地图构建(SLAM)、路径规划和机器人控制等方法,这些方法在大规模部署中受限,尤其是在住宅区域的最后一公里配送场景中。
-
基于学习的导航技术:近年来,强化学习和视觉语言模型(VLMs)等技术提供了新的导航方法。这些方法通过将感官输入直接映射到动作来实现导航,但在泛化能力和现实应用中仍存在挑战。
-
视觉语言模型的应用:VLMs在语义导航中的应用显示出潜力,能够在不依赖大量训练数据和精细标注的情况下实现导航。然而,大多数研究集中在室内导航,室外导航的研究相对较少。
-
现有方法的局限性:现有的基准和导航方法主要集中在室内环境,无法充分应对室外最后一公里配送的复杂性和长期运营需求。
-
本文贡献:论文提出了一种结合传统方法和基础模型的创新方法,以应对室外导航的挑战,并为智能物流中的最后一公里配送提供可靠的解决方案。
智能物流BENCHMARK
任务定义
-
目标:基准的目标是提高导航系统在最后一公里配送任务中的互动性、易部署性和长期可靠性。
-
任务描述:最后一公里配送任务涉及解释自然语言指令并自主导航至客户住所。系统不需要使用预先构建的地图,而是依赖公开的OpenStreetMap (OSM) 导航数据进行导航。这种设置旨在模仿人类配送人员所面临的实际条件。

模拟环境
-
平台:基于Gazebo仿真平台,构建了三个不同大小的世界模型,分为小、中、大三类,根据环境的复杂性进行分类。
-
标签:每个建筑的门上都标有门牌号,以模拟真实世界的情况。
-
OSM数据:为每个世界模型生成相应的OSM数据,以反映现实世界的情况。
评估指标
-
任务规划成功率(SRTP):量化基于LLMs的任务规划的精确度,反映系统理解指令的能力。公式如下:
其中, 是总任务数, 是一个二元变量,指示任务成功(1)或失败(0)。
-
任务完成的成功率(SR)和路径长度加权成功率(SPL):评估任务完成的整体成功率和效率。SR表示成功完成任务的比例,而SPL结合了任务完成和路径效率。
-
长期成功率(LSR):用于评估连续操作中的任务成功情况。LSR扩展了SR指标,考虑了连续操作中的任务成功。公式如下:
其中, 表示任务 的成功, 是从指数衰减模型中导出的权重因子。
-
长期路径长度加权成功率(LSPL):进一步细化评估,考虑任务成功和导航效率随时间的变化。公式如下:
其中, 表示从起点到任务 目标的最短路径距离, 是实际路径长度。权重因子 :在LSR和LSPL中使用的权重因子遵循指数衰减模型,优先考虑早期任务的影响。公式如下:
其中, 是衰减率, 表示任务序列, 是总任务数。
研究方法

系统概述
-
系统结构:OPEN系统用于最后一公里自主配送。系统首先接收自然语言配送请求,通过任务规划模块进行处理,该模块基于大模型(LLM)进行任务规划。模块与OpenStreetMap(OSM)交互以提取目的地细节并生成结构化的任务序列。
-
导航模式:机器人根据生成的路径自主决定进入导航或探索模式,生成执行路径点的经典规划器。
-
定位与更新:系统使用经典的局部定位方法进行局部姿态估计,并通过MobileSAM和CLIP模型与OSM集成进行低频全局定位,以减少累积定位误差。
-
地图更新:机器人检测并识别环境中的物体,更新OSM以增强地图细节,提高未来配送的导航性能。
基于大模型的任务规划
利用LLMs将多语言、自由形式的文本指令转换为结构化的机器人任务。该方法分为三个关键阶段:
-
地址解析:用户提供自然语言配送指令,初始LLM提示提取并解析一系列地址,将其细分为层次化的子地址。为减少“幻觉”(LLM生成的错误输出),使用二次提示验证提取的信息。
-
任务优化:地址提取后,另一个提示优化任务序列。地理上相近的任务被分组以便同时完成,跨区域的任务被建模为经典调度问题以提高效率。
-
位置查询:从最低级别到最高级别查询OSM中的层次化子地址。一旦确认某个级别的地址存在,查询过程停止。根据OSM信息的完整性生成每个配送所需的任务序列。
导航点生成
- 导航模式:对于配送地址的高层次组件,OSM通常包含位置信息,利用OSM的道路网络数据生成全局路由指引。步骤包括:
-
道路预处理:将OSM数据转换为基于特定交通配置文件(如车辆、行人)的分层图以实现高效路由。
-
路径查询:使用多层Dijkstra(MLD)算法进行路由查询,通过分层图减少搜索空间,快速确定地理坐标之间的最优路径。
-
- 探索模式:当OSM缺乏精细细节时,机器人自动探索以定位入口。步骤包括:
-
建筑预处理:从OSM检索目标建筑的位置和几何信息,计算建筑的凹包以排除内部元素。
-
均匀采样:对膨胀的多边形进行均匀采样,生成面向建筑中心的路径点以优化搜索覆盖。
-
门牌号识别:在每个路径点,机器人通过RGB相机捕获图像,VLM分析图像以识别目标入口。若未成功定位,机器人移动到下一个路径点,直到成功检测到目标入口。
-
全局定位与地图更新
- 全局定位:使用VLMs和OSM进行直接定位,解决城市环境中里程计误差和GPS不可靠的问题。步骤包括:
-
对象分割:MobileSAM模型分割图像中的对象,OSM提供其包含的元素类型。
-
嵌入空间编码:分割图像和OSM文本编码到共享嵌入空间,系统根据计算的概率分配语义标签。
-
点云投影:将点云投影到图像上进行语义映射,保留相关点并投影到鸟瞰图平面。
-
2D注册:从OSM得到的几何进行2D注册,提供机器人的全局位姿。
-
-
地图更新:在线地图更新增强机器人的记忆。过程类似于全局定位,但增加了新检测到的元素(如门牌号板)到地图中,提高配送的效率。
局部定位与规划
-
局部状态估计:使用FastLIO2进行基于LiDAR的局部位姿估计,维护LiDAR和里程计帧之间的变换。
-
路径规划:OSM转换为代价图进行A*路径查找,使用Timed Elastic Band算法生成平滑、动态可行的轨迹进行实时控制。

实验
实验设置
- 模拟环境
-
机器人配置:使用差速驱动的四轮机器人,配备单目相机和Livox MID-360激光雷达。状态记录器跟踪任务完成情况和运动轨迹,提供评估指标所需的数据。
-
任务输入:配送目的地随机生成,并组织成文本指令或目标图像作为导航系统的输入。
-
评估指标:使用前文定义的指标,设置。成功的导航定义为机器人到达目的地10米范围内。
-

-
现实环境
-
机器人配置:在现实环境中,机器人配备Logitech RGB相机、Livox MID-360激光雷达和GPS。GPS记录机器人的实际轨迹,手动评估任务完成情况。手动控制的路径作为比较的最优轨迹。
-
评估指标:同样使用前文定义的指标,成功的导航定义为机器人到达目的地10米范围内。
-
-
评估指标
-
任务规划成功率(SRTP):评估LLMs将目的地地址解析成指定格式(本工作中为JSON)的成功率。
-
导航性能:比较不同方法在模拟环境中的成功率(SR)和路径长度加权成功率(SPL)。对于连续任务,评估长期成功率(LSR)和长期路径长度加权成功率(LSPL)。
-
-
计算平台
-
在AMD R9-7945HX处理器和RTX 4060 GPU的PC上进行基准和基线测试。
-
模拟环境结果

-
任务规划成功率:评估了几种LLMs,GPT-4O-mini取得了最高的成功率,而其他LLMs仍有改进空间。
-
导航性能:提出的OPEN系统在模拟环境中表现出色,成功率高,优于NoMaD和ViNT等基于学习的导航系统。NoMaD和ViNT在模拟环境中显示出较差的泛化能力,成功率低,主要是由于导航过程中的碰撞。
-
长期导航性能:在LSR和LSPL评估中,OPEN系统在大规模模拟环境中表现良好,尽管完成任务数量相同,但得分较高。
-
地图更新的影响:评估了地图更新对导航效率的影响,发现地图更新显著提高了导航效率。
-
存储空间效率:比较了OSM、点云地图和拓扑地图的存储空间,OSM的存储空间大约是点云地图的1%,是拓扑地图的0.01%,显示出其高效性。


现实环境结果
-
实验任务:在现实世界的校园环境中进行实验,任务包括向两个不同的建筑进行顺序配送。
-
比较方法:评估了ViNT、NoMaD、提出的OPEN系统和手动操作的远程控制基线。ViNT和NoMaD在导航过程中遇到碰撞,未能完成任务,而OPEN系统成功执行了整个配送序列,表现接近手动操作的控制,SPL达到96.1%。

总结
-
论文提出的OPEN系统结合了OSM和先进的基础模型,解决了可扩展和高效户外导航的挑战。
-
通过使用OSM进行轻量级地图表示,并结合LLMs和VLMs进行全球定位、地图更新和门牌号码识别,系统克服了传统方法和基于学习方法的局限性。
-
引入的新基准测试为评估自主配送系统提供了一个有效的框架。
![]()
相关文章:
具身导航赋能智能物流!OpenBench:智能物流最后一公里语义导航新基准
作者:Junhui Wang, Dongjie Huo, Zehui Xu, Yongliang Shi, Yimin Yan, Yuanxin Wang, Chao Gao, Yan Qiao, Guyue Zhou 单位:澳门科技大学系统工程与协作实验室、智能科学与系统联合实验室,清华大学人工智能产业研究院(AIR&…...
详解 本机安装多个MySQL服务【为后续大数据量分库分表奠定基础,以mysql8.0为例,附有图文】
本机安装多个mysql 在电脑上新建mysql8文件夹,然后在mysql8文件下新建mysql3391文件夹。然后找到自己原本mysql的安装目录,我的是E:\software\mysql\one,如图所示: 将次目录下的所有文件全选复制粘贴在mysql3391文件夹下。 然后…...
2025年新趋势:如何利用AI技术优化你的在线帮助中心
在2025年的今天,人工智能(AI)技术正以惊人的速度改变着我们的世界。从自动驾驶汽车到智能家居,从医疗诊断到金融分析,AI的身影无处不在。而在客户服务领域,AI同样正在发挥着越来越重要的作用。特别是在线帮…...
同花顺Java开发面试题及参考答案 (上)
int 类型占用几个字节?float 类型的数字如何与 0 进行比较? 在 Java 中,int 类型是一种基本数据类型,它占用 4 个字节。一个字节有 8 位,所以 int 类型总共是 32 位。这 32 位可以用来表示不同的整数值,其取…...
CommonLang3-使用介绍
摘自:https://www.cnblogs.com/haicheng92/p/18721636 学习要带着目的,参照现实问题 本次目标: 了解 CommonsLang3 API 文档,找对路后以后开发直接查询 API 文档,摈弃盲目的百度掌握基础的字符串、日期、数值等工具…...
Java常用设计模式及其应用场景
1. 什么是设计模式? 设计模式是一个经过多次验证的、针对常见问题的可复用解决方案。设计模式并不是具体的代码实现,而是给出了如何解决问题的思路和结构。在实际开发过程中,设计模式有助于开发者快速找到合适的解决方案,从而减少…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_pnalloc函数
ngx_pnalloc 声明在 src\core\ngx_palloc.h void *ngx_pnalloc(ngx_pool_t *pool, size_t size); 定义在 src\core\ngx_palloc.c void * ngx_pnalloc(ngx_pool_t *pool, size_t size) { #if !(NGX_DEBUG_PALLOC)if (size < pool->max) {return ngx_palloc_small(pool, …...
【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析①】
ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase01 作者:车端域控测试工程师 更新日期:2025年02月14日 关键词:UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023 TC10-001测试用例 用例ID测试场景验证要点参考条款预期…...
A与B组件自动对齐与组装,无映射直接补偿。
网上针对组装的从视觉到控制动作,要不就是收费,要不就是简单介绍。这么详细的比较难找~ 手下留情,不喜勿喷! Show time~ 分步解决方案: 标定阶段(Calibration) 9点张氏标定(每个位置A1、A2、B1、B2): 使用机械手在相机视野内沿Z字形路径移动,覆盖9个点(XY方…...
QT 读写锁
一、概述 1、读写锁是一种线程同步机制,用于解决多线程环境下的读写竞争问题。 2、读写锁允许多个线程同时获取读锁(共享访问),但只允许一个线程获取写锁(独占访问)。 3、这种机制可以提高并发性能&…...
C++ 的时间库之二:Ratio
从现在开始,我们开始介绍 C 风格的时间处理,在这之前,首先要介绍std::ratio。因为 C 的 chrono库中的时间段(duration)定义离不开std::ratio,不了解std::ratio,就很难理解duration的定义。 1 st…...
使用小雅xiaoya/Emby正确的观看电影电视剧的姿势
最近有很多小伙伴来咨询关于小雅Emby全家桶的使用问题,最常见的就是在Emby上搜索出来资源之后,点击播放会提示【播放错误】,当前没有兼容的流。 这可把很多小伙伴给急坏了……于是找到小白咨询。 嗯……怎么说呢?小白并不喜欢看电…...
Java状态机
目录 1. 概念 2. 定义状态机 3. 生成一个状态机 4. 使用 1. 概念 在Java的应用开发里面,应该会有不少的人接触到一个业务场景下,一个数据的状态会发生多种变化,最经典的例子例如订单,当然还有像用户的状态变化(冻结…...
【Pandas】pandas Series isin
Pandas2.2 Series Computations descriptive stats 方法描述Series.align(other[, join, axis, level, …])用于将两个 Series 对齐,使其具有相同的索引Series.case_when(caselist)用于根据条件列表对 Series 中的元素进行条件判断并返回相应的值Series.drop([lab…...
通过VSCode直接连接使用 GPT的编程助手
GPT的编程助手在VSC上可以直接使用 选择相应的版本都可以正常使用。每个月可以使用40条,超过限制要付费。 如下图对应的4o和claude3.5等模型都可以使用。VSC直接连接即可。 配置步骤如下: 安装VSCODE 直接,官网下载就行 https://code.vis…...
一种最常见的js加密解密
前言 在前端开发的广袤天地中,你是否遭遇过一些看似“乱码”般的代码,根本无从下手理解?这其实很可能是被 _0x处理过的代码。_0x就像一位神秘的“化妆师”,能把原本清晰的代码改头换面。今天,我就来分享如何破解这些被…...
【Python爬虫(4)】揭开Python爬虫的神秘面纱:基础概念全解析
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
SMOJ 一笔画/洛谷 P7171 COCI 2020/2021 #3 Selotejp 题解
1.一笔画 题意 给出 n 行 m 列的点阵,每个点是一个字符: “.” 或 “#” ,其中“#”表示该点是障碍物。 现在小毛的问题是: 他最少要画多少笔才能把点阵里所有的“.”都覆盖完毕(被小毛画到的点就会被覆盖ÿ…...
【Java学习】继承
一、继承 子类继承父类,子类这个类变量的引用在原有的指向子类自己类变量空间的原有访问权限上,增加上了父类类变量空间的访问权限,此时子类类变量指向的空间变为了原来子类类变量空间加上父类类变量空间,此时子类类变量空间就变成…...
计时器任务实现(保存视频和图像)
下面是一个简单的计时器任务实现,可持续地每秒保存一幅图像,也可持续地每60秒保存一个视频,图像和视频均以当前时间命名: TimerTask类的实现如下: class TimerTask { public:TimerTask(const std::string& path):…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
