shigeyukioba / matchernet

Apache License 2.0
1 stars 1 forks source link

Car controlのMPCEnv実装 #13

Closed miyosuda closed 4 years ago

miyosuda commented 4 years ago

概要

車オブジェクトを制御して動かすMPCEnvを実装する。

提案内容

矩形領域内には、赤、黒の円形オブジェクトがあり、それぞれの領域内に滞在すると単位時間あたり、-1, 1の報酬が加算される。

MPCEnvはBundleのサブクラスとして実装される。

環境の状態は、

どちらかで返される。

miyosuda commented 4 years ago

車オブジェクトのダイナミクス部分はダイナミクスオブジェクトを差し替えることで、他のもの(例えばドローンなど)に簡単に差し替えができるようにしておく。

赤、黒のオブジェクトの配置等のこの環境固有の処理も差し替え可能にするかどうかは検討中。

miyosuda commented 4 years ago

MPCEnvは引数として

の三つを取り、それらが差し替えられるようにしてみました。

https://github.com/shigeyukioba/matchernet/blob/7f130f5aaa5ddf7dfb8b3c0c432c219f63f5b96f/demo/car_control/mpcenv.py#L7-L11

また、MPCEnvクラス自体はBundleではなく、opeai gymのEnvironment互換のクラスのような位置付けにし、MPCEnvをラップしたMPCEnbBundleクラスが実際にBundleとしてMatcherとやりとりをするような構造にしてみました。

(MPCEnv関連の共通クラスは matchernet/control ディレクトリ等に移動する予定です。