主要内容

uavPathManager

计算并执行无人机自主任务

描述

uavPathManager系统对象™计算无人驾驶飞行器(UAV)的任务参数,方法中指定的任务点之间依次切换MissionData财产。的MissionCmd属性在运行时更改执行顺序。该对象支持多旋翼和固定翼无人机类型。

计算任务参数。

  1. 创建uavPathManager对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

pathManagerObj = uavPathManager创建一个具有默认属性值的UAV路径管理器系统对象。

pathManagerObj = uavPathManager(名称,值创建一个无人机路径管理器对象,其中包含一个或多个指定的附加选项名称,值对参数。

的名字属性名和价值对应的值。的名字必须出现在单引号内().您可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家

例子:uavPathManager(“UAVType”、“固定翼”)

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

无人机类型,指定为任意一种“multirotor”“翼”

数据类型:字符串

固定翼无人机的游荡半径,指定为以米为单位的正数值标量。

依赖关系:若要启用此参数,请设置无人机类型财产“翼”

数据类型:|

无人机任务数据,指定为n结构的-by-1数组。n是任务点的数量。每个结构的字段为:

  • 模式—任务点的模式,指定为1到6之间的8位无符号整数。

  • 位置-任务点的位置,指定为的三元素列向量xyzx,y,z为以米为单位的东北向下(NED)坐标表示的位置。

  • 参数个数-任务点的参数,指定为四元素列向量。

的类型模式和对应的值位置而且参数个数任务点结构中的字段。

模式 位置 参数个数 模式描述
uint8 (1) xyz p1p2p3p4

起飞-从地面起飞,向指定位置移动

uint8 (2) xyz

偏航半径p3p4

偏航-偏航角度在弧度范围内(π-π,)

半径-转换半径,单位为米

路标-导航到航点

uint8 (3)

xyz

x,y,z圆周轨道的中心在NED坐标中是以米为单位指定的吗

半径turnDirnumTurnsp4

半径-轨道半径,单位为米

turnDir-转向方向,指定为以下其中之一:

  • 1-顺时针转弯

  • 1-逆时针转弯

  • 0-自动选择转弯方向

numTurns-转数

轨道-沿参数定义的圆的周长轨道运行

uint8 (4) xyz p1p2p3p4

土地—降落在指定位置

uint8 (5)

xyz

发射位置在首页财产

p1p2p3p4

RTL-返回发射位置

uint8 (6) xyz

p1p2p3p4

p1,p2,p3,p4用户指定的参数是否对应自定义任务点

自定义-自定义任务点

请注意

p1,p2,p3,p4是用户指定的参数。

例子:结构(“模式”,uint8(1),“位置”,(0,0,100),“参数”,(0,0,0,0)))

可调:是的

确定是否执行了指定为的任务点真正的1)或0).

可调:是的

数据类型:逻辑

命令在运行时更改任务,指定为0到3之间的8位无符号整数。

该表描述了可能使用的任务命令。

任务命令 描述
uint8 (0)

默认的—依次从第一个任务点到最后一个任务点执行任务

uint8 (1)

持有-在当前任务点等待

固定翼无人机在当前位置附近徘徊,多旋翼无人机在当前位置悬停

uint8 (2)

重复-到达最后一个任务点后重复任务

uint8 (3)

RTL—执行RTL模式

RTL时,任务恢复MissionCmd属性更改为默认的重复

可调:是的

数据类型:uint8

无人机家的位置,指定为三元列向量xyzx,y,z为以米为单位的东北向下(NED)坐标表示的位置。

可调:是的

数据类型:|

使用

描述

missionParams= pathManagerObj (构成

输入参数

全部展开

当前无人机姿态,指定为四元素列向量xyzcourseAnglex,y,z是当前位置(以米为单位的东北向下(NED)坐标表示)。courseAngle在范围内以弧度为单位指定航向角(π-π,)

数据类型:|

输出参数

全部展开

UAV任务参数,以2乘1的结构数组返回。数组的第一行包含当前任务点的结构,数组的第二行包含前一个任务点的结构。每个结构的字段为:

  • 模式—任务点的模式,以0 ~ 7之间的8位无符号整数形式返回。

  • 位置-基于模式的任务点位置,返回为的三元素列向量xyzx,y,z为以米为单位的东北向下(NED)坐标表示的位置。

  • 参数个数—基于模式的任务点参数,以四元素列向量形式返回。

在模拟开始时,前一个任务点设置为武装模式。

结构(“模式”,uint8(0),“位置”,[x, y, z],“参数”,[1;1;1;1])

请注意

武装用户不能配置“模式”。

设置结束任务点为RTL土地模式,否则任务结束点自动设置为持有模式。

  • 多旋翼无人机在当前位置悬停。

    结构(“模式”,uint8(7),“位置”,[x, y, z],“参数”,[1;1;1;1])

  • 固定翼无人机在当前位置附近徘徊。

    结构(“模式”,uint8(7),“位置”,[x, y, z],“参数”,[半径;turnDir; 1; 1])

请注意

持有用户不能配置“模式”。

该表描述不同任务模式下输出的任务参数。

当前任务模式 任务参数
任务分 模式 位置 参数个数

起飞

第1行:电流

uint8 (1) xyz p1p2p3p4

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

路标

第1行:电流

uint8 (2) xyz

偏航半径p3p4

偏航-偏航角度在弧度范围内(π-π,)

半径-转换半径,单位为米

第二行:上一步

模式之前的任务点

位置之前的任务点

  • 偏航半径p3p4如果之前的任务点是起飞

  • courseAngle25;p3p4否则

courseAngle-前一个位置与当前位置之间的线段的角度,在范围内以弧度指定(π-π,)

轨道

第1行:电流

uint8 (3)

xyz

x,y,z圆周轨道的中心在NED坐标中是以米为单位指定的吗

半径turnDirnumTurnsp4

半径-轨道半径,单位为米

turnDir-转向方向,指定为以下其中之一:

  • 1-顺时针转弯

  • 1-逆时针转弯

  • 0-自动选择转弯方向

numTurns-转数

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

土地

第1行:电流

uint8 (4) xyz p1p2p3p4

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

RTL

第1行:电流

uint8 (5)

xyz

发射位置在首页财产

p1p2p3p4

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

自定义

第1行:电流

uint8 (6) xyz

p1p2p3p4

p1,p2,p3,p4用户指定的参数是否对应自定义任务点

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

请注意

p1,p2,p3,p4是用户指定的参数。

命令的输出任务参数MissionCmd属性设置为持有模式。

无人机类型 任务参数
任务分 模式 位置 参数个数

Multirotor

第1行:电流

uint8 (7) xyz (1, 1, 1, 1)

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

固定翼

第1行:电流

uint8 (7)

xyz

x,y,z圆周轨道的中心在NED坐标中是以米为单位指定的吗

半径turnDir1; 1]

半径—闲逛半径在LoiterRadius财产

turnDir—转弯方向指定为0用于自动选择转弯方向

第二行:上一步

模式之前的任务点

位置之前的任务点

参数个数之前的任务点

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

版本历史

R2020b中介绍

Baidu
map