Skip to content

Vacuum gripper not working #147

@chipmunk321

Description

@chipmunk321

I can turn on/off the vacuum gripper of my xarm5 from xarm studio. Its connected by the contact connector.

However, when trying to launch it with the API, it does not react:

ros2 launch xarm_api xarm5_driver.launch.py robot_ip:=192.168.1.212 add_vacuum_gripper:=true add_gripper:=false
[INFO] [launch]: All log files can be found below /root/.ros/log/2025-11-17-20-16-09-388603-rover0001-895
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [xarm_driver_node-1]: process started with pid [898]
[xarm_driver_node-1] [INFO] [1763410569.572651084] [ufactory_driver]: namespace: /
[xarm_driver_node-1] [INFO] [1763410569.572831828] [ufactory_driver]: xarm_driver_node start
[xarm_driver_node-1] [INFO] [1763410569.573215556] [ufactory_driver]: robot_ip=192.168.1.212, report_type=normal, dof=5
[xarm_driver_node-1] [INFO] [1763410569.573275815] [ufactory_driver]: baud_checkset: 1, default_gripper_baud: 2000000
[xarm_driver_node-1] SDK_VERSION: 1.14.2
[xarm_driver_node-1] Tcp control connection successful
[xarm_driver_node-1] ROBOT_IP: 192.168.1.212, VERSION: v2.7.1, PROTOCOL: V1, DETAIL: 5,5,XF1305,DC1305,v2.7.1, TYPE1300: [1, 1]
[xarm_driver_node-1] Tcp Report Rich connection successful
[xarm_driver_node-1] report_data_size: 574, size_is_not_confirm: 0
[xarm_driver_node-1] change protocol identifier to 3
[xarm_driver_node-1] Tcp Report Norm connection successful
[xarm_driver_node-1] report_data_size: 145, size_is_not_confirm: 0
[xarm_driver_node-1] [INFO] [1763410569.903977847] [ufactory_driver]: [TCP STATUS] CONTROL: 1, REPORT: 1
[xarm_driver_node-1] [INFO] [1763410569.932479278] [ufactory_driver]: gripper_speed: 2000, gripper_max_pos: 850, gripper_frequency : 10, gripper_threshold: 3, gripper_threshold_times: 10
[xarm_driver_node-1] [INFO] [1763410569.949411547] [ufactory_driver]: bio_gripper_speed: 2000, bio_gripper_max_pos: 130, bio_gripper_min_pos: 50, bio_gripper_frequency : 10, bio_gripper_threshold: 3, bio_gripper_threshold_times: 10

ros2 service call /xarm/set_vacuum_gripper xarm_msgs/srv/VacuumGripperCtrl "{'on': true}" or with
ros2 service call /xarm/set_vacuum_gripper xarm_msgs/srv/VacuumGripperCtrl "{'on': true, 'hardware_version': 2}"

both return xarm_msgs.srv.VacuumGripperCtrl_Response(ret=0, message='')

Quick check: The list of parameters being passed to the actual C++ xarm_driver_node includes 'add_gripper' and 'add_bio_gripper', but it is missing 'add_vacuum_gripper'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions