主要内容gydF4y2Ba

fixedwinggydF4y2Ba

固定翼无人机制导模型gydF4y2Ba

自从R2018bgydF4y2Ba

描述gydF4y2Ba

一个gydF4y2BafixedwinggydF4y2Ba对象代表了无人机(UAV)的降阶制导模型。该模型近似于由自动驾驶仪控制器和固定翼三维运动模型组成的闭环系统的行为。gydF4y2Ba

关于多旋翼无人机,请参见gydF4y2BamultirotorgydF4y2Ba.gydF4y2Ba

创建gydF4y2Ba

模型=固定翼gydF4y2Ba创建固定翼运动模型gydF4y2Ba双gydF4y2Ba制导模型的输入、输出和配置参数的精度值。gydF4y2Ba

模型=固定翼(数据类型)gydF4y2Ba指定数据类型精度(gydF4y2Ba数据类型gydF4y2Ba属性)用于引导模型的输入、输出和配置参数。gydF4y2Ba

属性gydF4y2Ba

全部展开gydF4y2Ba

UAV的名称,用于将其与工作区中的其他模型区分开来,指定为字符串标量。gydF4y2Ba

例子:gydF4y2Ba“myUAV1”gydF4y2Ba

数据类型:gydF4y2Ba字符串gydF4y2Ba

UAV控制器配置,指定为参数结构。指定这些参数来优化无人机的内部控制行为。指定动态模型和其他无人机参数的比例(P)和导数(D)增益。固定翼无人机的结构包含以下字段,并列出默认值:gydF4y2Ba

  • “PDRoll”gydF4y2Ba-gydF4y2Ba(3402.97 - 116.67)gydF4y2Ba

  • “PHeight”gydF4y2Ba-gydF4y2Ba3.9gydF4y2Ba

  • “PFlightPathAngle”gydF4y2Ba-gydF4y2Ba39gydF4y2Ba

  • “PAirspeed”gydF4y2Ba-gydF4y2Ba0.39gydF4y2Ba

  • “FlightPathAngleLimits”gydF4y2Ba-gydF4y2Ba(-π/ 2π/ 2)gydF4y2Ba(gydF4y2Ba(最小最大)gydF4y2Ba角度(以弧度为单位)gydF4y2Ba

例子:gydF4y2Ba结构(“PDRoll”,[3402.97,116.67],“PHeight”,3.9,“PFlightPathAngle”,39岁,PAirSpeed, 0.39,“FlightPathAngleLimits”,[-π/ 2π/ 2])gydF4y2Ba

数据类型:gydF4y2Ba结构体gydF4y2Ba

此属性是只读的。gydF4y2Ba

无人机制导模型类型,指定为gydF4y2Ba“FixedWingGuidance”gydF4y2Ba.gydF4y2Ba

输入和输出数值数据类型,指定为任意一种gydF4y2Ba“双”gydF4y2Ba或gydF4y2Ba“单一”gydF4y2Ba.根据可能的软件或硬件限制选择数据类型。gydF4y2Ba

对象的功能gydF4y2Ba

控制gydF4y2Ba 无人机控制命令gydF4y2Ba
导数gydF4y2Ba 无人机状态的时间导数gydF4y2Ba
环境gydF4y2Ba 无人机环境输入gydF4y2Ba
状态gydF4y2Ba 无人机状态向量gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

方法的使用gydF4y2BafixedwinggydF4y2Ba该制导模型用于模拟无人机由于指令输入而引起的状态变化。gydF4y2Ba

创建固定翼制导模型。gydF4y2Ba

模型=固定翼;gydF4y2Ba

通过修改结构来设置飞行器的空气速度gydF4y2Ba状态gydF4y2Ba函数。gydF4y2Ba

S =状态(模型);S (4) = 5;gydF4y2Ba% 5 m/sgydF4y2Ba

指定一个控制命令,gydF4y2BaugydF4y2Ba,保持空气速度,并给出一个滚动角度gydF4y2Baπ/ 12gydF4y2Ba.gydF4y2Ba

U =控制(模型);u.RollAngle = pi/12;u.AirSpeed = 5;gydF4y2Ba

创建一个没有风的默认环境。gydF4y2Ba

E =环境(模型);gydF4y2Ba

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

Sdot =导数(模型,s,u,e);gydF4y2Ba

模拟无人机状态使用gydF4y2Ba数值gydF4y2Ba集成。的gydF4y2BaygydF4y2Ba在此仿真基础上,现场输出固定翼无人机的状态。gydF4y2Ba

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

根据仿真输出绘制滚转角度变化图。滚动角是第7行gydF4y2BasimOut.ygydF4y2Ba输出。gydF4y2Ba

:情节(simOut.y(7日)gydF4y2Ba

图中包含一个轴对象。axis对象包含一个line类型的对象。gydF4y2Ba

你也可以用gydF4y2BaplotTransformsgydF4y2Ba.根据模拟状态创建平移和旋转向量。降低采样(每30个元素)和转置gydF4y2BasimOutgydF4y2Ba元素,并将欧拉角转换为四元数。指定网格为gydF4y2Bafixedwing.stlgydF4y2Ba文件和正z方向为gydF4y2Ba“向下”gydF4y2Ba.所显示的视图显示无人机基于恒定的滚转角度进行恒定的转弯。gydF4y2Ba

downsample = 1:30:size(simOut.y,2);翻译= simOut.y(1:3,downsample)';gydF4y2Ba% xyz-positiongydF4y2Barotation = eul2quat([simOut.y(5,downsample)',simOut.y(6,downsample)',simOut.y(7,downsample)']);gydF4y2Ba欧拉gydF4y2BaplotTransforms(平移、旋转、gydF4y2Ba...gydF4y2Ba“MeshFilePath”gydF4y2Ba,gydF4y2Ba“fixedwing.stl”gydF4y2Ba,gydF4y2Ba“InertialZDirection”gydF4y2Ba,gydF4y2Ba“向下”gydF4y2Ba)举行gydF4y2Ba在gydF4y2Ba: plot3 (simOut.y (1), -simOut.y (2:), simOut.y (3:)gydF4y2Ba“——b”gydF4y2Ba)gydF4y2Ba%全路径gydF4y2Baxlim ([-10.0 - 10.0]) ylim ([-20.0 - 5.0]) zlim([-0.5 - 4.00])视图(90 [-45])gydF4y2Ba从gydF4y2Ba

图中包含一个轴对象。axis对象包含125个patch、line类型的对象。gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

参考文献gydF4y2Ba

[1]兰德尔·比尔德和蒂莫西·麦克莱恩。“第九章”。gydF4y2Ba小型无人机理论与实践“,gydF4y2Ba,新泽西州:普林斯顿大学出版社,2012年。gydF4y2Ba

扩展功能gydF4y2Ba

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

版本历史gydF4y2Ba

在R2018b中引入gydF4y2Ba