+ Samples the pose of an AprilTag and returns the average measurement.
+
+
+ The number of times to sample the pose.
+ The AprilTag ID to detect.
+ The configuration file for detecting AprilTags.
+ The maximum distance allow between the average pose and the new sample (Euclidean distance between pose positions).
+ The maximum angle allow between the average pose and the new sample (shortest angle between two pose quaternions).
+ The calculated average pose.
+
+
+
+
+ Picks an object at the specified grasp pose.
+
+
+ The desired grasp pose.
+
+
+
diff --git a/src/picknik_ur_gazebo_config/open_door_fixed_handle_MTC_config.yaml b/src/picknik_ur_gazebo_config/open_door_fixed_handle_MTC_config.yaml
new file mode 100644
index 00000000..98b3353b
--- /dev/null
+++ b/src/picknik_ur_gazebo_config/open_door_fixed_handle_MTC_config.yaml
@@ -0,0 +1,16 @@
+SetupMTCGraspThenMoveAlongArcPull:
+ arm_group_name: "manipulator"
+ end_effector_group_name: "gripper"
+ end_effector_name: "moveit_ee"
+ ik_frame_name: "grasp_link"
+ end_effector_closed_pose_name: "close"
+ end_effector_open_pose_name: "open"
+
+ # List of controllers to use during the stages that interact with the door.
+ # TODO: this file currently only exists as gazebo does not have the door admittance controller. Remove if this becomes available.
+ move_along_arc_controllers: "/joint_trajectory_controller_chained_open_door /robotiq_gripper_controller"
+
+ approach_distance: 0.10 # meters
+ translation_distance: 0.0 # meters (0 means only move along arc here, no linear component)
+ rotation_distance: 55.0 # Degrees
+ use_circular_arc: true
diff --git a/src/picknik_ur_gazebo_config/open_door_lever_handle_MTC_config.yaml b/src/picknik_ur_gazebo_config/open_door_lever_handle_MTC_config.yaml
new file mode 100644
index 00000000..d14aa527
--- /dev/null
+++ b/src/picknik_ur_gazebo_config/open_door_lever_handle_MTC_config.yaml
@@ -0,0 +1,23 @@
+SetupMTCGraspAndTwistThenMoveAlongArcPush:
+ arm_group_name: "manipulator"
+ end_effector_group_name: "gripper"
+ ik_frame_name: "grasp_link"
+
+ # List of controllers to use during the stages that interact with the door.
+ # TODO: this file currently only exists as gazebo does not have the door admittance controller. Remove if this becomes available.
+ move_along_arc_controllers: "/joint_trajectory_controller_chained_open_door /robotiq_gripper_controller"
+
+ # The hand should be placed 75% of the way down the handle length when
+ # manipulating the handle. Valid value range [0, 1.0].
+ handle_grasp_offset_percent: 0.75
+ # The distance above the handle the robot should approach with before
+ # manipulating it.
+ above_handle_approach_distance: 0.03 # meters
+ # The distance the hand should move past the end of the handle to release it.
+ release_handle_distance: 0.03 # meters
+ # How many degrees to rotate the lever handle (use positive value for
+ # counter-clockwise rotation and negative value for clockwise rotation).
+ handle_twist_angle: 65.0 # degrees
+ approach_distance: 0.10 # meters
+ push_open_distance: 0.05 # meters
+ use_circular_arc: true
diff --git a/src/picknik_ur_site_config/objectives/detect_door_graspable_object.xml b/src/picknik_ur_site_config/objectives/detect_door_graspable_object.xml
index 4abdcd3a..12aa3ccb 100644
--- a/src/picknik_ur_site_config/objectives/detect_door_graspable_object.xml
+++ b/src/picknik_ur_site_config/objectives/detect_door_graspable_object.xml
@@ -1,7 +1,7 @@
-
+
-
+
@@ -11,7 +11,7 @@
-
+
@@ -19,15 +19,16 @@
-
-
-
-
+
+
+
+
+
diff --git a/src/picknik_ur_site_config/objectives/detect_fixed_handle_graspable_object.xml b/src/picknik_ur_site_config/objectives/detect_fixed_handle_graspable_object.xml
index 271a6da7..a6eeacfd 100644
--- a/src/picknik_ur_site_config/objectives/detect_fixed_handle_graspable_object.xml
+++ b/src/picknik_ur_site_config/objectives/detect_fixed_handle_graspable_object.xml
@@ -1,4 +1,4 @@
-
+
@@ -12,7 +12,7 @@
-
+
@@ -27,9 +27,10 @@
+
+
-
diff --git a/src/picknik_ur_site_config/objectives/detect_hinge_line_segment.xml b/src/picknik_ur_site_config/objectives/detect_hinge_line_segment.xml
index fed6bf55..32fd1e9b 100644
--- a/src/picknik_ur_site_config/objectives/detect_hinge_line_segment.xml
+++ b/src/picknik_ur_site_config/objectives/detect_hinge_line_segment.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/src/picknik_ur_site_config/objectives/detect_lever_handle_graspable_object.xml b/src/picknik_ur_site_config/objectives/detect_lever_handle_graspable_object.xml
new file mode 100644
index 00000000..7952dc39
--- /dev/null
+++ b/src/picknik_ur_site_config/objectives/detect_lever_handle_graspable_object.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/picknik_ur_site_config/objectives/detect_lever_handle_line_segment.xml b/src/picknik_ur_site_config/objectives/detect_lever_handle_line_segment.xml
deleted file mode 100644
index f36a3d94..00000000
--- a/src/picknik_ur_site_config/objectives/detect_lever_handle_line_segment.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/picknik_ur_site_config/objectives/open_cabinet_door.xml b/src/picknik_ur_site_config/objectives/open_cabinet_door.xml
index f512473b..e337aacc 100644
--- a/src/picknik_ur_site_config/objectives/open_cabinet_door.xml
+++ b/src/picknik_ur_site_config/objectives/open_cabinet_door.xml
@@ -1,62 +1,51 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
diff --git a/src/picknik_ur_site_config/objectives/open_door_fixed_handle_MTC_config.yaml b/src/picknik_ur_site_config/objectives/open_door_fixed_handle_MTC_config.yaml
index a62d052e..e9a87d13 100644
--- a/src/picknik_ur_site_config/objectives/open_door_fixed_handle_MTC_config.yaml
+++ b/src/picknik_ur_site_config/objectives/open_door_fixed_handle_MTC_config.yaml
@@ -9,80 +9,7 @@ SetupMTCGraspThenMoveAlongArcPull:
# List of controllers to use during the stages that interact with the door.
move_along_arc_controllers: "/joint_trajectory_controller_chained_open_door /admittance_controller_open_door /robotiq_gripper_controller"
- # Approach parameters used for retract phase for now.
- approach_min_distance: 0.10 # meters
- approach_max_distance: 1.00 # meters
-
+ approach_distance: 0.10 # meters
translation_distance: 0.0 # meters (0 means only move along arc here, no linear component)
rotation_distance: 55.0 # Degrees
use_circular_arc: true
-
-SetupMTCApproachGrasp:
- world_frame_name: "world"
- arm_group_name: "manipulator"
- end_effector_group_name: "gripper"
- end_effector_name: "moveit_ee"
- hand_frame_name: "grasp_link"
- end_effector_closed_pose_name: "close"
- ui_grasp_link: "grasp_link"
-
- approach_distance: 0.15
-
- # Set to true to make the robot keep the object within view of its camera while reaching to grasp it
- enforce_visibility_constraint: true
- camera_optical_frame_id: "wrist_mounted_camera_color_optical_frame"
- camera_field_of_view_angle: 1.0472 # radians: approx. 60 degrees, which is narrower than the 70 degree diagonal FOV of the D415 camera
- sensor_z_offset: 0.02
- target_diameter: 0.0 # Set to 0 to disable the visibility cone constraint -- it's not useful with a single-arm camera-in-hand configuration.
-
- # Grasp candidate configs
- grasp_candidate_config:
- generate_x_axis_grasps: true
- generate_y_axis_grasps: true
- generate_z_axis_grasps: true
-
- # Number of samples to generate for each quadrant of the cuboid.
- samples_per_quadrant: 3
-
-SetupMTCGenerateCuboidGrasps:
- end_effector_group_name: "gripper"
- end_effector_name: "moveit_ee"
- hand_frame_name: "grasp_link"
- end_effector_closed_pose_name: "close"
- ui_grasp_link: "grasp_link"
-
- # Grasp candidate configs
- grasp_candidate_config:
- generate_x_axis_grasps: true
- generate_y_axis_grasps: true
- generate_z_axis_grasps: true
-
- # Number of samples to generate for each quadrant of the cuboid.
- samples_per_quadrant: 3
-
- # Grasp data configs
- grasp_data:
- # See https://ros-planning.github.io/moveit_tutorials/_images/finger_gripper_explanation.jpg for description of the following parameters
- # Note: these parameters are copied from Robotiq gripper without tweaking
- # min/max values of the grasp depth range in meter.
- # This should fit to the distance from finger tip to inner palm or the suction cup stroke
- grasp_min_depth: 0.01 # minimum amount fingers must overlap object
- grasp_max_depth: 0.035 # Maximum distance from tip of end effector inwards that an object can be for a grasp
-
- # Maximum allowed finger width for a grasp.
- # This value should be considerably smaller than max_finger_width
- # to allow padded collision checks
- max_grasp_width: 0.1
-
- # The transform from the arm IK link to the grasp point to align it with the following convention.
- #
- # z-axis pointing toward object to grasp
- # x-axis perpendicular to movement of grippers
- # y-axis parallel to movement of grippers
- eef_mount_to_tcp_transform:
- x: 0.0
- y: 0.0
- z: -0.02
- roll: 0.0
- pitch: 0.0
- yaw: 1.57
diff --git a/src/picknik_ur_site_config/objectives/open_door_fixed_handle_ml.xml b/src/picknik_ur_site_config/objectives/open_door_fixed_handle_ml.xml
index 0e1986f7..bc60b3ad 100644
--- a/src/picknik_ur_site_config/objectives/open_door_fixed_handle_ml.xml
+++ b/src/picknik_ur_site_config/objectives/open_door_fixed_handle_ml.xml
@@ -28,9 +28,9 @@
-
+
-
+
@@ -41,17 +41,7 @@
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/picknik_ur_site_config/objectives/open_door_lever_handle_MTC_config.yaml b/src/picknik_ur_site_config/objectives/open_door_lever_handle_MTC_config.yaml
index f3549175..fb702278 100644
--- a/src/picknik_ur_site_config/objectives/open_door_lever_handle_MTC_config.yaml
+++ b/src/picknik_ur_site_config/objectives/open_door_lever_handle_MTC_config.yaml
@@ -16,8 +16,7 @@ SetupMTCGraspAndTwistThenMoveAlongArcPush:
release_handle_distance: 0.03 # meters
# How many degrees to rotate the lever handle (use positive value for
# counter-clockwise rotation and negative value for clockwise rotation).
- handle_twist_angle: 45.0 # degrees
- approach_max_distance: 0.05 # meters
- approach_min_distance: 0.01 # meters
+ handle_twist_angle: 65.0 # degrees
+ approach_distance: 0.10 # meters
push_open_distance: 0.05 # meters
use_circular_arc: true
diff --git a/src/picknik_ur_site_config/objectives/open_door_lever_handle_ml.xml b/src/picknik_ur_site_config/objectives/open_door_lever_handle_ml.xml
index f5e7e792..0cdde888 100644
--- a/src/picknik_ur_site_config/objectives/open_door_lever_handle_ml.xml
+++ b/src/picknik_ur_site_config/objectives/open_door_lever_handle_ml.xml
@@ -1,4 +1,4 @@
-
+
@@ -12,13 +12,15 @@
+
-
-
+
+
-
+
+
diff --git a/src/picknik_ur_site_config/objectives/open_lever_handle_door.xml b/src/picknik_ur_site_config/objectives/open_lever_handle_door.xml
index 4fc80654..664e7024 100644
--- a/src/picknik_ur_site_config/objectives/open_lever_handle_door.xml
+++ b/src/picknik_ur_site_config/objectives/open_lever_handle_door.xml
@@ -1,20 +1,20 @@
-
+
-
+
-
+
-
+
-
-
+
+
@@ -25,13 +25,13 @@
-
+
-
+
-
+
-
+
diff --git a/src/picknik_ur_site_config/objectives/push_button_ml.xml b/src/picknik_ur_site_config/objectives/push_button_ml.xml
index acbb1a99..44750831 100644
--- a/src/picknik_ur_site_config/objectives/push_button_ml.xml
+++ b/src/picknik_ur_site_config/objectives/push_button_ml.xml
@@ -1,4 +1,4 @@
-
+
@@ -11,7 +11,7 @@
-
+
diff --git a/src/picknik_ur_site_config/objectives/sample_april_tag.xml b/src/picknik_ur_site_config/objectives/sample_april_tag.xml
index 81573035..110d83c6 100644
--- a/src/picknik_ur_site_config/objectives/sample_april_tag.xml
+++ b/src/picknik_ur_site_config/objectives/sample_april_tag.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/src/picknik_ur_site_config/objectives/take_snapshot.xml b/src/picknik_ur_site_config/objectives/take_snapshot.xml
index 8b898216..f3a8c4ca 100644
--- a/src/picknik_ur_site_config/objectives/take_snapshot.xml
+++ b/src/picknik_ur_site_config/objectives/take_snapshot.xml
@@ -1,14 +1,14 @@
-
+
-
+
-
+
-
+