Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

状態遷移仕様の図が間違っている #5

Open
tmori opened this issue Nov 18, 2023 · 4 comments
Open

状態遷移仕様の図が間違っている #5

tmori opened this issue Nov 18, 2023 · 4 comments

Comments

@tmori
Copy link
Contributor

tmori commented Nov 18, 2023

以下の状態遷移図で、STOPPEDが2個あるけれど、1個が正しい。

https://github.com/toppers/hakoniwa-document/blob/main/architecture/README-api.md#全体像

@mitsut
Copy link
Member

mitsut commented May 19, 2024

2つめのSTOPPEDWAIT RESETの状態かと思うのですが、何かよいネーミングはないのですかね。
ちなみにWAIT RESETでResetコマンドを待っていますが待っている理由はなんでしょうか?
かならず、RESETTINGに遷移するのであれば待たなくてもいいのではと思いました。

@tmori
Copy link
Contributor Author

tmori commented May 19, 2024

スクリーンショット 2024-05-19 16 38 51

ここのSTOPPEDは誤りで、削除すべき状態です。実装上存在しないものです。

左側のSTOPPEDに移りますね。

@tmori
Copy link
Contributor Author

tmori commented May 19, 2024

ちなみにWAIT RESETでResetコマンドを待っていますが待っている理由はなんでしょうか?

STOPPED状態は、以下の2パターンありえます。

  1. シミュレーション開始直後
  2. シミュレーション停止完了後

1 については、RESETを待つ必要はありませんので、そのままシミュレーション開始可能です。

2については、STOPPED時点では、ロボットの位置とか制御側の内部状態がシミュレーション途中の状態になるので、RESETイベントで初期化させたいというのがあります。

また、現状は、デバッグ機能を作ってないので、必ずRESETさせるように、箱庭APIライブラリ側でRESET待ちになります。

一方で、デバッグ機能を実装する場合は、STOPイベントで停止→そのままSTARTイベントでシミュレーションを再開させるように状態遷移させようかなーっと思っています。

@mitsut
Copy link
Member

mitsut commented May 19, 2024

なるほど、シミュレーション時の内部情報を保持することで、RESET前に取得が可能ということですね。
callbackのon_reset関数の中で必要な情報を取得する処理はできそうです。

一方で、デバッグ機能を実装する場合は、STOPイベントで停止→そのままSTARTイベントでシミュレーションを再開させるように状態遷移させようかなーっと思っています。

それができるとシミュレーションのサスペンド/レジュームみたいなことができそうですね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants