目標位置は(x, y)=(5, 5)となっている.
python control_mpc.py
start_x, start_y, th0, umax_x, umax_y, time
に任意の値を入力してsimulate
ボタンを押す.(収束しない場合もある)
plot
にチェックを入れると収束までの状態(x, y, th
)推移やF
(ハミルトン関数の偏微分ベクトルの絶対値)の推移が出力される.
入力値はu_max
でクリッピングされている.
デフォルトでは入力に対する不等式拘束条件を含めないMPCになっている.
※ 含める場合はコード内のコメント通りに
python rl_mpc.py
RSのtrain-->test, PPOのtrain-->testの順に実行される.
gif_*/
: gif保存ディレクトリmodel/
: rlのmodel保存ディレクトリlog/
: ログデータの保存ディレクトリimg_*/
: 画像保存ディレクトリ(一時的)Control.py
: 制御ベースのMPCアルゴリズムRL.py
: 強化学習ベースのMPCアルゴリズムtwo_wheels_model.py
:TwoWheelsModel
クラスtwo_wheels_env.py
:TwoWheelsEnv
クラスとTwoWheelsSimulator
クラスgui.py
:GUI
クラスcontrol_mpc.py
: 制御ベースのMPC実行rl_mpc.py
: 強化学習ベースのMPC実行
TwoWheelsModel
: 対向二輪ロボットのモデルTwoWheelsEnv
: 対向二輪ロボットのGymモデルTwoWheelsSimulator
: RLの実行環境GUI
: 制御ベースのMPCのUI