71 lines
3.2 KiB
XML
71 lines
3.2 KiB
XML
<?xml version="1.0"?>
|
|
<root main_tree_to_execute="BehaviorTree">
|
|
<!-- ////////// -->
|
|
<BehaviorTree ID="BehaviorTree">
|
|
<ReactiveSequence>
|
|
<Inverter>
|
|
<Condition ID="InAreaTest" area="{unsafeArea}" pose="{actorPos}"/>
|
|
</Inverter>
|
|
<IfThenElse>
|
|
<Condition ID="InAreaTest" area="{warningArea}" pose="{actorPos}"/>
|
|
<Action ID="SetRobotVelocity" velocity="0.1"/>
|
|
<Action ID="SetRobotVelocity" velocity="1"/>
|
|
</IfThenElse>
|
|
<Fallback>
|
|
<Control ID="InterruptableSequence">
|
|
<Action ID="GenerateXYPose" area="{negativeYTable}" pose="{target}"/>
|
|
<Action ID="OffsetPose" input="{target}" offset="0,0,1.1" orientation="0,0,1,0" output="{target}"/>
|
|
<Action ID="RobotMove" target="{target}"/>
|
|
<Action ID="GenerateXYPose" area="{positiveYTable}" pose="{target}"/>
|
|
<Action ID="OffsetPose" input="{target}" offset="0,0,1.1" orientation="0,0,1,0" output="{target}"/>
|
|
<Action ID="RobotMove" target="{target}"/>
|
|
</Control>
|
|
</Fallback>
|
|
</ReactiveSequence>
|
|
</BehaviorTree>
|
|
<!-- ////////// -->
|
|
<TreeNodesModel>
|
|
<Action ID="ActorAnimation">
|
|
<input_port name="animation">Name of animation to play</input_port>
|
|
</Action>
|
|
<Action ID="ActorMovement">
|
|
<input_port name="animation">Name of animation to play</input_port>
|
|
<input_port name="target">Pose to move to</input_port>
|
|
</Action>
|
|
<Condition ID="IsCalled"/>
|
|
<Action ID="SetCalledTo">
|
|
<input_port name="state">state to set called to</input_port>
|
|
</Action>
|
|
<Action ID="GenerateXYPose">
|
|
<input_port name="area">Area to generate pose in</input_port>
|
|
<output_port name="pose">Generated pose in area</output_port>
|
|
</Action>
|
|
<Condition ID="InAreaTest">
|
|
<input_port name="area">Bounds to check in</input_port>
|
|
<input_port name="pose">Position of object</input_port>
|
|
</Condition>
|
|
<Action ID="OffsetPose">
|
|
<input_port name="input">initial position as Pose</input_port>
|
|
<input_port name="offset">offset as a Point</input_port>
|
|
<input_port name="orientation">rotation of resulting pose as Quaternion</input_port>
|
|
<output_port name="output">generated new pose</output_port>
|
|
</Action>
|
|
<Action ID="RandomFailure">
|
|
<input_port name="failureChance">Chance to fail from 0 to 1</input_port>
|
|
</Action>
|
|
<Action ID="RobotMove">
|
|
<input_port name="target">Target pose of robot.</input_port>
|
|
</Action>
|
|
<Action ID="SetRobotVelocity">
|
|
<input_port name="velocity">Target velocity of robot</input_port>
|
|
</Action>
|
|
<Control ID="WeightedRandom">
|
|
<input_port name="weights">Weights for the children, separated by semicolon.</input_port>
|
|
</Control>
|
|
<Control ID="InterruptableSequence">
|
|
</Control>
|
|
</TreeNodesModel>
|
|
<!-- ////////// -->
|
|
</root>
|
|
|