主要内容

用无人机指导模型块近似高保真无人机模型

仿真模型通常需要不同级别的保真度在不同的发展阶段。在模具的阶段,我们要快速实验测试不同的自动算法和优化参数。在生产发展阶段,我们想验证算法对模型形式增加。在这个例子中,我们将演示一个方法来近似的高保真模型指导模型块,用它来原型和优化路径导航系统。看到调优路径固定翼无人机的追随者。相同的导航系统是测试一个高保真模型来验证其性能。

这个示例模型使用一个高保真无人机(UAV)模型组成的植物模型和中层内置的自动驾驶仪。这个模型包含了近一千块,很复杂。作为第一步在开发过程中,我们创建了一个变量系统可以切换高保真模型和无人机指导模型块。高保真模型提取文件交换条目,万博1manbetx仿真软件无人机参考应用

无人机模型不同的忠诚

uavModel =“FixedWingModel.slx”;open_system (uavModel);

您可以切换之间的低和高保真模型通过改变MATLAB®变量值存储在数据字典与该模型相关联。

plantDataDictionary = 万博1manbetxSimulink.data.dictionary.open (“pathFollowingData.sldd”);plantDataSet = getSection (plantDataDictionary,设计数据的);%切换到高保真模型assignin (plantDataSet“useHighFidelity”1);

%切换到低保真模型assignin (plantDataSet“useHighFidelity”,0);

近似高保真固定翼与低保真模型指导模型

近似与无人机的高保真模型指导模型块,创建步骤控制信号反馈到模型,观察的阶跃响应RollAngle,高度,空速命令。

stepModel =“stepResponse”;open_system (stepModel)

首先,命令横摇角的变化。

controlBlock = get_param (“stepResponse /步骤控制输入”,“对象”);controlBlock。StepControl =“RollAngle一步控制”;assignin (plantDataSet“useHighFidelity”1);sim (stepModel);
# # #开始连续模型参考模拟构建。# # #成功更新了模型参考模拟目标:PlantModel # # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = PlantModel代码生成和编译。PlantModel_msf。mexa64并不存在。FixedWingModel代码生成和编译。FixedWingModel_msf。mexa64并不存在。2的2模型建立(0模型已经更新)构建持续时间:0 h 1米26.147秒
highFidelityRollAngle = RollAngle.Data (:);highFidelityTime = RollAngle.Time;图()图(highFidelityTime highFidelityRollAngle,“——r”);标题(横摇角阶跃响应的)

缩放到上面的仿真结果中,你看到的特点横摇角控制器内置高保真模型。横摇角接近的沉淀时间2.5秒。

xlim(80年[75])ylim ([-0.1 - 0.548])

一个二阶PD控制器,实现这一解决时间和临界阻尼系统,以下收益应该用于配置内的无人机指导模型块的低保真变体无人机模型。对于这个示例,无人机指导模型块模拟使用代码生成增加为多个运行速度。看到块参数。

ζ= 1.0;%临界阻尼t = 2.5;% 2%结算时间wn = 5.8335 / (ts *ζ);newRollPD = (wn 2 ^ 2 *ζ* wn);

设置新的收益和模拟低保真模型的阶跃响应。比较原始响应。

load_system uavModel set_param (“FixedWingModel / FixedWingModel / LowFidelity /固定翼无人机指导模型的,“PDRollFixedWing”,strcat (“(”num2str (newRollPD),“]”)save_system uavModel assignin (plantDataSet,“useHighFidelity”,0);sim (stepModel);
# # #开始连续模型参考模拟构建。# # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FixedWingModel代码生成和编译。模型或图书馆FixedWingModel改变。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米17.902秒
lowFidelityRollAngle = RollAngle.Data (:);lowFidelityTime = RollAngle.Time;持有;情节(lowFidelityTime lowFidelityRollAngle,“- b”);传奇(“高保真的反应”,“低保真反应”,“位置”,“东南”);

低保真模型实现类似的阶跃响应。同样的,我们可以调整其他两个控制通道:高度空速。可以使用更复杂的方法来优化控制收益而不是视觉检查的控制响应。考虑使用系统辨识工具箱®进行进一步分析高保真无人机模型的行为。

controlBlock。StepControl =“速度分级控制”;assignin (plantDataSet“useHighFidelity”,0);sim (stepModel);
# # #开始连续模型参考模拟构建。# # #模型参考仿真目标FixedWingModel是最新的。构建总结0 1模型的建立(1模型已经更新)构建持续时间:0 h 0米3.2493秒
lowFidelityAirSpeed = AirSpeed.Data (:);lowFidelityTime = AirSpeed.Time;assignin (plantDataSet“useHighFidelity”1);sim (stepModel);
# # #开始连续模型参考模拟构建。# # #模型参考仿真目标PlantModel是最新的。# # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FixedWingModel代码生成和编译。变异控制useHighFidelity = = 1值从假的变成真的。1 2模型的建立(1模型已经更新)构建持续时间:0 h 0米27.812秒
highFidelityAirSpeed = AirSpeed.Data (:);highFidelityTime = AirSpeed.Time;图()图(lowFidelityTime lowFidelityAirSpeed,“- b”);持有;情节(highFidelityTime highFidelityAirSpeed,“——r”);传奇(“低保真反应”,“高保真的反应”,“位置”,“东南”);标题(的空气速度阶跃响应)xlim(80年[70])ylim ([17.5 - 19.2])

controlBlock。StepControl =“高度的一步控制”;assignin (plantDataSet“useHighFidelity”,0);sim (stepModel);
# # #开始连续模型参考模拟构建。# # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FixedWingModel代码生成和编译。变异控制useHighFidelity = = 1值从真的变成假的。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米15.583秒
lowFidelityHeight = Height.Data (:);lowFidelityTime = Height.Time;assignin (plantDataSet“useHighFidelity”1);sim (stepModel);
# # #开始连续模型参考模拟构建。# # #模型参考仿真目标PlantModel是最新的。# # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FixedWingModel代码生成和编译。变异控制useHighFidelity = = 1值从假的变成真的。1 2模型的建立(1模型已经更新)构建持续时间:0 h 0米28.522秒
highFidelityHeight = Height.Data (:);highFidelityTime = Height.Time;图()图(lowFidelityTime lowFidelityHeight,“- b”);持有;情节(highFidelityTime highFidelityHeight,“——r”);传奇(“低保真反应”,“高保真的反应”,“位置”,“东南”);标题(“高阶跃响应”)xlim(150年[70])ylim (56 [49])

测试与低保真模型导航算法

现在我们有近似的高保真模型无人机指导模型块,我们可以试着把它换成无人机指导模型块调优路径固定翼无人机的追随者的例子。测试的效果超前距离和航向控制收益对这些不同形式的模型。

navigationModel =“pathFollowing”;open_system (navigationModel);
assignin (plantDataSet“useHighFidelity”,0);sim (navigationModel);
# # #开始连续模型参考模拟构建。# # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FixedWingModel代码生成和编译。变异控制useHighFidelity = = 1值从真的变成假的。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米14.166秒
图visualizeSimStates (simStates);

与高保真模型验证

assignin (plantDataSet“useHighFidelity”1);sim (navigationModel);
# # #开始连续模型参考模拟构建。# # #模型参考仿真目标PlantModel是最新的。# # #成功更新了模型参考模拟目标:FixedWingModel构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = FixedWingModel代码生成和编译。变异控制useHighFidelity = = 1值从假的变成真的。1 2模型的建立(1模型已经更新)构建持续时间:0 h 0米27.998秒
图visualizeSimStates (simStates);

结论

这个例子展示了如何近似高保真模型与固定翼无人机的低保真抽象。相反的方法也可以用于帮助选择自动驾驶仪控制收益高保真模型。你可以先决定接受特征的自动驾驶仪控制响应通过模拟一个低保真模型在不同的测试场景,然后相应地调整高保真模型自动驾驶仪。

discardChanges (plantDataDictionary);清晰的plantDataSet清晰的plantDataDictionaryclose_system (uavModel 0);close_system (stepModel 0);close_system (navigationModel 0);

另请参阅

||

相关的话题