目標位置は(x, y)=(5, 5)となっている.
python control_mpc.pystart_x, start_y, th0, umax_x, umax_y, timeに任意の値を入力してsimulateボタンを押す.(収束しない場合もある)
plotにチェックを入れると収束までの状態(x, y, th)推移やF(ハミルトン関数の偏微分ベクトルの絶対値)の推移が出力される.
入力値はu_maxでクリッピングされている.
デフォルトでは入力に対する不等式拘束条件を含めないMPCになっている.
※ 含める場合はコード内のコメント通りに
python rl_mpc.pyRSの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
