Files

43 lines
1.9 KiB
XML
Raw Permalink Normal View History

<?xml version="1.0"?>
<root BTCPP_format="4" main_tree_to_execute="TaskRoot">
<!-- Stage one admits an already approved semantic plan. Planning is the
coordinator's separate PlanTask action; XML never comes from that model. -->
<BehaviorTree ID="TaskRoot">
<Sequence name="TwoStageTask">
<ApprovedPlanGate/>
<SubTree ID="ExecutionStage" _autoremap="true"/>
</Sequence>
</BehaviorTree>
<BehaviorTree ID="ExecutionStage">
<Sequence>
<RunStage stage="Preflight"/>
<SubTree ID="NavigateSkill" stage="NavigateObserve" _autoremap="true"/>
<RunStage stage="LocateShelfColumn"/>
<SubTree ID="NavigateSkill" stage="NavigateSource" _autoremap="true"/>
<SubTree ID="GroundTargetSkill" _autoremap="true"/>
<SubTree ID="PickSkill" _autoremap="true"/>
<SubTree ID="NavigateSkill" stage="NavigateDestination" _autoremap="true"/>
<SubTree ID="CheckFreeSpaceSkill" _autoremap="true"/>
<SubTree ID="PlaceSkill" _autoremap="true"/>
<RunStage stage="Cleanup"/>
</Sequence>
</BehaviorTree>
<BehaviorTree ID="NavigateSkill"><RunStage stage="{stage}"/></BehaviorTree>
<BehaviorTree ID="GroundTargetSkill"><RunStage stage="LocalizeTarget"/></BehaviorTree>
<BehaviorTree ID="PickSkill">
<Sequence>
<RunStage stage="Pick"/>
<RunStage stage="VerifyPick"/>
<RunStage stage="TransportPosture"/>
<RunStage stage="VerifyTransport"/>
</Sequence>
</BehaviorTree>
<BehaviorTree ID="CheckFreeSpaceSkill"><RunStage stage="CheckFreeSpace"/></BehaviorTree>
<BehaviorTree ID="PlaceSkill">
<Sequence><RunStage stage="Place"/><RunStage stage="VerifyPlace"/><RunStage stage="Deliver"/></Sequence>
</BehaviorTree>
<!-- Deliberate failure routes back to coordinator clarification; no script,
arbitrary XML, or autonomous motion while waiting for human information. -->
<BehaviorTree ID="AskUserSkill"><RequestClarification/></BehaviorTree>
</root>