主要内容

稳态模拟和Projection-Based修剪优化器

这个例子展示了如何找到一个稳态操作点Simscape™多体™模型使用findopprojection-based优化器的功能。

Projection-based优化执行一致性模型的初始条件在每个评估目标函数或非线性约束函数,可以改善削减Simscape模型的结果。使用projection-based修剪优化需要优化工具箱™软件。

开放模式

这个例子是一个模型反铲Simscape多体系统建模。

打开仿真软件模型。金宝app

mdl =“scdbackhoeTRIM”;open_system (mdl)

定义操作点规范

定义操作规范,首先创建一个规范的对象。输入、输出和状态值运维匹配模型的初始条件。

opspec = operspec (mdl);

指定模型输出值减少。

opspec.Outputs (1)。1 = true(10日);

指定角度滑移系统的已知值。

opspec.Outputs (1) .y (1) = 0;%斗角opspec.Outputs (1) .y (3) = 50;%上角opspec.Outputs (1) .y (5) = -50;%降低角opspec.Outputs (1) .y (7) = 0;%底角opspec.Outputs (1) .y (9) = -45;%的金宝app支持角度

对于相应的角速度,已知的值为零,匹配模型的初始条件opspec

调整模型

创建一个选项设置为削减和指定优化器类型使用OptimizerType选择。对于这个示例使用projection-based梯度下降法求解。查看迭代更新修剪的进步在命令窗口中,设置DisplayReport选项“通路”

选择= findopOptions (“OptimizerType”,“graddescent-proj”,“DisplayReport”,“通路”);

指定的最大数量为优化评估函数。

opt.OptimizationOptions。MaxFunEvals = 20000;

找到符合规范的稳态操作点opspec。这个操作过程需要几分钟的时间。

op = findop (mdl opspec,选择);
优化求解所有预期dx / dt = 0, x (k + 1) - x (k) = 0, y =码。(最大误差)块- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (4.50000 e + 01) scdbackhoeTRIM /着干活(3.54436 e + 00) scdbackhoeTRIM着干活(2.29690 e-01) scdbackhoeTRIM /着干活(3.84952 e-02) scdback金宝apphoeTRIM /工厂/装配/安装基座和武器/支持部门/右转动关节臂(9.31982 e 03) scdbackhoeTRIM /工厂/安装装配/安装基座和支持武器/支持部门/右转动关节臂(7.25856 e-04) scdbackhoeTRIM /工厂/安装装配/安装基座和支持武器/支持部门左/转动关节臂(6.61687 e-04) scdbackhoeTRIM /工厂/安装装配/安装基座和支持武器/支持部门左/转动关节臂(8.93126 e-05) scdbackhoeTRIM /工厂/安装装配/安装基座和支持武器/支持部门左/转动关节臂(1.41268 e-05) scdbackhoeTRIM /工厂/安装装配/安装基座和支持武器/支持部门左/转动关节臂(9.73848 e-06) scdbackhoeTRIM /工厂/缸基础安装板(1.01895 e-06) scdbackhoeTRIM /工厂/安装装配/安装基座和支持武器/支持部门/右转动关节臂(1.04660 e-06) scdbackhoeTRIM /工厂/缸基础安装板(1.04660 e-06) scdbackhoeTRIM /工厂/缸基础安装板操作点规范成功实现。

模拟模型

配置模型使用计算操作点人事处作为模型的初始条件。

set_param (mdl“LoadExternalInput”,“上”)set_param (mdl“ExternalInput”,“getinputstruct (op) ')set_param (mdl“LoadInitialState”,“上”)set_param (mdl“InitialState”,“getstatestruct (op) ')

模拟模型。

sim (mdl);

查看关节角轨迹。

(mdl open_system (,' /关节角轨迹”])

仿真结果表明,五个角是削减他们的期望值。轨迹会随着时间有所偏离,由于数值噪声和不稳定。您可以使用反馈稳定角度控制器。

另请参阅

功能

相关的话题