shigeyukioba / matchernet

Apache License 2.0
1 stars 1 forks source link

Matcher, Bundleでのタイムスタンプの管理 #12

Closed miyosuda closed 4 years ago

miyosuda commented 5 years ago

概要

仕様書に指定されている

の追加を行う。

タスク

内橋さんのリファクタリングが終わったらMatcher, Bundleに追加する

miyosuda commented 5 years ago

@shigeyukioba タイムスタンプ管理に関して、仕様書に記述があったので、1期の納品物に入れようと思います。

今MPCEnvBundle側では、固定のdt(例: 0.01sec)を最初に与えてそのstep単位で処理を行うようになっているのですが、

Bundle -- 時間タイムスタンプを保持して更新する機能

こちらに関しては、dtの時間を加算していったものをBundleではタイムスタンプとして管理し、StateをMatcher側に送信するときに、そのタイムスタンプといっしょに送信する、みたいなものを考えておけばよいでしょうか?

もしくは、MPCEnvBundleに制御信号(u)が来るときにそのuといっしょにタイムスタンプが紐づいていて、そのタイムスタンプに到達するように、MPCEnvBundleを複数ステップ回してdtを複数回加算、みたいなものも考えられるのですが(例: Bundle側の現在時刻が1.0秒目で制御信号のタイムスタンプが1.03であればdt=0.01のstepを3回、同じ制御信号uで動かして最後のstateをmatcherに返す)みたいなものも考えられるのですが、タイムスタンプ管理はどのものイメージしておけばよいでしょうか?

shigeyukioba commented 5 years ago

どちらの方式もアリで、しかも両立しそう?なので、現時点で決められません。

どうせ計算コストは小さいので、読みやすい、取り扱いやすい、不要なときに無視しやすいものを選びたいです。どちらがそうなのかちょっと判断できません。 @miyosuda

miyosuda commented 5 years ago

@shigeyukioba 承知しました。MPCを実際に実装するタイミングや、実時間での実機の制御などが出てきた時にこのあたり具体的な取り扱いが見えてきそうなのでひとまず置いておきます。