robotiq
robotiq copied to clipboard
Issue withs setting up ROS2 robotiq epick drivers from piknick
Hi! I am trying to setup the e_pick ros2 driivers from piknick https://github.com/PickNikRobotics/ros2_epick_gripper. I am trying to integrate it with a UR10e robot that I can communicate with using ROS2 humble with the ROS2 UR drivers. I have followed the setup instructions, and added he controller to my controller.yaml
file :
controller_manager:
ros__parameters:
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
io_and_status_controller:
type: ur_controllers/GPIOController
speed_scaling_state_broadcaster:
type: ur_controllers/SpeedScalingStateBroadcaster
force_torque_sensor_broadcaster:
type: force_torque_sensor_broadcaster/ForceTorqueSensorBroadcaster
joint_trajectory_controller:
type: joint_trajectory_controller/JointTrajectoryController
scaled_joint_trajectory_controller:
type: ur_controllers/ScaledJointTrajectoryController
forward_velocity_controller:
type: velocity_controllers/JointGroupVelocityController
forward_position_controller:
type: position_controllers/JointGroupPositionController
# gripper_controller:
# type: position_controllers/GripperActionController
epick_controller:
type: epick_controllers/EpickController
I have updated my launch file to include the eick_gripper.launch.py file
vaccum_gripper_launch = IncludeLaunchDescription(
PythonLaunchDescriptionSource(
PathJoinSubstitution(
[
FindPackageShare("epick_description"),
"launch",
"epick_gripper.launch.py"
]
)
),
launch_arguments={
"description_package_param": "ur_description",
"description_file_param" : "ur.urdf.xacro",
"controllers_package" : "ur_robot_driver",
"controllers_config_file_param" : "controllers.yaml",
}.items(),
)
I have added it to the controller_spawner list :
controller_spawner_names = [
"joint_state_broadcaster",
"io_and_status_controller",
"speed_scaling_state_broadcaster",
"force_torque_sensor_broadcaster",
"epick_controller",
]
controller_spawners = [controller_spawner(name) for name in controller_spawner_names] + [
controller_spawner(name, active=False) for name in controller_spawner_inactive_names
]
On launching the robot I am having the following isseues :
I also get a lot of [ERROR] [1719575918.998948099] [UR_Client_Library:]: Pipeline producer overflowed! <Pipeline>
errors.
Since I had an error saying the tye of the controller was not found I added the follwoing to the epick_gripper.launch.py file :
epick_controller_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=["epick_gripper_action_controller",
"-c", "/controller_manager",
"-t", "epick_controllers/EpickGripperActionController"
],
)
epick_status_controller_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=["epick_status_publisher_controller", "-c", "/controller_manager",
"-t", "epick_controllers/EpickStatusPublisherController"
],
)
On relaunching the robot, I no longer have the type issue but the controller still fails to activate, here are the logs :
[ur_ros2_control_node-1] [ERROR] [1719578549.617717056] [controller_manager]: Can't activate controller 'epick_status_publisher_controller': State interface with key 'gripper/object_detection_status' does not exist
[spawner-14] [INFO] [1719578549.623426428] [spawner_force_torque_sensor_broadcaster]: Configured and activated force_torque_sensor_broadcaster
[spawner-12] [INFO] [1719578549.624258477] [spawner_io_and_status_controller]: Configured and activated io_and_status_controller
[spawner-9] [INFO] [1719578549.639076731] [spawner_epick_status_publisher_controller]: Configured and activated epick_status_publisher_controller
[spawner-6] [INFO] [1719578549.640196009] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [ERROR] [1719578549.646959416] [resource_manager]: Not acceptable command interfaces combination:
[ur_ros2_control_node-1] Start interfaces:
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1] gripper/grip_cmd
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] Stop interfaces:
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1] Not existing:
[ur_ros2_control_node-1] [
[ur_ros2_control_node-1] gripper/grip_cmd
[ur_ros2_control_node-1] ]
[ur_ros2_control_node-1]
[ur_ros2_control_node-1] [ERROR] [1719578549.646989347] [controller_manager]: Could not switch controllers since prepare command mode switch was rejected.
[spawner-13] [INFO] [1719578549.653388027] [spawner_speed_scaling_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster
[spawner-11] [INFO] [1719578549.667014625] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[spawner-8] [ERROR] [1719578549.669974280] [spawner_epick_gripper_action_controller]: Failed to activate controller
Could someone please tell me if there are additional parameters to change that I missed out and help me with the setup? Thanks!