主要内容

uavWaypointFollower

跟踪无人机航路点

描述

uavWaypointFollower系统对象™使用前瞻点遵循无人机(UAV)的一组航路点。给定一个无人机位置、一组航路点和一个向前看距离,目标计算前视点、期望航向和期望偏航。指定一组路径点并调整lookAheadDistance输入参数,TransitionRadius属性用于导航路径点。对象支持多旋翼和固定翼金宝app无人机类型。

遵循一组路径点:

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

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

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

wpFollowerObj = uavWaypointFollower创建一个具有默认属性的无人机航路点跟踪器。

wpFollowerObj = uavWaypointFollower(名称、值)创建带有一个或多个指定的附加选项的无人机航路点跟随器名称,值对参数。

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

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

无人机的类型,指定为“翼”“multirotor”

路点启动行为,指定为“第一”“亲密”

当设置为“第一”时,无人机飞行到所列航路点之间的第一个航路段路点.当设置为“亲密”时,无人机飞行到所列航路点之间最近的航路段路点.当航路点输入发生变化时,无人机重新计算最近的航路段。

无人机要跟随的航路点集,指定为n3的矩阵[x y z]向量在米。

数据类型:|

每个航路点的偏航角,用标量或n-元素的列向量,单位为弧度。一个标量被应用到每个路径点路点.一个输入的[]保持偏航与期望的路线基于前视点对齐。

数据类型:|

每个航路点的转换半径,指定为标量或n-单位为米的元素向量。当指定为标量时,此参数将应用于路点.当无人机在过渡半径内时,对象在路径点之间过渡到下一个路径段。

数据类型:|

最小前视距离,指定为正数值标量,单位为米。

数据类型:|

使用

描述

lookaheadPointdesiredCoursedesiredYawlookaheadDistFlagcrossTrackError状态) = wpFollowerObj (currentPoselookaheadDistance遵循路径点跟随对象中指定的路径点集。对象取当前位置和前视距离来计算路径上的前视点。所期望的航向、偏航和交叉航迹误差也基于此前视点与当前位置的比较。状态返回0,直到无人机导航了所有的航路点。

输入参数

全部展开

当前无人机姿态,指定为[x y z chi]向量。这个姿态用于计算基于输入的前向点lookaheadDistance[x y z]是当前位置,单位为米。为当前的航线,单位为弧度。

数据类型:|

沿路径的前方距离,指定为正数值标量,单位为米。

数据类型:|

输出参数

全部展开

前瞻点在道路上,返回为[x y z]位置矢量,单位为米。

数据类型:|

的范围内以弧度为单位的数字标量返回所需的过程(π-π,).无人机的航向是速度矢量的方向。固定翼无人机的期望航向和期望偏航值相等。

数据类型:|

的范围内以弧度为单位的数字标量返回所需的偏航(π-π,).无人机偏航是无人机前进方向与速度矢量无关的角度。期望的偏航是用每个航路点的偏航角之间的线性插值来计算的。固定翼无人机的期望航向和期望偏航值相等。

数据类型:|

前瞻距离旗,返回为010表示前视距离未饱和,1指示前向距离饱和到指定的最小前向距离值。

数据类型:uint8

从无人机位置到路径的交叉跟踪误差,返回为正数值标量(米)。误差测量的是从无人机位置到路径上最近点的垂直距离。

数据类型:|

路径点导航状态,返回为01.当跟随者导航了所有的路径点时,对象输出1.否则,对象将输出0

数据类型:uint8

对象的功能

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

发行版(obj)

全部展开

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

更多关于

全部展开

参考文献

[1] Park, Sanghyuk, John Deyst, Jonathan How。“用于轨迹跟踪的一种新的非线性制导逻辑”。AIAA制导,导航和控制会议和展览, 2004年。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

介绍了R2018b