3D-Route-Planning

三维航迹规划 -Matlab
本次代码主要解决数学建模中多约束条件下的航迹规划问题

解决的问题如下:

  复杂环境下航迹快速规划是智能飞行器控制的一个重要课题。由于系统结构限制, 这类飞行器的定位系统无法对自身进行精准定位, 一旦定位误差积累到一定程度可能导致任务失败。 因此, 在飞行过程中对定位误差进行校正是智能飞行器航迹规划中一项重要任务。
  假设飞行器的飞行区域如图 1 所示, 出发点为 A 点,目的地为 B 点。 其航迹约束如下:

  1. 飞行器在空间飞行过程中需要实时定位,其定位误差包括垂直误差和水平误差。 飞行器每飞行 1m,垂直误差和水平误差将各增加δ个专用单位,,以下简称单位。 到达终点时垂直误差和水平误差均应小于�个单位,并且为简化问题,假设当垂直误差和水平误差均小于�个单位时,飞行器仍能够按照规划路径飞行。

  2. 飞行器在飞行过程中需要对定位误差进行校正。 飞行区域中存在一些安全位置(称之为校正点) 可用于误差校正, 当飞行器到达校正点即能够根据该位置的误差校正类型进行误差校正。 校正垂直和水平误差的位置可根据地形在航迹规划前确定(如图 1 为某条航迹的示意图, 黄色的点为水平误差校正点, 蓝色的点为垂直误差校正点,出发点为 A 点,目的地为 B 点,黑色曲线代表一条航迹)。 可校正的飞行区域分布位置依赖于地, 无统一规律。 若垂直误差、水平误差都能得到及时校正,则飞行器可以按照预定航线飞行,通过若干个校正点进行误差校正后最终到达目的地。

​ 图 1 航迹规划示意图

  1. 在出发地 A 点,飞行器的垂直和水平误差均为 0。

  2. 飞行器在垂直误差校正点进行垂直误差校正后, 其垂直误差将变为 0,水 平误差保持不变。

  3. 飞行器在水平误差校正点进行水平误差校正后, 其水平误差将变为 0,垂 直误差保持不变。

  4. 当飞行器的垂直误差不大于α1个单位,水平误差不大于α2个单位时才能进 行垂直误差校正。

  5. 飞行器的垂直误差不大于β1个单位,水平误差不大于β2个单位时才能进 行水平误差校正。

  6. 飞行器在转弯时受到结构和控制系统的限制, 无法完成即时转弯(飞行器前 进方向无法突然改变), 假设飞行器的最小转弯半径为 200m。

3D 飞行器航迹规划的更多相关文章

  1. 如何用MoveIt快速搭建机器人运动规划平台?

    MoveIt = RobotGo,翻译成中文就是“机器人,走你!”所以,MoveIt的主要就是一款致力于让机器人能够自主运动及其相关技术的软件,它的所有模块都是围绕着运动规划的实现而设计的. 两个月前 ...

  2. 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)

    今天没有延续上一篇讲的内容,穿插一段小插曲,WebSocket 实时数据通讯同步的问题,今天我们并不是很纯粹地讲 WebSocket 相关知识,我们通过 WebGL 3D 拓扑图来呈现一个有趣的 De ...

  3. 基于C/S架构的3D对战网络游戏C++框架 _02系统设计(总体设计、概要设计)

    本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...

  4. 转载:[转]如何学好3D游戏引擎编程

      [转]如何学好3D游戏引擎编程 Albert 本帖被 gamengines 从 游戏引擎(Game Engine) 此文为转载,但是值得一看. 此篇文章献给那些为了游戏编程不怕困难的热血青年,它的 ...

  5. 3D打印:三维智能数字化创造(全彩)

    3D打印:三维智能数字化创造(全彩)(全球第一本系统阐述3D打印与3D智能数字化的专业著作) 吴怀宇 编   ISBN 978-7-121-22063-0 2014年1月出版 定价:99.00元 42 ...

  6. 3D建模与处理软件简介

    [前言]自半年前笔者发表博客“什么是计算机图形学”以来,时常有人来向笔者询问3D模型的构建方法与工具.笔者的研究方向是以3D技术为主,具体包括3D建模,3D处理及3D打印三个方面,在3D建模与处理方面 ...

  7. 无插件纯Web HTML5 3D机房 终结篇(新增资产管理、动环监控等内容)

    原本以为这次的机房资产管理项目告一段落,可以歇一歇,哥还是太天真了.我们伟大的甲方又拿下了第二期的项目,誓把哥的才华发挥到极致啊.国庆长假也没正经休息几天,硬是给人折腾出了个demo,加上了容量管理. ...

  8. PythonOCC 3D图形库学习—导入STEP模型

    PythonOCC comes with importers/exporters for the most commonly used standard data files format in en ...

  9. 机器人学 —— 轨迹规划(Introduction)

    轨迹规划属于机器人学中的上层问题,其主要目标是计划机器人从A移动到B并避开所有障碍的路线. 1.轨迹计划的对象 轨迹规划的对象是map,机器人通过SLAM获得地map后,则可在地图中选定任意两点进行轨 ...

随机推荐

  1. cocos creator 事件

    cocos creator 事件 在做一个消除类游戏时,需要对点击的方块做出响应.代码很简单,可背后的原理还多着呢. 1. 普通节点注册click事件 在cc中如果需要相应click事件,需要为该节点 ...

  2. Windows下如何使用Tensorflow Object Detection API

    https://blog.csdn.net/mr_jor/article/details/79071963 记得要把model里的research文件夹和research\slim 文件夹 添加到PY ...

  3. 基于CAS分析对ABA问题的一点思考

    基于CAS分析对ABA问题的一点思考 什么是CAS? 背景 synchronized加锁消耗太大 volatile只保证可见性,不保证原子性 基础 用CPU提供的特殊指令,可以: 自动更新共享数据; ...

  4. Apache—dbutils开源JDBC工具类库简介

    Apache—dbutils开源JDBC工具类库简介 一.前言 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用 ...

  5. Java网络编程之UDP

    Java网络编程之UDP 一.C/S架构中UDP网络通信流程 ①创建DatagramSocket与DatagramPacket对象 ②建立发送端,接收端 ③建立数据包 ④调用Socket的发送.接收方 ...

  6. python decode encode 解码与编码问题

    python 解码与编码问题 1.decode 俗称解码,把编码解码成unicode,例如一个字符串变量 str 是utf-8编码,使用str.decode('utf-8')  ,就是把utf-8编码 ...

  7. Java连载24-break语句、continue语句、输出质数练习

    ​一.break 1.break是Java语言中的关键字,被翻译为“中断/折断” 2.break + ";"可以成为一个单独的完整的java语句:  break; 3.break语 ...

  8. 【sybase】You can’t run SELECT INTO in this database的解决办法

    进入master 数据库,使用sp_dboption test ,'select into',true命令(其中test为要设置可用的数据库)

  9. 面试必备:Java线程池解析

    前言 掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题.我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解.如果有哪里理解不正确,非常 ...

  10. NLP(二) 获取数据源和规范化

    Why we do this 将获取的数据统一格式,得到规范化和结构化得数据 字符串操作 # 创建字符串列表和字符串对象 namesList = ['Tuffy','Ali','Nysha','Tim ...