MATLAB/Simulinkで行った強化学習エージェントをC言語でプログラミングされている実機に組み込むにはどうしたらよいのでしょうか ?

 採用された回答

Toshinobu Shintai
Toshinobu Shintai 2021 年 12 月 9 日

0 投票

こちらの記事と動画にて説明しています。是非ご確認ください。

6 件のコメント

SS
SS 2022 年 4 月 26 日
いきなり失礼します。
動画を拝見して、一般的なC言語化できるとあるのですが、もう少し詳しく教えていただけないでしょうか。DDPGを用いており、policyの抽出はできたのですが、predict関数に入れてコンパイルしたら、コード生成が出来ないと出てしまいました。
どのように解決すればよろしいでしょうか。
Toshinobu Shintai
Toshinobu Shintai 2022 年 4 月 26 日
こちらのYouTube動画にて、少し詳しく説明しています。
また、「generatePolicyFunction」で抽出したactorを実装する際に、動画にあるようなPredictブロックを使う方法よりも、MATLAB Functionブロックを使う方法を推奨しています。
動画を作成している時点では、私も勘違いしていました。ややこしくなりまして申し訳ありません。
MATLAB Functionブロックを使う方法としては、こちらのデモモデルが参考になります。
SS
SS 2022 年 4 月 28 日
答えていただきありがとうございます。送って頂いたサイトに関して質問がございます。
matlabfunctionブロックのモデルパラメータに関して、RLを選択するウィンドはどこを開けばよろしいのでしょうか。
お手数おかけしますが、お願いします。
Toshinobu Shintai
Toshinobu Shintai 2022 年 4 月 28 日
SS様が何に困っているのか、理解できていないのですが、サンプルモデルのフォルダにある「Controller.slx」の、
「Controller/Outer Loop Control/RL_select_mode/Model Evaluation/RL generatePolicyFunction」にあるMATLAB Function ブロックの内部は確認しましたでしょうか。
この中に
y = evaluateAgentSelectPolicy(u);
と書かれていますが、この「evaluateAgentSelectPolicy」が、「generatePolicyFunction」で抽出したActorを呼び出す関数です。これを真似して記述すればよいです。
SS
SS 2022 年 4 月 30 日
Controller.slxを探しているのですが、どこにありますか?
「QUBE - Servo 2 を用いた倒立振子の強化学習制御設計及び実装」を見ているのですが、ファイルが見当たらないです。
お手数をおかけしますが、お願いします。
Toshinobu Shintai
Toshinobu Shintai 2022 年 5 月 1 日
「Controller.slx」は、こちらのリンク先のデモモデルの方に含まれています。上記コメントの"サンプルモデル"とは、こちらのリンク先のことを言っていました。

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeReinforcement Learning Toolbox についてさらに検索

製品

リリース

R2021b

Community Treasure Hunt

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

Start Hunting!