Skip to content
Snippets Groups Projects
Commit d3c46c8a authored by Alejandro Lopez Gestoso's avatar Alejandro Lopez Gestoso
Browse files

Added bt tree with some subtrees

parent aea452ba
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0"?>
<root main_tree_to_execute="BehaviorTree">
<!-- ////////// -->
<BehaviorTree ID="BehaviorTree">
<SequenceStar>
<SubTree ID="set_point_to_blackboard" x="x" y="y" z="z" max_vel="max_vel" new_goal="new_goal"/>
<Fallback>
<Action ID="async_point_to" max_vel="{max_vel}" new_goal="{new_goal}" x="{x}" y="{y}" z="{z}"/>
<Condition ID="is_point_to_finished"/>
</Fallback>
<SequenceStar>
<SubTree ID="set_base_frame_black_board"/>
<SubTree ID="set_tol_blackboard"/>
<SubTree ID="set_urdf_param_blackboard"/>
</SequenceStar>
<SequenceStar>
<Action ID="sync_point_to" max_vel="{max_vel}" x="{x}" y="{y}" z="{z}"/>
<Timeout msec="15000">
<Condition ID="is_point_to_finished"/>
</Timeout>
</SequenceStar>
</SequenceStar>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="set_base_frame_black_board">
<SequenceStar>
<SetBlackboard output_key="base_frame" value="servo2"/>
<Action ID="set_base_frame" base_frame="{base_frame}"/>
</SequenceStar>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="set_point_to_blackboard">
<SequenceStar>
<SetBlackboard output_key="x" value="0.8"/>
<SetBlackboard output_key="y" value="0.7"/>
<SetBlackboard output_key="z" value="0.3"/>
<SetBlackboard output_key="max_vel" value="0.5"/>
<SetBlackboard output_key="new_goal" value="True"/>
</SequenceStar>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="set_tol_blackboard">
<SequenceStar>
<SetBlackboard output_key="tol" value="0.01"/>
<Action ID="set_tolerance" tol="{tol}"/>
</SequenceStar>
</BehaviorTree>
<!-- ////////// -->
<BehaviorTree ID="set_urdf_param_blackboard">
<SequenceStar>
<SetBlackboard output_key="urdf_param" value="r_desc"/>
<Action ID="set_urdf_param" urdf_param="{urdf_param}"/>
</SequenceStar>
</BehaviorTree>
<!-- ////////// -->
<TreeNodesModel>
<Action ID="async_point_to">
<input_port default="0.5" name="max_vel"> The maximum velocity for the servos</input_port>
<input_port default="True" name="new_goal"> The maximum velocity for the servos</input_port>
<input_port default="0.0" name="x"> Point X coordenate on its reference frame</input_port>
<input_port default="0.0" name="y"> Point Y coordenate on its reference frame</input_port>
<input_port default="0.0" name="z"> Point Z coordenate on its reference frame</input_port>
</Action>
<Action ID="cancel_point_to"/>
<Condition ID="is_point_to_aborted"/>
<Condition ID="is_point_to_action_start_fail"/>
<Condition ID="is_point_to_fb_watchdog"/>
<Condition ID="is_point_to_finished"/>
<Condition ID="is_point_to_param_not_present"/>
<Condition ID="is_point_to_preempted"/>
<Condition ID="is_point_to_rejected"/>
<Condition ID="is_point_to_running"/>
<Condition ID="is_point_to_set_param_fail"/>
<Condition ID="is_point_to_success"/>
<Condition ID="is_point_to_timeout"/>
<Action ID="set_base_frame">
<input_port default="servo1" name="base_frame"> Servo kinematic chain base frame</input_port>
</Action>
<SubTree ID="set_base_frame_black_board"/>
<SubTree ID="set_point_to_blackboard"/>
<SubTree ID="set_tol_blackboard"/>
<Action ID="set_tolerance">
<input_port default="0.001" name="tol"> Inverse kinematic solver tolerance</input_port>
</Action>
<Action ID="set_urdf_param">
<input_port default="robot_description" name="urdf_param"> Ros param where is stored the urdf model</input_port>
</Action>
<SubTree ID="set_urdf_param_blackboard"/>
<Action ID="sync_point_to">
<input_port default="0.5" name="max_vel"> The maximum velocity for the servos</input_port>
<input_port default="0.0" name="x"> Point X coordenate on its reference frame</input_port>
<input_port default="0.0" name="y"> Point Y coordenate on its reference frame</input_port>
<input_port default="0.0" name="z"> Point Z coordenate on its reference frame</input_port>
</Action>
</TreeNodesModel>
<!-- ////////// -->
</root>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment