控制
描述
返回一个结构捕获所有相关的控制命令指定的无人机指导模型。使用这个函数的输出,以确保你有适当的控制领域。使用控制命令的输入controlStruct
=控制(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
对象。
输出参数
controlStruct
——无人机的控制命令
结构
无人机控制命令,作为一个结构返回。
multirotor无人机,指导模型是近似作为单独的PD控制器对每个命令。结构的元素控制命令:
卷
——横摇角弧度。球场
——螺旋角弧度。YawRate
-偏航率弧度每秒。(D = 0。P控制器)推力
——垂直推力无人机的牛顿。(D = 0。P控制器)
固定翼无人机的模型假定下的无人机飞行协调转弯的情况。指导模型方程假设零侧滑。结构的元素是:
高度
——米高度离地面。空速
——无人机在米每秒的速度相对于风。RollAngle
——沿着身体向前轴横摇角弧度。由于协调转弯状态,航向角速率是基于卷角。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
版本历史
介绍了R2018b
另请参阅
功能
对象
块
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。