diff --git a/src/moveit_pro_ur_configs/mock_sim/config/config.yaml b/src/moveit_pro_ur_configs/mock_sim/config/config.yaml index 50ee2c93..08667648 100644 --- a/src/moveit_pro_ur_configs/mock_sim/config/config.yaml +++ b/src/moveit_pro_ur_configs/mock_sim/config/config.yaml @@ -27,3 +27,30 @@ objectives: mock_hardware_objectives: package_name: "mock_sim" relative_path: "objectives" + +ros2_control: + config: + package: "mock_sim" + path: "config/control/picknik_ur.ros2_control.yaml" + # MoveIt Pro will load and activate these controllers at start up to ensure they are available. + # If not specified, it is up to the user to ensure the appropriate controllers are active and available + # for running the application. + # [Optional, default=[]] + controllers_active_at_startup: + - "robotiq_gripper_controller" + - "joint_state_broadcaster" + - "servo_controller" + - "io_and_status_controller" + - "robotiq_activation_controller" + # Load but do not start these controllers so they can be activated later if needed. + # [Optional, default=[]] + controllers_inactive_at_startup: + - "joint_trajectory_controller" + - "joint_trajectory_admittance_controller" + - "velocity_force_controller" + # Any controllers here will not be spawned by MoveIt Pro. + # [Optional, default=[]] + controllers_not_managed: [] + # Optionally configure remapping rules to let multiple controllers receive commands on the same topic. + # [Optional, default=[]] + controller_shared_topics: [] diff --git a/src/moveit_pro_ur_configs/mock_sim/config/control/picknik_ur.ros2_control.yaml b/src/moveit_pro_ur_configs/mock_sim/config/control/picknik_ur.ros2_control.yaml new file mode 100644 index 00000000..d0298903 --- /dev/null +++ b/src/moveit_pro_ur_configs/mock_sim/config/control/picknik_ur.ros2_control.yaml @@ -0,0 +1,172 @@ +controller_manager: + ros__parameters: + update_rate: 600 # Hz + joint_state_broadcaster: + type: joint_state_broadcaster/JointStateBroadcaster + io_and_status_controller: + type: ur_controllers/GPIOController + joint_trajectory_controller: + type: joint_trajectory_controller/JointTrajectoryController + robotiq_gripper_controller: + type: position_controllers/GripperActionController + robotiq_activation_controller: + type: robotiq_controllers/RobotiqActivationController + servo_controller: + type: joint_trajectory_controller/JointTrajectoryController + joint_trajectory_admittance_controller: + type: joint_trajectory_admittance_controller/JointTrajectoryAdmittanceController + velocity_force_controller: + type: velocity_force_controller/VelocityForceController + +io_and_status_controller: + ros__parameters: + tf_prefix: "" + +joint_trajectory_controller: + 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 + command_joints: + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - 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.05 + shoulder_lift_joint: + goal: 0.05 + elbow_joint: + goal: 0.05 + wrist_1_joint: + goal: 0.05 + wrist_2_joint: + goal: 0.05 + wrist_3_joint: + goal: 0.05 + +servo_controller: + 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 + command_joints: + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - 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.05 + shoulder_lift_joint: + goal: 0.05 + elbow_joint: + goal: 0.05 + wrist_1_joint: + goal: 0.05 + wrist_2_joint: + goal: 0.05 + wrist_3_joint: + goal: 0.05 + +robotiq_gripper_controller: + ros__parameters: + default: true + joint: robotiq_85_left_knuckle_joint + allow_stalling: true + stall_timeout: 0.05 + goal_tolerance: 0.02 + +robotiq_activation_controller: + ros__parameters: + default: true + +joint_trajectory_admittance_controller: + ros__parameters: + joints: + - shoulder_pan_joint + - shoulder_lift_joint + - elbow_joint + - wrist_1_joint + - wrist_2_joint + - wrist_3_joint + base_frame: base_link + sensor_frame: tool0 + ee_frame: grasp_link + # Joint accelerations chosen to match MoveIt configs. + stop_accelerations: + - 30.0 + - 30.0 + - 30.0 + - 30.0 + - 30.0 + - 30.0 + +velocity_force_controller: + ros__parameters: + planning_group_name: manipulator + sensor_frame: tool0 + ee_frame: grasp_link + ft_force_deadband: 2.0 + ft_torque_deadband: 1.0 + max_joint_velocity: + - 0.524 + - 0.524 + - 0.524 + - 1.047 + - 1.047 + - 1.047 + max_joint_acceleration: + - 52.4 + - 52.4 + - 52.4 + - 52.4 + - 52.4 + - 52.4 + max_cartesian_velocity: + - 0.25 + - 0.25 + - 0.25 + - 1.5707 + - 1.5707 + - 1.5707 + max_cartesian_acceleration: + - 20.0 + - 20.0 + - 20.0 + - 40.0 + - 40.0 + - 40.0