Degication 一般社団法人デジケーション

MBDプロセス研修

Part1 MATLAB/Simulinkによるモデル構築

コンフィギュレーションパラメーターの位置が動画と私が使っているソフトで異なっている。

  

好みのグラフ、背景、色、線、などのセットを保存して、次に読み込むことはできますか?
「Scope の変更した色・線種などのをデフォルトの設定として使用する方法」として回答します。
Simulink の Library にあるパーツを変更することは、可能ですが問題が発生したときに対処が難しくなるのでお勧めできません。
一方、本講義で説明する MBD の活用法の一つに、作成したパーツ(block)は再利用できるようにしておく、があります。
この実現方法として、パーツをライブラリ化し、Simulink Library から参照できる方法を示しています。
テキスト P.124(スライド 3-18)、あるいは、講義ビデオの「Part3_02_01_DCモータディスクモデルの作成とカスタムライブラリへの登録1」で
す。この自作ライブラリに、変更した Scope を置くことで再利用できます。

 

MATLAB/Simulinkは同じワークスペースを介しているということでしたが、これもMATLABで実行(信号発信)したものがワークスペースで拾われ、何らかの形に変換され出力し、Simulinkに入り、モデルに従って値(図)が出力されるイメージでしょうか?

  

実機に接続し制御する場合は、入出力インターフェースブロックを用いるという点以外に、ブロック線図に追加要素や変更点はありますか?

 

私がイメージしていたようなmファイルで書いたものをSimulinkブロックとして自動的に描き出すことはできないようですがMATLAB/Simulinkそれぞれの長所を活かして効率的にモデル構築からシミュレーションまでを完了するということでしょうか?

 

変数をMATLABで連続的に変える方法が知りたいです。

 

MATLAB/Simulinkは同じワークスペースを介しているということでしたが、これもMATLABで実行(信号発信)したものがワークスペースで拾われ、何らかの形に変換され出力し、Simulinkに入り、モデルに従って値(図)が出力されるイメージでしょうか?

 

変数に関してはSimulinkにKなどの変数設定を行い、MATLAB側で変更できるとのことでしたが、定数部分(Simulinkで置いたSineWaveやScopeの周波数など)はやはりSimulinkでブロックを置いて手打ちなのでしょうか?それともMATLABで定数部分も設定できたりするのでしょうか?

 

手打ちであった場合、気を付けておかないとmファイルとブロック内の値のズレが出てきてしまいそうに思いました。

 

ブロックパラメータの設定を変数にすることでmatlab上で一気に設定できることが分かった。
不明点として、様々な変数のパターンを試す場合、どのように保存されるのかが分からなかった。
matlab上の記述(1-30ページ)のシステムパラメータの設定からsimulinkの実行までをfor文で回せば、様々な変数のパターンで実行されると考えたが
①Scopeの設定でワークスペースにデータのログを作成では、for文が一回まわるごとにログが上書きされてしまわないのか。
②また、エクセルファイルなどに出力することが出来ないのか
上記の2点が分かりませんでした。

  

システムゲイン[-]の[-]は何を表しているのでしょうか。

 

ソルバーオプションのタイプは、固定ステップの方が複数条件での結果比較、再現性の面で優れているのではないかと感じたのですが、基本的には固定ステップを使用すれば良いのでしょうか。また、可変ステップを用いた方が良さそうな場面があれば教えて頂きたく、宜しくお願い致します。
可変ステップの場合、単一のシミュレーションの中でもステップ間隔が変わることがあるのでしょうか。
また、固定ステップでステップの間隔を任意に変化させることはできるのでしょうか。

 

とても素朴で細かい疑問なのですが、周波数を大文字のFで記述することに理由はございますか。

 

ステップサイズについて、出力が今回のsin波のような単純な出力ではなく複雑な出力の場合、意図した出力になっているか、どのように確認してステップサイズを決定するのでしょうか。
・ 固定ステップについて、本実習では先生から指示があるとのことですが、 実際の業務においてはどのようにしてステップサイズを決めていくのでしょうか。

 

変数を設定する際、使用できない文字もしくは使用するべきではない文字はありますか?

 

今回の演習でMATLABとSimulinkを連携させる際に両方のTest2のファイルが同じフォルダに保存されていますが基本的に連携させるときは同じフォルダ内でなくてはいけないのでしょうか?
ファイル名をパスで繋げば別フォルダでも連携は可能なのでしょうか?

 

mファイルとslxファイルを1対1で作成するとの説明がありましたが、複数のファイルを相互に参照するようなプログラムの作り方もあるのでしょうか。
(複数のモデルを別々に作成したあと、それらを合わせてシミュレーションしたい場合、一つのmファイルやslxで完結するように記述し直す?)

 

Simlinkのパラメータ変更する際にそのままOKとしてウィンドウを閉じず、適用してからOKとするのはどういった理由からでしょうか。

 

演習課題において、変数に置き換えて動作を確認する内容でした。変数に置き換えることは理解できますが、置き換える数値の設定がいまいち理解が出来ていません。次の例題の数値が、演習課題の設定数値という理解でよかったのでしょうか。
また、可変・固定ステップサイズの説明において、説明しやすいとのことで、各設定を変えてご説明されていましたが、マネして試そうとしたら、足りない数値などあった為か、適切に動きませんでした。
sin Waveの設定もモデルの元を新たに使い、今回新たな変数設定が必要だったのでしょうか。

 

プロセス研修テキストp.1‐14のスクリプトをmatlabへ記述し実行したのですが結果がグラフとして出力されません。
P.1‐14のスクリプトは全てを表示していないということで良いでしょうか?

 

MATLABのバージョンについて、下位互換がないため、ファイル名にバージョン名を書いておくことを推奨されていましたが、古いバージョンで作成したmファイルやSimulinkを新しいバージョンで使う場合も互換性はないのでしょうか?

 

MATLABとSimlinkの扱い方の導入についてとても分かりやすかったです。
このシミュレーション結果は、リアルタイムで別のソフトと連携することは可能でしょうか?
(Unityなどのゲーム開発ツールを始めとしたツールと連携することは可能なのか気になりました。)

 

mファイル上で; を行の最後につけるのは変数のときのみであるという理解であってますか?
matlabで記述する際,文末に;があるのとないのがあるのはなぜですか?
どういった時に;が必要ですか?

 

ビデオの中でMATLABからSimulinkの変数を操作する場合、ExcelからMATLABに数値を取り込めると言われていましたが、Excelから数値を取り込みMATLABとSimulinkで解析し結果をExcelに送る方法を教えて頂きたいのですが、宜しくお願い致します。
質問の背景ですが、社内のデータは、ほとんどExcelやCSVのため、Excelでフォームを決めれば直接、MATLABに必要データを読み込ませ、解析結果をExcelに戻すことで既存のデータ環境を変えずに業務の効率化ができるのではないかと考えたためです。 以上 宜しくお願い致します。

 

実際メカトロ開発を行う上で、メカ機構の部分で想定外の現象(異物噛み込みや外的要因による異常回転)が発生しエラーを引き起こすのですが、メカ部分を考慮したシミュレーションは可能なのでしょうか?

Mathworks社 HP(simscape)

https://jp.mathworks.com/products/simscape.html

Mathworks社 HP(simscape基礎トレーニングページ: 受講料¥75,000,1日)

https://jp.mathworks.com/learn/training/modeling-physical-systems-with-simscape.html

Mathworks社 HP(Simscape™ Multibody™ による機械システムのモデリングトレーニングページ: 受講料¥75,000,1日)

https://jp.mathworks.com/learn/training/modeling-multibody-mechanical-systems-with-simscape.html

 

Simulinkのブロック図をMATLABコードへ変換することは可能でしょうか?

 

MATLABのスクリプト上で、”Enter” キーを押してしまうとスクリプト上で改行してしまい、戻すのが面倒です。簡単に1行表示に戻す方法があれば教えてください。

 

テキスト 1-48ページ では、”Scope”の機能でデータをワークスペースに出力とありますが、どの変数(構造)として格納されますか?

  

ワークスペースへのデータ出力を行う場合、”To Workspace” ブロックを配置すれば、上記3.の設定は不要という理解でよいでしょうか?

  

1-50 ファイル出力時に各変数を行ベクトルとして扱う理由を教えてください。  (MATLABのTimetabledata形式 などでは、時間ベクトル、Tableデータは基本的に列ベクトルして扱う理解ですので、それとは考えが異なっていますので疑問に思いました。

 

1-51 のプログラムを実行すると、 Matlabの%データ取得 (from simout)の 「x1 = simout.signals.values(:, 1);」 行のところで、下記エラーがでます。 対処方法を教えていただきたいです。 エラー: 「クラス ‘timeseries’ に対する適切なメソッド、プロパティ、またはフィールド ‘signals’ がありません。」 simoutにはデータが入っていて、sin波形に問題はなさそうです。

Part2 物理モデリングの基礎

近似積分による誤差が実際に影響することはありますか?

 

PCによる積分は数値積分で厳密値ではないとありましたが、厳密でないことによる問題点と対策などの例はありますか?

 

Simulinkの ”積分器” の表記が 1/S となっています。積分は ”掛ける” ものかと思っていたのでイメージと合いません。どのように理解すれば、腑に落ちますでしょうか?

  

流出流量は液位に比例する…という部分をどう描けばいいかがちょっとまだわかっていない。物理的におかしなところはないか?(h=0なのに、qoutに値が入る構図)という点で見ればいいのか?その「アタリ」の付け方のコツを知りたいと思います。言われてみればわかる…という感じでした。

  

演習2-1(2)ですが比較演算してからh[m]>=H[m]になったときにquotをH[m]にするで合っていますでしょうか?しかし、比較演算はまだ出てきていない?

  

Q H(タンク高さ)をパラメータとして設定していますが、モデルには含まれていません。何のための定義になりますか?

  

演習問題2-1(2)について、水位があふれる液位なったときに頭打ちでh[m]の最大値を H[m]というシステムを作成しようとしているが、.mファイルのほうでhの最大値をHに設定すればよろしいでしょうか。

   

この液位ブロック線図では、変化量(q_in – h(t)/R)がマイナスにできるのか、不思議に思った。出口抵抗の概念が完全に理解できず、水位を減らそうと考えたとき難しいと感じた。

  

液位プロセスの演習問題をif関数で解決できないか検討していました。ifブロック1つでモデル化可能であると想定していたのですが、回答と比べるとかなり複雑なモデルになりました。if関数の複雑さから、Simulinkにおいてif関数はあまり使われないものなのでしょうかという疑問を持ちました。または、本演習問題においてブロック1つでモデル化可能なif関数のブロックがあるのでしょうか。

  

本演習では、解答を見るまで飽和機能をもつ積分ブロックを発見できませんでした。
最適なブロックを検索・発見するコツや方法などございましたらご教示お願いします。

  

MATLABのスクリプトでのコード記述にて、Simulinkファイル名の読み込み時に拡張子の記載がありませんが、なぜでしょうか?拡張子は読み込ませてはいけないのでしょうか?

  

タンクの液位のモデルで出てきたシステムパラメータですが、例題としてはすでにR=500[s/m^2]などのように与えられていましたが、実際の問題ではRの値が不明なケースが多いと思います。そのような場合、どのようにRの値を決めるのでしょうか?

 

Matlab Simlinkのモデルを使ってパラメータスタディを行う際に、複数の条件を一度に回す方法(バッチラン)はありますか?

  

タンクモデルで初期水位を与えたいときはどうすればよいのでしょうか。

 

mファイルのRを例えば 500から 1200へ変更する、ということが答えになりますか。

  

値を調べることが困難なシステムパラメータがあると、シミュレーションの実行が出来なかったり、シミュレーション結果の信ぴょう性が失われてしまうのではないかと感じました。 

  

保存則に基づいてモデルを作成する際、出力部分の立式は入力の結果どうなるかわかるように設定するという理解で正しいでしょうか?

  

テキストのP.76の液位プロセスモデルのステップ応答の上側のグラフ(液位側)について質問です。
0.5[m]から一定で変化がありませんが、「hによって変化するq_outがq_inと釣り合ある点」という状態で合っていますでしょうか?
例)h=1(タンクの高さ)で変化がない状態であれば、溢れている状態を表現しており、直感的に分かりやすかった思ったのですが、
そうではなかったので確認してみました。よろしくお願いします。

  

各ブロックのパラメータ設定などが多々ありますが、このテキストで紹介されていない物でも知っていた方がいいものとかのリストであったりしますか?

  

数値積分における基本サンプル時間Δτの決め方の定量的な指針はありますか?

 

サブシステムの解除方法が分からない。誤って作成してしまった場合などのために。

  

流出流量qout(t) = 1/R * h(t)になることが少し理解できませんでした。自分が思った流出流量を決めるパラメータが二つがあり、液体の高さh(t)で決められる水の圧力とバルブ開閉の断面積です。確かに、水の圧力がh(t)で決められて、Rがバルブ開閉の断面積で決められることが理解できたが、その二つを掛け算にして、1/R*h(t)で流出流量qout(t)を決まることがちょっと理解できなかった。よろしくお願いします。

  

流出の抵抗部分等、よくわからない場合、比例定数を仮定するとのことでしたが、線形にならないこともあると思いますが、線形化することの、具体的なメリットを知りたいです。
計算だけなら複雑でもできてしまうのではないかと思ったので、メリットが気になりました。

  

 

タンクモデルの流出水量が水位と比例する理由が難しかった。




  

物理法則の中で「保存則」以外によく取り扱われる基本法則はあるか。

  

数値積分の際などに影響を及ぼすΔτは、どのように決めるのでしょうか。およそ100msecといった基準があるのでしょうか。

  

MATLABで設定などする際に、「適用」→「OK」とする理由はあるのでしょうか。 「OK」だけでも良い気がします。 

  

外力f(t)と対抗する力{fg+fk+fD}がつりあったところで速度v(t)が0になる考えでよい?

  

比例する物理量(式では変数):バネおよびダンパが、変位および速度に比例するのは何故でしょうか。

  

今回の演習モデルでは、Addブロックを使って、複数の信号を演算しているが、なぜ、sumブロックを使いませんか。そこについて、何か制約がありますか。
講義では”sum”ブロックを使っていましたが、”add”ブロックを使っても動作は同じでしょうか?
Sumの代わりにAddというモデルを使用したのですが、中身同じでしょうか?

  

位相遅延10sがどこから来たのかが気になります。

  

解説ではsumで、入力をまとめましたが、addじゃだめですか? 計算は同様になりましたが違いはなんでしょう?

  

既に動いている状態(速度、加速度が初期の時点で値をもっている)からシミュレーションしたい場合でも、初期値の与え方次第ではそのシミュレーションが可能なのか気になりました。

  

Simulinkのコンフィギュレーションパラメータにて、ソルバー選択で、”固定ステップ”に変更していますが、なぜでしょうか?固定ステップサイズも任意に入れていますが、可変ステップ+Autoのままでは、不具合が生じやすいのでしょうか?
上記での設定の時間ステップ幅の妥当性の確認方法として、”Scope” で可視化したグラフ上でのプロット点(実際には離散値となっている計算点)を表記することはできますでしょうか?

  

熱抵抗は容器を通過するときの抵抗のため流入時は考慮する必要がない?今後実践も考えていくとこの構成の場合だと遮蔽物のない上側からの放射熱についても考慮する必要ある?

  

水温y(t)と外気温d_0の差の際に出てきた比例定数αを意味を持たせるために1/Rに書き換えましたが、αのままでもαの値が高い、低いで意味を持たせることは可能だと感じました。αのままでは何か不都合があるのでしょうか、それとも何か物理学的な背景があるのでしょうか

  

システムの最終の安定状態は50℃になりましたが、この安定状態はどうやって演算で求められますか。




  

自分の理解不足で大変申し訳ございませんが、演習問題2-2の問題を読むと研修動画でやった問題と同じに見えるのですが、その認識で合っていますでしょうか。

  

simulinkのScopeブロックのスタイル等を一括で変更する(もしくは初期設定しておく)方法はありますでしょうか

  

Partが進む度に自分の理解度がどのように進んでいるのか知りたいのですが、これまで自分が答えた理解度のアンケート結果の推移を確認することはできますか?

  

MATLABのスクリプトで、最後にセミコロンがある行とない行の違いは何でしょうか?

  

演習課題2-1(2)回答では、積分ブロックで飽和の上限Hを設定してあふれをモデル化していますが、ifブロックを用い、液位hがHよりも高くなった場合、高くなった分(h-H)に比例して、あふれの流出流量q_overflowが決まるようにし、あふれをモデル化する事も可能でしょうか?
自分でモデル化を試みましたが、知識が足りず断念しました。可能であればモデル例を示してもらえないでしょうか?

  

「モデリングする」という言葉の意味は「対象の物理現象を立式する」ということと同義でしょうか。「モデリング」「モデリングする」という言葉を使った時に、どこまでの範囲を指すのか、もし一般的な定義、もしくは本講座での意味合いでもよいので、教えて頂けると大変助かります。単にSimulinkなどのツールを使ってブロックを線で繋ぐ作業のことを指すのではないとの認識をしています。

  

演習2-2(2)の問題でなぜMgが無くなるのかが分かりません。教えていただきたいです。

  

① 比例以外の関係はあるのか、もしある場合、どのようにしてどんな依存関係があるのか見つければよいか
② 異なる物理量同士に依存関係があり、比例定数を考える際は、経験則に基づいて値を決定することが多いでしょうか。

  

Partが異なるかもしれませんが、「MATLAB/Simulinkは時間軸以外のシミュレーション(時間に依存しない物理現象)は適さない」という認識でよろしいでしょうか?
また、時間に依存しない現象を扱う上でも、大切となるとなる考え・知見等ございましたらご教授いただけますと幸いです。

【意図】
業務上、強度解析や固有値解析、流れ場解析(定常)がメインとなっており、時間に依存しない物理現象を扱うことが大半です。
そういった場合でもMBDプロセス開発として重要なことを学んでおきたく。
 ・モデリングができるようになる
 ・モデルの共通項を把握し整理する 
 ・現象をシンプルに考える
等々はMATLAB以外でも重要だと思っておりますが、他にあればこの機会に伺いたく。
また、本講義でせっかくMATLABを使えるようになったので今後も使用していきたいのですが、上記理由につき使える場をイメージできておらず、時間軸シミュレーション以外でも使えるところがあれば教えていただきたく。

  

サスペンションモデルにおいて、入力ステップが切り替わったタイミングの出力の振動を抑さえようと思うとばね定数を大きくすればよいという理解です。
他のモデルでも、平衡状態の式から何のパラメータを操作すれば振動を抑えることができるか導くことができるのでしょうか?

  

サスペンションモデルのダンパの制動力について、自身がダンパというものをよく知らないため最初こちらも復元力と同様に変位を用いて記述するのかと思っていましたが、実際は速度を用いた式で表現されていました。
 これはダンパが特性として粘性減衰係数を持っており、その単位に速度の要素が含まれているから、速度の因子が式に含まれているニュートンの粘性法則を活用するといった考えなのでしょうか?
 であれば今後自力で微分方程式を導出するにあたり、まずは各モデルがどんな特性(および単位)を持っているかを確認してから、その単位系を含んだ物理法則を引っ張ってくるといったストーリーで考えていったのでよいでしょうか?(要はどんな物理法則を用いればよいかの決め手みたいなものが知りたいという思いです。)

  

サブシステムを解除するにはどうすれば良いのでしょうか。

  

SimulinkのSubsystemであるモデル構成に関して、あまり分からない事があります。
時々にSumの入力はまだ計算していない値があります。計算されていない値をFeedbackとして得ることが出来るという認識ですが、Feedbackの計算方法をあまり理解できていない。

  

Simulinkのスコープにのばす矢印に物理量や単位を記入するとき、編集時に字が見えなくなってしまう現象が発生しました。
なお、編集終了後は問題なく表示されます。対処法などございますか。

Part3 MILSによるDCモーター制御システムの設計

要求仕様から逆算してシステムの粒度を徐々に細かくしていく中で、プラントモデルは1Dモデルから3Dモデルへと変わっていくイメージができますが、コントローラモデルの方はどのように変わっていくのでしょうか。宜しくお願い致します。

  

1Dモデルが正しく作成できているかの検証はどうやってするのでしょうか。HILシミュレータでテストするまでわからないのでしょうか。

  

パスの登録はできませんでした。

  

ライブラリブラウザからSubsystemブロックを4つ作成するときに、コピーしてはいけないのはなぜでしょうか。

  

今回は「空のライブラリ」を選択しましたが「空のモデル」でも同じことができるんじゃないのかな?と思いました。

  

「ライブラリブラウザへカスタムライブラリを登録した際のリポジトリ情報のないライブラリがあります。」の警告が出ることがありますが,これはどのような場合に発生するのでしょうか?

  

ビデオを聞き逃してしまったのかもしれませんが、なぜサブシステム4つ作成する際に、コピー&ペーストではいけないのでしょうか。クイック検索あるいはライブラリから追加しなければいけない理由を教えてください。

    

モデルファイル xxxx.slxファイルを更新した場合、自動的にモデルライブラリの中身も更新されますか?更新されない場合、手順を教えてください。

  

今回の演習ではモデルライブラリ”MBDLibrary” を作成しましたが、”slblocks.m”ファイルの役割を教えてください。mファイルは特に実行しておりませんでしたが、このコードがどのタイミングで読み込まれて、どのような指令となっているのかご説明をお願いします。(MATLAB, Simulink内でのそれぞれの指令が何を意味しているのか理解しておきたい。)

  

3-32ページ 6.0e-5 と記入とありますが、6e-5でも問題ありませんか?注意点があれば教えてください。

  

Scope出力がv_N[V]と指定されているが、サブシステムの出力はv_T[V]と指定されている。どういう意図か確認しておきたい。

  

2. 演習3-1の単体テストはシミュレーションはデフォルト値の10でよいか。テキストのシミュレーション時間は2の様に見受けられる。

  

CurrentSensorのモデルで自分で作成した際には先にi[A]に1/10をかけて、その結果に2.5[V]を足すようなモデルを作成しました。モデルとしての考え方としては間違いないでしょうか?
上記のような考え方でも問題ないようであれば、今後今回のように複数の作り方でモデルを作ることができるような場合に組み立て方のポイントやおすすめの考え方があれば教えていただきたいです。

  

1D-CAEにおいて、適正なPWM周波数を導出する場合、電圧の推移の近似値以外に何か着眼点は何かありますか?
また、その数値をダミー扱いとし、極端に大きな値で検証を進めた場合、発生しうる問題は何が考えられるでしょうか。

  

Scopeで表示されるグラフの縦軸がテキストと違い、シュミレータが間違っていると勘違いしてしまいました。
見やすいように表示する場合、縦軸は変更できるのでしょうか?

  

周波数は基本が1000Hzなのでしょうか

  

モーターに関して明るくないのですが、今想定しているモーターはどのような形のものなのかイメージつかないです。パルスに変えて電圧の方向を制御できる姿がモデル化されたことは理解できますが、2極だろうと12極だろうと、制御対象が増えるだけで考え方は変わらないので省略している、ということでしょうか。あと、電流は不問とする、ということは今回のモデルの目的からすると電流は、電圧を上げるための手段であって、その大小の揺れは解析結果に影響しないのでしょうか。

  

パスの設定ができなかった。
変更にはPCのパスワードが必要といわれた。テキストを読んだが対応策がわからなかった。

  

Actuator画面ではInterfaceにも表示されていますが、表示間違いなのでしょうか。
Dモーター・ディスクモデル⇒Plant[142P] 、タコジェネレータモデル&電流センサーモデル⇒Sensor [150P.]、モータードライバー⇒Actuator[160P.] のため、
Interfaceが使われていない気がしますが、間違ったら教えていただきたく存じます。

  

タコジェネレータのωに対応するセンサ出力などにおいて、敢えて約分をしない表記でモデルを書く方が、計算過程が明確になったので分かりやすかったです。ただそのような表記を多く用いた場合、計算負荷がかかってしまう可能性はないのか気になりました。

  

プラントモデルの結合テストの講義のなかで、「モーター回転数3000rpmはまあまあ合っているが200rpmのずれをどうとるかは議論の余地がある」とのことでした。実際の所、この200rpmの誤差は良いのか悪いのかはどのように判断すべきでしょうか?

  

モータのCWスイッチとCCWスイッチが同時にONになるとショートするような気がするのですがどのような時に同時にONになるのでしょうか

  

電流は先に増加してから、安定までどんどん減少して、最後もとに戻すことは何故ですか。ご回答をお願いいたします。

  

MBDプロセスにて、システム機能設計の後に部品(詳細)設計となっているが、システム機能設計を行うには質量や慣性モーメント等、後プロセスである部品設計が完了していないと定義できない値が必要となる。
演習の様な電気回路の設計等、要素部品の組合せ設計を行うのであれば情報は潤沢にあるが、構成部品含め1から開発する場合は前後ブロセスの行き来は必ず出てくる。
また、要素部品の組み合わせの場合も実質的に後プロセスの部品設計が完了してしまっており、このMBDプロセスは開発プロセスとして成り立っているのか疑問が残る。

  

以降のHILSにおいて、アクチュエータの動作を模擬した機器(演習のようなモータ動作を模擬する基盤等)でシステム動作の確認をすることとなるが、実物が存在しない状態で動作を模擬できていることをどうやって確認するのか。

  

課題形式の際、答えの図の背景が白くて見えにくかった。
「If Action」がいきなりでてきて、やり方に手間取ったため少し説明が欲しかったです。

  

ライブラリ登録でパスを繋げられない場合の説明とモデル作成順序との相関が分からない
(センサモデル等の作成で何に気を付けなければならないのか等)

  

スコープでテキストと異なる結果が出た際(今回は出た波形が±方向が逆でした)、プログラムミスした個所を探すコツなどあれば教えて下さい。

  

Simulinkで作成したモデルの妥当性を判断する方法として、一般的な方法はどのようなものがありますか?
また、各所で各要素の説明(センサやアンプ)があり理解できましたが、通常はこのような知識は事前に学習しておくべきでしょうか。
もしくは、目的や機能を明確にした上でモデルを作成していく中で調べながらモデルを作成していった方が良いでしょうか。
もし推奨する学習の進め方があれば教えて頂きたいです。

  

elseif{}の箇所で1倍のGainを入れていたが、なくても動作に変わりないと思うのですが何か意味はあるのでしょうか?
符号が回転方向を表すため,回転方向を+1, -1と明示しております(+1のゲインがない場合でも動作に違いはございません)。

  

if-elseロジックの実装において、ifブロックがあることを初めて知りました。これまでSwitchブロックを用いた実装をしていたのですが、差はあるのでしょうか。

  

モータドライバのSimulinkモデル自体を作成することはできたのですが,どの部分から書き始めると良いでしょうか?
モデリングの理解をする上で,どういう手順で処理をすると分かりやすいでしょうか?型みたいなものがあれば教えていただきたいです。

  

ABSブロックで絶対値へ変換している理由をご教示願います。

  

Simulinkのノード(配線)の名前を移動するのが難しいです。 コツがありましたらご教示願います。

  

結合テストの最後で実際のモーターのスペックシートとテストデータを比較されていましたが、これはMoter&Diskのサブシステムを作成する際の変数値をこのモーターのスペックと同じに設定したから比較することができるという理解でよいでしょうか?

  

モータドライバモデルの簡略化方法を説明頂きましたが、実際の事例の簡略化のプロセスはPWM信号⇒駆動パルス⇒モータ出力を厳密にモデル化してから簡略化可能箇所を検討するという流れでしょうか。
そのような場合は簡略化のポイントはどのように見つけていけばいいでしょうか。

  

実務では三相モータを用いたアクチュエータモデル設計を行いたいです。
方程式は回路図を確認しながら作成予定ですが、PWMを再現したモデルが必要となる認識で合っておりますか?
またsimlinkの機能で使えるもの、考え方等あればご教授ください

  

PlantModelのCW/CCWなど切り替えをマニュアルで行っていましたが、
これを自動で行い、結果を画像や映像で描画するためのステータスとして使うことはできますか?
意図
Simlinkを使ってシミュレーションを行う際、動いている様子がリアルタイムで視覚的確認することができると
とても便利だと思い、そういうことは可能なのか気になった次第です。

  

マスクの設定の際に,説明欄に画像や資料の添付はできるでしょうか?モデル作成の考え方や,値の根拠などをモデルと共に残したいためです。
ライブラリに登録後,モデルを変更した場合,ライブラリの方に変更は自動反映されず,再度ライブラリに登録し直す必要があるのでしょうか?

  

マスク処理によってブロックの使いまわしができ、内部構成の変更時にも1つのブロックを編集すれば効率よく開発を進められることを理解しました。マスクを使うことの利点はそれ以外にもありますか?

  

「測定する物理量の単位に気をつける」という点について、単位が異なる場合を想定して複数のライブラリを用意しておいた方が良いのでしょうか。それとも、演習課題3-3の時のように、都度ライブラリの外側で単位にずれが生じないようにGain等を用いて調整を行うべきでしょうか。

  

ライブラリから使用する場合と、モデルをコピペする場合とで違いはあるのでしょうか。単に利便性の問題だけなのでしょうか。

  

HILSには、モデル計算のRT性が必要という話があったが、事前にどういったモデルなら、どのくらいの速度で計算できるか、という事は分かるのでしょうか?
また、実際に使用したら、計算が遅かった場合は、モデルの簡略化以外に対策はあるのでしょうか?
HILSシミュレータのRT( Real Time )性について考えてみます。

・ HILSシミュレータは、コントローラと同期をとっていません。
すなわち、シミュレータから見ると、いつ変化するか
分からない入力信号に対し、十分短い時間に
反応する必要があります。
・ 上図のように、HILシミュレータの
制御周期が長いときを考えてみます。
このときコントローラでは、指示に対する結果を
すぐに受け取ることができません。これでは間違った結果となります。
・ 右下図のようにHILシミュレータの
制御周期が十分短いと、連続時間のように
計算結果が得られます。究極には
「コントローラから見て、アナログに見えること」に
なるのだと思います。

ご質問中の「モデル計算のRT性が必要」とは、
このように、(短くても)指定された制御周期の間に
すべての処理が終わる性能のことを意味しています。
本講座では、コントローラの制御周期 0.05 [s] に対し、
HILシミュレータでは 0.01 [s] で動作させています。

HILSシミュレータの制御周期が短くできない場合、より演算能力の高いハードウエアへの変更を検討する必要があるかもしれません。

  

テキストP-P. 3-78  実装ではキャスト(整数型の信号に)するとありますが、実物の機器に信号を送る場合、キャストが必要となる場合があるという理解であっていますか? MILS上では、整数値であれば、計算数値としては問題ないという理解であっていますか?

  

同じbit数でA/D変換することを前提とした場合、入力範囲が広いほうが出力の精度が低下するということになるのでしょうか?

  

①量子化誤差について。
分解能を大きくすれば(bit数を増やせば)量子化誤差は小さくなり測定精度は上がると思うのですが、分解能を大きくするデメリットはあるのでしょうか。(計算回数が増えるから処理速度が遅くなる?)

②また、A/D変換器の処理速度は何に依存しているのでしょうか。
(例えばSimulinkで作成したA/D変換器のモデルはPC上で動かすので、CPUやメモリなどに依存しそうな気がしてます。
実際の自動車にもPCと同等以上のCPUがあるのでしょうか?)

  

コントローラモデルのデコーダ部分で、パルス発生器で活用しない i*[A]を出力させている意味がよく分かりませんでした。

  

業務でどの粒度まで作りこむかが重要で難しく感じました。簡略化し過ぎるとエクセルでも計算できるので、何を達成させるためにMATLAB/simulinkを使うか。

  

DC Motor Systemをマスク化した際、内部に含まれる細部システムのブロックパラメータ、例えば電気子抵抗などをCD Motor Systemのブロックパラメータとして指定することは可能でしょうか。

  

今回マスク化について特に内容の記載ありませんでしたが、パラメータの設定は必要なしでよろしいでしょうか。

  

パラメータ設計は、手動か計算機による総当たりかのどちらで設計することが多いのでしょうか。
手動の場合は職人芸になる気がしますし、計算機の場合は計算時間が膨大となって時間がかかってしまう気がします。

  

 dutyの分解能を上げるための手段を知っておきたい。

  

分解能は8bitが一般的?それ以上だと、世の中にはどの程度の分解能を有したシステムが存在するか知っている範囲で教えてもらいたい。

  

何故2回Quantizerを入れているのか理解できませんでした。

  

パルス発生器に入力される整数値(データ)の最大値はパルス発生器の分解能で決まると記載されていましたが、これはパルス発生器に入力できるデータの範囲(上限値)はパルス発生器の分解能によって決定されるという認識でよいのでしょうか?

  

アルゴリズムを3つの機能にわけた、とありますが、2つは前後の受け渡しのための必要な処置で、大事なのは中央だけ(いわゆるソフトのノウハウ)と理解します。

  

ゲインのマスクパラメータ値を変数にすると異常なグラフになったのですがパラメータを変数にするのはNGでしょうか?

  

今K_p,K_i,K_dのパラメータは人間でいろいろ調整してやる最適パラメータを選んでいるが、あるアルゴリズムで、誤差信号によりK_p,K_i,K_dを自動更新で最適化することは可能ですか。

  

PID制御において、比例係数であるKp,Ki,Kdなどの最適値を自動で算出する方法について、気になりました。ザックリとした概要だけでもお聞きしたいです。

  

目標回転数を変えると回転数によってはオーバーシュート量がかなり大きくなるような結果を得ました。回転数によって追従性に差がでるのは理屈的には成立するものでしょうか。この差に起因しているのはコントローラだけでなく全体システムによるもので複雑な問題でしょうか。

  

動画の中で、サブシステムだけが先に作られていたのは、どうやって作成したらよいですか?

  

本演習では、PIDコントローラにおけるPIDゲインは定数に設定していました。PIDゲインを時間tや入力の関数で設定する場合はございますか。

  

本演習のPLDコントローラにおいて、微分ゲインを0と設定しました。回転数の目標値が一定値であり、目標値に収束すると回転数の変化量が0となるため、PID制御の微分部分を考慮しなくてもうまく制御することが可能になるという認識でよろしいでしょうか。
また、微分ゲインを0以外の定数に設定する場合は、目標値が一定値ではなく増加・減少する場合と考えているのですが、微分ゲインを0以外に設定する場合の例を教えていただきたいです。

 

テキストP-P. 3-85 PID制御は最もオーソドックスな制御手法の一つという理解であっていますか?

  

入力の回転数[rpm]から出力のduty[%]は比例関係にあるためPID制御が使えているのか。
今回の例では、電流や電圧を目標としたPID制御も実施できるのか。
PID制御を用いるには必ず入力と出力に比例関係が必要か

  

演習3-9 システムパラメータ(モータ特性/ディスク特性)をmファイルで入力していますが、マスク処理した”モデル”においても、mファイル上のシステムパラメータ値の変更でモデルの変数を書き換えることができるということでしょうか?

  

今回の説明だとV字の左側はMILS、右側はHILSというイメージだったが、SILSという言葉もあり、SILSはMILSの中の一部と考えるべきでしょうか?
(MILSとHILSで分けたのはハード設計目線だからかもしれませんが)
それとも、SILSはモデルをコードで書いたものだと思うので、制御設計の場合V字の左側にMILSの次にSILSが来るイメージでしょうか?

  

V字プロセスの話で、1Dモデルで機能を設計し、そのあと3Dモデルでの設計にはいる(3Dは制約を含むので先に1Dで機能を決定してそれを理想に3Dに入る)という話があった。 たしかにと思う反面、「形のアップデートをしたい!(小型化したい!とか)」から製品の要求が始まったり、形とソフトを平行して作ることで制作期間を減らしたりすることもあるんじゃないかなとおもい、理解はしたが少しもやもやした。

  

Part3 にて取り扱われたPIDコントローラの例では、回転数における目標値と現在値の差e(t) [rpm]から、PID制御ののち、デューティ比u(t) [%]に変換されていることは理解できました。
ただ少なくともP制御においては単位がrpmのままsum(add)ブロックに入っているのに、なぜ出力の単位が%になるのか物理的な観点では腑に落ちません。このように設定する意図等ございましたらお聞きしたいです。

アクセルでの車速調整のような場面(現在値=目標値となった場合に入力が0になる)では比例制御で追従できないとのことでしたが、入力が0になった場合に現在値(計測車速)が低下していくとすると、再度、現在値と目標値に差が生じ、その差を埋めるために入力を大きくするというような制御はできないのでしょうか?目標値との乖離が生じた際に入力するということになるので、結果的に目標値に対して実測値は波打つようなデータになってしまうかもしれませんが、比例制御でもある程度は追従可能なのではないかと思いました。

  

教材として、すでにモデルのコンテキスト図が用意されているため、大まかなモデル構造をイメージしながら進めることができましたが、
今回のコントローラーモデル・プラントモデルのような「機能」を要素で考えてモデル全体の構成を考えるところが一番工数がかかり、難しいイメージです。
下流のモデル構築も考えて構成を考えないといけないため、「機能」として抜け漏れが発生することもあるかもしれないのですが、未然に防ぐにはどう考えて「機能」を分解していけばいいでしょうか?

  

モーターにも種類があるかと思いますが、例えばブラシレスモーターを制御する場合にはパラメータやブロック図はより複雑になりますか?

  

クオンタイザーの量子化間隔の意味がよくわかりません。

  

制御入力を実現可能な入力とするために、PID制御の計算結果を制限するのはわかるのですが、液位モデルの積分ブロックのように、積分ブロック自体には飽和処理は不要でしょうか?(積分項で制御入力がたまっていくと考えますが)

  

Simlinkによるモデル構築を行う際、モデルが正しく実行されているか確認するために、
データの流れを実行しながら追うことはできますか?
【意図】
実際に業務でSimlinkを使う際、プログラムにおけるデバッグのようなことを行う必要が出てくるのではないかと思いました。
そのような場合、どのようにデバッグするのだろうかと疑問に思った次第です。

  

「Part3_11_コントローラモデル(PID制御モデル)の設計02(PID制御器設計演習:約10分)」では、入力(Step)の初期値は1000ですか。
資料(テキスト)の様に設定したら(初期値→0)Scopeの結果は動画と異なります。

  

Simulinkのモデル上で、ADコンバータの分解能と、パルス発生器の分解能をともに変数「n」で定義していますが、競合する問題は発生しないのでしょうか?マスクパラメータはmファイルのワークスペースで管理されていないための、同じ記号nを使っても問題ない、という理解で正しいか確認させてください。

  

微分方程式の立式がとても苦手なので、何か良い方法かアドバイスがあれば教えていただきたいです。

  

・Quantizerブロックの量子化間隔の単位が何か気になりました。1secという認識で正しいですか?
・実環境ではQuantizerブロックの量子化間隔の単位が何か気になりました。1secという認識で正しいですか?

  

MATLAB2021aで研修と同様のモデルを作成したところ,以下のような「XXXの‘InitFcn’ コールバックの評価中にエラーが発生しました。」というエラーが発生する。

  

2章の液位プロセスでSaturationの使用は好ましくないという解説がありましたが、本章では数回Satulationを使用してモデルを構築しています。Saturationの使い分けがわからないので教えてください。

  

ノイズが乗るという話がありましたが、MILSではノイズはあまり考えないべきなのでしょうか。

  

コントローラーの設計、にて、安いコントローラーと高いコントローラー、どちらも基本構成は同じという話があったが、じゃあなぜ高いものがあるのかその導入のメリットって何なのだろうと思った。

Part4 HILSによるDCモータ制御システムの機能評価

HILSでモデルの一部をECUに組み込んで、テストを行っているが、組み込んでいない部分のモデルを簡易化して(組み込んだモデル部分を動くため、最もシンプルなモデル)、検証を行っても構いませんか.組み込んでいない部分のモデルの粒度は決める必要がありますか。

  

モデルの1部を実機に置き換えて検証する場合にI/Oは都度作成して実機側とのやりとりをしていく手間は発生しますでしょうか?

  

センサ等の応答遅れを再現する為に、モデルをわざと遅延させることも出来るのでしょうか。

  

HILシミュレータの導入メリットとして環境を仮想的に実現可能で時間的、コスト的にメリットがあるとのことでしたが、HILSの段階で最初から実機を使ってテストを実施するというのは危険性としては実機を用意するための時間、コストがかかってしまうものであるとの認識ですが、それ以外にも破損等のリスクもはらんでいると考えたほうがいいでしょうか?

  

「ARDUINOのブロックのSample timeを-1に設定する理由を知りたいです。

  

sample time = -1 とはどういう意味なのでしょうか?

  

シミュレーションで動いたが、演習3-9のパラメータ設定がおかしかったのか、iやN*が動画と違う数値だった

  

Simulink Support Package for Arduino Hardware はどのようにしたらインストールできますでしょうか?

  

単純な興味でお聞きしたいのですが、古い扇風機は始動時は高速で回転し、数秒後に「弱」程度の回転になるような動きをしていた記憶があります。これは今回の実験で起こっていた現象と同様の現象なのでしょうか?

  

演習2-1でタンクフローしたあとは積分をしないよう積分ブロックに上限を設ける処理を追加しましたがその処理を追加しないのは実際には100%を超えるデューティ比になることはなく、立下り時にリセットを掛けるため問題ないから?

  

口頭で述べられていたが、微分に対してはワインドアップ現象の様な特異な現象は存在しない認識でよいでしょうか。

  

演習4-1のオーバーシュート発生原因とメカニズムがわかりませんでした。

  

回転数が減少するとき、HILSのときは目標値に収束するように(変化率が小さくなるように)減少していましたが、実験では直線的に(変化率が一定で)減少していたように見受けられました。この原因として、積分値が0を下回っていることと、回転体が回転速度を保とうとする力が発生していることの2通りの原因を考えました。実験における回転数が直線的に減少するのはどのような原因によるのでしょうか。

  

演習課題4-1の解き方が難しかったです。考え方のポイントとしては
・MILSとHILSでの差異を疑う→今回はスイッチ
・関係ありそうな式や数値をscopeで観察する
ということでしょうか?
scopeでどこを見ればいいか、ピンときませんでした。何かコツがあれば教えてください。

  

テキスト p.4-11 ③.mファイルにて、HIL_Simulater_sim_2016a.slx を開いていますが、
.slxを直接開くと問題がありますか?

  

テキスト p.4-21 今回の実習では、下記の状態として動作させたという理解であっていますでしょうか?
・コントローラの”制御アルゴリズム” だけを simulink(PC) で演算し、HILとのアナログ信号のやり取りはArduino Mega に搭載された機器で行っていた。(エクスターナルモード)
・HILの”モータドライバ” ”モータ&ディスク” ”タコメータ” ”電流センサ” はHILのマイコンで演算実行していた。(RoTH で マイコンにプログラム:モデル書き込み、実行)

  

HILシミュレータにsimモデルを展開するのは電源を入れるたびに実行しないといけないでしょうか?(電源を切ってもsimモデルは記憶されているでしょうか?)

  

mファイルを実行したときsimファイル画面に行きますが、計算が実行されていないときがあります。
simファイルの実行ボタンを押せば問題はないのですが、なぜこのようになるのかが不明です。

  

今回HILSで検証してみた結果ワインドアップという不具合を見つけて対策するという流れを体験しましたが、そもそもMILSの時点でこういった不具合を見つけることはできないものでしょうか?
また今回はスイッチで電源を入れるという仕組みをHILSで再現していたので不具合を見つけることができましたが、スイッチの再現をHILSモデルに入れ忘れているとHILSのシミュレーションも間違いということになり不具合に気付かないままということがあり得ると思います。こういうケースはどのように回避すべきでしょうか?

  

PC上とHW上の結果を比較することができるので大変有効だと感じました。
HILSでの検証結果がMILSと異なった場合に、その原因を究明できるかが経験値が無くて難しそうと感じました。

  

HILSとしての使用目的によりますが、「DC Motor System」のHILSとしては"Vs[V]"端子は本来あるべきではないかなと感じました。
(機能検証のシミュレーションにてVs電圧がおかしくないか(印可の有/無等)の検証項目が出てくるはずでは?と思いました。)

  

Simulink内で使用している変数を検索して、ヒットした変数が使用されているオブジェクトに飛べる方法はありますでしょうか?

  

HILSの実機があってとても分かりやすかった。
MILSで見えなかった手戻りをHILSで発生した手戻りをMILSで対策を見つける流れはMBDの流れとしてとてもイメージしやすかった。
MILSやHILS以外にもxILSと呼ばれるものはあると思うが、他にどんなものがあるのかあれば知りたい。(SILSは知っているが他にもあるのか)

  

Part4_08_モータ制御システムの実演(実習動画)にて、DCモーターの電磁ブレーキ再現が不足しているとあったが、どう不足しているのか、ご教授下さい。(現象・原理理解が追い付いていないです。)

  

要件の定義をする会社とモデル設計をする会社が異なる場合、作成したモデルが要件定義通り正しく作れていることを保証するにはどんな観点でチェックする必要があるのでしょうか?
・MBDが進むと、実機確認(HILS)が必要無くなるようになるのでしょうか?または世の中的にそちら方向に動いているのでしょうか?
(モータ制御のように、問題が無い限りMILSの結果とHILSの結果が変わらず、プロセスのためだけにHILSを実施するような状況があるため)

  

モデルやハードウェアを実際に動かして躓いてみることで、問題点や解決策についてじっくり考えることができ、コントローラやプラントのモデリングへの理解を深めることができた。今回はスイッチによるワインドアップ対策に積分器の外部リセットを使用したが、他にも実装が容易な対応方法があれば、後学のために教えていただきたいです。

  

間違えてサブシステムかしたときの元に戻す方法が知りたいです。

  

実施した結果が動画と異なったためモデルを見直すとManual Switchの切り替えが違っていた。
原因がManual Switchであると判明するまで時間がかかったため、実業務ではモデルの状態と結果の結び付けおよび管理が重要であると感じた。
mファイルで変数管理はできるが、Manual Switchの管理も可能なのでしょうか?
また、より複雑なモデルとなったときに変数やモデルの状態を管理する良い方法はあるのでしょうか?

  

・Simulink上の設定をエクスターミナルモードへ変更しましたが、これはそもそも外部機器(HILController)を接続しているからでしょうか?
・HILSでの計測結果とMILSの計測結果の違う場合、Scopeブロックつけての診断方法を学びましたが、地道に原因見つけるのは難しそうに感じました。
・Part0でHILS動作チェック行ったときにお知らせするのを忘れていましたが、動作チェックでSimulink実行し、Scopeで
 モニターすると、電流i*[A]が開始0出力からではなく、-1付近から出力していました。
 part4はこのまま進み、HILシミュレータの青色ボタンONで回転と電流値はあがってます。何かの設定だったかもしれませんがお知らせします。

  

①今回の例では、「HILSで不具合発生」→「原因分析」→「MILSで再現試験、対策」→「HILSで対策し、検証」の流れでした。
  不具合が発生してすぐに原因が分かった場合はMILSの再現試験を飛ばしてもよいのでしょうか。
②実機検証で、下限方向でもワインドアップ現象があるとご説明がありました。
  MILS、HILSでは発生しなかったと思われますが、再現するための条件を教えていただきたいです。

  

HILSシミュレータ、コントローラは市販していますか。
テキストに従い、Part3まで別途確認するために、MATLABとSimulink以外に必要なマスワークスのオプションはありますか。
もしくは、ScilabやXcosを使用しても同等のことができますか。

  

温調ユニットの制御定数を決定する際、ユニット単体+コントローラの試験で決定した制御定数を用いると、実機に搭載した際に制御がうまくいかないことがあります。実機に搭載した際の外乱が、温度制御に影響しているためだと考えられます。
これを解決するために、温調ユニットを含む実機全体のプラントモデル+コントローラのMILSで制御定数を決定し、温調ユニット(実機)+温調ユニット以外の実機モデル+コントローラでHILSを行い、制御定数の妥当性を確認する。という方法で検証すれば、実機搭載時の手戻りを少なくできるのではと考えました。
このように、HILSでは、プラントモデルの一部のみを実物で置き換えて、コントローラの動作を確認することもできるのでしょうか?

  

ワインドアップ現象の対策について質問があります。ワインドアップ現象への対策として、今回はスイッチの切り替えを条件として積分器の累積誤差をリセットしました。その他のシチュエーションには使うことができない手法であるとのことでしたが、他にはどのような対策があるのでしょうか?
【意図】
その他のシチュエーションでは使えないと聞き、別のシチュエーションになった際、積分器にたまった誤差をリセットするという対策手法が変わるのか、それとも、スイッチの切り替えという条件の設定が変わるのか気になった次第です。

  

コントローラやMATLABを使用して、実際にモータ制御であり、実測値の測定などに使えることが理解でした。仕事で、別チームがこれを使い実機やベンチに落とし込んでいるのでやっていることがやっと理解できそうです。質問として、もしかしたら別の人が前回聞いていて重複していたら申し訳ないのですが今回のようにinfなどの時間の概念を無限=現場との時間に合わせるとして実行していましたが、一時停止などの機能はありますでしょうか
また、実行後のデータを何かしらの保存する?機能がありますでしょうか?やったことの確認や整理をしたいため。

  

Simulinkモデルから生成したCコードをコンパイルして実行する場合、環境上の制約はありますか?
(Windows向けにしかコンパイルできない、外部ライブラリが必要、等)

  

・エクスターナルモードを選択できないのですが、どのようにしたら選択できるようになるか教えていただきたいです。
・実行モードの「エクスターナル」が見つかりませんでした。「ノーマル」「アクセラレータ」「ラピッドアクセラレータ」はあるのですが、「エクスターナル」がプルダウンに出てきませんでした。(バージョン:2021a) 一応「ノーマル」でも動きはしました。
・エクスターナルモードを選択できないのですが、どのようにしたら選択できるようになるか教えていただきたいです。

  

ノーマルモードとエクスターナルモードの違いがあまり理解できませんでした。また、2021aではエクスターナルモードでの実行は監視と調整で良いのでしょうか。

  

ワインドアップの影響を軽減するために、積分制御の係数K_iを小さい値に設定することを思いついたのですが、こういった調整はあまり行わないものでしょうか

  

Simulinkを使って、外部機器を操作するコントローラについて、個人レベルで購入し、使用できるものがありましたら、紹介していただきたいです。

  

積分器の振る舞いや、モデル化時点で考慮していない要因により意図しない作動が起こる事が体感でき、自分が実現しようとしている制御に関して、どの様な外乱・入力があるかを事前に十分考えておく必要がある、と言う事を演習を通して理解できた。
今回は制御モデルではあったが、機能毎に分けられた物理モデルで有っても、同じであると言えますよね?

Part5 ラプラス変換

この先の講習ででてくるとはおもいますが、Gainにあたる定数が、制御したい対象固有の変化を伴う場合(例:伸ばせば伸ばすほど反力が変化するバネ※実験値により変化率は自明)にはどのような手段があるか知りたいです。

  

どのような波形であれば動特性が線形と言えるのでしょうか

  

p5-18のばね・マス・ダンパ系の伝達関数を求めるためのラプラス変換をする際に、重力Mgが考慮されていないのは何故でしょうか。

  

ラプラス変換表が正しいのか自分で計算してみたところ疑問点がありましたので質問をさせていただきます。

  

  

伝達関数が標準形に直せないときはどうするのか気になりました。

  

MILS設計において、どこでTransfer Fcnブロックを使っていくかはまだ理解が追いついていません。これもサブシステムの挙動確認で伝達関数を使いパラメータ決定をするのかなと考えています。

  

SimulinkにおけるTransfer Fcnブロックについての質問がございます。演習5(1)では、ステップ入力u(t)をそのままブロックに入力し、y(t)が出力されていました。しかし、ブロック自体は伝達関数を表しており、入力U(s)、出力Y(s)が自然だと感じました。ここで質問なのですが、本ブロックは入力をラプラス変換、出力を逆変換しているのでしょうか。また、そうである場合、ラプラス変換だけ行えるブロックは存在しますでしょうか。/

  

ラプラス変換を用いてシステムの挙動が解析できるのであれば、Simulinkでシミュレーションする必要がないように思うのですが、使い分けの考え方などあるのでしょうか?

  

線系システムの説明の中で、線形システムとは静特性が比例なだけでは線形とは言い切れず、動特性についても線形である必要があるという説明がありありましたが、理解できませんでした。動特性について線形なシステムについて補足を頂きたいです。

  

講座では一次遅れ系と二次遅れ系について学習しましたが、いったい何次遅れ系まであるのか気になりました。さらに高次な遅れ系だと、伝達関数も一層複雑なものになるのでしょうか。