Skip to content

Issue with ports not being remapped with subtreeplus on v3.8 #563

Closed
@Rid0n

Description

@Rid0n

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?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions