uavPathManager
计算并执行无人机自主任务
描述
的uavPathManager
系统对象™计算无人驾驶飞行器(UAV)的任务参数,方法中指定的任务点之间依次切换MissionData财产。的MissionCmd属性在运行时更改执行顺序。该对象支持多旋翼和固定翼无人机类型。
计算任务参数。
创建
uavPathManager
对象并设置其属性。使用参数调用对象,就像调用函数一样。
有关系统对象如何工作的详细信息,请参见什么是系统对象?
创建
描述
pathManagerObj = uavPathManager
创建一个具有默认属性值的UAV路径管理器系统对象。
pathManagerObj = uavPathManager(
创建一个无人机路径管理器对象,其中包含一个或多个指定的附加选项名称,值
)名称,值
对参数。
的名字
属性名和价值
对应的值。的名字
必须出现在单引号内(”
).您可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家
.
例子:uavPathManager(“UAVType”、“固定翼”)
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
功能解锁它们。
如果属性为可调,您可以随时更改其值。
有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计.
UAVType
- - - - - -无人机类型
“multirotor”
(默认)|“翼”
无人机类型,指定为任意一种“multirotor”
或“翼”
.
数据类型:字符串
LoiterRadius
- - - - - -固定翼无人机的游荡半径
25(默认)|正数值标量
固定翼无人机的游荡半径,指定为以米为单位的正数值标量。
依赖关系:若要启用此参数,请设置无人机类型财产“翼”
.
数据类型:单
|双
MissionData
- - - - - -无人机任务数据
n结构的-by-1数组
无人机任务数据,指定为n结构的-by-1数组。n是任务点的数量。每个结构的字段为:
模式
—任务点的模式,指定为1到6之间的8位无符号整数。位置
-任务点的位置,指定为的三元素列向量[x;y;z]
.x,y,z为以米为单位的东北向下(NED)坐标表示的位置。参数个数
-任务点的参数,指定为四元素列向量。
的类型模式
和对应的值位置
而且参数个数
任务点结构中的字段。
模式 | 位置 | 参数个数 | 模式描述 |
---|---|---|---|
uint8 (1) |
[x;y;z] |
[p1;p2;p3;p4] |
起飞-从地面起飞,向指定位置移动 |
uint8 (2) |
[x;y;z] |
偏航-偏航角度在弧度范围内 半径-转换半径,单位为米 |
路标-导航到航点 |
uint8 (3) |
x,y,z圆周轨道的中心在NED坐标中是以米为单位指定的吗 |
半径-轨道半径,单位为米 turnDir-转向方向,指定为以下其中之一:
numTurns-转数 |
轨道-沿参数定义的圆的周长轨道运行 |
uint8 (4) |
[x;y;z] |
[p1;p2;p3;p4] |
土地—降落在指定位置 |
uint8 (5) |
发射位置在首页财产 |
[p1;p2;p3;p4] |
RTL-返回发射位置 |
uint8 (6) |
[x;y;z] |
p1,p2,p3,p4用户指定的参数是否对应自定义任务点 |
自定义-自定义任务点 |
请注意
p1,p2,p3,p4是用户指定的参数。
例子:结构(“模式”,uint8(1),“位置”,(0,0,100),“参数”,(0,0,0,0)))
可调:是的
IsModeDone
- - - - - -确定任务点是否已执行
假(默认)|真正的
确定是否执行了指定为的任务点真正的
(1
)或假
(0
).
可调:是的
数据类型:逻辑
MissionCmd
- - - - - -改变任务的命令
uint8 (0)
(默认)|0到3之间的8位无符号整数
命令在运行时更改任务,指定为0到3之间的8位无符号整数。
该表描述了可能使用的任务命令。
任务命令 | 描述 |
---|---|
uint8 (0) |
默认的—依次从第一个任务点到最后一个任务点执行任务 |
uint8 (1) |
持有-在当前任务点等待 固定翼无人机在当前位置附近徘徊,多旋翼无人机在当前位置悬停 |
uint8 (2) |
重复-到达最后一个任务点后重复任务 |
uint8 (3) |
RTL—执行RTL模式 后RTL时,任务恢复MissionCmd属性更改为默认的或重复 |
可调:是的
数据类型:uint8
首页
- - - - - -无人机主位置
三元列向量
无人机家的位置,指定为三元列向量[x;y;z]
.x,y,z为以米为单位的东北向下(NED)坐标表示的位置。
可调:是的
数据类型:单
|双
使用
描述
missionParams
= pathManagerObj (构成
)
输入参数
构成
- - - - - -无人机当前姿态
四元列向量
当前无人机姿态,指定为四元素列向量[x;y;z;courseAngle]
.x,y,z是当前位置(以米为单位的东北向下(NED)坐标表示)。courseAngle在范围内以弧度为单位指定航向角(π-π,)
.
数据类型:单
|双
输出参数
missionParams
-无人机任务参数
2乘1结构数组
UAV任务参数,以2乘1的结构数组返回。数组的第一行包含当前任务点的结构,数组的第二行包含前一个任务点的结构。每个结构的字段为:
模式
—任务点的模式,以0 ~ 7之间的8位无符号整数形式返回。位置
-基于模式的任务点位置,返回为的三元素列向量[x;y;z]
.x,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) |
[x;y;z] |
[p1;p2;p3;p4] |
第二行:上一步 |
|
|
|
|
路标 |
第1行:电流 |
uint8 (2) |
[x;y;z] |
偏航-偏航角度在弧度范围内 半径-转换半径,单位为米 |
第二行:上一步 |
|
|
courseAngle-前一个位置与当前位置之间的线段的角度,在范围内以弧度指定 |
|
轨道 |
第1行:电流 |
uint8 (3) |
x,y,z圆周轨道的中心在NED坐标中是以米为单位指定的吗 |
半径-轨道半径,单位为米 turnDir-转向方向,指定为以下其中之一:
numTurns-转数 |
第二行:上一步 |
|
|
|
|
土地 |
第1行:电流 |
uint8 (4) |
[x;y;z] |
[p1;p2;p3;p4] |
第二行:上一步 |
|
|
|
|
RTL |
第1行:电流 |
uint8 (5) |
发射位置在首页财产 |
[p1;p2;p3;p4] |
第二行:上一步 |
|
|
|
|
自定义 |
第1行:电流 |
uint8 (6) |
[x;y;z] |
p1,p2,p3,p4用户指定的参数是否对应自定义任务点 |
第二行:上一步 |
|
|
|
请注意
p1,p2,p3,p4是用户指定的参数。
命令的输出任务参数MissionCmd属性设置为持有模式。
无人机类型 | 任务参数 | |||
---|---|---|---|---|
任务分 | 模式 | 位置 | 参数个数 | |
Multirotor |
第1行:电流 |
uint8 (7) |
[x;y;z] |
(1, 1, 1, 1) |
第二行:上一步 |
|
|
|
|
固定翼 |
第1行:电流 |
uint8 (7) |
x,y,z圆周轨道的中心在NED坐标中是以米为单位指定的吗 |
半径—闲逛半径在LoiterRadius财产 turnDir—转弯方向指定为 |
第二行:上一步 |
|
|
|
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj
,使用这种语法:
发行版(obj)
版本历史
R2020b中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。