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

 Réponse acceptée

Toshinobu Shintai
Toshinobu Shintai le 9 Déc 2021

0 votes

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

6 commentaires

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

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!