From 4527afef1a7afa28bba02005b191fd505cb1c64e Mon Sep 17 00:00:00 2001 From: Sebastian Castro Date: Thu, 6 Jul 2023 17:33:20 -0400 Subject: [PATCH 1/4] Reorganize for generic config package inheritance --- .../config/{base_config.yaml => config.yaml} | 0 .../objectives/3_waypoint_pick_and_place.xml | 0 .../objectives/joint_diagnostic.xml | 0 .../looping_pick_and_place_object_config.yaml | 0 .../config/{site_config.yaml => config.yaml} | 2 +- .../objectives/inspect_surface.xml | 18 ---- .../objectives/open_door_affordance.xml | 36 ------- .../objectives/take_snapshot.xml | 11 -- .../config/{site_config.yaml => config.yaml} | 0 .../objectives/apriltag_servoing.xml | 20 ++++ .../objectives/apriltag_servoing_config.yaml | 25 +++++ .../objectives/close_cabinet_door.xml | 0 .../objectives/find_cuboids.xml | 0 .../objectives/find_cuboids_config.yaml | 0 .../objectives/inspect_surface.xml | 0 .../objectives/joint_diagnostic.xml | 15 --- .../objectives/open_cabinet_door_ml.xml | 76 +++++++++++++ ...pen_door_admittance_controller_config.yaml | 0 .../objectives/open_door_affordance.xml | 9 +- .../open_door_affordance_config.yaml | 0 .../objectives/open_lever_handle_door.xml | 0 .../open_lever_handle_door_config.yaml | 0 .../objectives/pick_object.xml | 0 .../objectives/pick_object_config.yaml | 0 .../objectives/pick_place_object.xml | 0 .../objectives/push_button_ml.xml | 101 ++++++++++++++++++ .../objectives/take_snapshot.xml | 0 .../update_admittance_controller_config.yaml | 0 28 files changed, 231 insertions(+), 82 deletions(-) rename src/picknik_ur_base_config/config/{base_config.yaml => config.yaml} (100%) rename src/{picknik_ur_site_config => picknik_ur_base_config}/objectives/3_waypoint_pick_and_place.xml (100%) rename src/{picknik_ur_gazebo_config => picknik_ur_base_config}/objectives/joint_diagnostic.xml (100%) rename src/{picknik_ur_site_config => picknik_ur_base_config}/objectives/looping_pick_and_place_object_config.yaml (100%) rename src/picknik_ur_gazebo_config/config/{site_config.yaml => config.yaml} (98%) delete mode 100644 src/picknik_ur_gazebo_config/objectives/inspect_surface.xml delete mode 100644 src/picknik_ur_gazebo_config/objectives/open_door_affordance.xml delete mode 100644 src/picknik_ur_gazebo_config/objectives/take_snapshot.xml rename src/picknik_ur_site_config/config/{site_config.yaml => config.yaml} (100%) create mode 100644 src/picknik_ur_site_config/objectives/apriltag_servoing.xml create mode 100644 src/picknik_ur_site_config/objectives/apriltag_servoing_config.yaml rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/close_cabinet_door.xml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/find_cuboids.xml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/find_cuboids_config.yaml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/inspect_surface.xml (100%) delete mode 100644 src/picknik_ur_site_config/objectives/joint_diagnostic.xml create mode 100644 src/picknik_ur_site_config/objectives/open_cabinet_door_ml.xml rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/open_door_admittance_controller_config.yaml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/open_door_affordance_config.yaml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/open_lever_handle_door.xml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/open_lever_handle_door_config.yaml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/pick_object.xml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/pick_object_config.yaml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/pick_place_object.xml (100%) create mode 100644 src/picknik_ur_site_config/objectives/push_button_ml.xml rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/take_snapshot.xml (100%) rename src/{picknik_ur_base_config => picknik_ur_site_config}/objectives/update_admittance_controller_config.yaml (100%) diff --git a/src/picknik_ur_base_config/config/base_config.yaml b/src/picknik_ur_base_config/config/config.yaml similarity index 100% rename from src/picknik_ur_base_config/config/base_config.yaml rename to src/picknik_ur_base_config/config/config.yaml diff --git a/src/picknik_ur_site_config/objectives/3_waypoint_pick_and_place.xml b/src/picknik_ur_base_config/objectives/3_waypoint_pick_and_place.xml similarity index 100% rename from src/picknik_ur_site_config/objectives/3_waypoint_pick_and_place.xml rename to src/picknik_ur_base_config/objectives/3_waypoint_pick_and_place.xml diff --git a/src/picknik_ur_gazebo_config/objectives/joint_diagnostic.xml b/src/picknik_ur_base_config/objectives/joint_diagnostic.xml similarity index 100% rename from src/picknik_ur_gazebo_config/objectives/joint_diagnostic.xml rename to src/picknik_ur_base_config/objectives/joint_diagnostic.xml diff --git a/src/picknik_ur_site_config/objectives/looping_pick_and_place_object_config.yaml b/src/picknik_ur_base_config/objectives/looping_pick_and_place_object_config.yaml similarity index 100% rename from src/picknik_ur_site_config/objectives/looping_pick_and_place_object_config.yaml rename to src/picknik_ur_base_config/objectives/looping_pick_and_place_object_config.yaml diff --git a/src/picknik_ur_gazebo_config/config/site_config.yaml b/src/picknik_ur_gazebo_config/config/config.yaml similarity index 98% rename from src/picknik_ur_gazebo_config/config/site_config.yaml rename to src/picknik_ur_gazebo_config/config/config.yaml index 1c3b4a20..bd29887f 100644 --- a/src/picknik_ur_gazebo_config/config/site_config.yaml +++ b/src/picknik_ur_gazebo_config/config/config.yaml @@ -3,7 +3,7 @@ # # Name of the package to specialize -based_on_package: "picknik_ur_base_config" +based_on_package: "picknik_ur_site_config" # Optional parameters that can be read in your launch files for specific functionality optional_feature_params: diff --git a/src/picknik_ur_gazebo_config/objectives/inspect_surface.xml b/src/picknik_ur_gazebo_config/objectives/inspect_surface.xml deleted file mode 100644 index 09274184..00000000 --- a/src/picknik_ur_gazebo_config/objectives/inspect_surface.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/picknik_ur_gazebo_config/objectives/open_door_affordance.xml b/src/picknik_ur_gazebo_config/objectives/open_door_affordance.xml deleted file mode 100644 index 5828dbb0..00000000 --- a/src/picknik_ur_gazebo_config/objectives/open_door_affordance.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/picknik_ur_gazebo_config/objectives/take_snapshot.xml b/src/picknik_ur_gazebo_config/objectives/take_snapshot.xml deleted file mode 100644 index 72c705fe..00000000 --- a/src/picknik_ur_gazebo_config/objectives/take_snapshot.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/picknik_ur_site_config/config/site_config.yaml b/src/picknik_ur_site_config/config/config.yaml similarity index 100% rename from src/picknik_ur_site_config/config/site_config.yaml rename to src/picknik_ur_site_config/config/config.yaml diff --git a/src/picknik_ur_site_config/objectives/apriltag_servoing.xml b/src/picknik_ur_site_config/objectives/apriltag_servoing.xml new file mode 100644 index 00000000..a963b06c --- /dev/null +++ b/src/picknik_ur_site_config/objectives/apriltag_servoing.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/picknik_ur_site_config/objectives/apriltag_servoing_config.yaml b/src/picknik_ur_site_config/objectives/apriltag_servoing_config.yaml new file mode 100644 index 00000000..5727ef47 --- /dev/null +++ b/src/picknik_ur_site_config/objectives/apriltag_servoing_config.yaml @@ -0,0 +1,25 @@ +GetApriltagPose: + apriltag_family_name: 16h5 + apriltag_ids: + - 0 + apriltag_names: + - frame_id0 + apriltag_sizes: + - 0.028 + max_hamming: 0 + nthreads: 1 + quad_decimate: 1 + quad_sigma: 0 + refine_edges: true + z_up: true +VisualServo: + ff_velocity_gain_angular: 0 + ff_velocity_gain_linear: 0 + include_ff: false + max_angular_output: 1 + max_linear_output: 1 + proportional_gain_angular: '10' + proportional_gain_linear: '150' + servo_spin_rate: '0.02' + target_servo_frame: 'manual_grasp_link' + fixed_servo_frame: 'base_link' diff --git a/src/picknik_ur_base_config/objectives/close_cabinet_door.xml b/src/picknik_ur_site_config/objectives/close_cabinet_door.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/close_cabinet_door.xml rename to src/picknik_ur_site_config/objectives/close_cabinet_door.xml diff --git a/src/picknik_ur_base_config/objectives/find_cuboids.xml b/src/picknik_ur_site_config/objectives/find_cuboids.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/find_cuboids.xml rename to src/picknik_ur_site_config/objectives/find_cuboids.xml diff --git a/src/picknik_ur_base_config/objectives/find_cuboids_config.yaml b/src/picknik_ur_site_config/objectives/find_cuboids_config.yaml similarity index 100% rename from src/picknik_ur_base_config/objectives/find_cuboids_config.yaml rename to src/picknik_ur_site_config/objectives/find_cuboids_config.yaml diff --git a/src/picknik_ur_base_config/objectives/inspect_surface.xml b/src/picknik_ur_site_config/objectives/inspect_surface.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/inspect_surface.xml rename to src/picknik_ur_site_config/objectives/inspect_surface.xml diff --git a/src/picknik_ur_site_config/objectives/joint_diagnostic.xml b/src/picknik_ur_site_config/objectives/joint_diagnostic.xml deleted file mode 100644 index c8105f5f..00000000 --- a/src/picknik_ur_site_config/objectives/joint_diagnostic.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - 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 new file mode 100644 index 00000000..b4578df4 --- /dev/null +++ b/src/picknik_ur_site_config/objectives/open_cabinet_door_ml.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/picknik_ur_base_config/objectives/open_door_admittance_controller_config.yaml b/src/picknik_ur_site_config/objectives/open_door_admittance_controller_config.yaml similarity index 100% rename from src/picknik_ur_base_config/objectives/open_door_admittance_controller_config.yaml rename to src/picknik_ur_site_config/objectives/open_door_admittance_controller_config.yaml diff --git a/src/picknik_ur_site_config/objectives/open_door_affordance.xml b/src/picknik_ur_site_config/objectives/open_door_affordance.xml index 411a07af..e40ba831 100644 --- a/src/picknik_ur_site_config/objectives/open_door_affordance.xml +++ b/src/picknik_ur_site_config/objectives/open_door_affordance.xml @@ -2,11 +2,18 @@ + + + + - + + + + diff --git a/src/picknik_ur_base_config/objectives/open_door_affordance_config.yaml b/src/picknik_ur_site_config/objectives/open_door_affordance_config.yaml similarity index 100% rename from src/picknik_ur_base_config/objectives/open_door_affordance_config.yaml rename to src/picknik_ur_site_config/objectives/open_door_affordance_config.yaml diff --git a/src/picknik_ur_base_config/objectives/open_lever_handle_door.xml b/src/picknik_ur_site_config/objectives/open_lever_handle_door.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/open_lever_handle_door.xml rename to src/picknik_ur_site_config/objectives/open_lever_handle_door.xml diff --git a/src/picknik_ur_base_config/objectives/open_lever_handle_door_config.yaml b/src/picknik_ur_site_config/objectives/open_lever_handle_door_config.yaml similarity index 100% rename from src/picknik_ur_base_config/objectives/open_lever_handle_door_config.yaml rename to src/picknik_ur_site_config/objectives/open_lever_handle_door_config.yaml diff --git a/src/picknik_ur_base_config/objectives/pick_object.xml b/src/picknik_ur_site_config/objectives/pick_object.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/pick_object.xml rename to src/picknik_ur_site_config/objectives/pick_object.xml diff --git a/src/picknik_ur_base_config/objectives/pick_object_config.yaml b/src/picknik_ur_site_config/objectives/pick_object_config.yaml similarity index 100% rename from src/picknik_ur_base_config/objectives/pick_object_config.yaml rename to src/picknik_ur_site_config/objectives/pick_object_config.yaml diff --git a/src/picknik_ur_base_config/objectives/pick_place_object.xml b/src/picknik_ur_site_config/objectives/pick_place_object.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/pick_place_object.xml rename to src/picknik_ur_site_config/objectives/pick_place_object.xml diff --git a/src/picknik_ur_site_config/objectives/push_button_ml.xml b/src/picknik_ur_site_config/objectives/push_button_ml.xml new file mode 100644 index 00000000..cf9b76fe --- /dev/null +++ b/src/picknik_ur_site_config/objectives/push_button_ml.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/picknik_ur_base_config/objectives/take_snapshot.xml b/src/picknik_ur_site_config/objectives/take_snapshot.xml similarity index 100% rename from src/picknik_ur_base_config/objectives/take_snapshot.xml rename to src/picknik_ur_site_config/objectives/take_snapshot.xml diff --git a/src/picknik_ur_base_config/objectives/update_admittance_controller_config.yaml b/src/picknik_ur_site_config/objectives/update_admittance_controller_config.yaml similarity index 100% rename from src/picknik_ur_base_config/objectives/update_admittance_controller_config.yaml rename to src/picknik_ur_site_config/objectives/update_admittance_controller_config.yaml From 3bf2fca0780679027980ce2fd8e3c3f08adf90f5 Mon Sep 17 00:00:00 2001 From: Sebastian Castro Date: Fri, 7 Jul 2023 13:47:19 -0400 Subject: [PATCH 2/4] Update site config package and fix doc URLs --- src/moveit_studio_agent_examples/README.md | 2 +- src/picknik_ur_gazebo_config/README.md | 2 +- src/picknik_ur_site_config/README.md | 2 +- src/picknik_ur_site_config/config/config.yaml | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/moveit_studio_agent_examples/README.md b/src/moveit_studio_agent_examples/README.md index 7ce36d15..13399eb5 100644 --- a/src/moveit_studio_agent_examples/README.md +++ b/src/moveit_studio_agent_examples/README.md @@ -2,4 +2,4 @@ Provides Scripts to interact with MoveIt Studio Agent API programmatically. -Please see the [Interact with the Objective Server Directly](https://docs.picknik.ai/en/stable/how_to/interact_with_the_objective_server_directly/interact_with_the_objective_server_directly.html) tutorial for more information on these scripts and their use. +Please see the [Python API to externally trigger MoveIt Studio](https://docs.picknik.ai/en/stable/getting_started/basic_bt_tutorials/call_objective_from_application/interact_with_the_objective_server_directly.html) tutorial for more information on these scripts and their use. diff --git a/src/picknik_ur_gazebo_config/README.md b/src/picknik_ur_gazebo_config/README.md index e610b044..f48106ab 100644 --- a/src/picknik_ur_gazebo_config/README.md +++ b/src/picknik_ur_gazebo_config/README.md @@ -2,6 +2,6 @@ A MoveIt Studio site configuration for a UR5e simulated in Gazebo, based on the `picknik_ur_base_config` package. -This package follows the required structure described in [Creating a New Site Config Package](https://docs.picknik.ai/en/stable/concepts/config_package/config_package.html#creating-a-new-site-config-package), and may be used to add environments, Behaviors, and Objectives on top of the UR5e base configuration specified in `site_config.yaml`. +This package follows the required structure described in [Creating a New Site Config Package](https://docs.picknik.ai/en/stable/getting_started/configuration_tutorials/configure_custom_robot/config_package.html#creating-a-new-site-config-package), and may be used to add environments, Behaviors, and Objectives on top of the UR5e base configuration specified in `site_config.yaml`. For further documentation see: [MoveIt Studio Documentation](https://docs.picknik.ai/) diff --git a/src/picknik_ur_site_config/README.md b/src/picknik_ur_site_config/README.md index dc550c7c..78abfcd4 100644 --- a/src/picknik_ur_site_config/README.md +++ b/src/picknik_ur_site_config/README.md @@ -2,6 +2,6 @@ A MoveIt Studio site configuration for a UR5e based on the `picknik_ur_base_config` package. -This package follows the required structure described in [Creating a New Site Config Package](https://docs.picknik.ai/en/stable/concepts/config_package/config_package.html#creating-a-new-site-config-package), and may be used to add environments, Behaviors, and Objectives on top of the UR5e base configuration specified in `site_config.yaml`. +This package follows the required structure described in [Creating a New Site Config Package](https://docs.picknik.ai/en/stable/getting_started/configuration_tutorials/configure_custom_robot/config_package.html#creating-a-new-site-config-package), and may be used to add environments, Behaviors, and Objectives on top of the UR5e base configuration specified in `site_config.yaml`. For further documentation see: [MoveIt Studio Documentation](https://docs.picknik.ai/) diff --git a/src/picknik_ur_site_config/config/config.yaml b/src/picknik_ur_site_config/config/config.yaml index 29135335..e362dfc8 100644 --- a/src/picknik_ur_site_config/config/config.yaml +++ b/src/picknik_ur_site_config/config/config.yaml @@ -6,6 +6,11 @@ hardware: ip: "0.0.0.0" objectives: + behavior_loader_plugins: + visual_servo_behaviors: + - "moveit_visual_servo::behaviors::VisualServoBehaviorLoader" + gibson: + - "gibson_behavior::GibsonBehaviorsLoader" objective_library_paths: # You must use a unique key for each package. # The picknik_ur_base_config uses "core" From affda144923b956f12613b1886836cf59f79efb2 Mon Sep 17 00:00:00 2001 From: Sebastian Castro Date: Fri, 7 Jul 2023 13:52:09 -0400 Subject: [PATCH 3/4] Fix more doc URLs --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 69369c98..7200faa7 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ This is a sample user workspace for running MoveIt Studio with a generic Universal Robots 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 [here.](https://docs.picknik.ai/en/stable/concepts/config_package/config_package.html) +Instructions for building your own MoveIt Studio configuration can be found [here.](https://docs.picknik.ai/en/stable/getting_started/configuration_tutorials/configure_custom_robot/config_package.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. @@ -34,8 +34,8 @@ We recommend reviewing the [online documentation](https://docs.picknik.ai/en/sta # Launching a Mock Hardware Robot -**This repository assumes you have followed the [installation instructions online](https://docs.picknik.ai/en/stable/getting_started/software_installation/software_installation.html).** -If that is the case, follow [these instructions](https://docs.picknik.ai/en/stable/getting_started/configuring_moveit_studio/configuring_moveit_studio.html) for updating and running the configuration provided in this repository. +**This repository assumes you have followed the [installation instructions online](https://docs.picknik.ai/en/stable/getting_started/setup_tutorials/install_software/software_installation.html).** +If that is the case, follow [these instructions](https://docs.picknik.ai/en/stable/getting_started/setup_tutorials/configuring_moveit_studio/configuring_moveit_studio.html) for updating and running the configuration provided in this repository. Otherwise, it is left to the user to ensure that the prerequites from the installation process have been met. From 02abca38bf3980da2c5f661f3a17b27543489e3c Mon Sep 17 00:00:00 2001 From: Sebastian Castro Date: Fri, 7 Jul 2023 13:54:21 -0400 Subject: [PATCH 4/4] One more doc URL fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7200faa7..9a189b1e 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ MoveIt Studio supports two types of site configuration packages, a base config a [Site configs](src/picknik_ur_site_config/README.md) are used to override any parameters of the base configuration, or add additional features or constraints for a particular installation. This workspace offers a reasonable starting point for those users looking to develop with MoveIt Studio using custom base and site configurations. -For more information refer to the [online documentation](https://docs.picknik.ai/en/stable/concepts/config_package/config_package.html). +For more information refer to the [online documentation](https://docs.picknik.ai/en/stable/getting_started/configuration_tutorials/configure_custom_robot/config_package.html). ## Beyond site configurations