Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue withs setting up ROS2 robotiq epick drivers from piknick #213

Open
shrutichakraborty opened this issue Jun 28, 2024 · 0 comments
Open

Comments

@shrutichakraborty
Copy link

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 :
image

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant