主要内容gydF4y2Ba

固定翼翼gydF4y2Ba

固定翼无人机的指导模型gydF4y2Ba

描述gydF4y2Ba

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

对于Multiorot Uavs,请参阅gydF4y2BaMultorotor.gydF4y2Ba。gydF4y2Ba

创建gydF4y2Ba

模型= fixedwinggydF4y2Ba创建一个固定翼运动模型gydF4y2Ba双倍的gydF4y2Ba引导模型的输入,输出和配置参数的精度值。gydF4y2Ba

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

属性gydF4y2Ba

展开全部gydF4y2Ba

UAV的名称,用于区分它与工作空间中的其他模型,指定为一个字符串标量。gydF4y2Ba

例子:gydF4y2Ba“myuav1”gydF4y2Ba

数据类型:gydF4y2Ba字符串gydF4y2Ba

无人机控制器配置,指定为结构参数。指定这些参数来调整无人机的内部控制行为。指定动态模型和其他无人机参数的比例(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[-pi / 2 pi / 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

UAV指导模型类型,指定为gydF4y2Ba'matepwingguidance'gydF4y2Ba。gydF4y2Ba

输入和输出数字数据类型,指定为gydF4y2Ba'双倍的'gydF4y2Ba或者gydF4y2Ba“单一”gydF4y2Ba。根据可能的软件或硬件限制选择数据类型。gydF4y2Ba

对象的功能gydF4y2Ba

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

例子gydF4y2Ba

全部收缩gydF4y2Ba

此示例显示了如何使用gydF4y2Ba固定翼翼gydF4y2Ba制导模型,以模拟无人机由于指令输入而产生的状态变化。gydF4y2Ba

创建固定翼制导模型。gydF4y2Ba

模型= fixedwing;gydF4y2Ba

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

s =国家(模型);(4) = 5;gydF4y2Ba%5米/秒gydF4y2Ba

指定控件命令,gydF4y2BaugydF4y2Ba,这保持了空气速度并给出了卷角gydF4y2BaPI / 12.gydF4y2Ba。gydF4y2Ba

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

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

e =环境(模型);gydF4y2Ba

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

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

模拟UAV状态使用gydF4y2BaODE45.gydF4y2Ba一体化。这gydF4y2BaygydF4y2Ba在此仿真的基础上输出固定翼无人机的状态。gydF4y2Ba

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

根据仿真输出绘制滚转角的变化曲线。横摇角是第7行gydF4y2BasimOut.ygydF4y2Ba输出。gydF4y2Ba

情节(SIMOUT.Y(7,:))gydF4y2Ba

你也可以用gydF4y2Baplottransforms.gydF4y2Ba。从模拟状态创建平移和旋转向量。下采样(每30个元素)然后转置gydF4y2BasimOutgydF4y2Ba元素,并将欧拉角转换为四元数。指定网格作为gydF4y2Bamatedwing.stl.gydF4y2Ba文件和正Z方向gydF4y2Ba“下”gydF4y2Ba。显示的视图显示了UAV基于恒定滚动角度进行恒定转弯。gydF4y2Ba

Downsample = 1:30:尺寸(SIMOUT.Y,2);翻译= simout.y(1:3,下拍)';gydF4y2Ba% xyz-positiongydF4y2Ba旋转= eul2quat([simout.y(5,downsample)',simout.y(6,downsample)',simout.y(7,downsample)']);gydF4y2Ba% ZYX股票欧拉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])视图([ -  45 90])保持gydF4y2Ba离开gydF4y2Ba

更多关于gydF4y2Ba

展开全部gydF4y2Ba

参考gydF4y2Ba

[1] Randal W.胡子和蒂莫西W. Mclain。“第9章”gydF4y2Ba小无人驾驶飞机理论与实践gydF4y2Ba,新泽西:普林斯顿大学出版社,2012年。gydF4y2Ba

扩展功能gydF4y2Ba

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

介绍了R2018bgydF4y2Ba