名前を解決できないというエラーに関して

67 ビュー (過去 30 日間)
NAGATA SOICHIRO
NAGATA SOICHIRO 2021 年 12 月 1 日
コメント済み: NAGATA SOICHIRO 2021 年 12 月 1 日
非線形モデル予測制御をしようと考えていて、練習としてこちらの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']; %この部分

採用された回答

Toshinobu Shintai
Toshinobu Shintai 2021 年 12 月 1 日
本デモモデルを最初に起動する時、「MPC_imple_PJ.prj」を実行します。この時、自動的に起動時のスクリプト「start_pj_script.m」が実行されます。このスクリプトの2行目に書かれている
proj = currentProject;
が実行されることによって「proj」というオブジェクトがワークスペースに置かれますので、この状態からマルチステージの非線形MPCのライブスクリプト「Nonlinear_MultiStage_MPC_design.mlx」を開いて実行すれば、エラーなく実行できます。
おそらく、ワークスペースをクリアしてしまったのではないでしょうか。
この場合は、一度プロジェクトを閉じ、再度「MPC_imple_PJ.prj」を実行すれば元に戻ります。
  3 件のコメント
Toshinobu Shintai
Toshinobu Shintai 2021 年 12 月 1 日
ファイル一式は全てダウンロード、もしくはGitHubからクローンできていますでしょうか。一番上の階層に「MPC_imple_PJ_説明資料.pdf」というファイルがあります。こちらに記載されていますが、読みましたでしょうか。
もしくは、こちらからWebで見ることもできます。
NAGATA SOICHIRO
NAGATA SOICHIRO 2021 年 12 月 1 日
回答していただきありがとうございます。解決できました。

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!