中科院自动化研究所通用空中任务无人机!基于大模型的通用任务执行与自主飞行

  • 作者: Ji Zhao and Xiao Lin

  • 单位:中科院自动化研究所

  • 论文标题:General-Purpose Aerial Intelligent Agents Empowered by Large Language Models

  • 论文链接:https://arxiv.org/pdf/2503.08302

主要贡献

  • 硬件-软件协同设计框架:提出了一种针对无人机(UAV)的硬件-软件协同设计框架,通过边缘计算平台实现了14B参数的大型语言模型(LLM)的高效推理(5-6 tokens/second),同时保持了220W的峰值功耗。

  • 双向认知架构:设计了一种双向认知架构,将LLM的慢速深思熟虑规划(任务规划)与快速反应控制(状态估计、建图、避障和运动规划)相结合,实现了任务规划与反应控制的协同。

  • 任务规划和场景理解验证:通过原型系统验证了LLM/VLM在通信受限环境中的任务规划和场景理解能力,如甘蔗监测、电网巡检、矿井隧道勘探和生物观测等应用,展示了系统在真实世界场景中的泛化能力。

研究背景

  • 无人机的局限性:尽管无人机在农业、电网巡检、矿业和生物观测等领域有广泛应用,但现有的无人机系统大多局限于执行预定义任务,缺乏灵活性和适应性。

  • 大型语言模型的潜力:随着LLM和视觉-语言模型(VLM)的发展,无人机有望基于开放式语言指令执行任务并与开放集对象交互,但目前的无人机系统由于硬件和软件的限制,难以实现这一目标。

  • 挑战:LLM具有庞大的参数规模和对计算资源的高需求,而无人机受到重量、功耗和尺寸的限制。此外,如何将LLM的慢速推理能力与无人机的快速反应能力有效结合也是一个关键问题。

研究方法

硬件设计

  • 智能计算域:无人机配备了强大的计算模块,包括16核5GHz的Intel CPU、12核2.5GHz的ARM处理器以及双层GPU架构,能够提供高达10 TFLOPS的通用计算能力和40 TOPS(Int8)的嵌入式计算能力,支持运行14B参数的DeepSeek-R1 LLM。

  • 能源供应域:电池舱和电源系统能够为智能计算域提供1000Wh的峰值功耗,支持大模型连续运行4小时,同时为飞行域提供22000WmAh(700Wh)的电力。

  • 飞行域:飞行控制系统和螺旋桨能够提供足够的推力,最大起飞重量可达18kg。

  • 通信与GPS域:配备2×2 MIMO 5G通信模块,理论带宽2Gbps,实际带宽400Mbps,RTK模块提供厘米级导航精度,视频传输模块传输距离可达30km。

  • 感知域:配备14个摄像头、6个ToF摄像头、4D LiDAR和IMU,能够实现高精度的环境感知和障碍物检测。

  • 载荷域:配备多种载荷,如红外热像仪、激光测距仪、FPV相机、三轴云台、探照灯、夜视设备等,以满足不同任务需求。

双向认知架构

  • 任务规划阶段:通过向LLM(如DeepSeek-R1)提供任务描述,生成详细的任务计划,并由人类操作员审核确认。LLM利用其常识和推理能力,即使提示中未提及某些细节,也能生成合理的计划。

  • 任务执行阶段:无人机自主执行任务。感知模块检测障碍物,状态估计和建图模块提供无人机的位姿和局部地图,VLM生成图像的场景描述。这些信息与地理信息和无人机的动作集一起,形成提示输入LLM,作为运动规划器,选择动作并生成航点,输入飞行控制单元(FCU)以控制无人机。

提示设计框架

  • 提出了一个两阶段的提示设计框架,将LLM的推理能力与传统无人机自主模块(如状态估计、运动规划、控制等)进行整合,实现了任务规划与反应控制之间的双向信息流。

实验

任务定义

  • 甘蔗监测:利用无人机的高精度测量和感知能力,对甘蔗的倒伏情况进行监测,通过快思维和慢思维系统的协同,自主识别甘蔗生长状态,及时检测倒伏等问题。

  • 电网巡检:无人机实现自主飞行跟踪和缺陷识别,快思维系统负责避障和路径规划,慢思维系统对巡检数据进行深入分析,识别潜在缺陷。

  • 矿井隧道勘探:利用LiDAR SLAM技术进行精确导航和建图,快思维系统提供实时感知和路径规划能力,慢思维系统进行综合分析和处理,使无人机能够自主穿越复杂矿井环境。

  • 鲸鱼表面生物观测:通过实时多传感器融合保持良好的定位精度,慢思维系统结合历史潜水模式和海洋数据预测鲸鱼浮出水面的区域。

实验结果

  • 任务规划结果
    • 对于上述四种应用,LLM能够生成合理的任务规划,包括任务目标、准备阶段、任务规划等。

    • 例如,在甘蔗监测任务中,LLM建议选择靠近甘蔗田的开阔区域作为起飞点;在矿井隧道勘探任务中,LLM注意到矿井隧道内没有GPS信号,即使在提示中没有提及这一点。

  • 场景理解结果
    • 使用真实世界的边缘案例图像测试了机载VLM的场景理解能力。

    • 在甘蔗监测和电网巡检任务中,VLM成功检测到甘蔗倒伏情况和电网潜在危险。

    • 实验结果表明,空中智能代理有潜力替代人类执行危险或单调的任务。

结论与未来工作

  • 结论
    • 提出的框架通过优化硬件设计实现了14B参数LLM的边缘部署,克服了传统功耗和计算能力的限制。

    • 提出的两阶段提示设计框架实现了LLM引导的任务规划与低级反应能力之间的有效交互。

    • 在需要环境意识和操作精度的关键任务中,该框架表现出有效性。

    • 实验表明,LLM推理和反应模块之间的双向信息流可以应用于具有特定设计方法的通用任务,且机载LLM运行对无人机(尤其是安全关键操作)有益。

  • 未来工作
    • 进一步减轻无人机重量,将当前使用的铝合金框架替换为碳纤维等更轻的材料。

    • 通过真实飞行测试进一步验证系统的有效性,并将硬件平台开源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/81517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构 -- 树形查找(三)红黑树

红黑树 为什么要发明红黑树 平衡二叉树AVL:插入/删除很容易破坏平衡性,需要频繁调整树的形态。如:插入操作导致不平衡,则需要先计算平衡因子,找到最小不平衡子树(时间开销大),在进行…

容器化-k8s-使用和部署

一、K8s 使用 1、基本概念 集群: 由 master 节点和多个 slaver 节点组成,是 K8s 的运行基础。节点: 可以是物理机或虚拟机,是 K8s 集群的工作单元,运行容器化应用。Pod: K8s 中最小的部署单元,一个 Pod 可以包含一个或多个紧密相关的容器,这些容器共享网络和存储资源。…

力扣-283-移动零

1.题目描述 2.题目链接 283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 3.题目代码 class Solution {public void moveZeroes(int[] nums) {int dest-1;int cur0;while(cur<nums.length){if(nums[cur]0){cur;}else if(nums[cur]!0){swap(nums,cur,dest1);cur;dest…

前端开发笔记与实践

一、Vue 开发规范与响应式机制 1. 组件命名规范 自定义组件使用大驼峰命名法&#xff08;如 MyComponent&#xff09;&#xff0c;符合 Vue 官方推荐&#xff0c;便于与原生 HTML 元素区分。 2. Proxy vs defineProperty 特性Proxy&#xff08;Vue3&#xff09;Object.defi…

如何给PSCAD添加库文件

1、点击Options 2、选择蓝色的选项 3、查看Intel(R) Visual Fortran Compiler XE 的版本 4、打开原文件的Library 5、打开 6、点击这个文件的右键 7、然后选择第一项project setting 9、先把第8步中link里面原有的路径删除&#xff0c;再点browes[A1] &#xff0c;然后选择 [A…

milvus+flask山寨《从零构建向量数据库》第7章case2

继续流水账完这本书&#xff0c;这个案例是打造文字形式的个人知识库雏形。 create_context_db: # Milvus Setup Arguments COLLECTION_NAME text_content_search DIMENSION 2048 MILVUS_HOST "localhost" MILVUS_PORT "19530"# Inference Arguments…

【第一篇】 创建SpringBoot工程的四种方式

简介&#xff1a; 通过此篇博客你可以使用任何方式进行创建 SpringBoot 项目&#xff0c;并且在文章的最后附上答疑解惑一节&#xff0c;为你排除在使用过程中发生的常见问题。文章内容若存在错误或需改进的地方&#xff0c;欢迎大家指正&#xff01;若对操作有任何疑问欢迎留言…

GPT( Generative Pre-trained Transformer )模型:基于Transformer

GPT是由openAI开发的一款基于Transformer架构的预训练语言模型&#xff0c;拥有强大的生成能力和多任务处理能力&#xff0c;推动了自然语言处理&#xff08;NLP&#xff09;的快速发展。 一 GPT发展历程 1.1 GPT-1&#xff08;2018年&#xff09; 是首个基于Transformer架构…

网络检测工具InternetTest v8.9.1.2504 单文件版,支持一键查询IP/DNS、WIFI密码信息

—————【下 载 地 址】——————— 【​本章下载一】&#xff1a;https://drive.uc.cn/s/295e068b79314 【​本章下载二】&#xff1a;https://pan.xunlei.com/s/VOQDXguH0DYPxrql5y2zlkhTA1?pwdg2nx# 【百款黑科技】&#xff1a;https://ucnygalh6wle.feishu.cn/wiki/…

CSS- 4.1 浮动(Float)

本系列可作为前端学习系列的笔记&#xff0c;代码的运行环境是在HBuilder中&#xff0c;小编会将代码复制下来&#xff0c;大家复制下来就可以练习了&#xff0c;方便大家学习。 HTML系列文章 已经收录在前端专栏&#xff0c;有需要的宝宝们可以点击前端专栏查看&#xff01; 点…

配置WebStorm键盘快捷键

目录 配置快捷键添加键盘快捷键添加鼠标快捷键添加缩写重置为默认快捷键 禁用双快捷键用户快捷键的保存位置与操作系统冲突 配置快捷键 WebStorm包含预定义的快捷键&#xff0c;同时允许自定义快捷键。要查看快捷键配置&#xff0c;请打开“设置”对话框&#xff0c;然后选择K…

Java 21 + Spring Boot 3.5:AI驱动的高性能框架实战

简介 在微服务架构日益普及的今天,如何构建一个既高性能又具备AI驱动能力的后端系统成为开发者关注的焦点。本篇文章将深入探讨Java 21与Spring Boot 3.5的结合,展示如何通过Vector API和JIT优化实现单线程性能提升30%,并利用飞算JavaAI生成智能重试机制和超时控制代码,解…

Matrix-Game:键鼠实时控制、实时生成的游戏生成模型(论文代码详细解读)

1.简介 本文介绍了一种名为Matrix-Game的交互式世界基础模型&#xff0c;专门用于可控的游戏世界生成。 Matrix-Game通过一个两阶段的训练流程来实现&#xff1a;首先进行大规模无标签预训练以理解环境&#xff0c;然后进行动作标记训练以生成交互式视频。为此&#xff0c;研…

AI生成信息准确性,Ask-Refine提问策略,Agent最少的工具箱是什么样的?

关于AI生成信息准确性的探讨 在社群聊天记录中&#xff0c;用户提出在使用多种AI工具搜索培生出版企业上市信息时&#xff0c;遇到80%信息错误的问题&#xff0c;质疑AI为何无法胜任简单的网络信息爬取任务&#xff0c;并表达了对AI实用性的期望。 我抽空对此做出解答&#xff…

Linux系统中部署java服务(docker)

1、不使用docker ✅ 1. 检查并安装 Java 环境 检查 Java 是否已安装&#xff1a; java -version✅ 2. 上传 Java 项目 JAR 文件 可以创建一个server文件夹&#xff0c;然后上传目录 查看当前目录 然后创建目录上传jar包 ✅ 3. 启动 Java 服务 java -jar hywl-server.jar…

遨游科普:三防平板是什么?有什么功能?

清晨的露珠还挂在帐篷边缘&#xff0c;背包里的三防平板却已开机导航&#xff1b;工地的尘土飞扬中&#xff0c;工程师正通过它查看施工图纸&#xff1b;暴雨倾盆的救援现场&#xff0c;应急队员用它实时回传灾情数据……这些看似科幻的场景&#xff0c;正因三防平板的普及成为…

Flask Docker Demo 项目指南

首先&#xff0c;创建一个新的项目目录并创建必要的文件&#xff1a; mkdir flask-docker-demo cd flask-docker-demo创建一个简单的Flask应用 (app.py)&#xff1a; from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello, Docker World…

GO语言语法---if语句

文章目录 1. 基本语法1.1 单分支1.2 双分支1.3 多分支 2. Go特有的if语句特性2.1 条件前可以包含初始化语句2.2 条件表达式不需要括号2.3 必须使用大括号2.4 判断语句所在行数控制 Go语言的if语句用于条件判断&#xff0c;与其他C风格语言类似&#xff0c;但有一些独特的语法特…

自动化 NuGet 包打包与上传:完整批处理脚本详解(含 SVN 支持)

在大型项目中&#xff0c;我们常常需要定期打包多个 .csproj 项目为 NuGet 包&#xff0c;并上传到私有 NuGet 服务。这篇文章分享一份实战脚本&#xff0c;支持以下自动化流程&#xff1a; 自动读取、更新 .csproj 文件中的 Version、PackageOutputPath 等节点&#xff1b; 自…

刷leetcodehot100返航版--双指针5/16

for (int i 0, j 0; i < n; i ) { while (j < i && check(i, j)) j ; // 具体问题的逻辑 } 常见问题分类&#xff1a; (1) 对于一个序列&#xff0c;用两个指针维护一段区间 (2) 对于两个序列&#xff0c;维护某种次序&#xff0c;比如归并排序中…