# WaitStart ## 役割 `WaitStart` は `/start` topic の `std_msgs/msg/Bool` が true になるまで待つ BehaviorTree action node です。 ## Interface | 種別 | 名前 | 型 / 内容 | | --- | --- | --- | | subscribe | `/start` | `std_msgs/msg/Bool` | ## 状態 内部フラグを {math}`b` とします。 ```{math} b\in\{\mathrm{false},\mathrm{true}\} ``` `onStart()` では必ず false に戻します。 ```{math} b\leftarrow\mathrm{false} ``` topic callback は true だけを記録します。 ```{math} \mathrm{msg.data}=\mathrm{true}\Rightarrow b\leftarrow\mathrm{true} ``` `onRunning()` の返り値は、 ```{math} b=\mathrm{true}\Rightarrow\mathrm{SUCCESS} ``` ```{math} b=\mathrm{false}\Rightarrow\mathrm{RUNNING} ``` です。false message は停止命令ではなく、単に無視されます。 ## 設定ファイル この node は `example/sample/config/tree/main.xml` の `Action ID="WaitStart"` として使えます。sample の `MainTree` には現在 `WaitStart` は配置されていませんが、`TreeNodesModel` には登録されています。 ```xml ``` 開始待ちを入れる場合は、`Sequence` の先頭に置きます。 ```xml ``` topic 名 `/start` は C++ 実装に固定されています。設定ファイルからは remap していないため、変更する場合は launch の remapping 追加または実装変更が必要です。