Simulinkを用​いたRLAgentの​学習におけるエラーに​ついて

조회 수: 4 (최근 30일)
shoki kobayashi
shoki kobayashi 2021년 1월 18일
댓글: shoki kobayashi 2021년 1월 22일
現在、custom loopを用いて強化学習で学習を行おうとしています。
しかし、学習中にRevolute_Jointに関して以下のようなエラーが出てしまい学習が上手くいきません。
このエラーが出るタイミングは決まっておらず、学習の中盤から終盤に出てきます。
1週間ほど前は上手に動いていました。
また、train関数を用いた学習ではこのエラーが出ずに学習が進みます。
どのようにデバックすればよろしいでしょうか。
エラー: rl.env.AbstractEnv/simWithPolicy (line 70)
An error occurred while simulating "twolink" with the agent "agent".
エラー: rl.env.AbstractEnv/sim (line 135)
[experiencesCell,simInfo] = simWithPolicy(env,policy,opts);
エラー: rl.agent.AbstractAgent/sim (line 38)
[varargout{1:nargout}] = sim(env,this,varargin{:});
原因:
エラー: rl.env.SimulinkEnvWithAgent>localHandleSimoutErrors (line 689)
ブロック 'twolink/Subsystem2/Revolute Joint' の時間 0.0 における状態 'twolink.Subsystem2.Revolute_Joint.Rz.w' の導関数が有限ではありません。シミュレーションを停止します。解に特異点が存在する可能性があります。そうでない場合は、(固定ステップ サイズを小さくする、または許容誤差を厳しくすることによって) ステップ サイズを減らしてみてください

답변 (1개)

Norihiro Kobayashi
Norihiro Kobayashi 2021년 1월 21일
こんにちは、
現状どこまでデバックを試されているかにもよりますが、強化学習の実行というよりは、
環境モデルのデバッグの要素が大きそうな印象を受けます。
エラーの出ている、"twolink.slx"をエラーが出た後(ひとまずAgentに値が入った後)にSimulinkインターフェースで
実行してみてはいかがでしょうか?
本エラーもいろいろな原因が推定されますが、まず気になるのは、SimulinkのソルバがSimscape Multibodyモデルの
利用に適したソルバになっているか否かです。
Simscape Multibodyでは可変ステップのode45 ode23s ode23tなどがまずお試し頂く候補と思います。
  댓글 수: 1
shoki kobayashi
shoki kobayashi 2021년 1월 22일
ご返信ありがとうございます。
今回は自分のプログラムの方にミスが存在し、解決することが出来ました。
しかし、今後同じエラーの内容に遭遇する可能性もあるため、参考にしてみたいと思います。
ありがとうございました。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 シミュレーションと解析에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!