diff --git a/src/factory_sim/config/config.yaml b/src/factory_sim/config/config.yaml index 07dae9f7..22ea1b84 100644 --- a/src/factory_sim/config/config.yaml +++ b/src/factory_sim/config/config.yaml @@ -80,6 +80,9 @@ moveit_params: pose_jog: package: "factory_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "factory_sim" + path: "config/joint_jog.yaml" publish: planning_scene: True geometry_updates: True @@ -112,6 +115,7 @@ ros2_control: controllers_inactive_at_startup: - "servo_controller" - "velocity_force_controller" + - "joint_velocity_controller" # Any controllers here will not be spawned by MoveIt Pro. # [Optional, default=[]] controllers_not_managed: [] diff --git a/src/factory_sim/config/control/picknik_fanuc.ros2_control.yaml b/src/factory_sim/config/control/picknik_fanuc.ros2_control.yaml index 6cc69113..627b4ba2 100644 --- a/src/factory_sim/config/control/picknik_fanuc.ros2_control.yaml +++ b/src/factory_sim/config/control/picknik_fanuc.ros2_control.yaml @@ -19,6 +19,8 @@ controller_manager: type: position_controllers/GripperActionController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController tool_attach_controller: ros__parameters: @@ -152,3 +154,31 @@ velocity_force_controller: command_timeout: 0.2 # Padding (in radians) to add to joint position limits as a safety margin. joint_limit_position_tolerance: 0.02 + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/factory_sim/config/joint_jog.yaml b/src/factory_sim/config/joint_jog.yaml new file mode 100644 index 00000000..6d80c7e9 --- /dev/null +++ b/src/factory_sim/config/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['joint_velocity_controller'] diff --git a/src/grinding_sim/config/config.yaml b/src/grinding_sim/config/config.yaml index b04e0128..b0e536bb 100644 --- a/src/grinding_sim/config/config.yaml +++ b/src/grinding_sim/config/config.yaml @@ -79,6 +79,9 @@ moveit_params: pose_jog: package: "grinding_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "grinding_sim" + path: "config/joint_jog.yaml" publish: planning_scene: True @@ -110,6 +113,7 @@ ros2_control: controllers_inactive_at_startup: - "servo_controller" - "velocity_force_controller" + - "joint_velocity_controller" # Configuration for loading behaviors and objectives. # [Required] diff --git a/src/grinding_sim/config/control/ur20.ros2_control.yaml b/src/grinding_sim/config/control/ur20.ros2_control.yaml index de7ca2cb..0071bbb5 100644 --- a/src/grinding_sim/config/control/ur20.ros2_control.yaml +++ b/src/grinding_sim/config/control/ur20.ros2_control.yaml @@ -9,6 +9,8 @@ controller_manager: type: joint_trajectory_controller/JointTrajectoryController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController joint_state_broadcaster: @@ -168,3 +170,31 @@ velocity_force_controller: command_timeout: 0.2 # Padding (in radians) to add to joint position limits as a safety margin. joint_limit_position_tolerance: 0.02 + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/grinding_sim/config/joint_jog.yaml b/src/grinding_sim/config/joint_jog.yaml new file mode 100644 index 00000000..6d80c7e9 --- /dev/null +++ b/src/grinding_sim/config/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['joint_velocity_controller'] diff --git a/src/hangar_sim/config/config.yaml b/src/hangar_sim/config/config.yaml index c1b32dc2..3358ee0a 100644 --- a/src/hangar_sim/config/config.yaml +++ b/src/hangar_sim/config/config.yaml @@ -50,6 +50,9 @@ moveit_params: pose_jog: package: "hangar_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "hangar_sim" + path: "config/joint_jog.yaml" # Configuration for loading behaviors and objectives. @@ -103,3 +106,5 @@ ros2_control: - "platform_velocity_controller_nav2" - "velocity_force_controller" - "arm_only_velocity_force_controller" + - "joint_velocity_controller" + - "arm_only_joint_velocity_controller" diff --git a/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml b/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml index 37ba503c..9ef1024c 100644 --- a/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml +++ b/src/hangar_sim/config/control/picknik_ur.ros2_control.yaml @@ -19,6 +19,10 @@ controller_manager: type: velocity_force_controller/VelocityForceController arm_only_velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController + arm_only_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController vacuum_gripper: ros__parameters: @@ -487,3 +491,82 @@ arm_only_velocity_force_controller: command_timeout: 0.2 # Padding (in radians) to add to joint position limits as a safety margin. joint_limit_position_tolerance: 0.02 + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + command_joints: + - platform_velocity_controller/linear_x_joint + - platform_velocity_controller/linear_y_joint + - platform_velocity_controller/rotational_yaw_joint + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - wrist_3_joint + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["velocity"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 + +arm_only_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: arm_only + command_joints: + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - wrist_3_joint + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["velocity"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/hangar_sim/config/joint_jog.yaml b/src/hangar_sim/config/joint_jog.yaml new file mode 100644 index 00000000..dc7e8653 --- /dev/null +++ b/src/hangar_sim/config/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator', 'arm_only'] +controllers: ['joint_velocity_controller', 'arm_only_joint_velocity_controller'] diff --git a/src/hangar_sim/objectives/request_teleoperation.xml b/src/hangar_sim/objectives/request_teleoperation.xml index f466d12a..6dd67ce6 100644 --- a/src/hangar_sim/objectives/request_teleoperation.xml +++ b/src/hangar_sim/objectives/request_teleoperation.xml @@ -185,10 +185,41 @@ - + + + + + + + + + + + + + + + + + diff --git a/src/lab_sim/config/config.yaml b/src/lab_sim/config/config.yaml index 85265ad4..c171748e 100644 --- a/src/lab_sim/config/config.yaml +++ b/src/lab_sim/config/config.yaml @@ -32,6 +32,9 @@ moveit_params: pose_jog: package: "lab_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "lab_sim" + path: "config/moveit/joint_jog.yaml" # Configuration for loading behaviors and objectives. # [Required] @@ -84,6 +87,7 @@ ros2_control: - "servo_controller" - "joint_trajectory_admittance_controller" - "velocity_force_controller" + - "joint_velocity_controller" # Any controllers here will not be spawned by MoveIt Pro. # [Optional, default=[]] controllers_not_managed: [] diff --git a/src/lab_sim/config/control/picknik_ur.ros2_control.yaml b/src/lab_sim/config/control/picknik_ur.ros2_control.yaml index 64d594b9..e8f08d14 100644 --- a/src/lab_sim/config/control/picknik_ur.ros2_control.yaml +++ b/src/lab_sim/config/control/picknik_ur.ros2_control.yaml @@ -15,6 +15,8 @@ controller_manager: type: joint_trajectory_admittance_controller/JointTrajectoryAdmittanceController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController joint_state_broadcaster: @@ -278,3 +280,33 @@ velocity_force_controller: # command_joints: [] # The type of command interface to use. Supported values are "position" and "velocity". command_interfaces: ["position"] + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/lab_sim/config/moveit/joint_jog.yaml b/src/lab_sim/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..6d80c7e9 --- /dev/null +++ b/src/lab_sim/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['joint_velocity_controller'] diff --git a/src/moveit_pro_franka_configs/franka_base_config/config/config.yaml b/src/moveit_pro_franka_configs/franka_base_config/config/config.yaml index dc864b68..6c1d7c37 100644 --- a/src/moveit_pro_franka_configs/franka_base_config/config/config.yaml +++ b/src/moveit_pro_franka_configs/franka_base_config/config/config.yaml @@ -45,6 +45,9 @@ moveit_params: pose_jog: package: "franka_base_config" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "franka_base_config" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True diff --git a/src/moveit_pro_franka_configs/franka_base_config/config/moveit/joint_jog.yaml b/src/moveit_pro_franka_configs/franka_base_config/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..2b29f600 --- /dev/null +++ b/src/moveit_pro_franka_configs/franka_base_config/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['velocity_force_controller'] diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/config.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/config.yaml index 19c11ece..3485abbb 100644 --- a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/config.yaml +++ b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/config.yaml @@ -77,6 +77,9 @@ moveit_params: pose_jog: package: "franka_dual_arm_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "franka_dual_arm_hw" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/left_franka_ros2_control.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/left_franka_ros2_control.yaml index a0b61fa4..dddf301a 100644 --- a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/left_franka_ros2_control.yaml +++ b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/left_franka_ros2_control.yaml @@ -7,6 +7,8 @@ controller_manager: type: joint_trajectory_controller/JointTrajectoryController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController franka_robot_state_broadcaster: type: franka_robot_state_broadcaster/FrankaRobotStateBroadcaster state_interfaces: @@ -117,3 +119,33 @@ velocity_force_controller: # command_joints: [] # The type of command interface to use. Supported values are "position" and "velocity". command_interfaces: ["position"] + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: left_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/right_franka_ros2_control.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/right_franka_ros2_control.yaml index a6d2dd20..7ee8dd5c 100644 --- a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/right_franka_ros2_control.yaml +++ b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/control/right_franka_ros2_control.yaml @@ -7,6 +7,8 @@ controller_manager: type: joint_trajectory_controller/JointTrajectoryController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController franka_robot_state_broadcaster: type: franka_robot_state_broadcaster/FrankaRobotStateBroadcaster state_interfaces: @@ -117,3 +119,33 @@ velocity_force_controller: # command_joints: [] # The type of command interface to use. Supported values are "position" and "velocity". command_interfaces: ["position"] + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: right_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/moveit/joint_jog.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..7efc0905 --- /dev/null +++ b/src/moveit_pro_franka_configs/franka_dual_arm_hw/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['left_manipulator', 'right_manipulator'] +controllers: ['joint_velocity_controller', 'joint_velocity_controller'] diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/config.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/config.yaml index 9994a274..e6e48772 100644 --- a/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/config.yaml +++ b/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/config.yaml @@ -72,6 +72,9 @@ moveit_params: pose_jog: package: "franka_dual_arm_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "franka_dual_arm_sim" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True @@ -140,6 +143,8 @@ ros2_control: #- "joint_trajectory_admittance_controller" - "left_velocity_force_controller" - "right_velocity_force_controller" + - "left_joint_velocity_controller" + - "right_joint_velocity_controller" - "servo_controller" - "left_joint_trajectory_controller" - "right_joint_trajectory_controller" diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/control/franka_ros2_control.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/control/franka_ros2_control.yaml index e17ed023..72a9f341 100644 --- a/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/control/franka_ros2_control.yaml +++ b/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/control/franka_ros2_control.yaml @@ -15,6 +15,10 @@ controller_manager: type: velocity_force_controller/VelocityForceController right_velocity_force_controller: type: velocity_force_controller/VelocityForceController + left_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController + right_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController left_gripper_controller: type: position_controllers/GripperActionController right_gripper_controller: @@ -310,3 +314,63 @@ right_velocity_force_controller: # command_joints: [] # The type of command interface to use. Supported values are "position" and "velocity". command_interfaces: ["position"] + +left_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: left_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 + +right_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: right_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/moveit/joint_jog.yaml b/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..7f65b3c1 --- /dev/null +++ b/src/moveit_pro_franka_configs/franka_dual_arm_sim/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['left_manipulator', 'right_manipulator'] +controllers: ['left_joint_velocity_controller', 'right_joint_velocity_controller'] diff --git a/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/config.yaml b/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/config.yaml index 5f043e98..8001ba5d 100644 --- a/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/config.yaml +++ b/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/config.yaml @@ -52,6 +52,9 @@ moveit_params: pose_jog: package: "kinova_gen3_site_config" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "kinova_gen3_site_config" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True @@ -90,3 +93,4 @@ ros2_control: - "joint_trajectory_controller" - "joint_trajectory_admittance_controller" - "velocity_force_controller" + - "joint_velocity_controller" diff --git a/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/control/picknik_kinova_gen3.ros2_control.yaml b/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/control/picknik_kinova_gen3.ros2_control.yaml index 2c990fc9..40053ebd 100644 --- a/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/control/picknik_kinova_gen3.ros2_control.yaml +++ b/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/control/picknik_kinova_gen3.ros2_control.yaml @@ -14,6 +14,8 @@ controller_manager: type: joint_trajectory_controller/JointTrajectoryController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController fault_controller: type: picknik_reset_fault_controller/PicknikResetFaultController @@ -155,3 +157,33 @@ velocity_force_controller: - 1.0 - 1.0 - 1.0 + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.6 + - 0.6 + - 0.6 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.6 + - 2.6 + - 2.6 + - 2.6 + - 5.0 + - 5.0 + - 5.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/moveit/joint_jog.yaml b/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..6d80c7e9 --- /dev/null +++ b/src/moveit_pro_kinova_configs/kinova_gen3_site_config/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['joint_velocity_controller'] diff --git a/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml b/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml index ae09b869..4e205e3f 100644 --- a/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml +++ b/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml @@ -100,6 +100,9 @@ moveit_params: pose_jog: package: "kinova_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "kinova_sim" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True @@ -133,6 +136,7 @@ ros2_control: - "joint_trajectory_controller" - "joint_trajectory_admittance_controller" - "velocity_force_controller" + - "joint_velocity_controller" # Any controllers here will not be spawned by MoveIt Pro. # [Optional, default=[]] controllers_not_managed: [] diff --git a/src/moveit_pro_kinova_configs/kinova_sim/config/control/picknik_kinova_gen3.ros2_control.yaml b/src/moveit_pro_kinova_configs/kinova_sim/config/control/picknik_kinova_gen3.ros2_control.yaml index 12e3e695..7818b30d 100644 --- a/src/moveit_pro_kinova_configs/kinova_sim/config/control/picknik_kinova_gen3.ros2_control.yaml +++ b/src/moveit_pro_kinova_configs/kinova_sim/config/control/picknik_kinova_gen3.ros2_control.yaml @@ -20,6 +20,8 @@ controller_manager: type: force_torque_sensor_broadcaster/ForceTorqueSensorBroadcaster velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController joint_trajectory_controller: ros__parameters: @@ -188,3 +190,33 @@ velocity_force_controller: - 40.0 - 40.0 - 40.0 + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 0.7 + - 0.7 + - 0.7 + - 0.7 + - 0.6 + - 0.6 + - 0.6 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.6 + - 2.6 + - 2.6 + - 2.6 + - 5.0 + - 5.0 + - 5.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_kinova_configs/kinova_sim/config/moveit/joint_jog.yaml b/src/moveit_pro_kinova_configs/kinova_sim/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..6d80c7e9 --- /dev/null +++ b/src/moveit_pro_kinova_configs/kinova_sim/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['joint_velocity_controller'] diff --git a/src/moveit_pro_ur_configs/multi_arm_sim/config/config.yaml b/src/moveit_pro_ur_configs/multi_arm_sim/config/config.yaml index 44519f1f..b127d115 100644 --- a/src/moveit_pro_ur_configs/multi_arm_sim/config/config.yaml +++ b/src/moveit_pro_ur_configs/multi_arm_sim/config/config.yaml @@ -102,6 +102,9 @@ moveit_params: pose_jog: package: "multi_arm_sim" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "multi_arm_sim" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True @@ -144,6 +147,10 @@ ros2_control: - "second_velocity_force_controller" - "third_velocity_force_controller" - "fourth_velocity_force_controller" + - "first_joint_velocity_controller" + - "second_joint_velocity_controller" + - "third_joint_velocity_controller" + - "fourth_joint_velocity_controller" # Any controllers here will not be spawned by MoveIt Pro. # [Optional, default=[]] controllers_not_managed: [] diff --git a/src/moveit_pro_ur_configs/multi_arm_sim/config/control/picknik_multi_ur.ros2_control.yaml b/src/moveit_pro_ur_configs/multi_arm_sim/config/control/picknik_multi_ur.ros2_control.yaml index 11667c81..e3173d22 100644 --- a/src/moveit_pro_ur_configs/multi_arm_sim/config/control/picknik_multi_ur.ros2_control.yaml +++ b/src/moveit_pro_ur_configs/multi_arm_sim/config/control/picknik_multi_ur.ros2_control.yaml @@ -31,6 +31,14 @@ controller_manager: type: velocity_force_controller/VelocityForceController fourth_velocity_force_controller: type: velocity_force_controller/VelocityForceController + first_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController + second_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController + third_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController + fourth_joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController first_io_and_status_controller: ros__parameters: @@ -558,3 +566,115 @@ fourth_velocity_force_controller: command_timeout: 0.2 # Padding (in radians) to add to joint position limits as a safety margin. joint_limit_position_tolerance: 0.02 + +first_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: first_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 + +second_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: second_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 + +third_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: third_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 + +fourth_joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: fourth_manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + - 2.0 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_ur_configs/multi_arm_sim/config/moveit/joint_jog.yaml b/src/moveit_pro_ur_configs/multi_arm_sim/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..8280c3ca --- /dev/null +++ b/src/moveit_pro_ur_configs/multi_arm_sim/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['first_manipulator', 'second_manipulator', 'third_manipulator', 'fourth_manipulator'] +controllers: ['first_joint_velocity_controller', 'second_joint_velocity_controller', 'third_joint_velocity_controller', 'fourth_joint_velocity_controller'] diff --git a/src/moveit_pro_ur_configs/picknik_ur_base_config/config/config.yaml b/src/moveit_pro_ur_configs/picknik_ur_base_config/config/config.yaml index 8a85c5d9..798889a4 100644 --- a/src/moveit_pro_ur_configs/picknik_ur_base_config/config/config.yaml +++ b/src/moveit_pro_ur_configs/picknik_ur_base_config/config/config.yaml @@ -115,6 +115,9 @@ moveit_params: pose_jog: package: "picknik_ur_base_config" path: "config/moveit/pose_jog.yaml" + joint_jog: + package: "picknik_ur_base_config" + path: "config/moveit/joint_jog.yaml" publish: planning_scene: True @@ -151,6 +154,7 @@ ros2_control: - "joint_trajectory_controller" - "joint_trajectory_admittance_controller" - "velocity_force_controller" + - "joint_velocity_controller" # Any controllers here will not be spawned by MoveIt Pro. # [Optional, default=[]] controllers_not_managed: [] diff --git a/src/moveit_pro_ur_configs/picknik_ur_base_config/config/control/picknik_ur.ros2_control.yaml b/src/moveit_pro_ur_configs/picknik_ur_base_config/config/control/picknik_ur.ros2_control.yaml index 25e61dc6..9eaf16c2 100644 --- a/src/moveit_pro_ur_configs/picknik_ur_base_config/config/control/picknik_ur.ros2_control.yaml +++ b/src/moveit_pro_ur_configs/picknik_ur_base_config/config/control/picknik_ur.ros2_control.yaml @@ -19,6 +19,8 @@ controller_manager: type: joint_trajectory_admittance_controller/JointTrajectoryAdmittanceController velocity_force_controller: type: velocity_force_controller/VelocityForceController + joint_velocity_controller: + type: joint_velocity_controller/JointVelocityController io_and_status_controller: ros__parameters: @@ -186,3 +188,31 @@ velocity_force_controller: - 40.0 - 40.0 - 40.0 + +joint_velocity_controller: + ros__parameters: + # Joint group to control. + planning_group_name: manipulator + # Maximum joint-space velocities. + max_joint_velocity: + - 0.524 + - 0.524 + - 0.524 + - 1.047 + - 1.047 + - 1.047 + # Maximum joint-space accelerations. + max_joint_acceleration: + - 52.4 + - 52.4 + - 52.4 + - 52.4 + - 52.4 + - 52.4 + command_interfaces: ["position"] + # Padding (in radians) to add to joint position limits as a safety margin. + joint_limit_position_tolerance: 0.02 + # Timeout in seconds after which the controller will stop motion if no new commands are received. + command_timeout: 0.2 + # Rate in Hz at which the controller will publish the state. + state_publish_rate: 20 diff --git a/src/moveit_pro_ur_configs/picknik_ur_base_config/config/moveit/joint_jog.yaml b/src/moveit_pro_ur_configs/picknik_ur_base_config/config/moveit/joint_jog.yaml new file mode 100644 index 00000000..6d80c7e9 --- /dev/null +++ b/src/moveit_pro_ur_configs/picknik_ur_base_config/config/moveit/joint_jog.yaml @@ -0,0 +1,4 @@ +# Planning groups to use in JointJog, and their corresponding JVC controllers. +# The number of elements in `planning_groups` and `controllers` must match. +planning_groups: ['manipulator'] +controllers: ['joint_velocity_controller']