复杂环境下航迹快速规划是智能飞行器控制的一个重要课题。由于系统结构限制,这类飞行器的定位系统无法对自身进行精准定位,一旦定位误差积累到一定程度可能导致任务失败。因此,在飞行过程中对定位误差进行校正是智能飞行器航迹规划中一项重要任务。本题目研究智能飞行器在系统定位精度限制下的航迹快速规划问题。

    针对智能飞行器在系统定位精度限制下的航迹快速规划问题,其航迹约束条件如下:

问题1

前提:附件1和附件2给出了两个数据集,其数据包含有起点、终点及校正点(x,y,z)的坐标,校正点编号,以及校正点类型(0表示水平误差校正点,1表示垂直误差校正点)。

条件:上述条件(1-7)。

目标:综合考虑两个优化目标,即(a)航迹长度尽可能小(b)经过校正区域进行校正的次数尽可能少,规划出满足上述条件的飞行器航迹。并讨论算法的有效性和复杂度。

问题1建模:

飞行区域存在某些安全位置(即校正点)用于误差校正,且可校正的飞行区域分布位置随机。为了对定位误差进行校正,将连续的飞行器航迹规划问题建模为离散校正点选择问题,从而进行分段航迹规划。

我们将连续航迹规划建模为空间离散校正点选择问题。根据题目约束,每个校正点的可扩展区域为两个同心球,如下图所示,根据校正点类型,球的半径约束不同。

问题1求解:

由于约束条件复杂,附件1和附件2给定的数据集校正点位置分布随机,全局遍历搜索会导致算法复杂度过高,为了降低算法复杂度,使算法在搜索策略上更加灵活,效率更高,可采用A*算法获得多目标约束下的飞行器航迹。

问题1结果:

下图所示分别为两个数据集的航迹规划结果:

问题2

前提:在问题一的基础上,智能飞行器在转弯时受到其结构和控制系统的限制,无法完成即时转弯,即飞行器前进方向无法突然改变,考虑飞行器最小转弯半径。

条件:上述条件(1-8)。

目标:综合考虑两个优化目标,即(a)航迹长度尽可能小(b)经过校正区域进行校正的次数尽可能少,规划出满足上述条件的飞行器航迹。并讨论算法的有效性和复杂度。

根据B点的三维空间坐标位置来判断该点是否在可达范围内,这里为了对本问题的航迹做了合理的简化,飞行器仅在某一跳的出发位置进行弧线飞行,而不在任意空间位置进行转弯,根据OB距离和最小转弯半径的大小关系来判断B点是否在可达范围内,如果OB距离大于半径R,则B点可达,否则不可达。

问题2求解:

题目二也是在多条件约束下的航迹规划求解问题,与问题一的不同在于,问题二需要考虑条件(8),飞行器在转弯时具有一个最小转弯半径的限制,因此需要重新考虑问题一基础上的“球形区域扩展模型”,即空间中的某一扩展点不再是简单的球形扩展区域,问题二的采用的A*算法在其他部分参照问题一,这里不再赘述。

问题2结果:

下图所示分别为两个数据集的航迹规划结果:


©著作权归作者所有:来自51CTO博客作者mob604756f3c518的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Android(安卓)快速集成文档校正能力 超简单
  2. Android实现触摸校正功能
  3. Android(安卓)笔记38: BAIDU MAP API GPS数据定位偏移校正
  4. [置顶] android触摸屏校正详解
  5. Android系统触摸屏的校正——http://carvencao.blog.sohu.com/15
  6. Arcpy基础入门-5、读取自定义格式xml

随机推荐

  1. 为什么我们要面向接口编程?!
  2. Linux性能优化(十四)——CPU Cache
  3. Linux性能优化(十一)——CPU性能优化原理
  4. 5G 有可能会使 Web 明显变慢[每日前端夜
  5. 在 HTML 中包含资源的新思路[每日前端夜
  6. Java后端开发三年多线程你都懂,问你异步编
  7. 把 WebAssembly 用于提升速度和代码重用[
  8. VS中scanf等函数报错解决方法
  9. 怎样用 JavaScript 操作 Cookie[每日前端
  10. 一招搞定GitHub下载加速!