关于路径规划问题的详细总结(千字长文)

2023-05-16

1 路径规划和轨迹优化的方法概括.................................................................................................................... 1

1.1 路径规划的方法概括............................................................................................................................ 1

1.2 轨迹优化的方法概括............................................................................................................................ 1

2 路径规划算法详解.............................................................................................................................................. 1

2.1 Dijkstra算法...................................................................................................................................... 1

2.2 Dijkstra算法习题思考..................................................................................................................... 2

2.3 Dijkstra算法的优缺点..................................................................................................................... 3

2.4 A*算法..................................................................................................................................................... 3

2.5 RRT算法.................................................................................................................................................. 4

2.6 对于RRT算法的改进想法(融入了RL思想).............................................................................. 5

2.7 RRT算法的优缺点................................................................................................................................. 5

2.8 RRT*算法................................................................................................................................................. 5

2.9 Informed RRT*算法............................................................................................................................ 6

2.10 基于遗传算法的路径规划.................................................................................................................. 7

1 路径规划和轨迹优化的方法概括

    1. 路径规划的方法概括

基于搜索的路径规划有两项,分别是Dijkstra和A*算法;

基于采样的路径规划有三项,分别是RRT、RRT*和Informed RRT*算法;

基于智能算法的路径规划两项,分别是遗传算法和蚁群算法。

    1. 轨迹优化的方法概括

轨迹表示方法有两种方法,分别是多项式曲线和贝塞尔曲线;

轨迹优化目标有两种方法,分别是最小化snap和轨迹长度;

轨迹约束有两种方法,分别是软约束和硬约束。

2 路径规划算法详解

2.1 Dijkstra算法

从起点开始逐步扩展,每一步为一个节点找到最短路径。Dijkstra的核心思想是贪心算法的思想。贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。在网上有看过这样一个对贪心算法的比方,就是当我们去吃自助餐,我们的目标是吃回本钱,但是我们的胃是有限的,所以我们的策略是每次吃最贵的食物。

在这个Dijkstra算法课程的流程的核心很简单,只需要两个列表,一个是open list(存放的是已经更新过的从其他节点到初始节点有路径的节点),另一个是closed list(存放的是收录以后的节点,已经找到了前往起点最短路径的节点)。即我们首先将起点放入open list当中,将open list当中f(n)最小节点放入到closed list当中,检查closed list中的节点为我们需要的节点,则找到最佳路径,但是如果没有,则需要遍历当前节点末在closed list中的邻接节点,如果节点在open list当中,则更新节点f(n)的值,否则计算节点f(n)的值,加入到open list当中。以此为循环,如果在closed list当中找到了目标节点的值,则找到最优路径,退出程序。

2.2 Dijkstra算法习题思考

在这里有一个练习题可以很好解释Dijkstra算法是如何寻找最优路径的,如图1所示,使用Dijkstra算法的情况通常都是要在栅格地图中进行,所以在论文中也经常会见到构型空间(Configuration Space)。

图1.Dijkstra算法习题

首先我们处于起点,第一步我们站在起点上向外看周围的节点,找一个距离离我们最近的节点,所以closed list此时有两个节点,分别是1(0)和4(1),因为我们要遍历周围的每一个节点,所以在open list中存了2(2)这一个节点,此时从起点向外延伸的两个节点我们都走到了,但是在open list中比较4(1)<2(2),所以将4(1)存入到了closed list中进行储存。根据前面所描述的算法,我们下一步就要遍历4和2节点周围的节点,我们先走4节点,发现4节点周围有三个节点分别是3、6和7,此时我们计算一下从1经过4再到3、6和7这三个节点的距离,分别是3(3)、6(9)和7(5),相比于这三个节点,则2(2)更短,于是将2(2)放入closed list当中。接着我们需要从2节点向外看,发现有4和5节点,但是4我们走过了,所以我们从1到2到5,计算出来5(13)节点并放入open list中。当我们遍历完4和2节点后,接着就是遍历3、6、7和5节点,从3节点上向外看,有1和6节点,因为1节点是起点,所以我们不走,于是我们走6号节点,这是我们第一次到达终点,即目标点。此时我们在open list中更新了6(8),即从1到4到3到6,比较路径长短后,将3(3)存入closed list中,因为6是终点所以6不走,最后从7节点遍历其他节点,发现只有6,则又规划出了一条从1到4到7到6的路径,计算出6(6),最终在open list当中比较更新出一条到达6的最短路径。至于5节点,它处于7节点的后面,并且5(13)远大于7(5),所以不需要计算考虑。

综上所述,将Dijkstra算法总结为两句话,记为从未访问的节点选择最小距离的节点进行收录,即贪心思想,之后从收录节点后遍历该节点的邻接节点,并更新,重复以上过程直到找到最优路径。

2.3 Dijkstra算法的优缺点

首先从上面的习题中,我们就可以看到该算法的优点就是可靠,因为它遍历了栅格地图中的每一个节点,并从中选择出一条最优的路径,所以我们可以相信这条路径在此刻看来是最优路径。但是缺点也很明显,首先该算法必须要在有栅格的地图中才可以进行,但是基本上所有的地图都是不带有网格的,因此我们要使用这个方法,第一步就是要进行网格的划分,问题也随之而来,如何确保我们选择的网格大小就是最后能形成最优路径的网格大小,所以我们不能找到最优的网格大小和密度,我们只能通过经验来估算,就这一点也是Dijkstra算法最大的缺点。其次Dijkstra算法需要遍历每一个节点,并且还要计算邻接节点到起点的路径,进行更新,所以这个计算量是很大的,大的计算量对应的是冗余的算力和长时间的计算,这是第二大缺点。因此为了减少计算和降低计算时长,有了第二种算法为A*算法。

2.4 A*算法

A*算法提出的动机是为了减少收录栅格的数量,从而减少搜索时间,因为A*算法是基于Dijkstra算法的,所以算法的主体不变,只需要每次在open list选取最小节点时加入启发式函数F(n)=f(n)+h(n),这样在选取临近节点时,加一个函数值约束,直接选取最优点,而可以不用去遍历其他节点浪费时间,最终两个算法的效果图如图2所示。

图2.基于搜索的路径规划两种方法对比

我们可以看出Dijkstra算法和A*算法的区别,虽然A*算法大大加快了计算速度,但是在前面提到的Dijkstra算法中第一个缺点,即基于搜索的路径规划算法必须要在具有网格节点的地图中进行,所以划分网格空间成为了该种路径规划算法的最大缺点。

2.5 RRT算法

起点作为一颗种子,从它开始生长枝丫;在机器人的“构型”空间中,生成一个随机点;在树上找到距离最近的那个点,记为a;朝着a的方向生长,如果没有碰到障碍物就把生长后的树枝和端点添加到树上,返回true。

随机点一般是均匀分布的,所以没有障碍物时树会近似均匀地向各个方向生长,这样可以快速探索空间。当然如果可以事先掌握最有可能发现路径的区域信息,可以集中兵力重点探索这个区域,这时就不宜用均匀分布了。

其中有几个要注意的点在这个算法中:

  1. 首先我们是以起点作为第一个节点向外生长的,因此在节点周围随机找点,并且将这个点与起点进行连接,这时我们就能确定机器人应该运动的轨迹方向,之后我们以选择好的步长向这个方向进行移动一个步长的距离,如果这一个步长的轨迹与障碍物相重合,则舍弃该轨迹,再次随机选择其他位置进行判断。
  2. 在该算法中有一个小技巧可以加快寻找终点的速度,就是以一定概率选择终点作为采样点,我们可以选择5%-10%的概率将终点作为采样点,于是每次选择采样点时就有5%-10%的概率选择终点作为树枝生长的方向,当这个方向上无障碍物时,就可以多步长快速找到终点,大大节省了路径规划的时间。

2.6 对于RRT算法的改进想法(融入了RL思想)

图3.RRT算法中障碍物地图

因为我们知道智能体本身是具有一定大小体积的,为了能更好地通过障碍物到达目标点,我们需要智能体与障碍物之间形成一定的安全距离,如图3所示。所以我将RL思想中reward的奖惩机制引入到这里,可以设定一个标准,如果轨迹距离圆心的距离小于等于障碍圆的半径,则得到-1分,如果轨迹距离圆心的距离大于障碍圆的半径但小于(障碍圆半径+智能体圆半径)/f(x),我设这里的f(x)为一激励函数,当0<f(x)的值<1时,则在每一个episode中得到-f(x)值,当1<f(x)的值时,则在每一个episode中得到-1/f(x)值。如果轨迹距离圆心的距离大于(障碍圆半径+智能体圆半径)/f(x),则得到1分。最终比较所有episode的值,选出最大正数,即最安全路径。

另一个点就是如何计算轨迹到障碍物之间的距离,这里直接使用点到直线的距离,通过向量矩阵的运算即可求得,求得后再减去障碍物半径得到最终结果。

2.7 RRT算法的优缺点

首先我们对比Dijkstra算法和A*算法,RRT算法不需要进行网格空间的划分,增强了随机化的概念。但是RRT算法的缺点也很明显,因为步长的限制,它无法寻找到一条最优路径,只能尽量避开障碍物,这无法满足最短路径的需要。因此我们引出了RRT*算法。

2.8 RRT*算法

如我们前面所描述的RRT算法是一个相对高效率,同时可以较好的处理带有非完整约束的路径规划问题的算法,并且在很多方面有很大的优势,但是RRT算法并不能保证所得出的可行路径是相对优化的。因此许多关于RRT算法的改进也致力于解决路径优化的问题,RRT*算法就是其中一个。RRT*算法的主要特征是能快速的找出初始路径,之后随着采样点的增加,不断地进行优化直到找到目标点或者达到设定的最大循环次数。RRT*算法是渐进优化的,也就是随着迭代次数的增加,得出的路径是越来越优化的,而且永远不可能在有限的时间中得出最优的路径。因此换句话说,要想得出相对满意的优化路径,是需要一定的运算时间的。所以RRT*算法的收敛时间是一个比较突出的研究问题。但不可否认的是,RRT*算法计算出的路径的代价相比RRT来说减小了不少。RRT*算法与RRT算法的区别主要在于两个针对新节点xnew的重计算过程,分别为:重新为xnew选择父节点的过程, 比起RRT多了一个rewire的过程;重布线随机树的过程。

RRT*算法的核心在于在局部面积的路径中寻找父节点,由父节点来判断是形成新路线还是保持原路线,所以该路径是局部渐进迭代的结果。对比RRT算法,RRT*算法的确可以找出一条渐进最优的路径,但是多次迭代所需要的时间也是该算法的缺点。

2.9 Informed RRT*算法

图4.椭圆空间压缩过程

 

图5.椭圆大小

该方法是采样点函数改进,每次要在椭圆里采样。首先要求解出Cmin,接着要求出XcentreXcentre位于椭圆的中心点。因为路径角度的不同就形成了不同角度的椭圆,所以就形成了与世界坐标角度不同的坐标系,这个时候就需要求椭圆坐标和世界坐标之间的旋转矩阵,课程中提到了一个Kabsch算法来求解旋转矩阵。将不同维度的r依次存入到对角矩阵L中。因为我们先是在圆里面进行采样的,所以提前设了一个Xball,给Xball乘以一个维度压缩的对角矩阵L,再乘以一个旋转矩阵C,最后加一个平移的位移就可以得到我们想要的椭圆区域。话句话说,相当于把圆压扁拉长得到椭圆。

2.10 基于遗传算法的路径规划

图6.遗传算法规划图

遗传算法的核心可以总结为“模拟生物进化过程,物竞天择,适者生存”,首先是种群的初始化,(1)在每行选择一个栅格(2)判断相邻栅格是否连续(3)不连续时进行插入栅格操作,直到其连续。下一步就是选择的过程,类比为我们平时的圆盘抽奖,好的个体面积大,被选中的概率就大,反之亦然,但是我们仍保留个别坏的个体,因为它们可能会在后续的交叉和变异中变成非常好的选择。交叉即路径之间交叉,两个交叉的路径就会形成两个新的路径。而变异则是在网格中随机选择路径中的两个栅格,并采用种群初始化的方法在两个栅格间产生新的路径。最后我们只需要不断循环选择、交叉和变异操作,保留下最优路径即可。

关注博主,后续还会更新轨迹优化的知识总结!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于路径规划问题的详细总结(千字长文) 的相关文章

  • linux系统用户自动登陆不需要输入密码设置

    使用于ubuntu linux unix 一 删除密码 root 64 ubuntu passwd d root 或者 passwd root d 二 修改sshd config文件 root 64 ubuntu cd etc ssh ro
  • 新建springboot项目报错

    未能配置数据源 xff1a url 属性未指定 xff0c 无法配置嵌入式数据源 原因 xff1a 无法确定合适的驱动程序类别 如果您想要一个嵌入式数据库 xff08 H2 HSQL或Derby xff09 xff0c 请将其放在类路径上
  • 伪分布搭建hadoop

    伪分布式搭建hadoop 伪分布模式准备工作以root权限修改ip xff0c 配置关网等修改完IP地址后 xff0c 需要重启网络服务查看ip和是否能ping通修改主机名修改域名映射文件关闭防火墙ssh免密登陆 安装JDK卸载之前的JDK
  • Java实现AI机器人聊天

    文章目录 前言一 账号注册申请密钥二 参数详情三 Java集成1 调用接口2 响应数据 四 效果总结 前言 OpenAI API 几乎可以应用于任何涉及理解或生成自然语言或实现代码等场景 提供一系列具有不同学习训练的模型 xff0c 适用于
  • 使用全局阈值进行灰度图像二值化

    1 原理 选取阈值的一种方法就是图像直方图的视觉检测 选择 T 的另一个方法是反复实验 xff0c 选取不同的阈值 xff0c 直到观测者觉得产生了较好的结果为止 xff0c 这在交互环境下特别有效 例如 xff0c 这种方法允许 使用者通
  • Linux动静态库

    文章目录 Linux动静态库认识动静态库动态库静态库 静态库的打包与使用静态库的打包静态库的使用 动态库的打包与使用动态库的打包动态库的使用 Linux动静态库 认识动静态库 我们先来看一段代码 xff1a span class token
  • GPS启动方式、定位速度、定位精度介绍

    前面文章介绍了GPS定位基础知识 GPS定位知识介绍 qq com 本文主要介绍GPS启动方式 定位过程中最重要的辅助信息是时间 星历 位置 根据辅助信息不同
  • window11上Linux环境搭建

    以下的大部分图片来自网上 xff0c 本人在操作过程中忘记截图记录了 xff0c 但是发出来的这些和我做的是一模一样的 xff01 xff01 一 点击下载centOS7镜像 centos 7 9 2009 isos x86 64安装包下载
  • SQLyog连接MySQL出现错误,提示Client does not support authentication protocol requested by server的解决方法

    问题 xff1a 自己电脑安装了MySQL8 0 26版本 xff0c 但从网上找到破解版的SQLyog软件 xff0c 在装好SQLyog后连接不上 xff0c 会弹出 Client does not support authentica
  • C++的基础知识学习笔记

    C 43 43 的基础知识学习 1 3变量 作用 xff1a 给一段指定的内存空间起名 xff0c 方便操作这段内存 语法 xff1a 数据类型 变量名 61 初始值 xff1b int a 61 1 xff1b 变量存在的意义 xff1a
  • zsh 配置指南

    zsh 配置指南 前言 在Linux系统中 xff0c 我们厂用终端输入命令与系统进行交互 xff0c 大多Linux系统使用的shell为bash 但bash中的功能和色调非常简单和单调 xff0c 往往想达到一个趁手的命令行工具 xff
  • linux/swupd基础命令讲解---基础篇

    一 原生linux ubuntu unix系统安装基础命令 root 64 ubuntu clrtrust generate root 64 ubuntu s wupd bundle add network basic root 64 ub
  • Ros_Canopen:ROS与底盘的can通讯使用

    ROS CANOPEN ROS与底盘的can通讯使用 这篇文章记录了ros canopen的安装和使用过程 xff0c 系统版本为ubuntu16 04 并且已经安装了ROS xff08 kienect 安装过程可能会出现错误 xff0c
  • casbin的详细理解过程(附图片理解)(rbac模型)

    一 casbin模型 casbin模型又叫PERM模型 xff1a subject sub 访问实体 xff0c object xff08 obj访问的资源 xff09 和action xff08 act访问方法 xff09 eft xff
  • EKF(拓展卡尔曼滤波)学习笔记:

    一些参考 xff1a xff08 三十九 xff09 通俗易懂理解 卡尔曼滤波与扩展卡尔曼滤波 知乎 zhihu com 50 封私信 42 条消息 如何通俗并尽可能详细地解释卡尔曼滤波 xff1f 知乎 zhihu com 视觉slam1
  • MSCKF学习笔记

    1 IMU简介 xff1a 测量物体三轴姿态角及加速度的装置 一般IMU包括三轴陀螺仪及三轴加速度计 IMU通常包含陀螺仪 Gyroscope 加速度计 Accelermeters 现代的陀螺仪 MEMS 输出的是旋转变化率 Rotatio
  • 树莓派串口编程c语言

    一 xff1a 初次使用树莓派串口编程 xff0c 需要配置 1 进入 cmdline txt 文档 指令 xff1a cd boot sudo vim cmdline txt 2 删除 之间的部分 dwc otg lpm enable s
  • 数据结构与算法

    为什么要学习数据结构与算法 1 数据结构 43 算法 61 程序 2 代码化繁为简 3 提高代码性能 4 提高面试通过率 栈 栈的概念 栈是一种遵从后进先出原则的有序集合添加新元素的一端称为栈顶 xff0c 另一端称为栈底操作栈的元素时 x
  • python爬虫的常用库

    1 requests 这个库是爬虫最常用的一个库 2 Selenium Selenium 这是一个自动化测试工具 xff0c 利用它我们可以驱动浏览器执行特定的动作 xff0c 如点击 下拉等操作 对于一些用JS做谊染的页面来说 xff0c
  • 【Mecanum wheel】初理解

    文章目录 Mecanum wheel1 定义2 受力分析3 轮子布局布局特点分析 4 底盘设计1 麦克纳姆轮尺寸2 电机连接参考 xff08 较通用 xff09 3 底盘设计参考 xff08 悬挂 避震器 xff09 5 缺点 Refere

随机推荐

  • STM32cubemx教程及STM32入门(一)

    STM32cubemx教程 xff08 一 xff09 2021 10 17 简介 STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具 xff0c 目的就是为了方便开发者 xff0c 允许用户使用图
  • 2020-11-05

    私有云的优缺点是什么 xff1f 与公有云的区别 毋庸置疑 xff0c 企业选择私有云的重要原因之一是数据安全性 与传统的 IT 架构相比 xff0c 云算力的高可用性 xff0c 让 IT 解决方案更经济高效地运行 优点 xff1a 可定
  • git 解决每次更新代码都要输入用户名密码的解决方案--1

    使用git pull或者git push每次都需要输入用户名和密码很繁琐 xff0c 耽误时间 xff0c 现在教大家一条命令实现保存用户名和密码不用再输入 git config global credential span class h
  • 浏览器相关知识总结~

    浏览器知识总结 前言一 浏览器的存储CookiesessionstorageindexedDB 二 浏览器的缓存浏览器缓存其它缓存 三 浏览器同源策略和跨域同源策略跨域 四 浏览器的渲染五 进程与线程1 进程与线程概念2 进程和线程之间的关
  • Samba服务

    目录 配置yum源安装samba服务配置samba服务Windows环境使用Samba服务Linux环境使用Samba服务 xff08 1 xff09 方法一使用smbclient命令 xff08 2 xff09 方法二使用挂载的方式 Sa
  • 基于STM32的二轮自平衡小车

    前言 近年来 xff0c 移动机器人是目前科学领域比较活跃的领域之一 xff0c 其应用范围越来越广泛 xff0c 面临的环境也越来越复杂 xff0c 这就要求机器人能够适应一些复杂的环境和任务 二轮自平衡机器人正是在这一背景下提出来的 x
  • 学习STM32单片机之结构体思想

    学习目标 xff1a 掌握 STM32 基础知识 学习STM32单片机之 结构体思想 学习内容 xff1a 1 我们在操作寄存器的时候 xff0c 操作的是寄存器的绝对地址 xff0c 如果每个寄存器都这样操作 xff0c 那将非常麻烦 2
  • Matlab中的mex文件

    文章目录 前言一 MEX的介绍二 MEX的编写总结 前言 MEX文件是一种可在matlab环境中调用的C语言 xff08 或fortran xff09 衍生程序 xff0c mex的编译结果实际上就是一个带输出函数mexFunction 的
  • 【转载】机器视觉-相机标定后,移动相机需要重新标定相机吗?

    毕业论文和机器视觉相关 xff0c 最近又在做标定的相关东西 xff0c 及在笔记本上太麻烦 xff0c 索兴就建个博客写点学习中遇到的问题 相机标定之后 xff0c 移动相机需要重新进行标定吗 xff1f xff08 我主要做的是单目视觉
  • 浅谈逻辑地址和物理地址

    在程序运行时由中央处理单元生成的内容的地址称为逻辑地址 该地址也称为虚拟地址 当我们谈论逻辑地址时 xff0c 我们指的是CPU分配给每个进程的地址 xff0c 一个进程在内存中所处的实际地址与进程认为它所处的地址是不一样的 每当 CPU
  • [CUDA] 快速入门CUDA(2) 以任务为导向的实践-解决最小二乘法问题

    快速入门CUDA 2 以任务为导向的实践 解决最小二乘法问题 文章目录 快速入门CUDA 2 以任务为导向的实践 解决最小二乘法问题1 问题介绍2 MATLAB解法实现3 CUDA解法实现3 1 总览3 2 第一步 xff0c 读取矩阵3
  • 常见的Linux版本

    常见的Linux版本 Linux 系统的吉祥物名为 Tux xff0c 是一只呆萌的小企鹅 相传 Linus Torvalds 在童年时期去澳大利亚的动物园游玩时 xff0c 不幸被一只企鹅咬伤 xff0c 所以为了 报复 就选择了这个物种
  • 【深度学习&NLP】数据预处理的详细说明(含数据清洗、分词、过滤停用词、实体识别、词性标注、向量化、划分数据集等详细的处理步骤以及一些常用的方法)

    目录 一 数据预处理简介 二 进行数据预处理的原因 1 文本中含有不必要的信息和噪声 2 数据可能不一致或者不太规范 3 文本需要标记和分词 4 可能需要词形还原和词干提取 词性标注 5 需要将文本向量化处理 三 数据预处理方法介绍及使用样
  • Linux命令速查手册--超详细Linux命令教程

    一 常用命令速查 lscdpwdcatmorelesstailheadcpscpmvmkdirrmdirtouchrmpskilltopfreecleartreewcstat 以上是常用命令速查表 xff0c 以下是命令详解 二 Linux
  • jQuery 获取与设置 元素属性【一篇文章轻松拿下】

    hello大家好呀 xff01 此篇文章带领大家熟练掌握 jQuery 的属性方面的操作 xff0c 包括固有属性的获取与设置 xff0c 自定义属性的获取与设置等等 xff0c 走进 jQuery 的更深层次阶段 文章目录 xff1a 一
  • can的总结——笑笑

    一 什么是can can就是车用主线 xff0c 贯穿整个车的存在 can的分类2 默认是高速can 低速容错can 单线can 用两种can会减少can网络语言的负载率 xff0c 就是原本一个小屋做核酸 xff0c 现在是两个速度翻倍
  • VDO虚拟数据优化

    1 xff0c VDO xff08 Virtual Data Optimize xff09 虚拟数据优化 2 xff0c 使用VDO压缩存储设备上的数据并进行重复删除 xff0c 以此来优化存储空间的使用 3 xff0c 描述虚拟数据优化器
  • 无人机组装调试步骤(保姆级别教程)

    门店 xff1a YH远航科技模型 xff08 Pixhawk飞控 xff09 新动模型 xff08 电机 xff0c 电调 xff09 相应的电机 xff0c 电调 xff0c 机臂的连接 https m tb cn h UcqJUyV
  • redis无法连接

    配置 错误信息 xff1a 2022 06 15 11 43 52 INFO com atguigu srb core RedisTemplateTests Started RedisTemplateTests in 16 781 seco
  • 关于路径规划问题的详细总结(千字长文)

    1 路径规划和轨迹优化的方法概括 1 1 1 路径规划的方法概括 1 1 2 轨迹优化的方法概括