Skip to content
This repository has been archived by the owner on Dec 13, 2024. It is now read-only.

Commit

Permalink
Merge pull request #306 from PickNikRobotics/davetcoleman-patch-2
Browse files Browse the repository at this point in the history
Improve inline documentation for constrained_pick_place
  • Loading branch information
davetcoleman authored Jul 12, 2024
2 parents e229a87 + 985fa3f commit 97c0fc3
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions src/picknik_ur_mock_hw_config/objectives/constrained_pick_place.xml
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
<?xml version='1.0' encoding='UTF-8'?>
<root BTCPP_format="4" main_tree_to_execute="Constrained Pick and Place">
<!-- ////////// -->
<BehaviorTree ID="Constrained Pick and Place" _description="Pick and place an object with constraints on the gripper's range of motion" _favorite="true">
<BehaviorTree ID="Constrained Pick and Place" _description="More advanced example of picking and placing an (invisible) object with orientation constraints enforced on the gripper's motion" _favorite="true">
<Decorator ID="KeepRunningUntilFailure">
<Control ID="Sequence">
<!--Create a special type of motion planning configuration that includes an upwards orientation requirement-->
<Action ID="InitializeMotionConstraints" constraints_name="gripper pointing down" constraints="{constraints}"/>
<Action ID="AppendOrientationConstraint" config_file_name="my_constraints.yaml" constraints="{constraints}"/>
<Control ID="Sequence" name="TopLevelSequence">
<SubTree ID="Open Gripper"/>
<Decorator ID="RetryUntilSuccessful" num_attempts="3">
<SubTree ID="Move to Waypoint" waypoint_name="Grasp Right" joint_group_name="manipulator" controller_names="/joint_trajectory_controller /robotiq_gripper_controller" planner_interface="moveit_default"/>
</Decorator>
<SubTree ID="Close Gripper"/>
<Decorator ID="RetryUntilSuccessful" num_attempts="3">
<SubTree ID="Move to Waypoint" controller_names="/joint_trajectory_controller /robotiq_gripper_controller" joint_group_name="manipulator" waypoint_name="Grasp Left" planner_interface="moveit_all_planners" constraints="{constraints}"/>
</Decorator>
</Control>
<!--Move to pick location-->
<SubTree ID="Open Gripper"/>
<!--Note: Sampling based planners can be non-deterministic. The retry decorator improves the likelihood of success-->
<Decorator ID="RetryUntilSuccessful" num_attempts="3">
<SubTree ID="Move to Waypoint" waypoint_name="Grasp Right" joint_group_name="manipulator" controller_names="/joint_trajectory_controller /robotiq_gripper_controller" planner_interface="moveit_default"/>
</Decorator>
<!--Pick-->
<SubTree ID="Close Gripper"/>
<!--Move to place (drop) location-->
<Decorator ID="RetryUntilSuccessful" num_attempts="3">
<SubTree ID="Move to Waypoint" controller_names="/joint_trajectory_controller /robotiq_gripper_controller" joint_group_name="manipulator" waypoint_name="Grasp Left" planner_interface="moveit_default" constraints="{constraints}"/>
</Decorator>
</Control>
</Decorator>
</BehaviorTree>
Expand Down

0 comments on commit 97c0fc3

Please sign in to comment.