主要内容

导数

时间导数的无人机

描述

例子

stateDerivative= ' (uavGuidanceModel,状态,控制,环境)决定了无人机的状态的时间导数指导模型使用的当前状态,控制命令和环境输入。使用状态和时间导数数值模拟无人机。

例子

全部折叠

这个例子展示了如何使用multirotor指导模型来模拟无人机状态的变化将一个命令的输入。

创建multirotor指导模型。

模型= multirotor;

创建一个状态结构。在世界坐标系中指定的位置。

s =国家(模型);s (1:3) = (3; 2; 1);

指定一个控制命令,u,指定了辊和multirotor的推力。

u =控制(模型);u。滚=π/ 12;u。推力= 1;

创建一个默认的无风环境。

e =环境(模型);

计算的时间导数状态给定的当前状态,控制命令,和环境。

sdot =导数(模型、s u, e);

模拟无人机使用状态数值集成。的y场输出multirotor无人机州作为一个由13 -n矩阵。

simOut =数值(@ (~,x)导数(模型、x u, e), [0 3], s);大小(simOut.y)
ans =1×23536年13

情节横摇角的变化的基础上,模拟输出。横摇角(X欧拉角)的第9行simOut.y输出。

:情节(simOut.y(9日)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

情节的变化Y和Z的位置。指定的推力和横摇角,multirotor应该飞越,失去一些高度。为Z是一个积极的价值预期正Z。

:图绘制(simOut.y (2));持有:情节(simOut.y (3));传奇(“坐标”,“z位置”)举行

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表坐标,z位置。

你也可以画出multirotor轨迹plotTransforms。从模拟创建平移和旋转向量的状态。Downsample(每个300元素)和转置simOut元素和欧拉角转换为四元数。指定网格作为multirotor.stl文件和积极的z方向“向下”。显示的视图显示了无人机在y方向上的翻译和失去高度。

翻译= simOut.y(1:3,施用:结束);% xyz的位置旋转= eul2quat (simOut.y(七章,施用:结束)');% ZYX股票欧拉plotTransforms(平移、旋转、“MeshFilePath”,“multirotor.stl”,“InertialZDirection”,“向下”)视图([90.00 - -0.60])

图包含一个坐标轴对象。坐标轴对象包含48块类型的对象,线。

这个例子展示了如何使用fixedwing指导模型来模拟无人机状态的变化将一个命令的输入。

创建固定翼指导模型。

模型= fixedwing;

设置车辆的空气速度通过修改结构的状态函数。

s =国家(模型);(4)= 5;% 5 m / s

指定一个控制命令,u,保持空气的速度和给横摇角π/ 12

u =控制(模型);u。RollAngle =π/ 12;u。空速= 5;

创建一个默认的无风环境。

e =环境(模型);

计算的时间导数状态给定的当前状态,控制命令,和环境。

sdot =导数(模型、s u, e);

模拟无人机使用状态数值集成。的y场输出固定翼无人机在此基础上模拟。

simOut =数值(@ (~,x)导数(模型、x u, e), 50 [0]);大小(simOut.y)
ans =1×2904年8

情节横摇角的变化的基础上,模拟输出。横摇角的第七行simOut.y输出。

:情节(simOut.y(7日)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

您还可以使用固定翼轨迹plotTransforms。从模拟创建平移和旋转向量的状态。Downsample(每30日元素)和转置simOut元素和欧拉角转换为四元数。指定网格作为fixedwing.stl文件和积极的z方向“向下”。显示的视图显示了无人机在一个常数将基于常数卷角。

downsample = 1:30:大小(simOut.y 2);翻译= simOut.y (1:3, downsample) ';% xyz-positiondownsample旋转= eul2quat ([simOut.y(5日)”,simOut.y (6 downsample)”, simOut.y (7, downsample) '));% ZYX股票欧拉plotTransforms(平移、旋转、“MeshFilePath”,“fixedwing.stl”,“InertialZDirection”,“向下”)举行:plot3 (simOut.y (1), -simOut.y (2:), simOut.y (3:)“——b”)%完整路径xlim ([-10.0 - 10.0]) ylim ([-20.0 - 5.0]) zlim([-0.5 - 4.00])视图(90 [-45])

图包含一个坐标轴对象。坐标轴对象包含125个对象类型的补丁,线。

输入参数

全部折叠

无人机指导模型,指定为一个fixedwingmultirotor对象。

状态向量,指定为eight-element或thirteen-element向量。向量总是充满了0。使用这个函数来确保你有适当的大小为你的状态向量。

固定翼无人机的状态是一个eight-element向量:

  • ——米位置在北方向。

  • ——米位置在东方向。

  • 高度——地面在米高。

  • 空速——米每秒的速度相对于风。

  • HeadingAngle——地面速度和北方向夹角弧度。

  • FlightPathAngle-夹角地面速度和东北面弧度。

  • RollAngle——沿着身体转动角x设在弧度每秒。

  • RollAngleRate——沿着身体旋转角速度x设在弧度每秒。

multirotor无人机,这个订单的状态是一个thirteen-element向量:

  • 世界的位置- - - - - -[x y z]在米。

  • 世界的速度- - - - - -(vx v vz)在米每秒。

  • 欧拉角(ZYX股票)- - - - - -(ψφθ)在弧度。

  • 身体消瘦率- - - - - -[p q r]在弧度每秒。

  • 推力- - - - - -F在牛顿。

环境输入参数,返回一个结构。产生这种结构,使用环境

固定翼无人机的结构的字段WindNorth,WindEast,WindDown,重力。风速是米每秒,负速度指向相反的方向。重力是米每秒的平方(默认的9.81)。

multirotor无人机,唯一的元素的结构重力(默认9.81)米每秒的平方。

无人机控制命令,指定为一个结构。产生这种结构,使用控制

multirotor无人机,指导模型是近似作为单独的PD控制器对每个命令。结构的元素控制命令:

  • ——横摇角弧度。

  • 球场——螺旋角弧度。

  • YawRate-偏航率弧度每秒。(D = 0。P控制器)

  • 推力——垂直推力无人机的牛顿。(D = 0。P控制器)

固定翼无人机的模型假定下的无人机飞行协调转弯的情况。指导模型方程假设零侧滑。公共汽车的元素是:

  • 高度——米高度离地面。

  • 空速——无人机在米每秒的速度相对于风。

  • RollAngle——沿着身体向前轴横摇角弧度。由于协调转弯状态,航向角速率是基于卷角。

输出参数

全部折叠

返回的状态,时间导数作为一个向量。时间导数作为输入向量具有相同的长度状态

扩展功能

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

版本历史

介绍了R2018b