导数
时间导数的无人机
描述
决定了无人机的状态的时间导数指导模型使用的当前状态,控制命令和环境输入。使用状态和时间导数stateDerivative
= ' (uavGuidanceModel
,状态
,控制
,环境
)数值
模拟无人机。
例子
模拟Multirotor控制命令
这个例子展示了如何使用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位置”)举行从
你也可以画出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])
模拟固定翼控制命令
这个例子展示了如何使用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])从
输入参数
uavGuidanceModel
- - - - - -无人机指导模型
fixedwing
对象|multirotor
对象
无人机指导模型,指定为一个fixedwing
或multirotor
对象。
状态
- - - - - -状态向量
eight-element向量|thirteen-element向量
状态向量,指定为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
另请参阅
功能
对象
块
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。