From b9c87e598498833a872654fdd74ee31ef554edc4 Mon Sep 17 00:00:00 2001 From: Cassidy Elliott Date: Thu, 4 Jan 2024 22:06:02 -0700 Subject: [PATCH 1/8] 3.0.0 (#163) --- src/picknik_ur_base_config/package.xml | 2 +- src/picknik_ur_gazebo_config/package.xml | 2 +- src/picknik_ur_gazebo_scan_and_plan_config/package.xml | 2 +- src/picknik_ur_mock_hw_config/package.xml | 2 +- src/picknik_ur_site_config/package.xml | 2 +- src/picknik_ur_studio_integration_testing/package.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/picknik_ur_base_config/package.xml b/src/picknik_ur_base_config/package.xml index 53ddeae4..388562a3 100644 --- a/src/picknik_ur_base_config/package.xml +++ b/src/picknik_ur_base_config/package.xml @@ -1,7 +1,7 @@ picknik_ur_base_config - 2.11.0 + 3.0.0 Base configuration package for Picknik's UR robot arms diff --git a/src/picknik_ur_gazebo_config/package.xml b/src/picknik_ur_gazebo_config/package.xml index 9d73f5f5..7c7d6286 100644 --- a/src/picknik_ur_gazebo_config/package.xml +++ b/src/picknik_ur_gazebo_config/package.xml @@ -1,7 +1,7 @@ picknik_ur_gazebo_config - 2.11.0 + 3.0.0 Site configuration package for the UR5e in PickNik's space station world simulated by Gazebo. diff --git a/src/picknik_ur_gazebo_scan_and_plan_config/package.xml b/src/picknik_ur_gazebo_scan_and_plan_config/package.xml index 7c34113f..66d065ae 100644 --- a/src/picknik_ur_gazebo_scan_and_plan_config/package.xml +++ b/src/picknik_ur_gazebo_scan_and_plan_config/package.xml @@ -1,7 +1,7 @@ picknik_ur_gazebo_scan_and_plan_config - 2.11.0 + 3.0.0 Site configuration package for the UR5e simulated in Gazebo to show "scan and plan" applications. diff --git a/src/picknik_ur_mock_hw_config/package.xml b/src/picknik_ur_mock_hw_config/package.xml index e520ad43..29cab76c 100644 --- a/src/picknik_ur_mock_hw_config/package.xml +++ b/src/picknik_ur_mock_hw_config/package.xml @@ -1,7 +1,7 @@ picknik_ur_mock_hw_config - 2.11.0 + 3.0.0 Configuration package for a UR arm that can be simulated with mock hardware diff --git a/src/picknik_ur_site_config/package.xml b/src/picknik_ur_site_config/package.xml index 5e476fe9..7e0c3420 100644 --- a/src/picknik_ur_site_config/package.xml +++ b/src/picknik_ur_site_config/package.xml @@ -1,7 +1,7 @@ picknik_ur_site_config - 2.11.0 + 3.0.0 Site configuration package for a UR arm that can be simulated with mock hardware diff --git a/src/picknik_ur_studio_integration_testing/package.xml b/src/picknik_ur_studio_integration_testing/package.xml index 5cbbf308..b9e2854e 100644 --- a/src/picknik_ur_studio_integration_testing/package.xml +++ b/src/picknik_ur_studio_integration_testing/package.xml @@ -2,7 +2,7 @@ picknik_ur_studio_integration_testing - 2.11.0 + 3.0.0 Integration tests for UR with MoveIt Studio. MoveIt Studio Maintainer From 27aa59469a46d73d45456df4dc689374f80260d7 Mon Sep 17 00:00:00 2001 From: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> Date: Fri, 5 Jan 2024 09:01:30 -0500 Subject: [PATCH 2/8] Update README to show scan and plan config (#165) --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index aaadf98f..fb2cc0d5 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# MoveIt Studio Workspace +# MoveIt Studio Workspace for Universal Robots Arms This is a sample user workspace for running MoveIt Studio with a generic Universal Robots (UR) arm. For more information, refer to the [MoveIt Studio Documentation](https://docs.picknik.ai/). -Instructions for building your own MoveIt Studio configuration can be found [in the getting started guides.](https://docs.picknik.ai/en/stable/getting_started/getting_started.html) +Instructions for building your own MoveIt Studio configuration can be found [in the getting started guides](https://docs.picknik.ai/en/stable/getting_started/getting_started.html). MoveIt Studio can be used with real robots and full simulators such as Gazebo and NVIDIA Isaac Sim. For testing purposes, you can also use the [ROS 2 Control Mock Components](https://control.ros.org/master/doc/ros2_control/hardware_interface/doc/mock_components_userdoc.html), which is what this repo is configured to use. @@ -21,6 +21,7 @@ Base[picknik_ur_base_config] --> Site[picknik_ur_site_config] Base --> Mock[picknik_ur_mock_hw_config] Site --> Gazebo[picknik_ur_gazebo_config] Site --> Picknik[Other PickNik configs] +Gazebo --> ScanAndPlan[picknik_ur_gazebo_scan_and_plan_config] ``` Specifically: @@ -29,4 +30,5 @@ Specifically: * `picknik_ur_mock_hw_config` provides overrides for a machine tending application simulated using mock components (no physics). * `picknik_ur_site_config` extends the base configuration with capabilities for robots with physics and perception. * `picknik_ur_gazebo_config` extends the site configuration with support for the Gazebo simulator. +* `picknik_ur_gazebo_scan_and_plan_config` extends the Gazebo configuration with an alternate environment for 3D object scanning. * Other hardware-specific configurations, such as the ones used on PickNik's UR arms, inherit from `picknik_ur_site_config`. From 60de0268b5ed6bde376a809f8aa5199a642f336e Mon Sep 17 00:00:00 2001 From: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> Date: Fri, 5 Jan 2024 16:34:36 -0500 Subject: [PATCH 3/8] Fix integration tests to use new parameter storage (#166) --- .github/workflows/ci.yaml | 2 +- .gitignore | 2 + ...e_agent_plus_drivers_launch_description.py | 4 +- .../test/CMakeLists.txt | 7 ++ .../launch/test_basic_ur5e_objectives.test.py | 2 - .../launch/test_get_planning_groups.test.py | 2 - .../launch/test_ur5e_pinch_p_stop.test.py | 2 - .../test/objectives/.gitkeep | 0 .../test/test_basic_ur5e_objectives.cpp | 93 +++++++++---------- .../test/test_ur5e_pinch_p_stop.cpp | 60 +++++++----- 10 files changed, 95 insertions(+), 79 deletions(-) create mode 100644 src/picknik_ur_studio_integration_testing/test/objectives/.gitkeep diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4c471b71..6f88ff1a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -51,4 +51,4 @@ jobs: colcon test - if: always() run: | - colcon test-result + colcon test-result --verbose diff --git a/.gitignore b/.gitignore index 9f859681..5330aeb2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ build/ install/ log/ + +**__pycache__ diff --git a/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py b/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py index f80845bd..598a8117 100644 --- a/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py +++ b/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py @@ -81,7 +81,7 @@ def generate_agent_plus_drivers_launch_description( # Get path to test objective directory defined within this repo test_objective_path = Path( - get_package_share_directory("moveit_studio_integration_testing"), + get_package_share_directory("picknik_ur_studio_integration_testing"), "test", "objectives", ) @@ -110,7 +110,7 @@ def generate_agent_plus_drivers_launch_description( # Get path to test objective directory defined within this repo test_objective_path = Path( - get_package_share_directory("moveit_studio_integration_testing"), + get_package_share_directory("picknik_ur_studio_integration_testing"), "test", "objectives", ) diff --git a/src/picknik_ur_studio_integration_testing/test/CMakeLists.txt b/src/picknik_ur_studio_integration_testing/test/CMakeLists.txt index 276479eb..f65ed8c1 100644 --- a/src/picknik_ur_studio_integration_testing/test/CMakeLists.txt +++ b/src/picknik_ur_studio_integration_testing/test/CMakeLists.txt @@ -18,3 +18,10 @@ add_ros_test(launch/test_get_planning_groups.test.py TIMEOUT 120 ARGS "test_bina ament_add_gtest_executable(test_ur5e_pinch_p_stop test_ur5e_pinch_p_stop.cpp) target_link_libraries(test_ur5e_pinch_p_stop moveit_studio_agent::do_objective_test_fixture) add_ros_test(launch/test_ur5e_pinch_p_stop.test.py TIMEOUT 120 ARGS "test_binary_dir:=${CMAKE_CURRENT_BINARY_DIR}") + +# Install config files needed at runtime by integration tests +install( + DIRECTORY + objectives + DESTINATION share/${PROJECT_NAME}/test +) diff --git a/src/picknik_ur_studio_integration_testing/test/launch/test_basic_ur5e_objectives.test.py b/src/picknik_ur_studio_integration_testing/test/launch/test_basic_ur5e_objectives.test.py index d9310a41..afccc603 100644 --- a/src/picknik_ur_studio_integration_testing/test/launch/test_basic_ur5e_objectives.test.py +++ b/src/picknik_ur_studio_integration_testing/test/launch/test_basic_ur5e_objectives.test.py @@ -29,8 +29,6 @@ # POSSIBILITY OF SUCH DAMAGE. -import os -import sys import unittest import launch_testing diff --git a/src/picknik_ur_studio_integration_testing/test/launch/test_get_planning_groups.test.py b/src/picknik_ur_studio_integration_testing/test/launch/test_get_planning_groups.test.py index f06bad26..072dd5aa 100644 --- a/src/picknik_ur_studio_integration_testing/test/launch/test_get_planning_groups.test.py +++ b/src/picknik_ur_studio_integration_testing/test/launch/test_get_planning_groups.test.py @@ -29,8 +29,6 @@ # POSSIBILITY OF SUCH DAMAGE. -import os -import sys import unittest import launch_testing diff --git a/src/picknik_ur_studio_integration_testing/test/launch/test_ur5e_pinch_p_stop.test.py b/src/picknik_ur_studio_integration_testing/test/launch/test_ur5e_pinch_p_stop.test.py index c4bbf73e..926200ab 100644 --- a/src/picknik_ur_studio_integration_testing/test/launch/test_ur5e_pinch_p_stop.test.py +++ b/src/picknik_ur_studio_integration_testing/test/launch/test_ur5e_pinch_p_stop.test.py @@ -29,8 +29,6 @@ # POSSIBILITY OF SUCH DAMAGE. -import os -import sys import unittest import launch_testing diff --git a/src/picknik_ur_studio_integration_testing/test/objectives/.gitkeep b/src/picknik_ur_studio_integration_testing/test/objectives/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/picknik_ur_studio_integration_testing/test/test_basic_ur5e_objectives.cpp b/src/picknik_ur_studio_integration_testing/test/test_basic_ur5e_objectives.cpp index 2ceed13e..048fb45d 100644 --- a/src/picknik_ur_studio_integration_testing/test/test_basic_ur5e_objectives.cpp +++ b/src/picknik_ur_studio_integration_testing/test/test_basic_ur5e_objectives.cpp @@ -28,22 +28,28 @@ #include +#include #include #include #include #include #include +#include +#include namespace { using BehaviorParameter = moveit_studio_sdk_msgs::msg::BehaviorParameter; using BehaviorParameterDescription = moveit_studio_sdk_msgs::msg::BehaviorParameterDescription; + +constexpr auto kServiceWaitTime = std::chrono::seconds{ 1 }; } // namespace namespace moveit_studio::agent::testing { using Point = geometry_msgs::msg::Point; using PoseStamped = geometry_msgs::msg::PoseStamped; +using StoreJointState = moveit_studio_agent_msgs::srv::StoreJointState; using Quaternion = geometry_msgs::msg::Quaternion; using TransformStamped = geometry_msgs::msg::TransformStamped; using Vector3 = geometry_msgs::msg::Vector3; @@ -54,42 +60,6 @@ TEST_F(ObjectiveFixture, Trivial) ASSERT_TRUE(true); } -TEST_F(ObjectiveFixture, TestMoveToNamedState) -{ - ASSERT_TRUE(setupDoObjectiveSequenceClient()); - - auto do_objective_goal = std::make_unique(); - do_objective_goal->objective_name = "Move to Known Pose"; - - BehaviorParameter pose_name_parameter; - pose_name_parameter.behavior_namespaces.emplace_back("move_to_known_pose"); - pose_name_parameter.description.name = "target_state_name"; - pose_name_parameter.description.type = BehaviorParameterDescription::TYPE_STRING; - pose_name_parameter.string_value = "Home"; - - do_objective_goal->parameter_overrides.push_back(pose_name_parameter); - - EXPECT_TRUE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal))); -} - -TEST_F(ObjectiveFixture, TestMoveToWaypoint) -{ - ASSERT_TRUE(setupDoObjectiveSequenceClient()); - - auto do_objective_goal = std::make_unique(); - do_objective_goal->objective_name = "Move to Waypoint"; - - BehaviorParameter waypoint_name_parameter; - waypoint_name_parameter.behavior_namespaces.emplace_back("move_to_waypoint"); - waypoint_name_parameter.description.name = "waypoint_name"; - waypoint_name_parameter.description.type = BehaviorParameterDescription::TYPE_STRING; - waypoint_name_parameter.string_value = "Forward Down"; - - do_objective_goal->parameter_overrides.push_back(waypoint_name_parameter); - - EXPECT_TRUE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal))); -} - TEST_F(ObjectiveFixture, TestCloseGripper) { ASSERT_TRUE(setupDoObjectiveSequenceClient()); @@ -170,24 +140,53 @@ TEST_F(ObjectiveFixture, DISABLED_TestInspectSurface) EXPECT_TRUE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal), 30.0)); } +TEST_F(ObjectiveFixture, TestMoveToJointState) +{ + ASSERT_TRUE(setupDoObjectiveSequenceClient()); + + // Store a joint state parameter + rclcpp::Client::SharedPtr store_client = node_->create_client("store_joint_state"); + ASSERT_TRUE(store_client->wait_for_service(kServiceWaitTime)); + + auto store_request = std::make_shared(); + store_request->joint_state.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", + "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; + store_request->joint_state.position = { 0, -0.78, -0.51, -1.57, 1.65, 0 }; + + auto store_result_future = store_client->async_send_request(store_request); + ASSERT_EQ(store_result_future.wait_for(kServiceWaitTime), std::future_status::ready) + << "Timed out waiting for store joint state service response."; + ASSERT_TRUE(store_result_future.get()->success); + + // Run the Objective + auto do_objective_goal = std::make_unique(); + do_objective_goal->objective_name = "Move to Joint State"; + + EXPECT_TRUE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal), 30.0)); +} + TEST_F(ObjectiveFixture, TestInterpolateToJointState) { ASSERT_TRUE(setupDoObjectiveSequenceClient()); + // Store a joint state parameter + rclcpp::Client::SharedPtr store_client = node_->create_client("store_joint_state"); + ASSERT_TRUE(store_client->wait_for_service(kServiceWaitTime)); + + auto store_request = std::make_shared(); + store_request->joint_state.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", + "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; + store_request->joint_state.position = { 0, -0.78, -0.51, -1.57, 1.65, 0 }; + + auto store_result_future = store_client->async_send_request(store_request); + ASSERT_EQ(store_result_future.wait_for(kServiceWaitTime), std::future_status::ready) + << "Timed out waiting for store joint state service response."; + ASSERT_TRUE(store_result_future.get()->success); + + // Run the Objective auto do_objective_goal = std::make_unique(); do_objective_goal->objective_name = "Interpolate to Joint State"; - // Update the joint_state parameter used when planning the objective - BehaviorParameter pose_name_parameter; - pose_name_parameter.behavior_namespaces = { "interpolate_to_joint_state" }; - pose_name_parameter.description.name = "target_joint_state"; - pose_name_parameter.description.type = BehaviorParameterDescription::TYPE_JOINT_STATE; - pose_name_parameter.joint_state_value.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", - "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; - pose_name_parameter.joint_state_value.position = { 0, -0.78, -0.51, -1.57, 1.65, 0 }; - - do_objective_goal->parameter_overrides = { pose_name_parameter }; - EXPECT_TRUE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal), 30.0)); } diff --git a/src/picknik_ur_studio_integration_testing/test/test_ur5e_pinch_p_stop.cpp b/src/picknik_ur_studio_integration_testing/test/test_ur5e_pinch_p_stop.cpp index 70828680..75f60512 100644 --- a/src/picknik_ur_studio_integration_testing/test/test_ur5e_pinch_p_stop.cpp +++ b/src/picknik_ur_studio_integration_testing/test/test_ur5e_pinch_p_stop.cpp @@ -28,23 +28,30 @@ #include +#include + #include #include #include #include #include #include +#include +#include namespace { using BehaviorParameter = moveit_studio_sdk_msgs::msg::BehaviorParameter; using BehaviorParameterDescription = moveit_studio_sdk_msgs::msg::BehaviorParameterDescription; + +constexpr auto kServiceWaitTime = std::chrono::seconds{ 1 }; } // namespace namespace moveit_studio::agent::testing { using Point = geometry_msgs::msg::Point; using PoseStamped = geometry_msgs::msg::PoseStamped; +using StoreJointState = moveit_studio_agent_msgs::srv::StoreJointState; using Quaternion = geometry_msgs::msg::Quaternion; using TransformStamped = geometry_msgs::msg::TransformStamped; using Vector3 = geometry_msgs::msg::Vector3; @@ -59,19 +66,23 @@ TEST_F(ObjectiveFixture, InterpolateToPinchJointState) { ASSERT_TRUE(setupDoObjectiveSequenceClient()); - auto do_objective_goal = std::make_unique(); - do_objective_goal->objective_name = "Interpolate to Joint State"; + // Store a joint state parameter + rclcpp::Client::SharedPtr store_client = node_->create_client("store_joint_state"); + ASSERT_TRUE(store_client->wait_for_service(kServiceWaitTime)); - // Update the joint_state parameter used when planning the objective - BehaviorParameter pose_name_parameter; - pose_name_parameter.behavior_namespaces = { "interpolate_to_joint_state" }; - pose_name_parameter.description.name = "target_joint_state"; - pose_name_parameter.description.type = BehaviorParameterDescription::TYPE_JOINT_STATE; - pose_name_parameter.joint_state_value.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", - "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; - pose_name_parameter.joint_state_value.position = { -0.66, -2.10, -1.27, 0.60, 2.87, 0.36 }; + auto store_request = std::make_shared(); + store_request->joint_state.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", + "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; + store_request->joint_state.position = { -0.66, -2.10, -1.27, 0.60, 2.87, 0.36 }; - do_objective_goal->parameter_overrides = { pose_name_parameter }; + auto store_result_future = store_client->async_send_request(store_request); + ASSERT_EQ(store_result_future.wait_for(kServiceWaitTime), std::future_status::ready) + << "Timed out waiting for store joint state service response."; + ASSERT_TRUE(store_result_future.get()->success); + + // Run the Objective + auto do_objective_goal = std::make_unique(); + do_objective_goal->objective_name = "Interpolate to Joint State"; // Expect to fail due to pinch links blocking entering a pinch stop zone EXPECT_FALSE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal), 30.0)); @@ -81,21 +92,24 @@ TEST_F(ObjectiveFixture, InterpolateToNearPinchJointState) { ASSERT_TRUE(setupDoObjectiveSequenceClient()); + // Store a joint state parameter + rclcpp::Client::SharedPtr store_client = node_->create_client("store_joint_state"); + ASSERT_TRUE(store_client->wait_for_service(kServiceWaitTime)); + + auto store_request = std::make_shared(); + store_request->joint_state.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", + "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; + store_request->joint_state.position = { -0.66, -2.10, -1.27, 0.60, 2.70, 0.36 }; + + auto store_result_future = store_client->async_send_request(store_request); + ASSERT_EQ(store_result_future.wait_for(kServiceWaitTime), std::future_status::ready) + << "Timed out waiting for store joint state service response."; + ASSERT_TRUE(store_result_future.get()->success); + + // Run the Objective auto do_objective_goal = std::make_unique(); do_objective_goal->objective_name = "Interpolate to Joint State"; - // Update the joint_state parameter used when planning the objective - BehaviorParameter pose_name_parameter; - pose_name_parameter.behavior_namespaces = { "interpolate_to_joint_state" }; - pose_name_parameter.description.name = "target_joint_state"; - pose_name_parameter.description.type = BehaviorParameterDescription::TYPE_JOINT_STATE; - pose_name_parameter.joint_state_value.name = { "shoulder_pan_joint", "shoulder_lift_joint", "elbow_joint", - "wrist_1_joint", "wrist_2_joint", "wrist_3_joint" }; - // Now we put wrist_2_joint around 10 degrees more relaxed from the pinch point. - pose_name_parameter.joint_state_value.position = { -0.66, -2.10, -1.27, 0.60, 2.70, 0.36 }; - - do_objective_goal->parameter_overrides = { pose_name_parameter }; - // Expect the pinch link geometries to be unobtrusive enough that planning to just outside the // pinch zone still works. EXPECT_TRUE(sendDoObjectiveSequenceGoal(std::move(do_objective_goal), 30.0)); From 4c74fe648ce82c9c1f52e4b0fbbbc35386e54802 Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Fri, 5 Jan 2024 16:50:28 -0700 Subject: [PATCH 4/8] WritePoseToYAML->SavePoseToYaml (#167) Co-authored-by: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> --- .../objectives/teach_apriltag_grasp_offset.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/picknik_ur_gazebo_config/objectives/teach_apriltag_grasp_offset.xml b/src/picknik_ur_gazebo_config/objectives/teach_apriltag_grasp_offset.xml index 31181961..f6c68b5d 100644 --- a/src/picknik_ur_gazebo_config/objectives/teach_apriltag_grasp_offset.xml +++ b/src/picknik_ur_gazebo_config/objectives/teach_apriltag_grasp_offset.xml @@ -6,7 +6,7 @@ - + From a531af6f626e48b8540037a5564ec1958b183d39 Mon Sep 17 00:00:00 2001 From: Abishalini Sivaraman Date: Fri, 5 Jan 2024 17:08:19 -0700 Subject: [PATCH 5/8] Update SetupMTCMoveAlongFrameAxis parameters (#164) Co-authored-by: Sebastian Castro --- .../objectives/close_cabinet_door.xml | 2 +- .../objectives/push_along_axis_config.yaml | 5 ----- src/picknik_ur_gazebo_config/objectives/push_button.xml | 2 +- .../objectives/push_button_config.yaml | 5 ----- src/picknik_ur_gazebo_config/objectives/push_button_ml.xml | 3 +-- src/picknik_ur_site_config/objectives/close_cabinet_door.xml | 2 +- .../objectives/push_along_axis_config.yaml | 5 ----- src/picknik_ur_site_config/objectives/push_button.xml | 2 +- src/picknik_ur_site_config/objectives/push_button_ml.xml | 3 +-- 9 files changed, 6 insertions(+), 23 deletions(-) diff --git a/src/picknik_ur_gazebo_config/objectives/close_cabinet_door.xml b/src/picknik_ur_gazebo_config/objectives/close_cabinet_door.xml index 3c74bc34..78346cc6 100644 --- a/src/picknik_ur_gazebo_config/objectives/close_cabinet_door.xml +++ b/src/picknik_ur_gazebo_config/objectives/close_cabinet_door.xml @@ -12,7 +12,7 @@ - + diff --git a/src/picknik_ur_gazebo_config/objectives/push_along_axis_config.yaml b/src/picknik_ur_gazebo_config/objectives/push_along_axis_config.yaml index 716c2dc6..36876760 100644 --- a/src/picknik_ur_gazebo_config/objectives/push_along_axis_config.yaml +++ b/src/picknik_ur_gazebo_config/objectives/push_along_axis_config.yaml @@ -1,8 +1,3 @@ -SetupMTCMoveAlongFrameAxis: - arm_group_name: "manipulator" - hand_frame_name: "manual_grasp_link" - velocity_acceleration_scaling_factor: 0.05 - AllowGripperCollisionWithOctomap: group_name: "gripper" object_name: "" diff --git a/src/picknik_ur_gazebo_config/objectives/push_button.xml b/src/picknik_ur_gazebo_config/objectives/push_button.xml index c55c3fb5..e0c554d8 100644 --- a/src/picknik_ur_gazebo_config/objectives/push_button.xml +++ b/src/picknik_ur_gazebo_config/objectives/push_button.xml @@ -12,7 +12,7 @@ - + diff --git a/src/picknik_ur_gazebo_config/objectives/push_button_config.yaml b/src/picknik_ur_gazebo_config/objectives/push_button_config.yaml index 716c2dc6..36876760 100644 --- a/src/picknik_ur_gazebo_config/objectives/push_button_config.yaml +++ b/src/picknik_ur_gazebo_config/objectives/push_button_config.yaml @@ -1,8 +1,3 @@ -SetupMTCMoveAlongFrameAxis: - arm_group_name: "manipulator" - hand_frame_name: "manual_grasp_link" - velocity_acceleration_scaling_factor: 0.05 - AllowGripperCollisionWithOctomap: group_name: "gripper" object_name: "" diff --git a/src/picknik_ur_gazebo_config/objectives/push_button_ml.xml b/src/picknik_ur_gazebo_config/objectives/push_button_ml.xml index 27351583..ae56060f 100644 --- a/src/picknik_ur_gazebo_config/objectives/push_button_ml.xml +++ b/src/picknik_ur_gazebo_config/objectives/push_button_ml.xml @@ -43,8 +43,7 @@ - + diff --git a/src/picknik_ur_site_config/objectives/close_cabinet_door.xml b/src/picknik_ur_site_config/objectives/close_cabinet_door.xml index a492c10f..85f45607 100644 --- a/src/picknik_ur_site_config/objectives/close_cabinet_door.xml +++ b/src/picknik_ur_site_config/objectives/close_cabinet_door.xml @@ -12,7 +12,7 @@ - + diff --git a/src/picknik_ur_site_config/objectives/push_along_axis_config.yaml b/src/picknik_ur_site_config/objectives/push_along_axis_config.yaml index 716c2dc6..36876760 100644 --- a/src/picknik_ur_site_config/objectives/push_along_axis_config.yaml +++ b/src/picknik_ur_site_config/objectives/push_along_axis_config.yaml @@ -1,8 +1,3 @@ -SetupMTCMoveAlongFrameAxis: - arm_group_name: "manipulator" - hand_frame_name: "manual_grasp_link" - velocity_acceleration_scaling_factor: 0.05 - AllowGripperCollisionWithOctomap: group_name: "gripper" object_name: "" diff --git a/src/picknik_ur_site_config/objectives/push_button.xml b/src/picknik_ur_site_config/objectives/push_button.xml index c3ce7f90..99832677 100644 --- a/src/picknik_ur_site_config/objectives/push_button.xml +++ b/src/picknik_ur_site_config/objectives/push_button.xml @@ -12,7 +12,7 @@ - + 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 9d3acf35..082621f4 100644 --- a/src/picknik_ur_site_config/objectives/push_button_ml.xml +++ b/src/picknik_ur_site_config/objectives/push_button_ml.xml @@ -43,8 +43,7 @@ - + From e097515b6552632ff9bc5b55bb3da978c1239288 Mon Sep 17 00:00:00 2001 From: Abishalini Sivaraman Date: Mon, 8 Jan 2024 09:19:49 -0700 Subject: [PATCH 6/8] Remove unused import (#168) --- .../generate_agent_plus_drivers_launch_description.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py b/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py index 598a8117..96eb5759 100644 --- a/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py +++ b/src/picknik_ur_studio_integration_testing/picknik_ur_studio_integration_testing/generate_agent_plus_drivers_launch_description.py @@ -42,11 +42,9 @@ DeclareLaunchArgument, ExecuteProcess, IncludeLaunchDescription, - RegisterEventHandler, TimerAction, ) from launch.conditions import IfCondition -from launch.event_handlers import OnProcessExit from launch.launch_description_sources import PythonLaunchDescriptionSource from launch.some_substitutions_type import SomeSubstitutionsType from launch.substitutions import ( From 0ddbb3cebecd31bff21a156e71974db4ba9f681e Mon Sep 17 00:00:00 2001 From: Abishalini Sivaraman Date: Mon, 8 Jan 2024 15:14:39 -0700 Subject: [PATCH 7/8] Update behavior names for Open Door objectives (#169) --- .../objectives/open_cabinet_door_affordance.xml | 4 ++-- .../objectives/open_cabinet_door_ml.xml | 4 ++-- .../objectives/open_lever_handle_door.xml | 2 +- .../objectives/open_lever_handle_door_config.yaml | 2 +- .../objectives/open_lever_handle_door_ml.xml | 2 +- .../objectives/open_lever_handle_door_ml_config.yaml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/picknik_ur_site_config/objectives/open_cabinet_door_affordance.xml b/src/picknik_ur_site_config/objectives/open_cabinet_door_affordance.xml index 7af47bf1..8890d48f 100644 --- a/src/picknik_ur_site_config/objectives/open_cabinet_door_affordance.xml +++ b/src/picknik_ur_site_config/objectives/open_cabinet_door_affordance.xml @@ -14,12 +14,12 @@ - + - + diff --git a/src/picknik_ur_site_config/objectives/open_cabinet_door_ml.xml b/src/picknik_ur_site_config/objectives/open_cabinet_door_ml.xml index 019cf2ae..23676ec6 100644 --- a/src/picknik_ur_site_config/objectives/open_cabinet_door_ml.xml +++ b/src/picknik_ur_site_config/objectives/open_cabinet_door_ml.xml @@ -39,7 +39,7 @@ grasp_pose="{detected_grasp_pose}" hinge_axis_pose_start="{hinge_axis_pose_start}" hinge_axis_pose_end="{hinge_axis_pose_end}" /> - - - - Date: Tue, 9 Jan 2024 12:28:23 -0500 Subject: [PATCH 8/8] Update Apriltag Grasp Offsets (#170) --- .../objectives/apriltag1_grasp_offset.yaml | 16 +++++++++------- .../objectives/apriltag2_grasp_offset.yaml | 16 +++++++++------- .../objectives/apriltag3_grasp_offset.yaml | 16 +++++++++------- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/picknik_ur_gazebo_config/objectives/apriltag1_grasp_offset.yaml b/src/picknik_ur_gazebo_config/objectives/apriltag1_grasp_offset.yaml index bee43d3c..49b6035e 100644 --- a/src/picknik_ur_gazebo_config/objectives/apriltag1_grasp_offset.yaml +++ b/src/picknik_ur_gazebo_config/objectives/apriltag1_grasp_offset.yaml @@ -1,8 +1,10 @@ GraspOffset: - x: -0.1 - y: 0.0 - z: 0.05 - qx: 0.707 - qy: -0.707 - qz: 0.0 - qw: 0.0 + position: + x: -0.1 + y: 0.0 + z: 0.05 + orientation: + x: 0.707 + y: -0.707 + z: 0.0 + w: 0.0 diff --git a/src/picknik_ur_gazebo_config/objectives/apriltag2_grasp_offset.yaml b/src/picknik_ur_gazebo_config/objectives/apriltag2_grasp_offset.yaml index bee43d3c..49b6035e 100644 --- a/src/picknik_ur_gazebo_config/objectives/apriltag2_grasp_offset.yaml +++ b/src/picknik_ur_gazebo_config/objectives/apriltag2_grasp_offset.yaml @@ -1,8 +1,10 @@ GraspOffset: - x: -0.1 - y: 0.0 - z: 0.05 - qx: 0.707 - qy: -0.707 - qz: 0.0 - qw: 0.0 + position: + x: -0.1 + y: 0.0 + z: 0.05 + orientation: + x: 0.707 + y: -0.707 + z: 0.0 + w: 0.0 diff --git a/src/picknik_ur_gazebo_config/objectives/apriltag3_grasp_offset.yaml b/src/picknik_ur_gazebo_config/objectives/apriltag3_grasp_offset.yaml index bee43d3c..49b6035e 100644 --- a/src/picknik_ur_gazebo_config/objectives/apriltag3_grasp_offset.yaml +++ b/src/picknik_ur_gazebo_config/objectives/apriltag3_grasp_offset.yaml @@ -1,8 +1,10 @@ GraspOffset: - x: -0.1 - y: 0.0 - z: 0.05 - qx: 0.707 - qy: -0.707 - qz: 0.0 - qw: 0.0 + position: + x: -0.1 + y: 0.0 + z: 0.05 + orientation: + x: 0.707 + y: -0.707 + z: 0.0 + w: 0.0