当前位置: 首页 > news >正文

无人机覆盖路径规划综述

摘要:覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来,无人机已被应用于涉及地形覆盖的多个应用领域,如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方法相关的现有研究,特别是使用无人机的研究。考虑到目标区域的信息可用性,我们总结了简单的几何飞行模式和更复杂的基于网格的解决方案。调查的覆盖方法根据经典分类法进行分类,如无分解、精确细胞分解和近似细胞分解。这篇综述还考虑了感兴趣区域的不同形状,如矩形、凹多边形和凸多边形。还介绍了通常用于评估覆盖任务成功与否的性能指标。

关键词:无人机;覆盖路径规划;地形覆盖率;精确细胞分解;近似细胞分解

1.引言
无人机已越来越多地应用于广泛的应用领域,如监控、智能农业、摄影测量、灾害管理、民用安全、野火跟踪、云监控、结构监督和电力线检查。无人机由空中平台组成,飞行器上没有飞行员。这种平台由人工远程手动操作,但它们也执行自动预编程飞行。可以使用与机载传感器集成的智能系统执行自主飞行。
覆盖路径规划(CPP)问题被归类为机器人学中的一个运动规划子主题,其中有必要为机器人建立一条路径,以探索给定场景中的每个位置。尽管这种类型的空中平台在自主飞行方面取得了技术进步,但重要的是要强调,由于安全措施,每架无人机的起飞、任务执行和着陆阶段通常由两人协助。飞行员监督任务,在飞行过程中发生故障或紧急情况时,可以将飞行模式更改为手动模式,而基地操作员在任务执行过程中监控导航数据,如高度变化和电池放电。
1.1.无人机分类
无人机可分为两种主要类型,固定翼和旋转翼。考虑到控制和制导系统,这两种类型都具有特定的优势和挑战。固定翼无人机具有刚性机翼和翼型,可根据前进空速产生的升力进行飞行。导航控制是通过机翼(副翼、升降舵和方向舵)上的控制面获得的。空气动力学支持更长的耐力飞行和游荡,也允许高速运动。此外,与旋翼飞行器相比,这些飞行器可以携带更重的有效载荷。然而,这些平台需要跑道才能起飞和降落,并且无法执行悬停任务,因为它们在执行任务时需要不断移动。
旋转翼使用旋转叶片具有机动性优势。这些平台能够执行垂直起降(VTOL)、低空飞行和悬停任务。旋转叶片的使用产生空气动力学推力,不需要相对速度。这种类型的空中平台也可以分为单旋翼(直升机)和多旋翼(四旋翼和六旋翼)。
单旋翼有两个旋翼,主旋翼用于导航,尾旋翼用于控制航向。这些飞行器通常能够垂直起飞和降落,它们不需要叶片上的气流就可以向前移动。相反,叶片本身会产生所需的气流。与多旋翼发动机相比,燃气发动机能够实现更长的续航里程。这种类型的飞行器可以携带高有效载荷,如传感器和机械手,同时执行悬停任务和户外任务中的长时间飞行。然而,这些平台具有机械复杂性和较高的成本。
根据转子叶片的数量,多转子可分为多个子类。最常见的是四旋翼机和六旋翼机,但也开发了三旋翼机和八旋翼机。多旋翼是快速灵活的平台,能够执行要求苛刻的机动。它们还能够悬停或沿着目标移动。然而,这些平台的有效载荷和续航能力有限。机械和电气的复杂性相当低,因为这些部件是在飞行和电机控制器中抽象出来的。
还有混合动力无人机,它是一种特定类型的空中平台,既有固定翼的优点,也有旋翼的优点,因此具有垂直起降的能力,飞行速度快,飞行时间长。这些无人机可分为敞篷无人机和尾座无人机。前者由一个混合平台组成,该平台执行基本机动,使飞机基准线保持在水平方向。后者是一种能够垂直起飞和降落在尾部的平台,向前倾斜以实现水平飞行[13]。最后,考虑到任务要求,如高度和续航能力,在文献中可以找到与无人机相关的其他类型的分类。在这些情况下,空中平台可以根据低、中、高海拔进行分类,也可以考虑短续航和长续航。
1.2.现有综述概述
文献中介绍了一系列与无人机控制、感知和制导相关的研究,如低成本无人机的系统识别方法、在有障碍物的环境中有和没有微分约束的轨迹规划、不确定条件下的无人机自主制导,直升机导航和控制技术以及无人机的感知和状态估计。
Choset介绍了一项关于移动机器人CPP的调查,作者将这些方法分为启发式方法或完全方法。在启发式方法中,机器人遵循一组定义其行为的简单规则,但这种方法不能保证覆盖成功。另一方面,完整的方法可以使用环境的单元分解来提供这些保证,该分解包括将空间离散化为单元,以简化每个子区域中的覆盖。作者提到的另一个重要问题是飞行时间,使用多个机器人可以最大限度地减少飞行时间,并减少转弯次数。最后,作者重点介绍了现有的环境信息。几种方法承认机器人先前关于搜索区域的知识(离线),而基于传感器的方法在覆盖期间实时获取此类信息(在线)。
关于CPP的最新调查提出了几种主要使用陆地车辆执行任务的方法和技术[21]。考虑到不确定性下的勘探,Juliá等人[22]提出了一项关于未知环境测绘策略的研究。机器人应该自主探索环境,收集数据并绘制导航地图。在缺乏全球定位信息的情况下,有必要使用同步定位和映射技术不断校正机器人的定位和方位估计。可以使用多个机器人来减少探索时间或提高地图质量,但需要协调策略。在这种策略中,机器人可以共享感知并构建工作空间的公共地图。这个全局地图可以以集中式或分布式的方式构建。
1.3本综述的动机
与无人机相关的现有调查涉及控制、感知和引导等重要问题。一些综述涉及CPP问题,但仅考虑陆地车辆,并简要提及无人机作为这些车辆的延伸。尽管在之前的调查中修订的陆地勘探技术可以扩展并应用于无人机,但在处理飞行器时必须考虑几个额外的方面,如飞行器的物理特性、续航能力、机动性限制、有效载荷受限、环境外部条件等。机载摄像头和传感器可以增加无人机的重量并降低续航能力,这是非常有限的,尤其是在多旋翼中。在这种无人机中,续航时间约为20-25分钟,即使在2018年发布的更复杂的机型中也是如此。此外,转弯机动和风场]增加了户外任务的能耗。
本文对覆盖路径规划进行了综述。我们的综述仅考虑与无人机相关的方法。采用Choset定义的经典分类法,根据所采用的细胞分解技术对现有方法进行分类。考虑了无分解的方法和使用精确和近似细胞分解的方法。后一种方法,也称为基于网格的方法,分为两个子部分,即完整信息和部分信息。完整信息小节探讨了保证覆盖所有分解细胞的任务完整性的算法,而部分信息小节介绍了在不确定性下进行覆盖的仿生方法。这篇综述考虑了目标区域的不同形状,包括矩形、凹面和凸面多边形。还根据可用信息对这些场景进行分类,以执行覆盖。此外,我们还探讨了通常用于评估覆盖任务成功与否的性能指标。
本篇综述组织如下:第2节讨论了覆盖路径规划问题,描述了目标区域的特征以及在飞行规划中如何处理这些区域。介绍了用于分割和离散目标区域的不同分解技术以及性能指标。第3节探讨了在不使用分解技术的目标区域中采用的简单飞行模式。第4节介绍了使用精确单元分解离散化的目标区域的覆盖解决方案。第5节介绍了使用近似单元分解离散为网格的感兴趣区域的覆盖方法。第6节总结了总体分析,强调了修订CPP方法的主要优点和缺点。第7节总结了综述,提出了未来在使用无人机进行覆盖路径规划方面可能存在的差距。
2.覆盖路径规划
给定由智能体的自由空间及其边界组成的目标区域,CPP问题包括规划一条覆盖整个目标环境的路径,同时考虑到智能体的运动限制和传感器的特性以及避免碰撞障碍物。在空域环境中,工作空间障碍物可以表示为无人机在规划阶段中不应考虑的禁飞区(NFZ),例如机场或危险建筑附近的区域。
目标环境通常使用分解技术划分为称为单元的不相交区域。单元的大小和分辨率可能会根据分解的类型而变化,并且应该应用特定的策略以确保完全覆盖。对于较大的单元,需要多次运动才能完全覆盖一个单元,而对于较小的单元,一次运动就足够了。这些单元通常具有与智能体相同的大小(地面覆盖)或与传感器的范围(空中覆盖)成比例,仅代表投影路径中的一个点。CPP问题将在下一小节中进一步探讨,包括目标区域的定义、细胞分解技术、性能指标和信息可用性。
2.1 目标区域
目标区域可以由 p p p个顶点的序列 { v 1 , . . . , v p } \left \{ v_{1} ,...,v_{p} \right \} {v1,...,vp}来表示。每个顶点 v i v_i vi都可以用一对坐标 ( v x ( i ) , v y ( i ) ) (v_x(i),v_y(i)) (vx(i)vy(i))来描述,而其内角可以用 γ i \gamma _{i} γi来表示。考虑任一顶点 v i v_i vi,多边形的下一个顶点可以描述为 v n e x t ( i ) v_{next(i)} vnext(i),其中 n e x t ( i ) = i ( m o d p ) + 1 next(i)=i(mod\ p)+1 next(i)i(mod p)+1。位于两个顶点 v i v_i vi v n e x t ( i ) v_{next(i)} vnext(i)之间的边可以称为 e i e_i ei,而其长度为 l i = ∣ ∣ v i − v n e x t ( i ) ∣ ∣ l_i=||v_i−v_{next(i)}|| li=∣∣vivnext(i)∣∣。此外,该区域可以包含内部NFZ,该内部NFZ被描绘为障碍点 { u 1 , . . . , u p } \left \{ u_{1} ,...,u_{p} \right \} {u1,...,up}的序列。图1展示了目标区域的三个示例。
在这里插入图片描述
图1.CPP任务探索的不同目标区域:(a)矩形;(b) 凸多边形;(c) 带有禁飞区的凹多边形。
在覆盖路径规划期间,目标区域的形状是需要关心的相关因素。一些方法只探索矩形区域或将区域形状简化为矩形,而其他方法则支持更复杂的形状,如表示不规则区域的凹凸多边形。有些方法甚至可以处理包含在覆盖期间必须避免碰撞的NFZ的目标区域。这些禁飞区可以代表根本不需要覆盖的区域或不允许无人机飞行的位置。通常采用不同的分解技术来减少复杂区域的凹度,或者将区域分割成更小的单元,以便于覆盖任务。
2.2.单元分解
CPP问题的主要关注点之一是保证场景的完整覆盖。这通常是通过在感兴趣的区域中应用单元分解来实现的,将目标自由空间划分为单元以简化覆盖。在文献中,有不同的单元分解方法,在涉及无人机的CPP问题中最常用的是精确单元分解和近似单元分解。精确的单元分解包括将工作空间拆分为子区域,也称为单元,这些子区域的重新合并正好占据目标区域。这些单元通常通过如往返运动等简单的方式来探索。通过这种方式,CPP问题可以简化为从一个单元到另一个单元的运动规划。这些运动是在共享相互边界的相邻单元之间执行的。考虑到邻接图表示,节点可以表示单元,而边可以识别相邻单元,如图2所示。因此,分解的单元是通过在目标区域中从一侧到另一侧的扫描线来创建的。单元的范围由每次扫描线越过障碍物边界时触发的事件定义。分解得到的单元可以存储为邻接图,并且可以执行搜索,以便找到只探索每个节点一次的连接路径。最终覆盖路径由单元内部执行的简单运动和单元间连接组成。
在这里插入图片描述
图2.将工作空间划分为子单元的邻接图表示

有两种重要的精确单元分解技术值得一提:梯形分解和boustrophedon分解(boustrophedon字面意思是“牛的路”,类似于动物在田里拖动犁时的运动。),分别如图3a、b所示。前者将感兴趣的区域划分为凸梯形单元,进行往返运动,并使用穷举行走来确定单元探索顺序,以实现覆盖。后者只考虑障碍物顶点,创建非凸的较大单元。在障碍物的两侧延伸一条扫掠线,这些区域被称为临界点。与梯形分解相比,boustrophedon分解能够减少梯形单元的数量并最小化覆盖路径长度。
在这里插入图片描述
图3.两种类型的精确单元分解:(a)梯形分解;(b) Boustrophedon分解。
近似单元分解技术将该区域离散为一组规则单元。这些规则单元格通常呈正方形,但也可以用三角形或六边形表示。基于网格的方法可以应用于近似区域,以生成覆盖路径。当考虑使用陆地机器人的覆盖时,单元的大小通常适合机器人的尺寸。然而,在空中覆盖中,无人机在距离地面一定高度飞行,携带相机作为传感器执行任务。在这种情况下,单元的大小与无人机搭载相机的覆盖面积成比例,如图4a所示,网格分辨率是通过图像要求(如分辨率和重叠率)以及图像传感器特性获得的。
在这里插入图片描述
图4.近似细胞分解:(a)投影面积;(b) 带有路点的规则网格。
无人机覆盖路径由一组k个航路点 { w 1 , . . . , w k } \left \{ w_{1} ,...,w_{k} \right \} {w1,...,wk}组成。每个航路点 w i w_i wi表示对无人机的导航命令,例如起飞、改变速度或移动到特定位置,并且包含关于纬度、经度和高度的信息。由于航路点具有引导无人机所需的所有定位信息,并且单元与摄像头的投影面积成比例,我们可以简化问题,假设每个单元的中心指的是一个路点,如图4b所示。

2.3.性能指标
覆盖算法必须考虑几个问题来保证覆盖任务的成功,例如目标区域的复杂性、禁飞区的存在与否以及使用单元分解技术的可能性。此外,覆盖算法应根据应用需求生成覆盖路径。例如,摄影测绘传感应用的主要目标是创建由一组重叠的航空照片组成的正交图像。在这种情况下,应用要求是保证图片中正面和侧面叠加的必要数量。这类应用的另一个必要要求是分辨率,可以计算为地面采样距离(GSD)。GSD是与图像中一个像素的边相对应的地面上的长度,或者是在地面上测量的像素中心之间的距离。无人机的飞行高度越低,GSD越小,图像质量越好。
因此,用于评估覆盖路径的候选解决方案的性能指标必须满足应用场景需求。此外,它还应考虑到覆盖范围是简单的还是连续的。在简单覆盖中,目标区域只被覆盖一次,而在连续覆盖中,目标i被扫描几次。在这两种情况下,覆盖范围都可以由单个或多个智能体执行。连续覆盖的具体指标包括检测到的对象/事件的数量、每个环境单元中的访问间隔和频率、间隔的二次平均值(QMI)[28]和频率的标准差(SDF)。
考虑到简单覆盖的情况,文献中发现的最常见的性能指标是:总行驶距离或路径长度、完成任务的时间、区域覆盖最大化和转弯机动次数。最小化覆盖路径长度与区域覆盖最大化之间存在权衡。在通过单元分解划分的工作空间中,路径长度不仅应在每个单元内最小化,而且应在相邻单元之间的中间路径中最小化,即连接一个单元的末端和下一个单元起点的路径。将无人机保持在感兴趣的区域内,避免飞越之前访问过的地点,并在更高的高度飞行,也可以最大限度地缩短覆盖距离。
多个机器人的使用减少了覆盖飞行时间。然而,对于一个机器人,可以考虑每行进单位路径长度所覆盖的面积。最大限度地减少这一数量可以缩短单机器人和多机器人覆盖的完成时间。使用多个机器人通常需要一个协调过程,包括划分目标区域并在无人机之间分配产生的子区域。工作空间可以分为两个不同的步骤进行划分和分配,也可以通过考虑智能体的相对性能的分布式方式同时使用协商协议进行分配。然而,包含最优区域分解、分配和有效覆盖的全解是一个协作控制问题,通常被归类为NP难问题。除此之外,一旦智能体退出任务或场景发生变化,就需要重新配置过程来划分区域并将其分配给其余智能体。因此,考虑到无人机在不同的高度飞行以避免碰撞,许多研究简化了这个问题。
此外,转弯机动次数经常被用作覆盖范围内的主要性能指标。当飞行器执行转弯机动时,它应该降低速度、旋转并再次增加速度。因此,执行的机动次数越多,所花费的时间和能量就越大。通过这种方式,作者经常探索最小化机动次数,以间接节省能源并延长任务时间。作者经常将路径长度、完成任务的时间和转弯次数等指标与能耗联系起来,试图将其最小化以节省能源。然而,为了有效地节省无人机的能源,还需要研究车辆的运动和约束、转弯角度和最佳速度等进一步的特征。正如Di Franco和Buttazzo所述,不同的距离可能具有不同的最佳速度,并且根据它们的长度,能耗最小。因此,作为使用无人机的主要技术边界,由于无人机在覆盖路径规划任务中的续航能力有限,能量消耗引起了研究人员的兴趣,并成为主要的优化标准。

2.4.信息可用性
无人机覆盖任务所采用的解决方案类型取决于工作空间的可用信息量。假设信息可能不断变化或不完全可用的动态环境,可以考虑随机决策。为了应对这种情况,无人机必须使用搭载传感器来收集工作空间数据,以执行覆盖,在路径的规划进程和覆盖进程之间不断切换。这种类型的在线覆盖有时被称为基于传感器的覆盖,因为它使用传感器信息来驱动覆盖操作。无人机一开始不具备关于工作空间的完整知识(或完整信息),应重新构建完整地图以成功执行任务。这里的挑战是在处理动态行为(例如,移动目标的定位)的同时保持更新的数据。另一方面,一些覆盖方法拥有所有可用信息,并且在规划阶段之前就知道场景的布局。在这种情况下,覆盖范围是离线的,通常分为三个顺序的主要步骤:分解、计划和执行。首先,在区域上应用单元分解技术,以离散和分割工作空间。其次,具有关于环境的全部知识的覆盖路径规划算法根据预定义的性能度量来搜索解决方案。最后,执行生成的路径并完成任务。重要的是要强调,在最后一步中,没有可能导致已建立路径发生变化的外部干扰,只有特殊情况,如预编程的故障保护。

3.不分解
用一架无人机在规则形状和非复杂的目标区域执行覆盖任务通常不需要任何类型的分解。简单的几何图案就足以探索这些区域。最常见的模式是往返(BF)和螺旋(SP)。前者被最流行的飞行控制软件Mission Planner采用,以使用标准模式实现区域覆盖。在这种模式下,运动由两个方向交叉的直线组成,在每轮结束时进行闭角机动。后者通常执行经过区域外部顶点的运动,并朝着中心点减小半径。
Andersen认为,有些方法只探索矩形区域,作者比较了不同类型的飞行模式。在这项工作中,往返模式被分为平行线和爬行线,如图5a、b所示,当搜索区域很大并且没有关于可能的目标会合点的信息时,这是优选的。方形飞行模式由直线和90◦ 向右转弯组成。图案从中心点开始,向边界延伸,遵循类似于椭圆形的图案,通常在需要均匀区域覆盖时使用,如图5c所示。
扇区搜索模式如图5d所示,由一条直线和当车辆到达该区域边界时向右120◦ 转弯组成。经过三个扇区后,路径返回到区域中心的初始点。然后,用以30经过三个扇区后,路径返回到区域中心的初始点。然后,用以30◦转向角的相同模式重复移动。屏障巡逻包括在搜索区域内空间分布的12个点的定义,如图5e所示。车辆在起点启动其轨迹,并使用圆周运动达到下一个点。从这一点开始,它不是继续圆形轨迹,而是跟随到更靠近右角的点,并到达中心点。
在这里插入图片描述
图5.没有分解的矩形区域中的简单飞行模式:(a)平行;(b) 爬行线;(c) 方形;(d) 扇区搜索;(e) 屏障巡逻。
Coombes等人分析了风扰动对固定翼无人机BF覆盖路径任务执行时间的影响。利用BF运动覆盖的圆形感兴趣区域,作者探索了不同的扫掠方向,从0度到360度,增量为10度,具有六种不同速度的预定义风向。根据模拟实验,覆盖方向必须与风向垂直,以最大限度地缩短飞行时间。然而,转向操纵直接受到垂直方向(顺时针或逆时针)选择的影响。作者认为,在分解成单元的更复杂的场景中,这些单元之间的过渡距离对飞行时间的影响比风向的影响更大。
最近的研究提出了能耗感知解决方案,探索无人机的动力学和行为,以节省能源。Di Franco和Buttazzo将规则形状的区域视为矩形和凸多边形,提出了一种用于摄影测量的能耗感知往返CPP方法(E-BF),该方法具有任务施加的能量和分辨率约束。在这种方法中,一种算法根据分辨率约束确定在最大高度来回运动的最佳配置,同时最小化转弯次数。作者声称,可以最大限度地减少以最佳速度飞行的能耗。此最佳速度随行驶距离而变化。
该算法找到最长边的第一个顶点,并计算与之平行的扫描方向。然后,它计算扫描线和路点的数量、扫描线和连续路点之间的距离以及重叠率。最后,一条直线将最远的顶点连接到初始顶点。还提出了一种算法改进,以避免先前探索的覆盖区域,如图6a所示。使扫描线数量均匀并增加重叠率,返回路径也可以用作扫描路径,如图6b所示。作者还提出了离线和在线故障保护措施。前一个是离线检查,以验证电池是否有足够的能量执行任务。后者在飞行过程中在线检查,并不断分析剩余能量是否能够将飞行器带回起点。
在这里插入图片描述
图6.能量感知往返覆盖路径规划算法:(a)奇数条纹;(b) 偶数条纹。
Cabreira等人针对规则形状目标区域提出了一种能量感知螺旋CPP算法(E-spiral)。该算法包括建立一条经过该区域每个顶点的覆盖路径。一旦第一次覆盖层完成,算法应减小半径,以便将无人机移向中心点,如图7所示。该算法以更宽的角度执行转弯操作,不需要在每次转弯时将速度降至零,从而减少了加速和减速周期。这种行为使直线路段采用的最佳速度保持更长时间,提供了比Di Franco和Buttazzo提出的更有效的节能。
在这里插入图片描述
图7.具有能量和分辨率约束的能量感知螺旋算法:(a)矩形区域;(b) 多边形区域。
E-BF和E-Spiral采用了Di Franco和Buttazzo提出的由实际测量得出的能量模型。在3750个不同的凸多边形区域中进行的模拟中比较了这些方法,这些区域具有不同的特征,如角点、不均匀性和尺寸。使用四旋翼机,作者还使用矩形和多边形区域的两种模式进行了实际实验,以分析任务期间消耗的能量。E-Spiral在模拟和实际飞行中都优于E-BF,考虑到任务期间消耗的能量,它可以被认为是凸多边形区域最有效的CPP方法。
李等人提出了一种用于无人机的三阶段CPP算法,其中作者探索了Di Franco和Buttazzo没有解决的重要特征,如有效载荷和功率变化。第一步是使用控制点建立三维地形模型,以获得分析模型。接下来,考虑起飞重量、飞行速度和空气摩擦,计算稳定功耗。作者认为,无人机在稳定状态下以恒定速度移动,从而得出了旨在最小化能量的最佳速度。此外,还构建了一个能耗图,以显示路径每个部分的能耗。最后,利用遗传算法进行优化,以发现包括所有顶点的最小成本路径。
Artemenko等人提出了用于平滑轨迹的能量感知算法。作者观察到,一旦无人机每次进行这些机动时都必须减速、旋转和加速,无人机就会花费大量时间和精力进行转弯。因此,使用Bézier曲线的概念,算法通过沿给定路径平滑机动来修改传统轨迹,如SCAN(往返)、HILBERT和LMAT,如图8所示。可以执行更有效的转弯机动,以最小减速度平滑移动。作者将修改后的轨迹与传统轨迹进行了比较,得出的结论是,新轨迹能够减少所花费的能量和时间,保持定位精度(LoLA)的水平。
在这里插入图片描述
图8.常规CPP路径:(a)希尔伯特曲线;(b) 扫描;(c) LMAT。
Forsmo等人将混合整数线性规划(MILP)用于涉及无人机的矩形区域的覆盖任务。某一区域的航路点分布考虑了无人机机载摄像头,以获得全覆盖。作者简化了问题,只考虑矩形障碍物,并将飞行器放置在该区域的不同区域,没有使用任何类型的区域分解,也没有正确处理飞行器之间的防撞问题。进行了仿真实验,以评估所提出的解决方案,考虑了不同的约束情况,如航路点访问顺序和相机距离减少。
考虑到不同场景的复杂性和规模,覆盖任务可能需要一组飞行器以合作的方式工作,以提高任务性能。Ahmadzadeh等人提出了一种使用多个固定翼异构无人机的矩形区域具有临界时间的协同覆盖算法。这些飞行器以恒定的速度在不同的固定高度飞行,如80米、90米、100米和110米。此外,车辆的机动性受到限制,前部或左翼都有固定的摄像头。使用基于整数线性规划的方法来生成考虑这些限制的解决方案。
带有正面摄像头的无人机的路径基本上是圆形的,而带有左侧摄像头的无飞机的路径由直线和左转组成。当车辆右转时,摄像头聚焦在地平线上,不会捕捉到覆盖区域的任何图像,或者图像分辨率急剧下降。作者将所提出的使用四个固定翼飞行器的方法与往返等简单方法进行了比较。由于运动约束和视场,诸如往返之类的简单模式提供了大约80%的目标区域覆盖率,而所提出的方法获得了100%的覆盖率。该方案在MATLAB和实际飞行中进行了模拟测试和评估。
4.精确单元分解
根据工作空间的大小和复杂性,可以在目标区域中采用精确的单元分解。使用这种技术,不规则形状的区域被分割成子区域,以减少凹陷并简化覆盖。这些子区域可以由单个或多个无人机覆盖。在前一种情况下,CPP方法必须涉及每个子区域中的覆盖路径以及连接这些子区域的中间路径。在后一种情况下,CPP方法必须考虑每架无人机的相对性能,以便计算每个子区域的大小。此外,应考虑安全裕度,以防止无人机之间发生碰撞。首先,我们修改了一些用于单无人机的CPP方法,使用前后和凸面和凹面的螺旋图案。接下来,我们将探讨处理多架无人机的合作策略。
4.1.单一策略
焦等人、李等人探索了一种考虑凹多边形区域的精确细胞分解方法。最初,通过最小宽度方法将工作空间分解为非凹子区域,该方法探索了Levcopoulos和Krznaric之前提出的贪婪递归方法。然后,进行垂直于扫掠方向的往返运动,扫掠方向是边缘和顶点之间的最小距离,以最大限度地减少转弯机动。通过凸分解(见图9a)获得的两个完全相邻且扫描方向相同的子区域被组合到子区域P4中,以避免不必要的移动,如图9b所示。也可以将运动方向从一个子区域更改为另一个子区域,以获得覆盖率的提高,如图9c所示。最后,定义子区域的最佳序列以连接最终轨迹,如图9d所示。
在这里插入图片描述
图9.凹多边形的分解和覆盖:(a)凸分解;(b) 子区域组合;(c) 覆盖路径;(d) 无方向图。
Torres等人提出了另一种探索凸和凹区域精确细胞分解的覆盖方法。作者的目标是使用飞行器捕捉图片,以实现三维重建。凸多边形可以通过BF运动根据最佳方向进行扫掠。然而,在凹多边形等更复杂的区域,需要检查任务是否可以以相同的方式执行,在扫掠线间没有间隙,即没有扫掠线穿过多边形外部的部分。这种特殊情况如图10a所示。当路径中断时,如图10b所示,使用多边形的精确分解来简化创建子区域的区域。
在这里插入图片描述
图10.在凹多边形中使用往返覆盖:(a)非中断路径;(b) 中断路径。
一旦为每个子区域定义了最佳扫描方向,就会考虑与方向相关的两个标准,探索四种不同的往返替代方案。备选方案影响过渡距离,即给定子区域A的最后一个点和给定子区域B的第一个点之间的距离。通过用每个备选方案调整子区域覆盖顺序,可以最小化过渡距离,从而最小化路径长度。当覆盖完成时,该方法使用直线将最后一点与第一个点直接连接起来。根据子区域的数量,探索所有排列可能会消耗较高的计算时间。因此,作者只使用相邻的子区域进行转换,从而减少了排列的数量。在两种情况下对拟议方法进行了评估。在第一个场景中,凹区域被分解为五个子区域,只考虑四个相邻。作者大大减少了排列的数量和生成解决方案所花费的计算时间,总距离的增量很小。在第二种情况下,将该方法与Li等人提出的使用相同区域的方法进行比较,如图11所示。所提出的方法将该区域分解为四个子区域,仅计算了80次转弯机动,而原始工作中有87次。
在这里插入图片描述
图11.凹区域分解方法的比较:(a)凸分解;(b) 凹凸分解。
Coombes等人提出了一种固定翼无人机探测风以减少飞行时间的覆盖路径规划技术。作者在之前的工作中将风纳入模型中以计算覆盖路径,并通过提出一种分解方法将复杂区域划分为凸多边形来扩展他们的工作。目标区域通过探索多边形的若干旋转的梯形分解来分解。细胞重组使用动态编程将细胞合并为凸多边形。需要注意的是,这种分解方法还考虑了区域外部的可选单元,以便找到飞行时间较短的不同分解。
无人机使用垂直于风向的往返运动来探索该区域,并被允许在目标区域外飞行。每条直线的初始和最终航路点与该区域的轮廓相交,无人机执行180度转弯机动,从一条直线的最后一点移动到下一条线的第一点。这种在有风的情况下的动作被称为次摆线转弯。它由连接航路点的最短曲线组成,考虑到固定翼限制转弯率。在路径计算过程中还考虑了相邻单元之间的过渡距离。
作者提出了一个名为风中飞行时间(FTIW)的成本函数,用于计算飞机覆盖某个区域所需的飞行时间。总时间是飞行直线、执行次摆线转弯和在单元格之间进行转换的时间之和。将所提出的方法(FTIW)与以前旨在最小化转弯次数(NT)和高度总和(MSA)的技术进行了比较。使用蒙特卡洛模拟生成的真实场和几个随机多边形,作者声称,考虑到执行覆盖所需的飞行时间,他们的FTIW方法优于以前的两种方法。
Xu等人提出了一种固定翼无人机的最优覆盖算法,该算法能够避免在任意形状的障碍物区域和先前探索的区域中飞行。使用最初由Choset和Pignon提出的Boustrophedon细胞分解(BCD),在离线阶段通过位图表示将目标区域分解为一组简单的单元。BCD是一种精确的单元分解,能够处理非多边形障碍物,与梯形分解相比,它提供了更有效的覆盖路径。通过分解,可以构建一个邻接图,其中顶点表示单元,边连接相邻单元,如图12所示。
在这里插入图片描述
图12.具有障碍物的目标区域分解为单元格和图形表示。
在在线阶段使用往返运动来探索单元。单元之间的顺序遵循欧拉回路,起点和终点位于同一顶点。根据下一个单元的位置,有必要遍历之前在场景中探索的子区域。因此,提出了一种更有效的技术来消除添加额外扫描线的析取。这条线保证了到达细胞边界时路径的连续性,并防止重复探索。原始和修改后的方法被应用于模拟和实际飞行中。两者都是根据总路径长度和执行覆盖的时间进行评估的。作者提出的方法在这两个标准中的效率都高出10%。
Öst提出了一种凸分解方法,将复杂形状分割成更小的形状,并将具有尖锐边缘的凹形转换为凸形。作者探索了往返和螺旋运动,如图13所示,将它们与所提出的区域分解技术相结合。作者声称,对于不同的组合,没有区域分解的往返模式呈现出可靠的结果。这种信心是因为所有的机动都有90◦ 转弯,这使我们能够预测四次移动后的模式。尽管生成的路径稍长,但这种模式能够处理复杂的形状而不会丢失覆盖范围。然而,该算法在测试多边形中0度到180度之间的所有不同旋转时消耗了相当长的时间以找到最佳运动方向。
在这里插入图片描述
图13.多边形区域的简单飞行模式:(a)往返飞行;(b) 螺旋。
根据Öst的说法,最短路径是用具有大内角的圆形螺旋图案生成的。然而,有时这种模式并不能得出覆盖复杂地区的结论。包括模式和分解的混合变体能够生成距离较小的路径,但这些组合并不总是以良好的方式处理所有实例。事实证明,只有当该区域在不同方向上有太多突起时,例如星形时,它才真正有效。在某些情况下,分解可能包含更多具有大量小内角的顶点,从而在区域连接期间生成自相交。
4.2.协同策略
协同策略使用多架无人机覆盖目标区域。这种策略通常适用于工作空间太大而无法由单个无人机覆盖的情况。根据问题的复杂性,覆盖方法可能只将区域划分为子区域,并为每个无人机单独规划覆盖路径。更复杂的方法处理运动同步、分散的信息和通信问题以及不同级别的本地优先级。
4.2.1往返
Maza和Ollero提出了一种在凸多边形区域使用异构无人机编队的协作策略。地面控制站对该区域进行分解,并在考虑相对性能和初始位置的情况下,将生成的子区域分配给每架无人机。每架无人机都计算往返运动,目的是最大限度地减少转弯次数。图14显示了用三架无人机分解的目标区域和各自的覆盖路径。平行路线之间的距离与每架无人机的摄像头投影面积有关。当无人机发生故障时,将采用重新配置过程,因此该区域将再次划分,其余车辆应重新计算其扫掠方向。
在这里插入图片描述
图14.使用一组异构无人机在凸多边形区域进行协同覆盖
4.2.2螺旋
Balampanis等人在几项工作中探索了一种用于使用多个异构无人机在沿海地区执行任务的螺旋CPP算法。考虑到飞行器的传感能力,作者使用Balampanis等人引入的约束Delaunay三角测量(CDT)来离散工作空间。作者指出,经典的网格分解创建了部分位于禁飞区或工作区外的规则方形单元。因此,CDT在感兴趣的区域内提供几乎与该区域的精确形状匹配的三角形单元。
为了生成更均匀的三角形,他们应用了Lloyd优化。该技术将单元角度近似为60度,增强了均匀性。然后,使用先前由Balampanis等人提出并通过引入平滑参数改进的螺旋算法来生成所得到的子区域中的覆盖路径。所提出的策略已经在软件在环仿真中进行了测试。通过将使用CDT/Lloyd优化的螺旋状模式(三角形单元)与使用来回运动的经典网格分解(方形单元)进行比较,来执行关于覆盖模式的进一步分析。作者声称,他们的方法能够以更平滑的轨迹完全覆盖给定区域,而无需进入NFZ或走出该区域。然而,与往返模式相比,该方法呈现出更长的覆盖路径和更高的匝数。
4.2.3线形
Vincent和Rubin提出了一种探索编队的合作覆盖策略,用于检测在危险环境中移动的智能目标。作者认为,目标试图故意逃离无人机在矩形区域内进行的搜索。该任务基于五个标准,例如最大限度地提高探测目标的概率,最大限度地减少跟踪时间和任务中使用的飞行器数量,在假设一架或多架无人机发生故障的情况下提供稳健性,以及最大限度地减少飞行器之间共享的信息量。
如图15所示,无人机被组织成直线队形,并执行长直运动。当无人机以紧密的队形探索该区域时,它们之间的通信被简化了,在其中一个个体出现故障的情况下,不会影响任务的连续性。无人机之间交换的控制信息有两种类型,即维护信息和更新信息。维护信息在无人机之间定期交换,如果其中一辆无人机未能传输该信息,则相邻无人机会认为该无人机已停止工作。无人机交换更新消息以达成模式重新配置的协议。覆盖模式的成功取决于一旦目标可能在试图逃离无人机的传感器时移动到这些区域,是否返回到先前探索的邻近区域。
在这里插入图片描述
图15.具有智能目标的矩形感兴趣区域的合作覆盖策略。
4.2.4分散技术
Acevedo等人提出了一种在监视任务中划分矩形区域的分散算法。同构使用一对一的协调技术来分配子区域,并探索相邻区域。无人机的通信范围很短,如图16所示,并且必须以同步的方式共享经过近点的信息。子区域均匀分布,具有由子周边方法生成的相同大小的路径。作者开发的这种方法使用有关区域的信息来生成内部相似区域,使得从内部区域到区域边界的最大距离小于或等于覆盖范围。该系统适用于团队中的修改,例如无人机离开进行维修或电池充电。主要目标是开发一种协同巡逻策略,以优化在任何地点的观察间隔,并最大限度地减少与其他成员共享检测到的信息的时间(延迟)。
在这里插入图片描述
图16.用于矩形区域监视任务的分散算法,使用同构无人机团队进行信息交换。
最近,Acevedo等人扩展了他们在具有异构无人机的不规则形状区域进行监测的方法。不规则区域包含障碍物和不规则边界,因此将其离散为规则区域,如图17a所示。该图中编号的黑色矩形表示用于划定边界和指示障碍物的禁飞区。在这种情况下,不是划分目标区域,而是将覆盖整个区域的单个路径分割并分配给无人机,在邻居之间共享信息。更快的无人机覆盖更大的路段,所有无人机在每个路段的末端都反转巡逻方向。在模拟中,考虑了一个有建筑的城市场景,如图17b所示,四辆无人机在低空飞行,同时避开障碍物。该系统能够适应任务期间无人机的动态加入和退出。
在这里插入图片描述
图17.使用一组异构无人机在不规则形状区域执行路径分割监视任务:(a)不规则区域近似;(b) 分段的单一路径。
最后,Acevedo等人探索了使用网格形状区域划分策略的一对一协同方法。目标区域被划分为非重叠的子区域,由沿着不同路径的异构车辆进行监测。该技术允许无人机根据其最大容量自行调整分区,以分散的方式保持同步。此外,该解决方案能够重新安排主要条件,如区域形状和车辆容量。
4.2.5局部优先级
Araujo等人提出了一种具有局部优先级的凸多边形区域的连续覆盖和分解方法。工作空间在较小的区域使用往返方法解耦,其中应根据每架无人机的相对性能(如每单位时间覆盖的面积)将区域分配给每架无人机。考虑到固定翼飞行器的运动学约束,作者开发了一种在每个子区域内生成最优路径数的方法。使用描述多边形高度的直径函数,可以获得垂直的最佳扫掠方向,从而最小化路径的数量和转弯机动次数。路径具有与板载相机占用面积相同的宽度,并且由于定位误差和轨迹的微小变化,路径之间的重叠是必要的。
作者放弃了使用一些飞行标准,即简单的往返和螺旋运动,声称这些模式既不能处理不同的局部优先事项,也不能在特定地区进行多次访问。因此,作者提出了一种往返/zamboni(zamboni指的是曲棍球场上修理冰的机器。)飞行模式,如图18所示。所提出的飞行模式允许访问以前探索过的路径,因为自上次访问以来,随着时间的推移,地点的不确定性程度会增加。他们还认为,由人工操作员管理的局部具有不同程度的优先级。因此,在完成其中一个路劲的覆盖后,车辆必须考虑到不确定性和优先级来选择下一个路径。
在这里插入图片描述
图18。往返/zamboni飞行模式,具有局部优先级和连续覆盖任务的不确定性程度。
5.近似单元分解
5.1 完整信息
往返飞行模式通常用于农业等应用,但考虑到形状不规则的目标区域,这种类型的运动会产生低效的轨迹。Valente等人提出了一种用于不规则形状农田精密农业图像拼接的覆盖路径规划方法。在这种称为基于梯度的方法中,使用近似单元分解将感兴趣的区域离散为规则网格,如图19所示。每个单元格代表路径的一个航路点,其大小取决于机载摄像头的图片尺寸。网格配置是通过图像需求和图像传感器特性来实现的。通过Wavefront算法将分解后的区域转换为数字标记的正则图,Wavefronts算法是一种标记单元邻域相邻性的泛洪算法。
在这里插入图片描述
图19.在不规则形状的目标区域中使用基于网格的方法。
深度有限搜索(DLS)用于发现完整路径,而无需重新访问先前探索的节点。使用DLS,探索长度仅限于顶点数量,不会陷入循环或重新访问节点。回溯过程也被用于解决诸如在相等值的邻居之间进行选择之类的问题。所提出的方法能够在具有特定约束的复杂区域中实现简单且快速的解决方案,以实现接近最优的结果。Nam等人提出了另一种探索农业地区覆盖率的Wavefronts算法和近似单元分解的方法。如图20a所示,在根据Wavefronts标记的感兴趣区域上获得覆盖路径,并通过三次插值算法进行平滑,如图20b所示。与Valente等人不同,本文作者提出了一种新的基于路径长度和转弯次数的任务执行时间优化标准。在这里插入图片描述
图20.最佳路径和覆盖轨迹:(a)Wavefront;(b) 三次插值。
Bouzid等人提出了一种四旋翼无人机的最优CPP算法。目标区域被表示为包含目标点(POI)的地图。无人机应执行连接POI的最小路径,并以不同的方式避开障碍物,以确保该区域的完全覆盖。这次任务计划分两步进行。该算法计算探索邻域的旅行成本,然后确定应该访问的点的序列,以最小化总距离。在访问POI一次后,车辆应返回到初始位置。通过这种方式,该问题被视为旅行商问题(TSP),并且可以使用遗传算法(GA)来计算整个最短路径。作者认为点之间的累积欧几里得距离是性能度量。此外,他们认为在整个任务期间能量消耗功率是恒定的,并以时间为单位进行测量。
在实际应用中,考虑到四旋翼机的板载能量有限,四旋翼机在执行任务时可能需要对电池充电或更换几次。因此,受车辆路径问题(VRP)的启发,作者探索了一种不同的可能性。该解决方案在只有一个或多个初始位置的情况下找到最短轨迹的最小组。在这种情况下,飞行器执行指定的任务,每次需要给电池充电时都会不断返回基站。与此同时,无人机还在任务的每个部分下载获取的信息。
Barrientos等人讨论了一种涉及异构四旋翼机团队的精准农业覆盖方法,包括两个主要阶段:任务细分和分配,以及覆盖路径规划。在第一阶段,使用协商协议,以分布式方式同时完成区域的细分和产生的子区域的分配。在这个阶段,无人机必须分析任务的成本和报酬,即覆盖某个子区域。考虑到其内部参数,无人机评估任务执行的成本、从当前位置移动到搜索区域的初始成本、NFZ、转弯角度和嵌入式传感器等特定限制,以及与任务完成相关的报酬。目标函数对具有不同权重的几个项进行求和,包括任务维度和起点到任务地点之间的距离。此外,如果一项任务与另一项任务重叠,或者探索超出了一般区域,则可能会受到处罚。
在第二阶段,使用近似单元分解将该区域离散为规则网格。每架无人机都使用Wavefront算法为其子区域创建覆盖路径,最大限度地减少飞行时间、转弯机动次数和重复访问单元格的数量。此外,无人机保持恒定的高度,以根据机载摄像头的视场来保证所需的分辨率。最后,作者提出了一个控制系统,以提高无人机在高速机动过程中的高度稳定性。在葡萄园的田地里用三架无人机进行了实验,其特点是形状不规则,海拔高度变化。子区域边界划定了一个安全区,车辆不应进入该安全区以避免碰撞,如图21所示。
在这里插入图片描述
图21.不规则形状区域的覆盖路径规划,包括子区域边界中的禁飞区,以避免碰撞。
Valente等人还关注精准农业,提出了一种名为Harmony Search(HS)的元启发式算法,以最大限度地减少不规则区域的转弯次数。该算法基于爵士音乐家的即兴创作,其主体是和声记忆(HM)。HM由一个矩阵组成,其中行由包含可能解的向量组成,而列表示决策变量。成本函数结果放在最后一列。
根据Valente等人提出的方法,矩阵初始化是随机执行的,当第一轮完成时,称为随机的迭代开始。根据一定的概率,通过相邻单元之间的交换来创建新的矢量。如果一个新的组合比最坏的解决方案有改进,它会替换矩阵中的旧向量。否则,矩阵将保持不变。作者将HS方法与Barrientos等人使用的Wavefront算法进行了比较,使用了具有三个子区域的相同场景,如图22所示。HS实现了比Wavefront更小的转弯次数,但计算时间更长。然而,一旦离线执行计划,作者并不认为计算时间是一个问题。
在这里插入图片描述
图22.三种无人机在不规则形状区域的不同覆盖路径规划方法的比较:(a)Wavefront算法;(b) Harmony Search。
最近,萨达特等人提出了在线非均匀覆盖路径规划的方法。在这种情况下,无人机可以根据区域每个部分的重要性在覆盖期间改变其高度。作者使用树结构来处理考虑不同分辨率的网格。节点离树叶越近,分辨率就越高。Sadat等人介绍了三种探索树的方法:广度优先策略、深度优先和快捷启发式方法,而Sadat等提出了一种基于希尔伯特的方法,如图23所示,并将其与以前的策略和割草机模式进行了比较。当访问目标区域时,通过遍历树来提高分辨率。通过这种方式,父节点正在探索的区域现在正以更高的分辨率被其子节点完全覆盖。另一方面,对于非目标区域,则搜索将在覆盖树中向上搜索,并降低分辨率。因此,一架无人机在该地区周围行驶,探索不同高度的区域,以执行任务。
在这里插入图片描述
图23.根据每个区域的重要性,在不同的海拔高度进行覆盖。节点离树叶越近,分辨率就越高。
Santamaria等人讨论了在非凸面区域使用多架异构无人机的高分辨率航空传感。无人机具有不同的覆盖范围和图像传感器,因此通过近似单元分解将目标区域离散为具有不同大小单元的网格,如图24所示。最初,考虑到无人机的机载传感器足迹,粗略估计确定了无人机要探索的区域部分。洪泛技术选择起始位置并扩展邻域区域,直到其达到估计的单元数量。位于区域外或NFZ内的位置是无效单元格。在第一轮完成后,无符号单元格被寻址到最近的区域,并执行重新平衡以均匀分布单元格。
在这里插入图片描述
图24.通过使用不同大小的单元进行近似单元分解,将感兴趣区域离散为网格。
根据Santamaria等人提出的方法,使用一种算法来计算覆盖每个子区域的飞行路径,以找到自由单元的长距离段,称为步幅。该算法计算实际位置的所有未探索的相邻单元的步幅,选择最长的路径。选定路径的最后一个单元格变为当前单元格,重复此过程。当没有未访问的相邻单元时,该算法生成从实际位置到最近的未探索单元的轨迹,选择次要路径并将相应的单元添加到覆盖计划中。还计算返回着陆位置的最短距离。所提出的方法与AMFIS集成在一起,AMFIS由用于实时无人机控制和监测的地面控制站组成。
5.2 部分信息
生物系统能够在自然环境中适应、进化和生存,其特征是快速反应、不确定性增加和信息受限。由于这种自然系统是稳健和复杂的,在过去几十年中,它们已被建模为计算系统,以解决复杂的优化问题和应用场景。因此,出现了由基于自然智能基本方面的算法组成的生物启发式方法,如自主决策和群体交互、进化和学习。考虑到无人机的CPP问题,几位作者在文献中探索了不同的方法,包括实时搜索方法、随机行走、元胞系统、进化计算和群体智能。还讨论了考虑信息点的不确定性覆盖。大多数方法都是基于信息素的,并探索蚂蚁的自然行为,以引导车辆通过网格离散化场景。
5.2.1基于信息素的方法
基于信息素的方法在计划和执行之间交替,允许在执行此类操作时进行微调。它们的灵感来自于真实蚂蚁的行为,它们利用化学轨迹来定位导航。这些方法将工作空间表示为网格,并使用u值与每个环境单元关联。该值表示无人机在场景中移动时留下的信息素标记,即每个位置的访问量。根据所采用的策略,信息素可以注入和/或从当地提取,随着时间的推移蒸发和/或传播到附近。不同类型的信息素可以代表不同种类的信息,而某些类型的信息素则可以吸引或排斥无人机。
无人机的视野通常限制在相邻的单元内,因此只能在直接正交的单元内进行传感和运动,如图25a所示。在搜索过程中,场景可以离散化为连通图,如图25b所示。Sauter等人讨论了其中一些方法在军事环境中处理不同应用的多功能性。已经提出了这些方法来解决陆地车辆的CPP问题。由于这些方法的计算成本较低,任何自动驾驶汽车都可以适当地使用它们。然而,以前的大多数研究仅限于模拟,只有少数方法解决了真实世界场景中飞行器的情况。
在这里插入图片描述
图25.基于信息素的方法中的环境表示:(a)视野;(b) 连通图。
5.2.2实时搜索方法
Nattero等人分析了实时多机器人覆盖算法的性能。作者探索了经典的启发式方法,如边缘计数、PatrolPGRAPH*、节点计数和学习实时A*。在陆地机器人的模拟中,根据所需的覆盖时间和执行任务所需的能量对算法进行了评估。四种类型的实验在不同方面进行,如网格大小、网格拓扑、机器人数量和访问需求。
节点计数在模拟过程中优于其他解决方案,并在具有四旋翼机和六旋翼机的真实系统中实现。使用机器人操作系统(ROS)实现的非车载控制用于引导车辆发送目标位置并定期接收车辆的定位信息。通过ETHNOS框架在车载执行控制动力学和车辆定位。决策过程集中在车外站,该站使用ROS/ETNOS接口与车辆通信。为了在空中范围内应用虚拟信息素,需要一个集中的过程,一旦所有车辆都依赖于与地面控制站的通信来执行任务,这将降低系统对故障的鲁棒性。
5.2.3.随机游走
Albani等人提出了一种田间覆盖和杂草测绘方法。所提出的方法包括一种探索策略,该策略使用增强的随机行走来使用无人机群检测杂草的存在和数量。每架无人机都将搜索飞机分为两部分,更倾向于根据效用值探索前方的半飞机。该值由无人机的动量和当前单元格与扫描方向之间的角度差定义,影响关于下一个要访问的单元格的决定。对于与动量向量对齐的位置,该值会升高。此外,来自邻近无人机的影响反映在执行的运动上,随机将无人机引导到探索不足的区域。这是通过计算排斥向量来实现的。这些无人机还相互交换信息,以防止重复覆盖区域。最后,无人机群将其成员召集到有希望的区域,使用吸引向量执行杂草测绘。
5.2.4.元胞自动机
Zelenka和Kasanicky最初应用了一种基于元胞自动机的算法来协调陆地覆盖任务中的机器人,之后Zelenka和Kasanicky使用该算法来控制勘探和监测任务中的两台四旋翼机。自适应分散系统与由环境表示的共享存储器一起工作。虚拟标记模拟信息素来协调无人机。地面控制站(GCS)将环境划分为虚拟单元,监控无人机的位置,并通过发送新坐标来防止碰撞。尽管作者认为这是一个自适应分散系统,但无人机使用GCS共享全局记忆,并且不能单独做出决策。
作者还探讨了考虑环境虚拟标记退化的策略,以模拟通信损失。蒸发或降解的过程包括在某个地方有一段时间没有人访问时减少其信息素的数量。然而,这种退化降低了算法的效率,并导致车辆之间发生大量碰撞。在局部区域积累大量的信息素也可能导致过度覆盖问题。
5.2.5.不确定性覆盖
Lim和Bang提出了一种用于监视的航路点规划算法。目标区域具有六边形网格的形式,并包含信息点(IP),如图26a所示。每个IP都有一个确定性值,该值量化了信息的可信度。当确定性值显著时,信息点包含值得信赖的信息,不需要在周边地区进行勘探。然而,这种确定性随着没有观测的时间的推移而下降。较低的值表示信息较差,需要在该位置进行新的观测。
在这里插入图片描述
图26. 信息点表示不确定性的六边形网格方法:(a)信息点;(b) IP的确定性计算。
该算法使用确定性、距离和重要程度等成本函数来引导无人机并选择下一个要探索的点。在之前的工作中,作者介绍了有关成本函数的详细信息。关于确定性成本函数,有必要考虑相邻IP的平均确定性,将无人机不仅引导到点,而且引导到确定性最低的区域。A算法用于生成到达使用成本函数选择的下一点的路径。作为协同监视任务,为每架无人机分配一个子区域,以避免覆盖重叠。
Khan等人提出了一种在协作搜索中合并分布式信息的方法。多架无人机在感知能力和信息交互方面有几个限制。此外,传感器还考虑了具有一定概率的假警报。该任务由一组小型无人机组成,在离散为方形单元的矩形区域内搜索目标位置。无人机可以在四个不同的方向上进行运动或保持在当前位置。各个无人机可以感知该区域并更新搜索地图,同时相互共享局部信息。通过融合当地地图,飞行器能够加快搜索速度,同时提高无需合作策略的相关感知能力。
Popovi´c等人介绍了一种使用无人机在精准农业中进行杂草检测的信息路径规划(IPP)。作者使用固定期限的方法进行适应性规划,在计划执行和重新规划之间交替。他们采用两阶段重新规划,在尊重运动限制的情况下,不断完善飞行器的3D路径。该优化是使用协方差矩阵自适应进化策略(CMA-ES)获得的。
作者提出了一种用于空中平台地形监测的多分辨率IPP。所提出的方法建立在先前工作中建立的方法之上。但是,该方法不是对杂草占用进行二元分类,而是侧重于生物量监测。该方法利用在不同高度飞行中收集的所有视觉数据构建了一个概率图。Popovi´c等人提出并由Popovic等人进一步探索的方法在模拟中针对往返和最先进的IPP算法进行了评估。作者还在AscTec Pelican无人机上运行了他们的IPP方法,通过使用AR标签模拟杂草分类器,并在DJI Matrice 100上运行,模拟绘制绿色背景上的植被监测。
Ramasamy和Ghose提出了一种基于学习的无人机持续监视算法。这个问题可以被描述为一个连续的CPP,无人机应该不时地探索某个区域的所有位置,同时最小化这些访问之间的间隔。考虑到根据区域概况增加或减少访问频率的必要性,这个问题可能更复杂——有趣的还是有风险的。Ramasamy和Ghose扩展了他们的工作,将更多的注意力集中在已知区域的优先监视上。他们探索了一种考虑不同方式的量化优先权规范的方法。此外,他们还提供了进一步的模拟结果,以支持更详细的分析。
5.2.6.遗传算法
Paradzik等人探索了数字信息素和进化策略的结合,以协调多架无人机。工作空间在分配给每架无人机的矩形子区域中使用遗传算法(GA)解耦,该算法最初由Holland提出。种群个体携带关于顶点坐标和矩形子区域的宽度/长度的信息。在算法的自然进化过程中,个体经历了选择、繁殖和突变阶段,以产生新的个体。适合度函数基于包含区域信息的数字信息素来评估最佳个体(子区域)。图27显示了使用GA创建的子区域的示例。
在这里插入图片描述
图27.使用GA将感兴趣区域分解为矩形子区域,并使用来回飞行模式进行覆盖
作者使用了两种信息类型:搜索和路径。搜索信息素对应于区域覆盖的不确定性和需要,而路径信息素指示已经包含在某些车辆路径中的位置。路径信息素用于防止碰撞,降低重访概率。飞行器应该以最大限度地增加搜索信息素的量为目标来跟踪轨迹,同时最小化路径信息素的数量。基于信息素的遗传算法只划分环境,车辆采用往返运动来覆盖每个子区域。此外,每辆车都使用A
算法来规划从其初始位置到指定子区域最近顶点的路径。
考虑到另一项基于GA的工作,提出了一种具有3D结构映射的覆盖路径规划方法,以处理有障碍物和建筑物的场景。感兴趣的区域是一个离散为网格的多边形,包含建筑物(黄色)、高大植被(绿色)和禁飞区(红色),如图28a所示。单元格标记有以下值:0表示自由区域,−1表示禁区或外部区域,−2表示需要高度调整的高大植被,−3表示建筑物。使用GA,只考虑自由空间和高度飞行以下有植被的区域来生成覆盖路径。
在这里插入图片描述
图28.目标区域的网格表示和三维映射方法的主要步骤:(a)标记网格区域;(b) 结构映射。
在路径执行期间,可以检测到包含建筑物的相邻单元,从而触发3D映射。在这种情况下,车辆停止覆盖并围绕建筑物一定距离进行拍摄,接下来的步骤是:在当前高度(a)悬停,根据建筑物的高度上升/下降(B),改变相机角度(C)并围绕建筑物飞行(D),如图28b所示。一旦完成映射,车辆将继续原来的覆盖路径。图29显示了一条完整的路径,避开了禁飞区,同时包围了建筑物。
在这里插入图片描述
Darrah等人将Trujillo等人提出的方法扩展到使用多个多旋翼的大面积覆盖任务。目标区域被划分为公平的子区域,由多架无人机或由一架无人机执行多次飞行覆盖。分区方法采用了与博弈论相结合的洪泛算法。在这种情况下,每架无人机都是一名参与者,并有一个起始位置。如图30所示,这些参与者根据预定义的菱形模式轮流淹没相邻单元。相应的顺序是从左到右,淹没最近的邻居。参与者不能淹没建筑单元或之前被其他参与者占用的单元。子区域的大小并不相同。较小的子区域可能包含要绘制的建筑结构,而较大的区域可能存在回避区域。因此,分区方法平衡了任务,并保证了每个分配的无人机的大致工作量。每个子区域的覆盖路径是使用Trujillo等人[76]提出的方法的改进版本获得的。这些变化确保了多转子的路径尽可能接近其起始位置。
在这里插入图片描述
图30.具有起始位置S和有序相邻单元的洪泛填充图案将从深蓝色洪泛到浅蓝色。
Hayat等人提出了一种基于遗传算法的多目标路径规划(MOPP),用于使用多架无人机的搜救(SAR)任务。该任务由搜索和响应两个步骤组成。前者通过保证给定区域的整个覆盖范围来监测事件(例如,静止目标)。后者在网络上传播检测更新。在搜索阶段发生的规划任务由MOPP算法以集中的方式执行,而完成任务的时间由GA最小化。该时间包括发现目标的时间段和配置通信轨迹的时间段。因此,该方法需要优化两个主要特征,即区域覆盖和网络连接。
5.2.7.蚁群优化
Kuiper和Nadjm-Tehrani将蚁群优化(ACO)应用于多架无人机的覆盖。这些无人机共享一个虚拟信息素地图,通过高信息素率指示最近访问的区域。这些信息素具有排斥性,并将无人机引导至未探索的区域。基于这项研究,Rosalie等人介绍了混沌蚁群覆盖优化(CACOC),这是一种将ACO与混沌动力系统集成到军事环境中的监视任务中的技术。该方法允许地面军事系统操作员预测无人机的路径,同时使其对敌人不可预测。尽管车辆和基地之间不需要通信来跟踪车辆的位置,但车辆群仍然共享虚拟信息素地图。Rosalie等人通过使用V-Rep模拟环境评估CACOC的覆盖性能,进一步探索CACOC方法。
Cheng等人提出了另一种基于生物启发的协同覆盖方法。该方法将每辆车的路径表示为包含控制点的B-B-spline曲线,如图31a所示。该优化问题最大化包括结合四个函数的路径可取性目标函数:(i)路径长度,(ii)最小转向角,(iii)最大俯仰率,以及(iv)实际轨迹在不同无人机轨迹上的叠加。作者认为,无人机总是从左向右移动,因此第一个和最后一个控制点位于该地区的边界。ACO算法优化中间控制点中的y轴,以最大化覆盖范围。在算法迭代过程中,场景中会启动几个蚂蚁,经过初始点、中间点和最终点。
高斯分布函数表示每只蚂蚁在控制点留下的信息素浓度,叠加后形成联合分布函数,如图31b所示。由此产生的函数被重新缩放以生成概率密度函数,该函数指示不同y位置的信息素的量。在随后的迭代过程中,蚂蚁选择遵循该概率密度函数的控制点位置。该函数有一个信息素蒸发因子来避免局部最优点,并在每次迭代时更新。在算法的最后,包括大量信息素的区域被选择为中间控制点,以创建无人机的完整路径。
在这里插入图片描述
图31.使用具有高斯分布函数的ACO的合作方法:(a)控制点;(b) 高斯分布函数。
6.讨论
文献中的几位作者已经解决了无人机的覆盖路径规划问题,探索了具有不同形状和复杂性的目标区域。通常,简单目标区域,如矩形和凸多边形,不需要任何离散化方法或分解技术,而是通过往返和螺旋飞行模式进行探索。往返模式通常基于主轴定义扫掠方向,并使用90◦ 进行转弯操作。在多边形的情况下,转弯角度可以往复变化,也可以螺旋变化。通常,这些模式需要较低的计算时间来找到覆盖路径,并且易于由空中平台执行。涉及这些平台的主要问题之一是执行覆盖任务的飞行耐力非常有限。
一些研究试图最大限度地减少距离、飞行时间或机动,以减少能源消耗。在转弯机动过程中,无人机应减速、旋转和加速,从而增加能耗开销。 另一种选择是平滑转弯机动,以保持车辆速度恒定,如Artemenko等人所提出的。最近的工作开发了最先进的能量感知往返和螺旋算法,主要关注考虑无人机分辨率和能量约束的能量消耗。这些方法采用了一种能量模型来分析不同环境下的能量行为。因此,优化路径直线部分的速度可以使能耗最小化。表1总结了本文中修订的CPP方法,考虑到没有细胞分解技术的目标区域。该表列出了CPP方法、相应的参考、目标区域的形状、用于评估覆盖模式的性能指标、覆盖中使用的单个或多个无人机的指示,以及无人机的类型:旋翼(RW)、固定翼(FW)或两者兼有。
在这里插入图片描述
在更大、更复杂的目标区域中,可以应用精确的细胞分解将场景划分为子区域。得到的子区域可以被不同的扫描方向覆盖,以获得最佳覆盖。在这类区域中,有可能探索往返覆盖的替代方案,旨在最大限度地减少分区之间的距离,如Torres等人所述。根据车辆的相对性能,使用区域分解也在探索合作策略。在场景中也可以考虑障碍物和禁飞区,根据任务的不同,可能有必要重新访问以前探索过的区域。提出了一种混合精确和近似单元分解的混合分解技术,将目标区域离散为几乎与区域精确形状匹配的三角形单元。作者采用螺旋状模式在复杂区域进行覆盖。在使用异构飞行器的规则和不规则形状场景中,采用离散方法进行分区和区域覆盖。表2总结了本文中修订的CPP方法,考虑到通过精确细胞分解技术离散化的目标区域。表中的联机/脱机列指的是如何获得覆盖路径。在离线情况下,在执行之前计算整个路径,而在在线情况下,可以在覆盖期间计算或修改路径。
在这里插入图片描述根据目标区域的复杂性,简单的飞行模式可能会产生低效的轨迹,需要后处理阶段来调整航路点位置和它们之间的角度,以克服这个问题。可能需要花费相当大的计算时间来评估所有不同的旋转以找到最佳扫描方向。关于螺旋运动,可以在具有较大内角的多边形中生成较短的路径,但在更复杂的形式中,算法可能会被卡住或无法完成覆盖任务。因此,已经提出了基于近似细胞分解的更复杂的方法来无人机覆盖。在第4节中,我们决定根据可用信息分类现有方法,以计算和执行覆盖率。当无人机完全了解工作空间,包括区域和NFZ时,可以在执行前的离线阶段计算路径。然而,在某些情况下,由于存在移动目标、障碍物或其他飞行器,无人机不具有关于地图的完整信息。在这种情况下,无人机应该使用其传感器收集必要的信息来执行任务,通常在计划和执行之间交替。
考虑到全部信息可用,Valente等人提出了基于网格的探索单个无人机波前算法的解决方案,Nam等人使用三次插值进行了进一步优化。Barrientos等人介绍了使用多架无人机的合作策略,包括区域细分和分配。Valente等人提出了一种名为Harmony Search(HS)的元启发式算法,以最大限度地减少不规则区域的转弯次数,并将其与Barrientos等人提出的方法进行了比较。根据每个子区域的重要性或根据无人机上不同的传感器类型,通过在不同高度的飞行,可以用不同的分辨率覆盖目标区域的各个部分。
生物启发式协同技术一直在处理只包含部分信息的环境。Nattero等人在模拟中考虑了实时搜索方法,并在实际飞行中应用了节点计数算法。Albani等人引入了一种增强的随机行走策略,用于野外覆盖和杂草测绘,无人机更喜欢探索与动量矢量对齐的当前位置前方的区域。Zelenka和Kasanicky以及Zelenka and Kasanicky提出了一种细胞自动机方法,但存在信息素降解和缺乏蒸发的问题。降解可能会导致无人机之间的通信故障,而过量的信息素可能会堵塞车辆所在区域的某些位置。一些方法考虑了覆盖任务期间的局部不确定性,而另一些方法则探索分布式信息合并,无人机直接交换信息以加快搜索并提高性能。还探索了连续无人机轨迹中的路径重新规划,其中作者将接收到的视觉信息融合到单个概率图中。
Ramasamy和Ghose提出了另一种使用学习算法的连续覆盖方法,考虑到优先监控问题。在这个问题中,飞行器应该增加目标区域的访问频率,并降低风险区域的访问次数。还探索了与信息素策略相结合的遗传算法,而使用信息素地图的ACO被引入无人机的覆盖任务。表3总结了本文中修订的CPP方法,考虑到通过考虑全部和部分信息的近似单元分解技术离散化的目标区域。虽然没有分解或与精确单元分解相结合的CPP方法可以由旋翼、固定翼或两种类型的飞行器执行,但使用近似单元分解的CPP方法几乎完全采用旋翼无人机。这是因为旋转翼在离散成网格的场景中转弯时具有机动性优势。固定翼具有机动性限制,需要较大的转弯空间。
在这里插入图片描述
为解决CPP问题而提出的算法通常涉及根据性能度量获得覆盖路径的规划阶段。在处理固定翼无人机时,该方法还必须考虑此类飞行器的运动约束,以便规划可行的轨迹。然而,这些方法没有考虑重要的控制任务,如路径跟踪或轨迹跟踪,只信任无人机的内部控制器在实际飞行中执行计划的路径。
7.总结
本文介绍了无人机覆盖路径规划的概况,涉及简单的几何飞行模式,如来回和螺旋,以及考虑目标区域的全部和部分信息的更复杂的基于网格的解决方案。综述的覆盖率方法根据Choset定义的经典分类法进行分类;无分解,精确和近似的细胞分解。该研究考虑了目标区域的不同形状,如矩形、凹面和凸面多边形。我们还介绍了通常用于评估覆盖任务成功与否的性能指标。
无人机的续航能力有限是执行更复杂的覆盖任务需要克服的主要问题。一些作者使用多个飞行器来提高此类任务的覆盖性能,将长时间、高能量需求的飞行划分为更可行的飞行。然而,这种技术通常需要计算复杂性来解决协调和通信问题。这种合作环境仍然缺乏更稳健的解决方案来更自主地处理问题。目标区域通常使用集中决策过程进行离散、划分并分配给团队成员。此外,无人机和地面控制站之间的通信需要进行协调,这对故障鲁棒性较差,在现实世界中也不可行。
所提出的方法旨在最小化路径长度、任务执行时间和转弯机动次数,以间接节省能源。然而,在某些情况下,一旦较短的路径可能包含消耗更多能量的更突然的机动,则路径长度和能量消耗等性能指标可能会发生冲突。正如Di Franco和Buttazzo以及Cabreira等人所述,应考虑其他问题,如动力学、转弯角度和最佳速度,以最大限度地减少能源消耗。但这些能量感知方法仍然局限于仅考虑简单飞行模式的常规场景。
我们最近提出了一种适用于规则区域的最先进的能量感知螺旋覆盖算法,目前我们正在使用基于网格的方法来解决更复杂的场景。此外,我们还在开发一种分散的方法,用于考虑通信和能源限制的无人机合作覆盖路径规划。未来,我们打算在无人机之间开发一种高效的同步机制,以避免需要地面控制站。最后,我们在基于物理的能量模型中研究了动力学和外部环境条件对能量感知任务规划的影响。通过我们目前的调查和未来在覆盖路径规划问题上的工作,我们希望推进自动驾驶飞行器在现实世界中最先进的可行任务规划方法。

相关文章:

无人机覆盖路径规划综述

摘要:覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来,无人机已被应用于涉及地形覆盖的多个应用领域,如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方…...

【代码随想录】算法训练计划37

贪心 1、738. 单调递增的数字 题目&#xff1a; 输入: n 10 输出: 9 思路&#xff1a; func monotoneIncreasingDigits(n int) int {// 贪心&#xff0c;利用字符数组s : strconv.Itoa(n)ss : []byte(s)leng : len(ss)if leng < 1 {return n}for i:leng-1; i>0; i-- …...

网络基础_1

目录 网络基础 协议 协议分层 OSI七层模型 网络传输的基本流程 数据包的封装和分用 IP地址和MAC地址 网络基础 网络就是不同的计算机之间可以进行通信&#xff0c;前面我们学了同一台计算机之间通信&#xff0c;其中有进程间通信&#xff0c;前面学过的有管道&#xff…...

机器学习:DBSCAN算法(效果比K-means好)

基本概念 核心对象&#xff1a;以点为圆心半径为r的圆&#xff0c;如果圈里面的样本点大于给定的阈值(minPts)&#xff0c;那么这个点就叫做核心点 直接密度可达&#xff1a;点p在q为圆心的圆内 密度可达&#xff1a; p1与p2直接密度可达&#xff0c;p2与p3直接密度可达&…...

在Spring Boot中隔离@Async异步任务的线程池

在异步任务执行的时候&#xff0c;我们知道其背后都有一个线程池来执行任务&#xff0c;但是为了控制异步任务的并发不影响到应用的正常运作&#xff0c;我们需要对线程池做好相关的配置&#xff0c;以防资源过度使用。这个时候我们就考虑将线程池进行隔离了。 那么我们为啥要…...

FFmpeg架构全面分析

一、简介 它的官网为&#xff1a;https://ffmpeg.org/&#xff0c;由Fabrice Bellard&#xff08;法国著名程序员Born in 1972&#xff09;于2000年发起创建的开源项目。该人是个牛人&#xff0c;在很多领域都有很大的贡献。 FFmpeg是多媒体领域的万能工具。只要涉及音视频领…...

OAuth(开放授权)介绍

OAuth&#xff08;开放授权&#xff09;是一个开放标准&#xff0c;允许用户授权第三方应用访问他们存储在另一服务提供商上的信息&#xff0c;而无需将用户名和密码直接暴露给第三方应用。这个过程提供了一种安全的授权方式&#xff0c;常用于允许用户让第三方应用访问例如邮箱…...

Online ddl和replace ddl

在这个之前我们先来了解两种文件类型 1. .ibd文件 表数据文件&#xff0c;存储了表的数据和索引信息&#xff0c;从Mysql8开始表定义信息&#xff0c;从.frm文件改为.dcl文件存储&#xff0c;而表数据和索引信息仍然储存在.ibd文件&#xff0c;.idb文件通常在书籍库目录下。 …...

WEB渗透—反序列化(九)

Web渗透—反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩哔_…...

蓝桥杯day02——第三大的数

题目 给你一个非空数组&#xff0c;返回此数组中 第三大的数 。如果不存在&#xff0c;则返回数组中最大的数。 示例 1&#xff1a; 输入&#xff1a;[3, 2, 1] 输出&#xff1a;1 解释&#xff1a;第三大的数是 1 。 示例 2&#xff1a; 输入&#xff1a;[1, 2] 输出&…...

linux shell中set -e命令的作用

set -e 是一个在shell脚本中常用的命令&#xff0c;它的含义是在脚本执行过程中&#xff0c;如果出现任何一个命令的执行结果不是零&#xff08;即命令执行失败&#xff09;&#xff0c;则立即退出整个脚本。 set -e 的用途是在脚本中进行错误处理和控制流程。通过设置set -e&…...

linux shell 字符替换命令

sed 文本 2.txt 内容如下&#xff1a; 1 2 3 4 511 121abcabcc1.替换文本指定字符或字符串&#xff0c;不更改原文件 将文本内容替换并输出&#xff0c;但不直接在原文档中修改: sed "s/旧字符串/新字符串/g" 文档 范例,将文本中的 1 替换为 b rootheihei:/# sed &…...

Vue3生命周期函数(简述题)

1.图示 2.说明 3.补充 1.在vue3组合式API中&#xff0c;我们需要将生命周期函数先导入&#xff0c;然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替...

11月29日,每日信息差//雷军个人向武汉大学捐赠13亿元现金//看电视默认设置新规一览:开机广告不超 5 秒、不设置一键付费

&#x1f396; 继长安汽车后&#xff0c;蔚来将与吉利控股达成换电业务合作 &#x1f384; 中国飞鹤入选工信部质量提升典型案例 &#x1f386; 雷军个人向武汉大学捐赠13亿元现金 &#x1f387; 奢侈品电商Farfetch或将私有化 &#x1f381; 亚马逊云科技宣布推出Amazon Q ✨ …...

融资经理简历模板

这份简历内容&#xff0c;以综合柜员招聘需求为背景&#xff0c;我们制作了1份全面、专业且具有参考价值的简历案例&#xff0c;大家可以灵活借鉴。 融资经理简历在线编辑下载&#xff1a;百度幻主简历 求职意向 求职类型&#xff1a;全职 意向岗位&#xff1a;融资经理 …...

iptables防火墙之SNAT与DNET

NAT 1.SNAT&#xff1a;让内网可以访问外网 2.DNAT&#xff1a;让外网可以访问到内网的机器 网关服务器&#xff0c;要开启路由功能 内核功能&#xff1a; sysctl -a 列出所有参数 内核参数&#xff0c;然后grep可以查看到默认的内核参数 内核参数配置文件 /etc/sysctl.…...

mysql使用--备份与恢复

1.mysqldump 1.1.使用mysqldump备份数据 1.1.1.备份指定数据库中的指定表 如&#xff1a;mysqldump [其他选项] 数据库名 [表1名 表2名 …] 如&#xff1a;mysqldump -uroot -hlocalhost -p1234 database1 student_score > student_score.sql 上述采用-u和-p完成用户登录&am…...

【vue实战项目】通用管理系统:信息列表,信息录入

本文为博主的vue实战小项目系列中的第六篇&#xff0c;很适合后端或者才入门的小伙伴看&#xff0c;一个前端项目从0到1的保姆级教学。前面的内容&#xff1a; 【vue实战项目】通用管理系统&#xff1a;登录页-CSDN博客 【vue实战项目】通用管理系统&#xff1a;封装token操作…...

【驱动】SPI驱动分析(六)-RK SPI驱动分析

前言 Linux的spi接口驱动实现目录在kernel\drivers\spi下。这个目录和一些层次比较明显的驱动目录布局不同&#xff0c;全放在这个文件夹下&#xff0c;因此还是只好通过看Kconfig 和 Makefile来找找思路 先看Makefile&#xff0c;里面关键几行&#xff1a; obj-$(CONFIG_SPI…...

【Linux】基础IO--文件基础知识/文件操作/文件描述符

文章目录 一、文件相关基础知识二、文件操作1.C语言文件操作2.操作系统文件操作2.1 比特位传递选项2.2 文件相关系统调用2.3 文件操作接口的使用 三、文件描述符fd1.什么是文件描述符2.文件描述符的分配规则 一、文件相关基础知识 我们对文件有如下的认识&#xff1a; 1.文件 …...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...