主要内容

不太花费

使用无人机的轨道地点

描述

不太花费目标是一种基于前瞻距离的三维路径跟踪器,用于无人机(uav)沿圆形路径跟踪。给定圆心、半径和姿态,轨道跟随器计算所需的偏航和航向,以跟踪路径上的前视点。该对象还计算从无人机姿态到路径的交叉轨迹误差,并跟踪完成圆形轨道的次数。

调优看法输入以帮助改进路径跟踪。减小距离可以改善跟踪,但可能导致路径中的振荡。

使用无人机使一个位置绕轨道运行:

  1. 创造不太花费对象并设置其属性。

  2. 调用带有参数的对象,就像它是一个函数一样。

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

创建

描述

例子

轨道= uaintbitfollow返回具有默认属性值的轨道跟随器对象。

轨道= uainverbitf手机(名称,价值)创建带有由一个或多个指定的附加选项的轨道跟随器名称,价值对论点。

的名字是属性名称和价值是相应的价值。的名字必须出现在单引号内('')。您可以以任何顺序指定多个名称值对参数name1,value1,...,namen,valuen

属性

展开全部

除非另有说明,否则属性是不宜,这意味着在调用对象后无法更改其值。当您调用它们时,对象锁定,以及发布功能解锁它们。

如果属性是可调,您可以在任何时候更改它的值。

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

无人机的类型,指定为其中之一'固定翼'或者“multirotor”

轨道中心,指定为[x y z]向量。[x y z]是ned坐标(东北向下)的轨道中心位置,单位为米。

例子:[5,5,-10]

数据类型:|双倍的

轨道半径指定为米的正标量。

例子:5

数据类型:|双倍的

轨道的方向,指定为标量。正值表示从上面查看的顺时针转。负值表示逆时针转动。价值0根据输入自动确定值构成

例子:-1

数据类型:|双倍的

最小轨道半径,指定为以米为单位的正数标量。

数据类型:|双倍的

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

数据类型:|双倍的

用法

描述

看法致电潜艇orbitradiusflag.lookaheaddistflag.crossTrackErrornumturn.) =轨道(currentPose看法遵循在路径点跟随对象中指定的路径点集合。该对象以当前位置和前视距离来计算路径上的前视点。与当前位置相比,期望的航向、偏航和交叉跟踪误差也基于这个前瞻点。地位返回零,直到无人机导航完所有航路点。

输入参数

展开全部

当前的UAV姿势,指定为a[x y z航向]向量。这个姿态用于根据输入计算前视点LookaheadDistance[x y z]是当前米的位置。课程是以弧度表示的当前路线。无人机航向是速度矢量相对于北的方向角,以弧度测量。

数据类型:|双倍的

沿着路径的看法距离,指定为以米为单位的数字标量。

数据类型:|双倍的

输出参数

展开全部

在路径上的寻道点,作为一个返回[x y z]以米为单位的位置矢量。

数据类型:双倍的

所需的课程,作为数字标量在弧度范围内返回(π-π,).无人机航向是速度矢量相对于北的方向角,以弧度测量。对于固定翼型无人机,期望航向值和期望偏航值相等。

数据类型:双倍的

所需的偏航,作为弧度的数字标量返回的范围(π-π,).无人机的偏航是无人机的前向方向,不考虑相对于北的速度矢量,以弧度测量。对于固定翼型无人机,期望航向值和期望偏航值相等。

数据类型:双倍的

轨道半径标志,返回0或者10表明轨道半径未饱和,1表示轨道半径饱和到指定的最小轨道半径值。

数据类型:uint8

前向距离标志,返回为0或者10表示看法距离不饱和,1表示保护距离饱和至指定的最小保护距离值。

数据类型:uint8

从UAV位置到路径的交叉轨道错误,返回为米为单位的正数字标量。误差测量从UAV位置到路径上最接近点的垂直距离。

数据类型:双倍的

UAV完成轨道的次数,指定为数字标量。当无人机绕中心点旋转时,该值根据指定的值增加或减少转向方向财产。十进制值表示圆的部分补全。如果无人机交叉跟踪误差超过前视距离,则不更新转数。

numturn.复位时中心半径,或转折点属性已更改。

对象功能

要使用对象函数,请将System Object™指定为第一个输入参数。例如,要发布命名的系统对象的系统资源obj.,使用此语法:

释放(obj)

展开全部

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

例子

全部收缩

此示例显示了如何使用不太花费生成课程和偏航命令,用于轨道与无人机感兴趣的位置。

笔记:此示例要求您为机器人系统工具箱®安装UAV库。称呼RoboticsAdons.打开“附加组件资源管理器”并安装该库。

创建轨道追随者。设置兴趣地点和轨道半径的中心。设置A.转折点为1,用于逆时针旋转绕位。

orbFollower = uavOrbitFollower;orbFollower。OrbitCenter= [1 1 5]'; orbFollower.OrbitRadius = 2.5; orbFollower.TurnDirection = 1;

指定无人机的姿态和跟踪路径的前视距离。

姿势= [0; 0; 5; 0];lookaheaddistance = 2;

调用orbf手机物体的姿势和前瞻距离。该对象返回路径、期望的航向和偏航的前视点。您可以使用所需的航向和偏航为UAV生成控制命令。

[lookaheadPoint desiredCourse desiredYaw, ~, ~] = orbFollower(姿势,lookaheadDistance);

扩展功能

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

介绍了R2019a