Community Profile

photo

Toshinobu Shintai


Last seen: ein Tag ago

MathWorks

135 total contributions since 2019

Control Engineer
specialty: control theory, Kalman Filter, power electronics, C/C++

Contact

Toshinobu Shintai's Badges

  • 5-Star Galaxy Level 2
  • Personal Best Downloads Level 2
  • First Review
  • GitHub Submissions Level 3
  • First Submission
  • 12 Month Streak
  • Knowledgeable Level 3
  • First Answer
  • Revival Level 1

View details...

Contributions in
View by

Answered
3条件以上のスイッチ設定について
添付モデルのように、Enabled SubsystemとMerge、Relational OperatorとLogical Operatorを組み合わせて作ることができます。モデルはR2019aで作成しました。 条件判定の範囲外の場合は、初期値または前回...

ein Tag ago | 0

| accepted

Answered
matlab, simulinkを学びたい
MATLAB, Simulinkを使って作りたい機能や、やらなければならない仕事などはありますでしょうか。そういった成果物の具体的な目標がある場合は、それに近いサンプルモデルを触りながら、この関数は何か、このブロックは何かを、ヘルプで調べながら学ぶことがで...

4 Tage ago | 0

Answered
simulinkの演算結果をmatlabで使いたい
以下のQiita記事にあるように、デフォルト設定では「単一のシミュレーション出力」になっており、構造体として格納されています。従って「out.tout」という形でその数値にアクセスする必要があります。 https://qiita.com/macht/it...

4 Tage ago | 1

Answered
学習済みのLSTMをsimulinkへ導入したいです
R2020bであれば、添付ファイルのスライド1枚目の方法で実装できます。R2020a以前であれば、添付ファイルのスライド2枚目の「coder.extrinsic」を用いる方法で実装できます。

9 Tage ago | 0

| accepted

Submitted


モデル予測制御 設計実装ワークフロー紹介, MPC Implementation Example
当サンプルモデルは、モデル予測制御(MPC)の設計と実装のワークフローを分かりやすく紹介するための資料です。 設計後、コード生成を行い、マイクロコントローラに実装するまでの流れを詳しくまとめています。

11 Tage ago | 28 downloads |

Thumbnail

Submitted


PID ゲインスケジューリング設計
非線形なプラントモデルを制御するPID制御器のゲインスケジューリングを、「Closed-Loop PID Autotuner」ブロックまたは「応答オプティマイザー」アプリを用いて設計します。それぞれの手法のメリット、デメリットを把握することができます。

18 Tage ago | 8 downloads |

Thumbnail

Answered
真理値表作成方法 ステートフローにて
詳しくは、以下のリンク先に説明されていますが、 https://jp.mathworks.com/help/stateflow/ug/programming-a-truth-table.html 例えば、以下のような条件分岐を真理値表にする際には、 ...

20 Tage ago | 0

Answered
シミュレーション実行中に入力値を変更してもIFブロックからの出力には変化なし
「If」ブロックと「If Action Subsystem」ブロックは、添付のモデルのように使います。モデルはR2020bで作成しました。 このような動作で問題ありませんでしょうか。

21 Tage ago | 0

| accepted

Answered
コード生成時だけコメントアウトする方法
R2020bであれば、バリアントサブシステム(Variant Subsystem)を使うことで可能です。以下のようにバリアント制御モードに「sim/codegenの切り替え」が存在しています。 このモードに設定後、バリアント制御スイッチに「(sim)」と...

etwa ein Monat ago | 0

Answered
SimulinkのMATLAB Functionでの変数参照に関して
まず、スクリプトに記載した変数は、MATLABのワークスペースに展開されなければ、Simulinkから参照することはできません。 一方で、param.mを「関数スクリプト」にした場合は、以下のようにすることで読むことができます。 param.mを以下の...

etwa ein Monat ago | 0

| accepted

Answered
microchip製のDSPIC30FとMATLAB2020を接続したい
まず、Simulinkモデルをマイコン向けにCコード生成する場合には、Embedded Coderが必要です。インストールされていますでしょうか。Embedded Coderの使い方は、以下のリンク先などをご確認ください。 https://jp.math...

etwa 2 Monate ago | 0

| accepted

Answered
simulinkの入力データのデータ型について
timeseriesデータの値をsingleなどのデータ型で作ると、そのままそのデータ型でSimulinkで扱うことができます。添付のモデルをご確認ください。 MATLABのコマンドで数値を特定のデータ型にするには、「single()」や「int32()...

etwa 2 Monate ago | 0

Answered
入出力と目標値を変数として扱えるPIDの作り方
SimulinkのPID Controllerブロックを用いると、やりたいことができるのではないでしょうか。 以下に、無料の学習コンテンツもあります。 https://jp.mathworks.com/learn/tutorials/control-d...

etwa 2 Monate ago | 0

Answered
Initialize関数のカスタマイズ
Simulinkライブラリブラウザーの「Simulink」「User-Defined Functions」にある「Initialize Function」ブロックを使うことで実現できます。 添付ファイルにサンプルモデルを作成してみました。「my_syst...

etwa 2 Monate ago | 0

Answered
一度ビルドしたSimulinkモデルをそのまま他人と共有してビルドせずに使いたい
コンフィギュレーションパラメータで、モデル参照のビルドを行うかどうかのオプションを選択できます。以下の画像のように、「既知の依存関係で任意の変更が検出された場合」や「行わない」などにすると、ビルド時間を短縮できるのではないでしょうか。

2 Monate ago | 0

Answered
別ファイルで#define定義されたマクロのインクルードするための設定方法
サンプルモデルを作成しました。添付ファイルをご確認ください。モデルはR2019bで作成しました。 Simulinkデータディクショナリにて、Simulink.Parameterで「UPPER」「LOWER」という変数を作成しました。 コード生成オプショ...

2 Monate ago | 0

Answered
計算タイミングの違うモデルを実行する
添付ファイルのようなモデルはどうでしょうか。 まず、サブシステム内を離散で実行させるために、必ずしもIf Actionを用いる必要はありませんので、私がやりやすいようにサブシステムをアトミック化し、サンプル時間を設定しました。If Actionでなければ...

3 Monate ago | 0

| accepted

Answered
Simulink.ParameterとSimulink.Signalの使い分け
添付ファイルに例を作成しました。モデル「ctrl_model.slx」を実行して確認してください。Simulink.ParameterとSimulink.Signalは「system_data.sldd」に定義されています。 Inportブロックは、デフ...

3 Monate ago | 0

| accepted

Answered
simulink上で連続時間で表される制御対象と制御器のサンプル時間(計算時間)をそれぞれ違うものにしたい
添付ファイルに、「連続時間で表される制御対象と離散時間で動作する制御器」の理想的な作り方を示しました。 離散時間で動作する制御器サブシステムの中では、離散時間の積分や微分のブロックを用いなければなりません。少し手間ですが、置き換えを行っていただく必要があ...

3 Monate ago | 0

| accepted

Answered
グラフ波形上(Scope)の任意座標(点)を確認する方法
ひとまず、Scopeのカーソル機能で当たりを付けることはできませんでしょうか。以下のように「ツール」「測定値」「カーソルの測定」から表示させることができます。 一方で、線形解析できるシステムであれば、「モデル線形化器」アプリ(Simulink C...

3 Monate ago | 0

Answered
simulinkでサーボモータを動かすことは可能でしょうか?
Simulinkのエクスターナルモードを用いると、Simulinkの実行、停止ボタンでリアルタイムにArduinoを動かすことができます。また、Arduinoと接続してエクスターナルモード実行するには、以下のサポートパッケージが必要になります。無料でインス...

3 Monate ago | 0

| accepted

Answered
準最適な制御器のパラメータをオンラインで計算
Simulink Functionを使ってみてはどうでしょうか。 https://jp.mathworks.com/help/simulink/ug/simulink-functions-overview.html 添付ファイルに、簡単にモデルを用意し...

3 Monate ago | 0

Answered
強化学習で環境を別ソフトに置き換えた場合にエピソード数がずれる問題
別ソフトとMATLABをどのように連携しているのか、分かりませんが、ROS Toolboxで通信し、同期を取る処理を構築してみてはいかがでしょうか。(別ソフトがROSに対応している必要がありますが) https://jp.mathworks.com/pr...

3 Monate ago | 0

Answered
mpcCustomSolverにてQP以外の解法で解くことは可能でしょうか
mpcCustomS​olverによるQPソルバーの置き換えにおいては、どのようなアルゴリズムでも利用できます。 以下のリンク先にありますように、mpcCustomS​olverはH, g, A, b, x0を入力してxを出力すればよいので、どのような計...

3 Monate ago | 0

Answered
Simulink Functionを使用した、非線形状態空間モデルの作成方法が分かりません。
以下のサンプルモデルを参考に、真似して作成してみてはいかがでしょうか。 https://jp.mathworks.com/help/control/ug/multirate-nonlinear-state-estimation-in-simulink.h...

4 Monate ago | 0

| accepted

Answered
Simulinkで加速・減速を繰り返すモデルの作成方法を教えてください。
Stateflowを用いると、簡単に見やすく設計できると思います。 https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/solutions/automotive/files/...

4 Monate ago | 0

Answered
stateflowに記載した即値をオートコードする際、符号なしと認識させる方法はありますか
MATLAB言語では、以下のように記述するとデータ型を明示できます。 uint8(1) 上記のuint8の部分は、int32やdoubleなど、標準のデータ型名を用いることができます。

4 Monate ago | 0

Answered
複数信号が一定時間以上正であることがsubsystem実行のトリガーとしたい
Stateflowの状態遷移で、一定時間後に遷移するコマンドを簡単に記述できます。 https://jp.mathworks.com/help/stateflow/ref/after.html こちらを活用してみてはいかがでしょうか。

4 Monate ago | 0

Answered
simscape multibodyにおける角度検出方法
3次元の回転姿勢の情報を出力させたい場合は、「Quaternion」または「Transform」にチェックを入れてください。それぞれクオータニオン(4要素のベクトル)、回転行列(3x3の行列)が出力されます。 ロール角、ピッチ角、ヨー角というのは、3次元...

5 Monate ago | 0

Answered
インデックスが配列要素数 (1) を超えています。というエラーが出てしまう。
入力引数の"u"は、u(4)という記述があることから、少なくとも4要素以上の配列でなければなりません。 例えば、以下のように記述すると、「インデックスが配列要素数 (1) を超えています。」というエラーはなくなります。 a = arm([1; 1; 1...

5 Monate ago | 0

Load more