From b99e72bd107154f0c93b0a8043bbc8ff15f55d85 Mon Sep 17 00:00:00 2001 From: Richard Pratt <43280770+rlpratt12@users.noreply.github.com> Date: Wed, 25 Sep 2024 13:14:43 -0600 Subject: [PATCH 01/14] Added default inputs to 'Request Teleoperation' behavior to match required inputs (#374) * Added default inputs to Request Teleoperation behavior to match required inputs. * Make precommit happy. --- .../objectives/request_teleoperation.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/picknik_ur_base_config/objectives/request_teleoperation.xml b/src/picknik_ur_base_config/objectives/request_teleoperation.xml index 99480365..c02a3506 100644 --- a/src/picknik_ur_base_config/objectives/request_teleoperation.xml +++ b/src/picknik_ur_base_config/objectives/request_teleoperation.xml @@ -167,4 +167,11 @@ + + + + + + + From 204888bc28cf0a0a8d36e6df3ba1b5a57859c014 Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Fri, 27 Sep 2024 11:41:43 -0600 Subject: [PATCH 02/14] Fix picknik_registration gcov linking issue (#376) --- src/external_dependencies/picknik_registration | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/external_dependencies/picknik_registration b/src/external_dependencies/picknik_registration index 7c654b0a..0111bcc7 160000 --- a/src/external_dependencies/picknik_registration +++ b/src/external_dependencies/picknik_registration @@ -1 +1 @@ -Subproject commit 7c654b0aa4c69ae39c4b3fa1e83d7a08aa8cad60 +Subproject commit 0111bcc7d1583bd307b65de0f81fa362166f1ac0 From 5b75ad9ee9973dd15f9038af56d6e2fd22a3697c Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Tue, 1 Oct 2024 09:25:06 -0600 Subject: [PATCH 03/14] Update UR hardware configs (#377) * Add required parameter in realsense launch file * Remove deprecated controllers and add base objectives so teleop works on hw config --- .../launch/pro_rs_launch.py | 11 +- src/picknik_ur_site_config/config/config.yaml | 2 - .../control/picknik_ur.ros2_control.yaml | 136 ------------------ 3 files changed, 10 insertions(+), 139 deletions(-) diff --git a/src/picknik_ur_base_config/launch/pro_rs_launch.py b/src/picknik_ur_base_config/launch/pro_rs_launch.py index 685f5bde..7aaec2b2 100644 --- a/src/picknik_ur_base_config/launch/pro_rs_launch.py +++ b/src/picknik_ur_base_config/launch/pro_rs_launch.py @@ -56,5 +56,14 @@ def generate_launch_description(): ) return LaunchDescription( rs_launch.declare_configurable_parameters(rs_launch.configurable_parameters) - + [OpaqueFunction(function=rs_launch.launch_setup)] + + [ + OpaqueFunction( + function=rs_launch.launch_setup, + kwargs={ + "params": rs_launch.set_configurable_parameters( + rs_launch.configurable_parameters + ) + }, + ) + ] ) diff --git a/src/picknik_ur_site_config/config/config.yaml b/src/picknik_ur_site_config/config/config.yaml index 575b8836..b722faeb 100644 --- a/src/picknik_ur_site_config/config/config.yaml +++ b/src/picknik_ur_site_config/config/config.yaml @@ -32,8 +32,6 @@ ros2_control: # [Optional, default=[]] controllers_inactive_at_startup: - "joint_trajectory_controller" - - "admittance_controller_open_door" - - "joint_trajectory_controller_chained_open_door" - "joint_trajectory_admittance_controller" - "velocity_force_controller" # Any controllers here will not be spawned by MoveIt Pro. diff --git a/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml b/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml index 138f849a..17851768 100644 --- a/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml +++ b/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml @@ -15,10 +15,6 @@ controller_manager: type: robotiq_controllers/RobotiqActivationController servo_controller: type: joint_trajectory_controller/JointTrajectoryController - admittance_controller_open_door: - type: admittance_controller/AdmittanceController - joint_trajectory_controller_chained_open_door: - type: joint_trajectory_controller/JointTrajectoryController joint_trajectory_admittance_controller: type: joint_trajectory_admittance_controller/JointTrajectoryAdmittanceController velocity_force_controller: @@ -81,47 +77,6 @@ joint_trajectory_controller: wrist_3_joint: goal: 0.05 -joint_trajectory_controller_chained_open_door: - ros__parameters: - joints: - - shoulder_pan_joint - - shoulder_lift_joint - - elbow_joint - - wrist_1_joint - - wrist_2_joint - - wrist_3_joint - command_interfaces: - - position - - velocity - state_interfaces: - - position - - velocity - command_joints: - - admittance_controller_open_door/shoulder_pan_joint - - admittance_controller_open_door/shoulder_lift_joint - - admittance_controller_open_door/elbow_joint - - admittance_controller_open_door/wrist_1_joint - - admittance_controller_open_door/wrist_2_joint - - admittance_controller_open_door/wrist_3_joint - state_publish_rate: 100.0 - action_monitor_rate: 20.0 - allow_partial_joints_goal: false - constraints: - stopped_velocity_tolerance: 0.0 - goal_time: 0.0 - shoulder_pan_joint: - goal: 0.25 - shoulder_lift_joint: - goal: 0.25 - elbow_joint: - goal: 0.25 - wrist_1_joint: - goal: 0.25 - wrist_2_joint: - goal: 0.25 - wrist_3_joint: - goal: 0.25 - servo_controller: ros__parameters: joints: @@ -172,97 +127,6 @@ robotiq_activation_controller: ros__parameters: default: true -admittance_controller_open_door: - ros__parameters: - joints: - - shoulder_pan_joint - - shoulder_lift_joint - - elbow_joint - - wrist_1_joint - - wrist_2_joint - - wrist_3_joint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - chainable_command_interfaces: - - position - - velocity - - kinematics: - plugin_name: kinematics_interface_kdl/KinematicsInterfaceKDL - plugin_package: kinematics_interface - base: base_link # Assumed to be stationary - tip: grasp_link # The end effector frame - alpha: 0.05 - - ft_sensor: - name: tcp_fts_sensor - frame: - id: wrist_3_link # Wrench measurements are in this frame - filter_coefficient: 0.1 - - control: - frame: - id: grasp_link # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector - - fixed_world_frame: - frame: # Gravity points down (neg. Z) in this frame (Usually: world or base_link) - id: base_link # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector - - gravity_compensation: - frame: - id: wrist_3_link - - CoG: # specifies the center of gravity of the end effector - pos: - - 0.1 # x - - 0.0 # y - - 0.0 # z - force: 0.0 # mass * 9.81 - - admittance: - selected_axes: - - true # x - - true # y - - true # z - - true # rx - - true # ry - - true # rz - - # Having ".0" at the end is MUST, otherwise there is a loading error - # F = M*a + D*v + S*(x - x_d) - mass: - - 10.0 # x - - 10.0 # y - - 10.0 # z - - 5.0 # rx - - 5.0 # ry - - 5.0 # rz - - damping_ratio: # damping can be used instead: zeta = D / (2 * sqrt( M * S )) - - 5.0 # x - - 5.0 # y - - 5.0 # z - - 5.0 # rx - - 5.0 # ry - - 5.0 # rz - - stiffness: - - 500.0 # x - - 500.0 # y - - 500.0 # z - - 100.0 # rx - - 100.0 # ry - - 100.0 # rz - - # general settings - enable_parameter_update_without_reactivation: true - joint_trajectory_admittance_controller: ros__parameters: joints: From e8400ee1f1b68fea46aa8ea675cb9710ac8a965c Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Tue, 8 Oct 2024 16:41:27 -0600 Subject: [PATCH 04/14] Reduce build time and chance of OOM by removing unnecessary sources dependencies (#380) Co-authored-by: Nathan Brooks --- .gitmodules | 8 -------- src/external_dependencies/LMS1xx | 1 - src/external_dependencies/gz_ros2_control | 1 - 3 files changed, 10 deletions(-) delete mode 160000 src/external_dependencies/LMS1xx delete mode 160000 src/external_dependencies/gz_ros2_control diff --git a/.gitmodules b/.gitmodules index 3a0ee973..73b88210 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,14 +10,6 @@ path = src/external_dependencies/serial url = https://github.com/tylerjw/serial.git branch = ros2 -[submodule "src/external_dependencies/gz_ros2_control"] - path = src/external_dependencies/gz_ros2_control - url = https://github.com/PickNikRobotics/gz_ros2_control.git - branch = mimic-joint-feature-humble -[submodule "src/external_dependencies/LMS1xx"] - path = src/external_dependencies/LMS1xx - url = https://github.com/clearpathrobotics/LMS1xx.git - branch = humble-devel [submodule "src/external_dependencies/ridgeback"] path = src/external_dependencies/ridgeback url = https://github.com/sjahr/ridgeback.git diff --git a/src/external_dependencies/LMS1xx b/src/external_dependencies/LMS1xx deleted file mode 160000 index 90001ac2..00000000 --- a/src/external_dependencies/LMS1xx +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 90001ac2849c9f6ab9ca9bbfeb816f9b66f966de diff --git a/src/external_dependencies/gz_ros2_control b/src/external_dependencies/gz_ros2_control deleted file mode 160000 index 1cffeb4f..00000000 --- a/src/external_dependencies/gz_ros2_control +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1cffeb4f986ac6f45dddb3560e187813b775aead From bd6bb7aefaaa52bf63171dd0a4c0304e766f4b0a Mon Sep 17 00:00:00 2001 From: parallels Date: Tue, 8 Oct 2024 21:38:58 -0600 Subject: [PATCH 05/14] removed switch primary view on teleop joint jog --- .../objectives/request_teleoperation.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/picknik_ur_base_config/objectives/request_teleoperation.xml b/src/picknik_ur_base_config/objectives/request_teleoperation.xml index 99480365..047af241 100644 --- a/src/picknik_ur_base_config/objectives/request_teleoperation.xml +++ b/src/picknik_ur_base_config/objectives/request_teleoperation.xml @@ -30,10 +30,10 @@ - + /> --> Date: Tue, 8 Oct 2024 22:08:20 -0600 Subject: [PATCH 06/14] update teleop 1 to not alter primary view --- .../objectives/request_teleoperation.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/picknik_ur_base_config/objectives/request_teleoperation.xml b/src/picknik_ur_base_config/objectives/request_teleoperation.xml index 047af241..3b86e5ce 100644 --- a/src/picknik_ur_base_config/objectives/request_teleoperation.xml +++ b/src/picknik_ur_base_config/objectives/request_teleoperation.xml @@ -153,10 +153,10 @@ /> - + /> --> Date: Tue, 8 Oct 2024 22:37:16 -0600 Subject: [PATCH 07/14] removed switch primary view from joint slider controls to allow multi pane fluidity --- .../objectives/request_teleoperation.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/picknik_ur_base_config/objectives/request_teleoperation.xml b/src/picknik_ur_base_config/objectives/request_teleoperation.xml index 3b86e5ce..b34b6226 100644 --- a/src/picknik_ur_base_config/objectives/request_teleoperation.xml +++ b/src/picknik_ur_base_config/objectives/request_teleoperation.xml @@ -30,10 +30,6 @@ - - Date: Fri, 11 Oct 2024 17:01:25 -0600 Subject: [PATCH 08/14] Update dynamic parameters (#384) Signed-off-by: Paul Gesel --- .../config/moveit/hard_joint_limits.yaml | 10 +++++----- src/arm_on_rail_sim/description/ur5e.xml | 10 +++++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/arm_on_rail_sim/config/moveit/hard_joint_limits.yaml b/src/arm_on_rail_sim/config/moveit/hard_joint_limits.yaml index 60ddbf2c..53b218df 100644 --- a/src/arm_on_rail_sim/config/moveit/hard_joint_limits.yaml +++ b/src/arm_on_rail_sim/config/moveit/hard_joint_limits.yaml @@ -15,7 +15,7 @@ joint_limits: has_effort_limits: true has_position_limits: true has_velocity_limits: true - max_acceleration: 0.1 + max_acceleration: 10.0 max_effort: 150.0 max_position: 2.9 max_velocity: 0.175 @@ -25,7 +25,7 @@ joint_limits: has_effort_limits: true has_position_limits: true has_velocity_limits: true - max_acceleration: !degrees 90.0 + max_acceleration: !degrees 180.0 max_effort: 150.0 max_position: !degrees 180.0 max_velocity: !degrees 30.0 @@ -35,7 +35,7 @@ joint_limits: has_effort_limits: true has_position_limits: true has_velocity_limits: true - max_acceleration: !degrees 90.0 + max_acceleration: !degrees 180.0 max_effort: 150.0 max_position: !degrees 90.0 max_velocity: !degrees 30.0 @@ -45,7 +45,7 @@ joint_limits: has_effort_limits: true has_position_limits: true has_velocity_limits: true - max_acceleration: !degrees 90.0 + max_acceleration: !degrees 180.0 max_effort: 150.0 # we artificially limit this joint to half its actual joint position limit # to avoid (MoveIt/OMPL) planning problems, as due to the physical @@ -65,7 +65,7 @@ joint_limits: has_effort_limits: true has_position_limits: true has_velocity_limits: true - max_acceleration: !degrees 90.0 + max_acceleration: !degrees 180.0 max_effort: 28.0 max_position: !degrees 180.0 max_velocity: !degrees 60.0 diff --git a/src/arm_on_rail_sim/description/ur5e.xml b/src/arm_on_rail_sim/description/ur5e.xml index 4e6f28c3..5970e239 100644 --- a/src/arm_on_rail_sim/description/ur5e.xml +++ b/src/arm_on_rail_sim/description/ur5e.xml @@ -11,8 +11,8 @@ gaintype="fixed" biastype="affine" ctrlrange="-6.2831 6.2831" - gainprm="2000" - biasprm="0 -2000 -400" + gainprm="20000" + biasprm="0 -20000 -1000" forcerange="-150 150" /> @@ -22,7 +22,11 @@ - + From 00920dd0d3cdb326d19b638108b561a830b22f41 Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Wed, 16 Oct 2024 11:37:03 -0600 Subject: [PATCH 09/14] Merge v6.2 into main (#387) --- .../launch/pro_rs_launch.py | 11 +- .../objectives/request_teleoperation.xml | 7 + src/picknik_ur_site_config/config/config.yaml | 2 - .../control/picknik_ur.ros2_control.yaml | 136 ------------------ 4 files changed, 17 insertions(+), 139 deletions(-) diff --git a/src/picknik_ur_base_config/launch/pro_rs_launch.py b/src/picknik_ur_base_config/launch/pro_rs_launch.py index 685f5bde..7aaec2b2 100644 --- a/src/picknik_ur_base_config/launch/pro_rs_launch.py +++ b/src/picknik_ur_base_config/launch/pro_rs_launch.py @@ -56,5 +56,14 @@ def generate_launch_description(): ) return LaunchDescription( rs_launch.declare_configurable_parameters(rs_launch.configurable_parameters) - + [OpaqueFunction(function=rs_launch.launch_setup)] + + [ + OpaqueFunction( + function=rs_launch.launch_setup, + kwargs={ + "params": rs_launch.set_configurable_parameters( + rs_launch.configurable_parameters + ) + }, + ) + ] ) diff --git a/src/picknik_ur_base_config/objectives/request_teleoperation.xml b/src/picknik_ur_base_config/objectives/request_teleoperation.xml index 99480365..c02a3506 100644 --- a/src/picknik_ur_base_config/objectives/request_teleoperation.xml +++ b/src/picknik_ur_base_config/objectives/request_teleoperation.xml @@ -167,4 +167,11 @@ + + + + + + + diff --git a/src/picknik_ur_site_config/config/config.yaml b/src/picknik_ur_site_config/config/config.yaml index 575b8836..b722faeb 100644 --- a/src/picknik_ur_site_config/config/config.yaml +++ b/src/picknik_ur_site_config/config/config.yaml @@ -32,8 +32,6 @@ ros2_control: # [Optional, default=[]] controllers_inactive_at_startup: - "joint_trajectory_controller" - - "admittance_controller_open_door" - - "joint_trajectory_controller_chained_open_door" - "joint_trajectory_admittance_controller" - "velocity_force_controller" # Any controllers here will not be spawned by MoveIt Pro. diff --git a/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml b/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml index 138f849a..17851768 100644 --- a/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml +++ b/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml @@ -15,10 +15,6 @@ controller_manager: type: robotiq_controllers/RobotiqActivationController servo_controller: type: joint_trajectory_controller/JointTrajectoryController - admittance_controller_open_door: - type: admittance_controller/AdmittanceController - joint_trajectory_controller_chained_open_door: - type: joint_trajectory_controller/JointTrajectoryController joint_trajectory_admittance_controller: type: joint_trajectory_admittance_controller/JointTrajectoryAdmittanceController velocity_force_controller: @@ -81,47 +77,6 @@ joint_trajectory_controller: wrist_3_joint: goal: 0.05 -joint_trajectory_controller_chained_open_door: - ros__parameters: - joints: - - shoulder_pan_joint - - shoulder_lift_joint - - elbow_joint - - wrist_1_joint - - wrist_2_joint - - wrist_3_joint - command_interfaces: - - position - - velocity - state_interfaces: - - position - - velocity - command_joints: - - admittance_controller_open_door/shoulder_pan_joint - - admittance_controller_open_door/shoulder_lift_joint - - admittance_controller_open_door/elbow_joint - - admittance_controller_open_door/wrist_1_joint - - admittance_controller_open_door/wrist_2_joint - - admittance_controller_open_door/wrist_3_joint - state_publish_rate: 100.0 - action_monitor_rate: 20.0 - allow_partial_joints_goal: false - constraints: - stopped_velocity_tolerance: 0.0 - goal_time: 0.0 - shoulder_pan_joint: - goal: 0.25 - shoulder_lift_joint: - goal: 0.25 - elbow_joint: - goal: 0.25 - wrist_1_joint: - goal: 0.25 - wrist_2_joint: - goal: 0.25 - wrist_3_joint: - goal: 0.25 - servo_controller: ros__parameters: joints: @@ -172,97 +127,6 @@ robotiq_activation_controller: ros__parameters: default: true -admittance_controller_open_door: - ros__parameters: - joints: - - shoulder_pan_joint - - shoulder_lift_joint - - elbow_joint - - wrist_1_joint - - wrist_2_joint - - wrist_3_joint - - command_interfaces: - - position - - state_interfaces: - - position - - velocity - - chainable_command_interfaces: - - position - - velocity - - kinematics: - plugin_name: kinematics_interface_kdl/KinematicsInterfaceKDL - plugin_package: kinematics_interface - base: base_link # Assumed to be stationary - tip: grasp_link # The end effector frame - alpha: 0.05 - - ft_sensor: - name: tcp_fts_sensor - frame: - id: wrist_3_link # Wrench measurements are in this frame - filter_coefficient: 0.1 - - control: - frame: - id: grasp_link # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector - - fixed_world_frame: - frame: # Gravity points down (neg. Z) in this frame (Usually: world or base_link) - id: base_link # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector - - gravity_compensation: - frame: - id: wrist_3_link - - CoG: # specifies the center of gravity of the end effector - pos: - - 0.1 # x - - 0.0 # y - - 0.0 # z - force: 0.0 # mass * 9.81 - - admittance: - selected_axes: - - true # x - - true # y - - true # z - - true # rx - - true # ry - - true # rz - - # Having ".0" at the end is MUST, otherwise there is a loading error - # F = M*a + D*v + S*(x - x_d) - mass: - - 10.0 # x - - 10.0 # y - - 10.0 # z - - 5.0 # rx - - 5.0 # ry - - 5.0 # rz - - damping_ratio: # damping can be used instead: zeta = D / (2 * sqrt( M * S )) - - 5.0 # x - - 5.0 # y - - 5.0 # z - - 5.0 # rx - - 5.0 # ry - - 5.0 # rz - - stiffness: - - 500.0 # x - - 500.0 # y - - 500.0 # z - - 100.0 # rx - - 100.0 # ry - - 100.0 # rz - - # general settings - enable_parameter_update_without_reactivation: true - joint_trajectory_admittance_controller: ros__parameters: joints: From 6ce1935177b1cb91d259f215da681b2d3a5added Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Wed, 16 Oct 2024 11:44:18 -0600 Subject: [PATCH 10/14] Revert "Merge v6.2 into main (#387)" This reverts commit 00920dd0d3cdb326d19b638108b561a830b22f41. --- .../launch/pro_rs_launch.py | 11 +- .../objectives/request_teleoperation.xml | 7 - src/picknik_ur_site_config/config/config.yaml | 2 + .../control/picknik_ur.ros2_control.yaml | 136 ++++++++++++++++++ 4 files changed, 139 insertions(+), 17 deletions(-) diff --git a/src/picknik_ur_base_config/launch/pro_rs_launch.py b/src/picknik_ur_base_config/launch/pro_rs_launch.py index 7aaec2b2..685f5bde 100644 --- a/src/picknik_ur_base_config/launch/pro_rs_launch.py +++ b/src/picknik_ur_base_config/launch/pro_rs_launch.py @@ -56,14 +56,5 @@ def generate_launch_description(): ) return LaunchDescription( rs_launch.declare_configurable_parameters(rs_launch.configurable_parameters) - + [ - OpaqueFunction( - function=rs_launch.launch_setup, - kwargs={ - "params": rs_launch.set_configurable_parameters( - rs_launch.configurable_parameters - ) - }, - ) - ] + + [OpaqueFunction(function=rs_launch.launch_setup)] ) diff --git a/src/picknik_ur_base_config/objectives/request_teleoperation.xml b/src/picknik_ur_base_config/objectives/request_teleoperation.xml index c02a3506..99480365 100644 --- a/src/picknik_ur_base_config/objectives/request_teleoperation.xml +++ b/src/picknik_ur_base_config/objectives/request_teleoperation.xml @@ -167,11 +167,4 @@ - - - - - - - diff --git a/src/picknik_ur_site_config/config/config.yaml b/src/picknik_ur_site_config/config/config.yaml index b722faeb..575b8836 100644 --- a/src/picknik_ur_site_config/config/config.yaml +++ b/src/picknik_ur_site_config/config/config.yaml @@ -32,6 +32,8 @@ ros2_control: # [Optional, default=[]] controllers_inactive_at_startup: - "joint_trajectory_controller" + - "admittance_controller_open_door" + - "joint_trajectory_controller_chained_open_door" - "joint_trajectory_admittance_controller" - "velocity_force_controller" # Any controllers here will not be spawned by MoveIt Pro. diff --git a/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml b/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml index 17851768..138f849a 100644 --- a/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml +++ b/src/picknik_ur_site_config/config/control/picknik_ur.ros2_control.yaml @@ -15,6 +15,10 @@ controller_manager: type: robotiq_controllers/RobotiqActivationController servo_controller: type: joint_trajectory_controller/JointTrajectoryController + admittance_controller_open_door: + type: admittance_controller/AdmittanceController + joint_trajectory_controller_chained_open_door: + type: joint_trajectory_controller/JointTrajectoryController joint_trajectory_admittance_controller: type: joint_trajectory_admittance_controller/JointTrajectoryAdmittanceController velocity_force_controller: @@ -77,6 +81,47 @@ joint_trajectory_controller: wrist_3_joint: goal: 0.05 +joint_trajectory_controller_chained_open_door: + ros__parameters: + joints: + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - wrist_3_joint + command_interfaces: + - position + - velocity + state_interfaces: + - position + - velocity + command_joints: + - admittance_controller_open_door/shoulder_pan_joint + - admittance_controller_open_door/shoulder_lift_joint + - admittance_controller_open_door/elbow_joint + - admittance_controller_open_door/wrist_1_joint + - admittance_controller_open_door/wrist_2_joint + - admittance_controller_open_door/wrist_3_joint + state_publish_rate: 100.0 + action_monitor_rate: 20.0 + allow_partial_joints_goal: false + constraints: + stopped_velocity_tolerance: 0.0 + goal_time: 0.0 + shoulder_pan_joint: + goal: 0.25 + shoulder_lift_joint: + goal: 0.25 + elbow_joint: + goal: 0.25 + wrist_1_joint: + goal: 0.25 + wrist_2_joint: + goal: 0.25 + wrist_3_joint: + goal: 0.25 + servo_controller: ros__parameters: joints: @@ -127,6 +172,97 @@ robotiq_activation_controller: ros__parameters: default: true +admittance_controller_open_door: + ros__parameters: + joints: + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - wrist_3_joint + + command_interfaces: + - position + + state_interfaces: + - position + - velocity + + chainable_command_interfaces: + - position + - velocity + + kinematics: + plugin_name: kinematics_interface_kdl/KinematicsInterfaceKDL + plugin_package: kinematics_interface + base: base_link # Assumed to be stationary + tip: grasp_link # The end effector frame + alpha: 0.05 + + ft_sensor: + name: tcp_fts_sensor + frame: + id: wrist_3_link # Wrench measurements are in this frame + filter_coefficient: 0.1 + + control: + frame: + id: grasp_link # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector + + fixed_world_frame: + frame: # Gravity points down (neg. Z) in this frame (Usually: world or base_link) + id: base_link # Admittance calcs (displacement etc) are done in this frame. Usually the tool or end-effector + + gravity_compensation: + frame: + id: wrist_3_link + + CoG: # specifies the center of gravity of the end effector + pos: + - 0.1 # x + - 0.0 # y + - 0.0 # z + force: 0.0 # mass * 9.81 + + admittance: + selected_axes: + - true # x + - true # y + - true # z + - true # rx + - true # ry + - true # rz + + # Having ".0" at the end is MUST, otherwise there is a loading error + # F = M*a + D*v + S*(x - x_d) + mass: + - 10.0 # x + - 10.0 # y + - 10.0 # z + - 5.0 # rx + - 5.0 # ry + - 5.0 # rz + + damping_ratio: # damping can be used instead: zeta = D / (2 * sqrt( M * S )) + - 5.0 # x + - 5.0 # y + - 5.0 # z + - 5.0 # rx + - 5.0 # ry + - 5.0 # rz + + stiffness: + - 500.0 # x + - 500.0 # y + - 500.0 # z + - 100.0 # rx + - 100.0 # ry + - 100.0 # rz + + # general settings + enable_parameter_update_without_reactivation: true + joint_trajectory_admittance_controller: ros__parameters: joints: From bd2bd59f440d0def9928650a8cf69751f5a22ecc Mon Sep 17 00:00:00 2001 From: David Yackzan Date: Thu, 17 Oct 2024 11:32:10 -0600 Subject: [PATCH 11/14] Fix conflicting behavior IDs in ur_site_config (#389) --- .../objectives/close_cabinet_door.xml | 61 +----------------- .../objectives/push_button.xml | 61 +----------------- .../objectives/push_button_ml.xml | 62 +----------------- .../objectives/retreat_to_initial_pose.xml | 64 +++++++++++++++++++ 4 files changed, 70 insertions(+), 178 deletions(-) create mode 100644 src/picknik_ur_site_config/objectives/retreat_to_initial_pose.xml 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 0c52d689..fcca6052 100644 --- a/src/picknik_ur_site_config/objectives/close_cabinet_door.xml +++ b/src/picknik_ur_site_config/objectives/close_cabinet_door.xml @@ -6,7 +6,7 @@ > - + - - - - - - - - - - - - - - - - - diff --git a/src/picknik_ur_site_config/objectives/push_button.xml b/src/picknik_ur_site_config/objectives/push_button.xml index 21de49d5..2c6e75e9 100644 --- a/src/picknik_ur_site_config/objectives/push_button.xml +++ b/src/picknik_ur_site_config/objectives/push_button.xml @@ -6,7 +6,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 c99a0349..53359d83 100644 --- a/src/picknik_ur_site_config/objectives/push_button_ml.xml +++ b/src/picknik_ur_site_config/objectives/push_button_ml.xml @@ -94,7 +94,7 @@ graspable_object="{button}" pose="{button_pose}" /> - + - - - - - - - - - - - - - - - - - diff --git a/src/picknik_ur_site_config/objectives/retreat_to_initial_pose.xml b/src/picknik_ur_site_config/objectives/retreat_to_initial_pose.xml new file mode 100644 index 00000000..ee4c82a9 --- /dev/null +++ b/src/picknik_ur_site_config/objectives/retreat_to_initial_pose.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + From 859061b7a6aae06025cdd675272f68b9483a0d52 Mon Sep 17 00:00:00 2001 From: Michael Wrock Date: Thu, 17 Oct 2024 14:01:48 -0700 Subject: [PATCH 12/14] Update Dockerfile (#386) Co-authored-by: Chance Cardona <41308677+chancecardona@users.noreply.github.com> --- Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 73d55590..8006e4e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -119,10 +119,6 @@ ENV USER_WS=${USER_WS} # Compile the workspace WORKDIR $USER_WS -# hadolint ignore=SC1091 -RUN --mount=type=cache,target=/home/${USERNAME}/.ccache \ - . /opt/overlay_ws/install/setup.sh && \ - colcon build # Set up the user's .bashrc file and shell. CMD ["/usr/bin/bash"] From 6facf496f900a8f1427f287752986cd7efc5ab7d Mon Sep 17 00:00:00 2001 From: Chance Cardona <41308677+chancecardona@users.noreply.github.com> Date: Fri, 18 Oct 2024 19:13:08 -0600 Subject: [PATCH 13/14] Update Submodules (#390) * Update picknik_accessories, picknik_registration, ros2_robotiq_gripper * point robotiq to fixed humble --- src/external_dependencies/picknik_accessories | 2 +- src/external_dependencies/picknik_registration | 2 +- src/external_dependencies/ros2_robotiq_gripper | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/external_dependencies/picknik_accessories b/src/external_dependencies/picknik_accessories index fcdb1ff8..c8f11ba1 160000 --- a/src/external_dependencies/picknik_accessories +++ b/src/external_dependencies/picknik_accessories @@ -1 +1 @@ -Subproject commit fcdb1ff8b729c93dbd5f15a09c33098b32caeac5 +Subproject commit c8f11ba132ff65ea41c1fe1f2623e0ed56fa16dd diff --git a/src/external_dependencies/picknik_registration b/src/external_dependencies/picknik_registration index 5ce93428..220e5c96 160000 --- a/src/external_dependencies/picknik_registration +++ b/src/external_dependencies/picknik_registration @@ -1 +1 @@ -Subproject commit 5ce934289fddcdf84a13fc6b569d10c50a7f5da1 +Subproject commit 220e5c96aac04bf4879b4106f16238fee2a46825 diff --git a/src/external_dependencies/ros2_robotiq_gripper b/src/external_dependencies/ros2_robotiq_gripper index 93ecde7f..2ff85455 160000 --- a/src/external_dependencies/ros2_robotiq_gripper +++ b/src/external_dependencies/ros2_robotiq_gripper @@ -1 +1 @@ -Subproject commit 93ecde7f66499d56e620d775eb984345889532aa +Subproject commit 2ff85455d4b9f973c4b0bab1ce95fb09367f0d26 From f4be1bf40a52c083fd39671c444fd3e6dea347db Mon Sep 17 00:00:00 2001 From: Chance Cardona <41308677+chancecardona@users.noreply.github.com> Date: Fri, 25 Oct 2024 17:25:11 -0600 Subject: [PATCH 14/14] Clean some ARGS in Dockerfile (#391) * Clean dockerfile args --- Dockerfile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8006e4e0..5e25c508 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,10 +6,7 @@ # # Specify the MoveIt Pro release to build on top of. -ARG MOVEIT_STUDIO_BASE_IMAGE -ARG USERNAME=studio-user -ARG USER_UID=1000 -ARG USER_GID=1000 +ARG MOVEIT_STUDIO_BASE_IMAGE=main ################################################## # Starting from the specified MoveIt Pro release # @@ -22,7 +19,6 @@ FROM ${MOVEIT_STUDIO_BASE_IMAGE} AS base ARG USERNAME ARG USER_UID ARG USER_GID - # Copy source code from the workspace's ROS 2 packages to a workspace inside the container ARG USER_WS=/home/${USERNAME}/user_ws ENV USER_WS=${USER_WS}