WaitStart

役割

WaitStart/start topic の std_msgs/msg/Bool が true になるまで待つ BehaviorTree action node です。

Interface

種別

名前

型 / 内容

subscribe

/start

std_msgs/msg/Bool

状態

内部フラグを \(b\) とします。

\[b\in\{\mathrm{false},\mathrm{true}\}\]

onStart() では必ず false に戻します。

\[b\leftarrow\mathrm{false}\]

topic callback は true だけを記録します。

\[\mathrm{msg.data}=\mathrm{true}\Rightarrow b\leftarrow\mathrm{true}\]

onRunning() の返り値は、

\[b=\mathrm{true}\Rightarrow\mathrm{SUCCESS}\]
\[b=\mathrm{false}\Rightarrow\mathrm{RUNNING}\]

です。false message は停止命令ではなく、単に無視されます。

設定ファイル

この node は example/sample/config/tree/main.xmlAction ID="WaitStart" として使えます。sample の MainTree には現在 WaitStart は配置されていませんが、TreeNodesModel には登録されています。

<Action ID="WaitStart"/>

開始待ちを入れる場合は、Sequence の先頭に置きます。

<Sequence name="follow_all_paths">
    <Action ID="WaitStart"/>
    <Action ID="FollowPath" path_index="0"/>
</Sequence>

topic 名 /start は C++ 実装に固定されています。設定ファイルからは remap していないため、変更する場合は launch の remapping 追加または実装変更が必要です。