Description
Here's my code.
I have the outermost tree passing down values to a subtree which is then passing down values to another subtree which ticks a navigation tree. Everything with the __autoremap
flag set to true. Very simple.
<root main_tree_to_execute="Tree1">
<include path="./navigation_tree.xml"/>
<BehaviorTree ID="Tree1">
<Sequence>
<SubTreePlus ID="Tree2" __autoremap="true"/>
</Sequence>
</BehaviorTree>
<BehaviorTree ID="Tree2">
<Sequence>
<SubTreePlus ID="Tree3" __autoremap="true"/>
</Sequence>
</BehaviorTree>
<BehaviorTree ID="Tree3">
<Sequence>
<SubTreePlus ID="NavigateTree" __autoremap="true"/>
</Sequence>
</BehaviorTree>
</root>
I expect there not to be any issues, however for some reason I'm getting an error
[bt_navigator]: Exception when loading BT: Blackboard::get() error. Missing key [node]
I found that the issue lies specifically in the switch from Tree2 to Tree3. Every other subtree node does successfully remap everything.
If I change one line
<SubTreePlus ID="Tree3" __autoremap="true"/>
To
<SubTreePlus ID="Tree3" goal="{goal}" node="{node}" bt_loop_duration="{bt_loop_duration}" tf_buffer="{tf_buffer}" server_timeout="{server_timeout}" />
It all works fine.
What's up here?