名前を解決できないというエラーに関して
64 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
NAGATA SOICHIRO
el 1 de Dic. de 2021
Comentada: NAGATA SOICHIRO
el 1 de Dic. de 2021
非線形モデル予測制御をしようと考えていて、練習としてこちらのFile Exchangeのサンプルモデルの非線形モデル予測制御マルチステージを実行しようとしているのですが、以下のコードの一番下のfile_path = [char(proj.RootFolder), filesep, 'gen_script', filesep, 'calc_nonlinear_f.m'];
の部分で”名前 proj.RootFolderを解決できません”というエラーが解決できないので、教えていただきたいです。
clc; Simulink.sdi.clear; Simulink.sdi.clearPreferences; Simulink.sdi.close;
system_model_name = 'Vehicle_system_Nonlinear_MPC';
controller_model_name = 'Parking_NMPC_MultiStage_Controller';
load_system(system_model_name);
set_param([system_model_name, '/MPC_Controller'], ...
'ModelName', controller_model_name);
Ts = get_TimeStep('sim_data_vehicle_nl.sldd');
ref_VALIANT = Simulink.Variant;
ref_VALIANT_TS = Simulink.Variant('CTRL_MODE == 1');
ref_VALIANT_TT = Simulink.Variant('CTRL_MODE == 2');
path_Tf = 60; % パスを走行する時間
syms wb q0 q3 v delta px py dTime real;
% ステアリング角度と速度からヨー角速度を求める
dtheta = v/wb*tan(delta);
dq0 = cos(dtheta * dTime / 2);
dq3 = sin(dtheta * dTime / 2);
% クオータニオンの角度の更新はクオータニオン積で行う
q0_next = q0 * dq0 - q3 * dq3;
q3_next = q0 * dq3 + q3 * dq0;
% 非線形の離散時間時間状態方程式 x[k+1] = f(x[k]) のfである。
f = [
px + dTime * v*(2 * q0 ^ 2 - 1); % 2倍角の公式
py + dTime * v*(2 * q3 * q0); % 2倍角の公式
q0_next;
q3_next;
];
% 非線形の出力方程式
h = [
px;
py;
2 * atan2(q3, q0);
];
file_path = [char(proj.RootFolder), filesep, 'gen_script', filesep, 'calc_nonlinear_f.m']; %この部分
0 comentarios
Respuesta aceptada
Toshinobu Shintai
el 1 de Dic. de 2021
本デモモデルを最初に起動する時、「MPC_imple_PJ.prj」を実行します。この時、自動的に起動時のスクリプト「start_pj_script.m」が実行されます。このスクリプトの2行目に書かれている
proj = currentProject;
が実行されることによって「proj」というオブジェクトがワークスペースに置かれますので、この状態からマルチステージの非線形MPCのライブスクリプト「Nonlinear_MultiStage_MPC_design.mlx」を開いて実行すれば、エラーなく実行できます。
おそらく、ワークスペースをクリアしてしまったのではないでしょうか。
この場合は、一度プロジェクトを閉じ、再度「MPC_imple_PJ.prj」を実行すれば元に戻ります。
3 comentarios
Toshinobu Shintai
el 1 de Dic. de 2021
ファイル一式は全てダウンロード、もしくはGitHubからクローンできていますでしょうか。一番上の階層に「MPC_imple_PJ_説明資料.pdf」というファイルがあります。こちらに記載されていますが、読みましたでしょうか。
Más respuestas (0)
Ver también
Categorías
Más información sobre インストールとライセンスの紹介 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!