无人机导航与轨迹规划技术解析
1. 无人机通信架构
无人机群通信架构主要分为集中式架构和分布式架构,分布式架构又可细分为单组、多组和多层架构。以下是不同架构的特点总结:
| 特点 | 集中式架构 | 分布式架构(单组) | 分布式架构(多组) | 分布式架构(多层) |
| — | — | — | — | — |
| 多跳通信 | ✕ | ✓ | ✓ | ✓ |
| 无人机中继 | ✕ | ✓ | ✓ | ✓ |
| 异构无人机 | ✕ | ✕ | ✓ | ✓ |
| 自动配置 | ✕ | ✓ | ✕ | ✓ |
| 覆盖范围有限 | ✓ | ✓ | ✓ | ✕ |
| 单点故障 | ✓ | ✕ | ✓ | ✕ |
| 鲁棒性 | ✓ | ✕ | ✕ | ✓ |
集中式架构适用于无人机数量较少、任务相对简单的场景。随着任务复杂度和机群规模的增加,需要根据具体场景选择其他架构。在需要扩展覆盖范围的多跳网络场景中,分布式通信架构更为合适。
无人机通信可通过多种技术实现,主要包括基于蜂窝、卫星、Wi-Fi 和认知无线电的通信技术。
2. 无人机导航技术
无人机导航是指机器人制定快速安全到达目标位置策略的过程,通常依赖于当前位置和环境信息。为了有效完成预定任务,无人机需要全面了解自身状态,包括航向、导航速度、位置、目标位置和起点。
目前,无人机导航技术主要分为三类:卫星导航、视觉导航和惯性导航。但这些技术都并非完美,因此需要根据具体任务选择合适的导航技术。
视觉导航是一个有前景的自主导航研究方向。随着计算机视觉的快速发展,视觉传感器具有以下优势:
- 能提供丰富的周围环境操作信息;
- 具有出色的抗干扰能力,非常适合主动环境感知;
- 大多数视觉传感器是被动的,可避免被攻击者发现。
3. 无人机轨迹规划方法
轨迹规划的目标是找到起点和终点之间的最短最优路径,这是无人机领域的重要难题。无人机路径规划的核心目标是通过一条满足无人机性能要求且飞行过程中碰撞概率小的路径,实现有效的飞行成本。
无人机路径规划通常包括三个主要方面:运动规划、导航和轨迹规划。运动规划包含飞行路线等约束;轨迹规划涉及速度、时间和无人机运动学;导航则关注定位和避障。
常见的轨迹规划方法总结如下:
| 算法 | 方法 | 能否扩展到 3D | 优点 | 缺点 |
| — | — | — | — | — |
| CD | 工作空间建模 | 是 | 可扩展到 3D,适用于移动机器人应用 | 需要 A
搜索算法 |
| VD | 工作空间建模和路线图 | 是 | 规划路线远离障碍物 | 难以在 3D 环境中应用 |
| VG | 工作空间建模和路线图 | 是 | 在基于多边形和规则的环境中性能较好 | 规划路线靠近障碍物,在复杂环境中较难应用 |
| APF | 势场法 | 是 | 无需环境建模算法,时间复杂度低,易生成路径,可实时避障 | 容易陷入局部极小值 |
| A
| 搜索法 | 是 | 路径成本低且短,可与环境建模算法结合 | 可能存在高时间复杂度 |
| Dijkstra | 搜索法 | 是 | 保证找到最短路径 | 时间复杂度高 |
| RM | 工作空间建模和路线图 | 是 | 保证找到路径(需无边界增加采样节点) | 不保证找到最优路径,在狭窄间隙中难生成路径,计算复杂度高 |
4. 无人机网络通信与路径规划架构
无人机在从起点到终点的运动过程中需要进行路线规划。它通过传感器识别周围环境,进行导航、控制和规划飞行移动。无人机路线规划在执行操作时需要经过以下阶段:
1.
气候和天气感知
:让无人机了解环境情况。
2.
导航
:持续应用路线规划和导航方法,寻找最优路线。
3.
无人机运动控制
:中央控制器监控无人机的运动和速度,以避免碰撞。此外,无人机在执行任务时需要与相邻无人机通信,进行网络管理。
在复杂环境中,2D 路线规划技术难以发现物体和障碍物,因此 3D 路线规划需求迫切。通过优化传输功率可以降低基站与无人机的通信能量消耗。无人机系统的能量消耗可建模为:
$E = (P_{min} + h) (t) + (P_{max})(h/s)$
其中,$t$ 为运行时间,$h$ 为高度,$s$ 为无人机速度,$P_{min}$ 和 $P_{max}$ 取决于电机规格和重量。
整个通信成本 $T_{com}$ 可建模为:
$T_{com} = t_s + (t_o + t_h)l$
其中,$t_s$ 为无人机启动时间,$t_o$ 为时间开销,$t_h$ 为无人机跳数时间,$l$ 为起点和目标之间的累积链路数。
4.1 二维环境下的轨迹规划
传统路线规划技术通常基于 2D 环境信息。在无人机应用中,可能需要手动调整飞行高度。2D 路线规划优化问题是 NP 难问题,没有确定的解决方案。幸运的是,集体影响(CI)算法可以减少约束和成本函数的梯度计算要求,从而优化和解决 NP 难问题。
2D 路线规划算法根据无人机约束可分为三类:
-
将无人机视为粒子
:设计师可专注于最优路径计算,但计算复杂,难以实现,因为 NP 难问题可通过空间搜索转换为最优路线约束。多个 CI 算法可通过简化成本和约束函数的梯度计算来优化路线规划。
-
基于无人机形状建模
:将问题转换为考虑无人机形状参数(如重心和翼展)的 2D 形状问题,然后用将无人机视为粒子的方法解决。
-
将无人机建模为动态和运动学约束
:考虑最大和最小转弯半径等。该方法更复杂,但在实际应用中更常用。CI 方法在计算和快速收敛方面具有优势。
4.2 三维环境下的轨迹规划
随着导航、检测、操作和运输等领域对无人机应用需求的增加,由于环境复杂且存在不确定性和非结构化因素,3D 路线规划的鲁棒方法至关重要。与 2D 路线规划相比,3D 路线规划在运动学约束方面面临更大挑战。
传统的 CI 方法在解决 3D 空间的运动学约束问题时可能会遇到收敛速度慢、探索范围广等困难。为了克服这些挑战,可采用以下算法:
-
遗传算法(GA)
:可用于避免 3D 无人机路线规划中不成熟和缓慢收敛的问题。
-
增强粒子群优化(PSO)技术
:可解决大范围盲目探索问题,实现全面的 3D 路线优化。
-
改进的蚁群优化(ACO)技术
:可提高选择速度,降低找到局部最优解的概率。
-
联邦学习(FL)算法
:通常用于无人机导航视觉,实现图像决策和检测。
-
融合神经网络(NN)技术
:可用于讨论无人机路线规划攻击问题,通过并行化方法可进一步增强其性能。
近年来,随着计算芯片的发展,深度学习(DL)和机器学习(ML)技术在无人机 3D 路线规划中得到了广泛应用,能够更准确地解决 NP 难问题。
5. 轨迹规划分类与挑战
5.1 轨迹规划分类
无人机路线规划可分为组合采样法和生物启发法。
5.2 路线规划挑战
- 路线长度 :指无人机从起点到终点移动的总路径。
- 优化 :路线计算和参数应在时间、能量和成本方面高效,可分为非最优、次优和最优三类。
- 扩展性 :用于路线规划中发现路线的特性,为无人机提供平台和最优路线解决方案。
- 成本效率 :依赖于无人机网络成本计算,包括对等成本、燃料成本、电池充电成本、内存空间成本、硬件和软件成本等。
- 时间效率 :指假设路径上有障碍物时,无人机从起点到目标点所需的最短时间,使用最短最优路径可实现这一目标。
- 能源效率 :指无人机从起点到终点消耗的最小能量,包括能源、燃料、电池等。
- 鲁棒性 :指无人机在路线规划过程中对硬件、软件、协议和通信等错误的容忍和恢复能力。
- 避障能力 :指无人机检测和避免碰撞的能力,以防止无人机坠毁或物理损坏。
6. 经典的无人机群导航与路径规划技术
6.1 路线图方法(RA)
路线图方法(RA)也称为公路方法,是一个二维直线网络,连接起点和终点且不与地图中的障碍物相交。其基本思想是在 C 空间中随机生成采样节点并连接它们。
具体步骤如下:
1. 在搜索空间中生成固定数量的随机点(里程碑),丢弃位于障碍物内的里程碑。
2. 从机器人起点开始,将剩余的里程碑依次用直线连接,丢弃位于障碍物内的直线段。
3. 剩余的线段成为机器人可以无碰撞行驶的边缘。
4. 对于给定的起点和终点,生成所有可能的连接路径以避免障碍物。
5. 使用 A*搜索技术找到起点和终点之间的最短路线,最终路线由一系列连接起点和目标位置的航路点组成。
路线图方法还可用于多边形环境中的障碍物处理,例如可视性图(VG)和 Voronoi 图。
6.1.1 可视性图(VGs)
可视性图是一种基于 C 空间建模的路线规划算法,是最早用于路径规划的方法之一。在可视性图中,障碍物顶点由起点和终点之间的有限个节点表示,节点之间的路线由连接的线表示。如果连接的线不穿过任何障碍物,则该路径是可行的,在可视性图中用实线表示;否则,该路径不可行,需要从图中删除。
可视性图的概念可以扩展到 3D 环境,一些文献提出将 3D 问题转换为 2D 问题,然后使用传统的 2D VG 算法找到路线,最后添加路径高度信息。
6.1.2 A*算法
A*算法是一种常用的遍历图和路线搜索算法,由于其最优性和完整性,常用于寻找最优路线。它使用以下公式计算下一个节点:
$f(n) = g(n) + h(n)$
其中,$n$ 是路线上的下一个节点,$g(n)$ 是从节点 $S$ 到 $n$ 的路线成本,$h(n)$ 是从目标节点 $G$ 到 $n$ 的最低路径成本的启发式计算。
A*算法的具体实现如下:
# 算法 1: A*算法
def A_star(start, goal, h, expand):
if goal(start):
return makePath(start)
open_list = [start]
closed_list = []
while open_list:
open_list.sort(key=lambda x: f(x, h))
n = open_list.pop(0)
kids = expand(n)
for kid in kids:
kid.f = n.g + 1 + h(kid)
if goal(kid):
return makePath(kid)
if kid not in closed_list:
open_list.append(kid)
closed_list.append(n)
return None
6.2 单元分解法(CD)
单元分解法(CD)是一种基于 2D C 空间建模的路径规划算法。该方法将环境划分为不重叠的网格(单元),使用连通性图从一个单元遍历到另一个单元以实现目标。
具体步骤如下:
1. 将环境划分为非重叠的单元。
2. 移除被障碍物占据的单元。
3. 通过连接相邻的自由单元(无障碍物的单元)创建从起点到终点的可能路线。
4. 使用搜索算法连接相邻的自由单元。
5. 如果未找到路径,则将单元分解为更小的单元并重新搜索。
单元分解法具有精确、自适应和近似等特点。在精确的单元分解中,单元的大小和形状由环境地图、位置和障碍物形状决定。该方法通过多种方式利用规则网格,将可用环境自由空间分解为小参数(三角形和梯形),并为每个参数编号,每个参数代表图连通性中的一个节点,相邻节点可以在空间中连接。
6.3 方法对比与选择建议
为了更清晰地了解不同方法的特点,以便在实际应用中做出合适的选择,下面对路线图方法(RA)和单元分解法(CD)进行对比:
| 方法 | 优点 | 缺点 | 适用场景 |
| — | — | — | — |
| 路线图方法(RA) | - 可随机生成节点,适应性强
- 能有效处理复杂环境中的障碍物 | - 生成的路径可能不是最优的
- 计算复杂度较高 | 环境复杂、障碍物分布不规则的场景 |
| 单元分解法(CD) | - 实现相对简单
- 可根据需要调整单元大小 | - 可能需要多次分解单元才能找到路径
- 对环境的离散化可能导致信息丢失 | 环境相对规则、障碍物分布较为均匀的场景 |
在选择方法时,需要综合考虑环境的复杂度、障碍物的分布、对路径最优性的要求以及计算资源的限制等因素。如果环境复杂且对路径的实时性要求较高,可以优先考虑路线图方法;如果环境规则且追求简单高效的实现,单元分解法可能是更好的选择。
6.4 算法流程图
下面是路线图方法(RA)和单元分解法(CD)的 mermaid 格式流程图,帮助读者更直观地理解算法的执行过程。
graph TD;
A[开始] --> B[生成随机点(里程碑)];
B --> C[丢弃障碍物内的里程碑];
C --> D[连接剩余里程碑];
D --> E[丢弃障碍物内的线段];
E --> F[生成无碰撞路径];
F --> G[使用 A*搜索最短路线];
G --> H[输出最终路径];
H --> I[结束];
路线图方法(RA)流程图
graph TD;
A[开始] --> B[划分环境为单元];
B --> C[移除障碍物占据的单元];
C --> D[连接相邻自由单元];
D --> E[使用搜索算法];
E --> F{找到路径?};
F -- 是 --> G[输出路径];
F -- 否 --> H[分解单元为更小单元];
H --> D;
G --> I[结束];
单元分解法(CD)流程图
7. 未来发展趋势
7.1 多技术融合
未来,无人机导航与轨迹规划技术将朝着多技术融合的方向发展。例如,将视觉导航与卫星导航、惯性导航相结合,可以充分发挥各种技术的优势,提高导航的准确性和可靠性。同时,融合深度学习、机器学习等人工智能技术,能够使无人机更好地适应复杂多变的环境,实现更加智能的路径规划和决策。
7.2 集群协作
随着无人机应用场景的不断拓展,集群协作将成为一个重要的发展趋势。多架无人机通过协作可以完成更复杂的任务,如大规模搜索、协同运输等。在集群协作中,如何实现无人机之间的高效通信、协调和任务分配,将是未来研究的重点。
7.3 自主学习与进化
赋予无人机自主学习和进化的能力是未来的另一个重要方向。无人机可以通过不断地学习和积累经验,优化自身的导航和轨迹规划策略,提高应对未知环境和突发情况的能力。例如,利用强化学习算法,让无人机在与环境的交互中不断调整行为,以获得最优的性能。
7.4 安全与可靠性提升
随着无人机的广泛应用,安全与可靠性问题日益受到关注。未来的技术发展将更加注重提高无人机的抗干扰能力、故障诊断和容错能力,确保无人机在各种复杂环境下能够安全可靠地运行。例如,采用冗余设计、故障预测和修复技术,降低无人机发生故障的概率。
8. 总结
本文详细介绍了无人机导航与轨迹规划的相关技术,包括通信架构、导航技术、轨迹规划方法、经典的路径规划算法以及未来的发展趋势。在通信架构方面,集中式和分布式架构各有优缺点,需要根据具体场景进行选择。导航技术中,视觉导航具有独特的优势,是一个有前景的研究方向。轨迹规划方法涵盖了多种算法,每种算法都有其适用的场景和局限性。经典的路径规划技术如路线图方法和单元分解法,为无人机的路径规划提供了有效的解决方案。
未来,无人机导航与轨迹规划技术将不断发展和创新,多技术融合、集群协作、自主学习与进化以及安全可靠性提升将是主要的发展方向。希望本文能够为相关领域的研究人员和从业者提供有益的参考,推动无人机技术的进一步发展。
附录:代码解释
A*算法代码解释
# 算法 1: A*算法
def A_star(start, goal, h, expand):
# 如果起点就是目标点,直接返回路径
if goal(start):
return makePath(start)
# 初始化开放列表,包含起点
open_list = [start]
# 初始化关闭列表,为空
closed_list = []
# 当开放列表不为空时,继续搜索
while open_list:
# 对开放列表按 f 值排序
open_list.sort(key=lambda x: f(x, h))
# 取出 f 值最小的节点
n = open_list.pop(0)
# 扩展当前节点,得到其子节点
kids = expand(n)
# 遍历子节点
for kid in kids:
# 计算子节点的 f 值
kid.f = n.g + 1 + h(kid)
# 如果子节点是目标节点,返回路径
if goal(kid):
return makePath(kid)
# 如果子节点不在关闭列表中,加入开放列表
if kid not in closed_list:
open_list.append(kid)
# 将当前节点加入关闭列表
closed_list.append(n)
# 如果开放列表为空仍未找到路径,返回 None
return None
这段代码实现了 A*算法的核心逻辑。
start
是起点,
goal
是判断节点是否为目标节点的函数,
h
是启发式函数,
expand
是扩展节点的函数。算法通过维护开放列表和关闭列表,不断扩展节点并选择最优节点进行搜索,直到找到目标节点或开放列表为空。
单元分解法代码示例(伪代码)
# 单元分解法(CD)伪代码
def cell_decomposition(environment):
# 划分环境为单元
cells = divide_environment(environment)
# 移除障碍物占据的单元
free_cells = remove_obstacle_cells(cells)
# 初始化路径为空
path = []
# 尝试找到路径
while not path:
# 连接相邻自由单元
paths = connect_free_cells(free_cells)
# 使用搜索算法找到最短路径
path = search_shortest_path(paths)
# 如果未找到路径,分解单元为更小单元
if not path:
cells = divide_cells_into_smaller(cells)
free_cells = remove_obstacle_cells(cells)
# 返回最终路径
return path
这段伪代码展示了单元分解法的基本流程。首先将环境划分为单元,移除障碍物占据的单元,然后尝试连接相邻自由单元并使用搜索算法找到最短路径。如果未找到路径,则将单元分解为更小单元,重复上述过程,直到找到路径为止。
826



被折叠的 条评论
为什么被折叠?



