【文献分享】基于感知质量的滚动优化无人机导航

news2025/2/27 7:22:55

论文题目:Perception-aware Receding Horizon Navigation for MAVs

作者:Zhang, Zichao ; Scaramuzza, Davide

作者机构:苏黎世大学

论文链接:https://files.ifi.uzh.ch/rpg/website/rpg.ifi.uzh.ch/html/docs/ICRA18_Zhang.pdf

研究目的:为了安全、准确地到达指定的目的地,同时最小化其状态估计的不确定性

主要贡献:

  • 利用前向单目相机用于状态估计和建图。
  • 利用单目状态估计和地图系统的信息,生成一个候选轨迹库,并从感知质量、碰撞概率和到目标的距离三个方面对每条轨迹进行评分,选择得分最高的轨迹。
  • 在一个实际的四旋翼机上通过仿真和实际实验证明,与纯反应式导航系统相比,文中的主动式导航方法能够提高目标到达任务的状态估计精度,特别是在困难场景(例如,弱纹理)下。

1 前言

微型飞行器(MAVs)既灵活又通用,适用于工业检测、农业和货物运输等各种任务。为了使无人机能够在未知环境中自主运行,需要可靠的定位和对自身位姿的估计。在用于状态估计的不同传感器中,摄像机重量轻且节能,非常适合于微型飞行器。

在对于基于视觉的状态估计中,摄像机的运动对估计精度有重要影响。因此,在规划无人机的运动时,既要考虑以上的任务,又要考虑感知质量

本文的设计思路是一个典型的ActiveSLAM问题,作者选择了使状态估计精度最大化的运动,使得无人机在运行过程中不至于发生定位丢失,而且他们没有摒弃了优化全局地图中的运动轨迹的方法,而是用滚动的方式来解决主动SLAM问题,这样有效地降低了计算资源。

形象说明:他们算法的示意图如上所示,这个方法遵循图中蓝色轨迹运动,这个轨迹可以避开障碍物、到达指定的目的地并且最小化状态估计的不确定性。相比之下,纯反应式导航方案(红色线)虽然距离更近,但会进入无纹理区域,导致状态估计误差大,最终无法到达指定的目的地。

2 本文架构

该系统包括单目状态估计和建图系统以及运动规划系统。

  • 单目状态估计和建图系统:首先使用SVO来估计摄像机的6自由度姿态。利用多传感器融合(MSF)软件将姿态估计与IMU测量进一步融合,得到正确的尺度和额外的速度估计。然后,将状态估计值和图像输入REMODE的变体,得到正面视图的密集三维地图。在使用稠密地图进行运动规划之前,利用OctoMap来降低地图中的噪声。

  • 运动规划系统:由轨迹生成模块和轨迹评估模块组成。使用一种有效的轨迹生成方法,根据当前状态估计生成候选轨迹库。然后,我们根据感知质量、碰撞概率和到目标的距离三个指标评估每个轨迹。

3 单目状态估计与建图

文中的单目状态估计和建图采用SVO+MSF进行状态估计,通过REMODE生成稠密点云进行避障。SVO是一种非常有效的VO算法,适用于资源受限的系统(无人机)。

首先,为了评估感知质量,他们还从SVO中提取一个活动地图。在内部SVO维护一组稀疏点,这些点可以分为标志和种子两类。

  • 标志点是从不同的帧多次观测到的三维点,它们的位置已经得到了很好的估计,对帧姿态估计的准确性贡献最大
  • 种子是三维点,其位置尚未精确估计。

然后从与当前帧重叠的关键帧中提取可见的标志,我们将这些标志记为活动地图(图3)。

其次,使用Octomap来进一步降低REMODE输出中的噪声。如果密集点云包含过多的离群值,轨迹评估模块会错误估计碰撞概率,导致不必要的避碰机动。图4展示了活动地图和稠密地图,分别用MA和MD表示。

4 轨迹生成

轨迹生成函数:
f ( t ) ← g ( p 0 , v 0 , p f , t f ) f(t)← g(p_{0},v_{0},p_{f},t_{f}) f(t)g(p0,v0,pf,tf)

p0和v0是轨迹在世界坐标系中的初始位置和速度,来自当前状态估计。pf是轨迹的期望终点,tf是四旋翼跟随轨迹到达pf所需的时间。输出是函数f(t)。对于t∈[0,tf],f(t)给出了时刻t时轨道上的状态(位置、方向、速度)。

因为使用了前视摄像机,希望在前方可见的方向移动,所以通过选择四旋翼前面一段弧上的端点来规划轨迹,如下图所示。这样只需要知道圆弧的半径r和角度θ即可,当半径r为一个设计参数时(固定值),θ的计算公式为:
θ = m a x ( k θ ∣ ∣ v 0 , θ m a x ) \theta = max(k_{\theta}||v_{0},\theta_{max}) θ=max(kθ∣∣v0,θmax)
其中kθ是常数。直观地说,θ随着速度的增加而增加,直到达到最大值θmax。然后使用θ和l,就可以均匀地采样弧上的端点。在生成N个候选轨迹后,以一个固定的时间间隔从每个轨迹上采样J个姿态。

然后根据以下公式,选择得分最高的轨迹Cbest驱动无人机运动:
C b e s t = a r g m a x ( 1 − p c o l ) ( R p e r c + R g o a l ) + p c o l R c o l C_{best}=argmax(1-p_{col})(R_{perc}+R_{goal})+p_{col}R_{col} Cbest=argmax(1pcol)(Rperc+Rgoal)+pcolRcol
其中pcol是碰撞障碍物的概率(即密集地图)。Rcol、Rperc和Rgoal分别给出了与碰撞风险、感知质量和目标进度相关的奖励,使用D-opt标准的模拟形式来计算感知质量,其他具体推导在这里不展开,感兴趣可以阅读原文。

下图展示碰撞概率的计算。左栏显示模拟轨迹(黑色箭头)和障碍物(水平白带),右栏显示使用不同方法计算的碰撞概率。轨迹指数从左向右增加。

5 实验

5.1 仿真实验

作者使用Rotors模拟器搭建了仿真环境,在每个场景中,从稍微不同的起始位置启动四旋翼机,并命令它飞到指定的目的地10次,在每次运行中,一旦状态估计偏离地面真相超过5米,就终止执行并报告试验失败,一旦状态估计到给定目的地的距离小于3米,就报告试验成功。地图如下图所示:

下面这些图为实验结果,展示了所提出方法的优势:

  • 第一个场景L形状由纹理强的区域(草和石头)和纹理较弱的区域(左下角的黑色区域)组成。可以观察到,纯反应式导航方法指令四旋翼机直接飞向目标,但轨迹经过视觉退化部分,导致状态估计误差较大。相比之下,文中的方法避免了四转子进入纹理较少的区域,并且能够保持合理的状态估计。
  • 第二个场景转换在中间包含一个视觉退化区域,该区域位于起点和终点之间。虽然文中的方法能够使无人机走了更远的路才到达目的地,但反应式导航无法成功完成任务。
  • 在第三场景障碍物中,地面几乎没有纹理,大部分视觉信息来自障碍物。在这个场景中,文中的方法和反应式导航的轨迹与前两个场景差别不大,但是文中的方法的状态估计误差仍然明显较小
  • 第四个场景纹理完全,没有明显的视觉退化部分。反应式导航和文中的方法在这个场景中都表现得很好,文中的方法也有更好的性能。

5.2 真实世界的实验

下图显示了真实世界实验环境和实验结果,从实验结果可以看出,无人机并没有直线的前往目标,而是选择了一条距离稍长但纹理信息更丰富的路线。

6 总结

这篇文章出自苏黎世大学,我认为这篇文章的内容、配图以及公式推导都非常清晰明了,当时我读这篇文章的时候还是刚接触SLAM不就,但是看这篇文章也不会觉得困惑与无聊;作者提出的无人机ActiveSLAM解决方案也十分创新高效,通过文中的实验结果,可以清晰地看出他们所提出方法的优势!推荐大家阅读!

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

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

相关文章

【雕爷学编程】Arduino动手做(122)---BH1750光照传感器

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

使用近10年,说说向大家推荐Linux系统的理由

使用linux已经快十年了,一直想推荐身边的使用linux,但是一直没有分享。但是现在我想分享推荐了。下面我们一起聊聊为什么我向大家推荐linux。 为什么现在我想推荐了呢?是因为我自认为相对于同龄人来说,我使用桌面版的时间算是挺长的了&#…

彻底搞懂什么是阿里云服务器vCPU?

阿里云ECS服务器vCPU和CPU是什么意思?CPU和vCPU有什么区别?一台云服务器ECS实例的CPU选项由CPU物理核心数和每核线程数决定,CPU是中央处理器,一个CPU可以包含若干个物理核,通过超线程HT(Hyper-Threading&am…

走向计算机视觉的通用人工智能:从GPT和大型语言模型中汲取的经验教训 (下)...

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID|计算机视觉研究院 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2306.08641.pdf 计算机视觉研究院专栏 Column of Computer Vision Institute 人工智能…

Matlab预测模型-灰色预测模型

预测模型-灰色预测模型 灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。灰色预测对原始数据进行生成处理来寻找系统变动的规律,并生成有较强规律性的数据序列,然后建立…

Linux学习[19]管线命令详解1---cut, grep, sort, wc, uniq

文章目录 1. 何为管线2. 摘取命令:cut, grep2.1 cut2.2 grep 3. 排序命令sort,wc,uniq3.1 sort3.2 uniq3.3 wc 总结 1. 何为管线 管线命令和Linux学习18里面的连续执行指令少许不同。他是只有在前面指令执行正确的时候,才会执行管线命令。 即这个管线命…

基于Vue+Node.js的宠物领养网站的设计与开发-计算机毕设 附源码 83352

基于VueNode.js的宠物领养网站的设计与开发 摘 要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由…

彻底卸载mysql的详细步骤

目录 一、前言 二、操作步骤 (一) 停止mysql的服务 (二)控制面板卸载 (三)清除残留的文件 (四)删除注册表内容 (五)删除MySQL环境变量 一、前言 卸载…

spider-flow新手暴力入门

1.入口 链接跳转: spider-flow 或者本地有git软件直接输入gittt中的链接地址,回车键梭哈即可 2.环境部署,必备jdk8mysql idea打开项目,重点修改如下 mysql用小皮软件(phpstudy)自带的mysql5,navicat软件导入sql文…

SEO一般多久时间才会有效果?

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是SEOSEO的时间…

Sui x KuCoin Labs夏季黑客松第二批入围项目公布

Sui x KuCoin Labs夏季黑客松仍在如火如荼地进行中。自第一批入围项目名单公布后一周,第二批入围项目现已经过审核,入围最终Demo Day。 第二批入围名单 Vimverse Vimverse是一个基于Sui构建的创新生态金融平台,旨在释放去中心化储备货币协…

计算物理专题:主值积分

计算物理专题:主值积分 吴式枢理论 主值积分 设在以及上可积,其中为任意小的正数,当两者独立地趋于零,极限存在。如果,这个极限存在,则称它为瑕积分的主值,记作无界函数的改造则该瑕积分的主值…

使用鲁棒优化的定价策略进行微电网不平衡管理研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

童安格杀猪和金钥匙-UMLChina建模知识竞赛第4赛季第7轮

DDD领域驱动设计批评文集 欢迎加入“软件方法建模师”群 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 本轮每题分数较少,需最先答对所有4题,才能获得本轮优胜。 所有题目的回答必须放…

Python 进阶(一):Python连接MySQL数据库和CRUD操作

MySQL数据库的连接和CRUD操作 前言Python连接MySQL的五种方式1. 安装mysql-connector-python2. 连接数据库3. 查询数据4. 插入数据5. 更新数据6. 删除数据 前言 本文基于MySQL8.x版本的学习,python版本基于当前最新的3.x,windows操作系统下mysql的安装流…

对骨架进行去毛刺处理

文章目录 0. 效果1. 基本内容2. 参考 0. 效果 红色:端点 绿色:节点 蓝色线条:毛刺(根据长度定义) 1. 基本内容 本文中的端点和节点的获取是依据论文《一种有效的骨架毛刺去除算法》中的内容提取的。 端点&#…

Chromium多进程架构,你知道多少?

一、前言 国内外主流的浏览器,大多采用的是谷歌的Chromium 浏览器内核,Chromium是一个多进程多线程架构的Web引擎,很多应用和底层开发者希望了解Chromium中的进程和线程的种类和用途,以便能利用相关信息提升应用的性能。为此&…

C++【一棵红黑树封装 set 和 map】

✨个人主页: 北 海 🎉所属专栏: C修行之路 🎃操作环境: Visual Studio 2019 版本 16.11.17 文章目录 🌇前言🏙️正文1、红黑树的完善1.1、修改默认成员函数1.1.1、默认构造1.1.2、析构 ---> …

nodejs 跳蚤市场网站-计算机毕设 附源码83381

nodejs 跳蚤市场网站 目 录 摘要 1 绪论 1.1选题背景与意义 1.2国内外发展情况 1.3node.js主要功能 1.4node.js功能模块 1.5论文结构与章节安排 2跳蚤市场网站系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.3.2数据修改流程 2.3.3数据删除流程 …

django公交线路查询系统-计算机毕设 附源码85021

django公交线路查询系统 摘 要 本论文主要论述了如何使用django框架开发一个公交线路查询系统,本系统将严格按照软件开发流程进行各个阶段的工作,面向对象编程思想进行项目开发。在引言中,作者将论述该系统的当前背景以及系统开发的目的&…