[运动规划算法]空中机器人在未知环境中的快速自主探索

本文主要是介绍[运动规划算法]空中机器人在未知环境中的快速自主探索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、快速自主飞行中的重规划方法
    • 1.基于梯度的轨迹优化方法
    • 2.Perception-aware replanning
  • 二、快速自主探索中的层级规划方法
    • 1.增量式边界检测和聚类
    • 2.全局行程规划
    • 3.局部视点细化
    • 4.局部轨迹生成
  • 三、完整自主飞行系统
  • 四、总结
    • 1.现存的问题
    • 2.未来的研究方向


前言

来自香港科技大学周博宇的线上Talk分享https://www.techbeat.net/talk-info?id=499

自主探索是用自主机器人对未知环境进行快速重建的过程,它在许多实际应用,比如工业检测、精准农业、搜索救援中,都是一个基础问题。无人机由于其特有的灵巧性,十分适合应用于自主探索。本次分享将介绍我们在无人机快速自主探索方面取得的进展和思考。

分享内容大纲:

  1. 快速自主飞行中的重规划方法
  2. 快速自主探索中的层级规划方法
  3. 完整自主飞行系统
  4. 总结
    在这里插入图片描述

一、快速自主飞行中的重规划方法

无人机如果在复杂的环境中快速探索,为可能躲避出现的障碍物,它需要高效鲁棒的轨迹重规划方法,对于无人机而言,它存在的一些挑战有:
1、规划的时间必须足够的短,因为无人机飞行速度比较快而且装载的传感器感知范围有限,这就意味着它必须在短时间内规划出有效的轨迹进行躲避;
2、需要高质量的轨迹来实现安全平滑的导航;
3、传感器感知到障碍物的时候不应被动地进行躲避,而应该主动地感知周围环境提前作出躲避策略。

1.基于梯度的轨迹优化方法

基于梯度的轨迹优化方法是近年来无人机领域非常流行的局部轨迹生成方法,在无人机领域有广泛的应用。优点在于可以高效地生成局部轨迹,但是计算曲线积分比较复杂,导致优化效率并不高。 为了解决该问题,使用distinct轨迹进行优化,可以简化曲线积分的计算。
在这里插入图片描述
上述的方法解决了单条轨迹高效优化的问题, 但单独优化一条轨迹是无法保证解的质量,因为在基于梯度的轨迹优化里面,轨迹的变形是必须连续的且不能穿过障碍物,换句话说,如果处于复杂的环境中无人机很可能被障碍物限制在局部区域,陷入到局部最小值的状态,解无法手收敛到全局最优。因此轨迹的初始状态是非常重要的。要达到更高解的质量,可以采用动力学搜索的方法去搜索出更好的初值,让初值更接近于全局最优再进行优化时解就可以收敛地很好。另外一种方法是基于采样的规划方法生成一个拓扑网络,然后从中提取多条不同的拓扑路径,并基于这些路径生成多条优化的拓扑轨迹,优点是提高求得全局最优解的概率。

2.Perception-aware replanning

以往无人机都是传感器感知到障碍物了才采取轨迹重规划的被动地进行躲避障碍物,这可能导致无人机在传感器视野盲区内无法应对突然出现的障碍物。为了应对这种情况,可以改进传感器朝着速度方向观测的策略,在满足动力学可行性约束的情况下允许“左顾右盼”来观测周边的环境,这样可以更大程度地降低环境的不确定性,避免飞行中可能出现的危险。

在这里插入图片描述


二、快速自主探索中的层级规划方法

快速探索以往策略与现在策略的对比
在这里插入图片描述
在这里插入图片描述

1.增量式边界检测和聚类

非常常见以及出现很多的探索方法,原理是在网格地图中存在已知区域和未知区域的边界,这些边界可以作为机器人搜索新信息的参考位置。它的缺点是它需要处理整张地图来处理这些边界,这样如果处理的是一张大地图则代价是非常昂贵的,所以我们更希望这些边界是增量式地被检测出来。

采用以下策略:
1、每次发现边界有变化的时候在地图的更新范围内把这些边界删除;
2、重新再检测新的边界;
3、将边界网格进行聚类处理,滤除一些噪声;
4、 将一些大的边界分割成小的边界,因为传感器的视野范围有限,有些大的边界无法进行覆盖,分割的小边界单独用一个视野来覆盖,为之后的决策提供便利。
在这里插入图片描述
在这里插入图片描述

2.全局行程规划

全局行程规划以往比较多的会采用贪心的策略,例如找离得最近的边界作为下一个目标点,长远来看这种策略是比较低效的,我们更希望寻找可以覆盖所有边界的全局行程规划来访问每个边界,这个问题可以理解是旅行商问题的变种,与标准的旅行商问题不同的是,它访问完所有节点后并不需要返回原点。
在这里插入图片描述

3.局部视点细化

全局行程规划后可以得到最优的顺序来访问地图中当前所存在的边界,但是局限是对每个边界只考虑了一个viewpoint,因此通过考虑更多的viewpoints排列组合来找出更优秀的探索路径。在这里插入图片描述

4.局部轨迹生成

以上得出的viewpoint是离散的,无人机要执行的话需要连续平滑的轨迹。和之前distinct轨迹不同的,做了略微的扩展,不仅考虑了轨迹的安全性和平滑性,也考虑了总的时间,希望从当前viewpoint到下一个viewpoint的总时间最短从而提高整个探索过程的效率。整个轨迹优化问题属于非线性优化问题,目标函数考虑了平滑性、总时间、安全性约束、动力学约束以及边界条件约束。
在这里插入图片描述


三、完整自主飞行系统

状态估计:VINS
稠密建图:FIESTA,FIESTA维护一个网格地图的同时产生一个距离场,在基于梯度的规划方法中使用较多,用来查询某个点到障碍物的距离。
无人机:双目相机、CPU
在这里插入图片描述


四、总结

1.现存的问题

目前整个系统在规划方面是比较完整以及高效的,但在状态估计以及稠密建图方面略有不足。因为状态估计长时间会产生累计的误差,也会导致建图的建出的地图与实际环境不相符。当然也有些可以解决的措施。
在这里插入图片描述

2.未来的研究方向

去中心化的多机探索
在这里插入图片描述
在这里插入图片描述


这篇关于[运动规划算法]空中机器人在未知环境中的快速自主探索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923741

相关文章

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

乐鑫 Matter 技术体验日|快速落地 Matter 产品,引领智能家居生态新发展

随着 Matter 协议的推广和普及,智能家居行业正迎来新的发展机遇,众多厂商纷纷投身于 Matter 产品的研发与验证。然而,开发者普遍面临技术门槛高、认证流程繁琐、生产管理复杂等诸多挑战。  乐鑫信息科技 (688018.SH) 凭借深厚的研发实力与行业洞察力,推出了全面的 Matter 解决方案,包含基于乐鑫 SoC 的 Matter 硬件平台、基于开源 ESP-Matter SDK 的一

UnrealScriptIDE调试环境部署

先安装vs2010   再安装VSIsoShell.exe, 下载地址 https://pan.baidu.com/s/10kPNUuDGTbWXbz7Nos-1WA       fd3t   最后安装unside,下载地址 https://archive.codeplex.com/?p=uside  安装中间有一步选择Binary文件夹要选对路径。   安装好以后,启动 UDKDe

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

代码随想录算法训练营:12/60

非科班学习算法day12 | LeetCode150:逆波兰表达式 ,Leetcode239: 滑动窗口最大值  目录 介绍 一、基础概念补充: 1.c++字符串转为数字 1. std::stoi, std::stol, std::stoll, std::stoul, std::stoull(最常用) 2. std::stringstream 3. std::atoi, std

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

API-环境对象

学习目标: 掌握环境对象 学习内容: 环境对象作用 环境对象: 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境。 作用: 弄清楚this的指向,可以让我们代码更简洁。 函数的调用方式不同,this指代的对象也不同。【谁调用,this就是谁】是判断this指向的粗略规则。直接调用函数,其实相当于是window.函数,所以this指代window。