xarm_api services description
The services of xarm_api is the interface encapsulation of C++ SDK, which may be a single interface call or multiple interface calls. Note: The service path prefix (xarm/) used by rosservice is related to the startup parameters. The default xarm series is xarm/, and the Lite series is ufactory/. The following example uses xarm/, the actual use is modified according to the actual situation.
- motion_ctrl
- SDK API
motion_enable
- rosservice# id: 1~7 means joint1~joint7, 8 means all joints# enable: 1 means enable, 0 means disablerosservice call /xarm/motion_ctrl ${enable} ${id}
- set_mode
- SDK API:
set_mode
- rosservice:# mode:# 0: position mode# 1: servo motion mode# 2: joint teaching mode# 4: joint velocity mode# 5: cartesian velocity mode# 6: joint online trajectory planning mode# 7: cartesian online trajectory planning moderosservice call /xarm/set_mode ${mode}
- set_state
- SDK API:
set_state
- rosservice:# state:# 0: motion state# 3: pause state# 4: stop staterosservice call /xarm/set_state ${state}
- clear_err
- SDK API:
- (if gripper added)
clean_gripper_error
clean_error
clean_warn
motion_enable
- rosservice:rosservice call /xarm/clear_err
- moveit_clear_err
- SDK API:
- (if gripper added)
clean_gripper_error
clean_error
clean_warn
motion_enable
set_mode
set_state
- rosservice:rosservice call /xarm/moveit_clear_err
- go_home
- SDK API:
move_gohome
- rosservice:# mvvelo: speed (rad/s)# mvacc: acceleration (rad/s^2)rosservice call /xarm/go_home [] ${mvvelo} ${mvacc} 0 0
- move_joint
- SDK API:
set_servo_angle
- rosservice:# angles: [joint1-rad, ..., joint${dof}-rad]# mvvelo: speed (rad/s)# mvacc: acceleration (rad/s^2)rosservice call /xarm/move_joint ${angles} ${mvvelo} ${mvacc} 0 0
- move_jointb
- SDK API:
set_servo_angle
- rosservice:# angles: [joint1-rad, ..., joint${dof}-rad]# mvvelo: speed (rad/s)# mvacc: acceleration (rad/s^2)# radius: the blending radius between 2 straight path trajectories, 0 for no blend.rosservice call /xarm/move_jointb ${angles} ${mvvelo} ${mvacc} 0 ${radius}
- move_line
- SDK API:
set_position
- rosservice:# pose: [x(mm), y(mm), z(mm), roll(rad), pitch(rad), yaw(rad)]# mvvelo: speed (mm/s)# mvacc: acceleration (mm/s^2)rosservice call /xarm/move_line ${pose} ${mvvelo} ${mvacc} 0 0
- move_lineb
- SDK API:
set_position
- rosservice:# pose: [x(mm), y(mm), z(mm), roll(rad), pitch(rad), yaw(rad)]# mvvelo: speed (mm/s)# mvacc: acceleration (mm/s^2)# radius: the blending radius between 2 straight path trajectories, 0 for no blend.rosservice call /xarm/move_lineb ${pose} ${mvvelo} ${mvacc} 0 ${radius}
- move_line_tool
- SDK API:
set_tool_position
- rosservice:# pose: [x(mm), y(mm), z(mm), roll(rad), pitch(rad), yaw(rad)]# mvvelo: speed (mm/s)# mvacc: acceleration (mm/s^2)rosservice call /xarm/move_line_tool ${pose} ${mvvelo} ${mvacc} 0 0
- move_servoj
- SDK API:
set_servo_angle_j
- rosservice:# angles: [joint1-rad, ..., joint${dof}-rad]# mvvelo: speed (rad/s)# mvacc: acceleration (rad/s^2)rosservice call /xarm/move_servoj ${angles} ${mvvelo} ${mvacc} 0 0
- move_servo_cart
- SDK API:
set_servo_cartesian
- rosservice:# pose: [x(mm), y(mm), z(mm), roll(rad), pitch(rad), yaw(rad)]# mvvelo: speed (mm/s)# mvacc: acceleration (mm/s^2)# coord: motion coordinate system indicator, base (0) or tool(1) coordinaterosservice call /xarm/move_servo_cart ${pose} ${mvvelo} ${mvacc} ${coord} 0
- move_line_aa
- SDK API:
set_position_aa
- rosservice:# pose: [x(mm), y(mm), z(mm), roll(rad), pitch(rad), yaw(rad)]# mvvelo: speed (mm/s)# mvacc: acceleration (mm/s^2)# coord: motion coordinate system indicator, base (0) or tool(1) coordinate# relative: indicator of given target is relative (1) or not (0, absolute)rosservice call /xarm/move_line_aa ${pose} ${mvvelo} ${mvacc} 0 ${coord} ${relative}
- move_servo_cart_aa
- SDK API:
set_servo_cartesian_aa
- rosservice:# pose: [x(mm), y(mm), z(mm), roll(rad), pitch(rad), yaw(rad)]# mvvelo: speed (mm/s)# mvacc: acceleration (mm/s^2)# coord: motion coordinate system indicator, base (0) or tool(1) coordinate# relative: indicator of given target is relative (1) or not (0, absolute)rosservice call /xarm/move_servo_cart_aa ${pose} ${mvvelo} ${mvacc} 0 ${coord} ${relative}
- velo_move_joint
- SDK API:
vc_set_joint_velocity
- rosservice:# velocities: [joint1-velo(rad/s), ..., joint${dof}-velo(rad/s)]# jnt_sync: whether all joints accelerate and decelerate synchronously, 1 for yes, 0 for norosservice call /xarm/velo_move_joint ${velocities} ${jnt_sync} 0
- velo_move_line
- SDK API:
vc_set_cartesian_velocity
- rosservice:# velocities: [velo-x(mm/s), velo-y(mm/s), velo-z(mm/s), velo-roll(rad/s), velo-pitch(rad/s), velo-yaw(rad/s)]# coord: whether motion is in tool coordinate(1) or not(0)rosservice call /xarm/velo_move_joint ${velocities} 0 ${coord}
- velo_move_joint_timed
- SDK API:
vc_set_joint_velocity
- rosservice:# velocities: [joint1-velo(rad/s), ..., joint${dof}-velo(rad/s)]# is_sync: whether all joints accelerate and decelerate synchronously, 1 for yes, 0 for no# duration: the maximum duration of the speed, over this time will automatically set the speed to 0rosservice call /xarm/velo_move_joint_timed ${velocities} ${is_sync} 0 ${duration}
- velo_move_line_timed
- SDK API:
vc_set_cartesian_velocity
- rosservice:# velocities: [velo-x(mm/s), velo-y(mm/s), velo-z(mm/s), velo-roll(rad/s), velo-pitch(rad/s), velo-yaw(rad/s)]# is_tool_coord: whether motion is in tool coordinate(1) or not(0)# duration: the maximum duration of the speed, over this time will automatically set the speed to 0rosservice call /xarm/velo_move_line_timed ${velocities} 0 ${is_tool_coord} {duration}
- set_digital_out
- SDK API:
set_tgpio_digital
- rosservice:# io_num: io num, 1: DO0, 2: DO1# value: 0/1rosservice call /xarm/set_digital_out ${io_num} ${value}
- get_digital_in
- SDK API:
get_tgpio_digital
- rosservice:rosservice call /xarm/get_digital_in
- get_analog_in
- SDK API:
get_tgpio_analog
- rosservice:# io_num: io num, 1: AI0, 2: AI1rosservice call /xarm/get_analog_in ${io_num}
- set_controller_dout
- SDK API:
set_cgpio_digital
- rosservice:# io_num: io num, 1 ~ 16, (1: CO0, 9: DO0)# value: 0/1rosservice call /xarm/set_controller_dout ${io_num} ${value}
- get_controller_din
- SDK API:
get_cgpio_digital
- rosservice:# io_num: io num, 1 ~ 16, (1: CI0, 9: DI0)rosservice call /xarm/get_controller_din ${io_num}
- set_controller_aout
- SDK API:
set_cgpio_analog
- rosservice:# io_num: io num, 1: AO0, 2: AO1# value: valuerosservice call /xarm/set_controller_aout ${io_num} ${value}
- get_controller_ain
- SDK API:
get_cgpio_analog
- rosservice:# io_num: io num, 1: AI0, 2: AI1rosservice call /xarm/get_controller_ain ${io_num}
- gripper_config
- SDK API:
set_gripper_mode
set_gripper_enable
set_gripper_speed
- rosservice:# velocity: pulse velocity, 1 ~ 5000rosservice call /xarm/gripper_config ${velocity}
- gripper_move
- SDK API:
set_gripper_position
- rosservice:# pos: pulse pos, -100 ~ 850rosservice call /xarm/gripper_move ${pos}
- gripper_state
- SDK API:
get_gripper_err_code
get_gripper_position
- rosservice:rosservice call /xarm/gripper_state
- open_lite6_gripper
- SDK API:
open_lite6_gripper
- rosservice:rosservice call /xarm/open_lite6_gripper
- close_lite6_gripper
- SDK API:
close_lite6_gripper
- rosservice:rosservice call /xarm/close_lite6_gripper
- stop_lite6_gripper
- SDK API:
stop_lite6_gripper
- rosservice:rosservice call /xarm/stop_lite6_gripper
- ft_sensor_enable
- SDK API:
ft_sensor_enable
- rosservice:# enable: 1: enable, 0: disablerosservice call /xarm/ft_sensor_enable ${enable}
- ft_sensor_app_set
- SDK API:
ft_sensor_app_set
- rosservice:# app_code# 0: non-force mode# 1: impendance control# 2: force controlrosservice call /xarm/ft_sensor_app_set ${app_code}
- ft_sensor_set_zero
- SDK API:
ft_sensor_set_zero
- rosservice:rosservice call /xarm/ft_sensor_set_zero
- ft_sensor_cali_load
- SDK API:
ft_sensor_cali_load
save_conf
- rosservice:# data: iden load result# association_setting_tcp_load: association setting tcp load or notrosservice call /xarm/ft_sensor_cali_load ${data} ${association_setting_tcp_load}
- ft_sensor_iden_load
- SDK API:
ft_sensor_iden_load
- rosservice:rosservice call /xarm/ft_sensor_iden_load
- get_ft_sensor_error
- SDK API:
get_ft_sensor_error
- rosservice:rosservice call /xarm/get_ft_sensor_error
- config_tool_modbus
- SDK API:
set_state
set_tgpio_modbus_baudrate
set_tgpio_modbus_timeout
- rosservice:# baudrate: baudrate# timeout_ms: timeout(ms)rosservice call /xarm/config_tool_modbus ${baudrate} ${timeout_ms}
- set_tool_modbus
- SDK API:
getset_tgpio_modbus_data
- rosservice:# send_data: modbus data# respond_len: the length of the response modbus datarosservice call /xarm/getset_tgpio_modbus_data ${send_data} ${respond_len}
- get_tgpio_modbus_baudrate
- SDK API:
get_tgpio_modbus_baudrate
- rosservice:rosservice call /xarm/get_tgpio_modbus_baudrate
- set_tgpio_modbus_timeout
- SDK API:
set_tgpio_modbus_timeout
- rosservice:# timeout_ms: timeout(ms)# is_transparent_transmission: is transparent transmission or notrosservice call /xarm/set_tgpio_modbus_timeout ${timeout_ms} ${is_transparent_transmission}
- getset_tgpio_modbus_data
- SDK API:
getset_tgpio_modbus_data
- rosservice:# send_data: modbus data# respond_len: the length of the response modbus data# host_id: host id, 9: END RS485, 10: Controller RS485# is_transparent_transmission: is transparent transmission or not# use_503_port: whether to use port 503 for communicationrosservice call /xarm/getset_tgpio_modbus_data ${send_data} ${respond_len} ${host_id} ${is_transparent_transmission} ${use_503_port}
- set_tcp_offset
- SDK API:
set_tcp_offset
save_conf
- rosservice# x/y/z: mm# roll/pitch/yaw: radrosservice call /xarm/set_tcp_offset ${x} ${y} ${z} ${roll} ${pitch} ${yaw}
- set_load
- SDK API:
set_tcp_load
save_conf
- rosservice# mass: kg# xc: x center of mass (mm)# yc: y center of mass (mm)# zc: z center of mass (mm)rosservice call /xarm/set_load ${mass} ${xc} ${yc} ${zc}
- set_max_acc_joint
- SDK API:
set_joint_maxacc
- rosservice# maxacc: joint max acc, rad/s^2, 0 ~ 20rosservice call /xarm/set_max_acc_joint ${maxacc}
- set_max_acc_line
- SDK API:
set_tcp_maxacc
- rosservice# maxacc: tcp max acc, mm/s^2, 0 ~ 50000rosservice call /xarm/set_max_acc_line ${maxacc}
- set_collision_rebound
- SDK API:
set_collision_rebound
- rosservice# on: 1: on, 0: offrosservice call /xarm/set_collision_rebound ${on}
- set_collision_sensitivity
- SDK API:
set_collision_sensitivity
- rosservice# sens: collision sensitivity, 0 ~ 5rosservice call /xarm/set_collision_sensitivity ${sens}
- set_teach_sensitivity
- SDK API:
set_teach_sensitivity
- rosservice# sens: teach sensitivity, 1 ~ 5rosservice call /xarm/set_teach_sensitivity ${sens}
- set_world_offset
- SDK API:
set_world_offset
save_conf
- rosservice# x/y/z: mm# roll/pitch/yaw: radrosservice call /xarm/set_world_offset ${x} ${y} ${z} ${roll} ${pitch} ${yaw}
- set_fence_mode
- SDK API:
set_fence_mode
- rosservice# on: 1: on, 0: offrosservice call /xarm/set_fence_mode ${on}
- set_reduced_mode
- SDK API:
set_reduced_mode
- rosservice# on: 1: on, 0: offrosservice call /xarm/set_reduced_mode ${on}
- set_tcp_jerk
- SDK API:
set_tcp_jerk
- rosservice# jerk: tcp max acc, mm/s^3rosservice call /xarm/set_tcp_jerk ${jerk}
- set_joint_jerk
- SDK API:
set_joint_jerk
- rosservice# jerk: joint jerk, rad/s^3rosservice call /xarm/set_joint_jerk ${jerk}
- set_recording
- SDK API:
start_record_trajectory
orstop_record_trajectory
- rosservice# on: 1: start, 0: stoprosservice call /xarm/set_recording ${on}
- save_traj
- SDK API:
save_record_trajectory
- rosservice# filename: the trajectory filename to save# timeout: save timeout (second)rosservice call /xarm/save_traj ${filename} ${timeout}
- play_traj
- SDK API:
playback_trajectory
- rosservice# filename: the trajectory filename to playback# times: repeat times# speed_factor: speed factor, 1/2/4rosservice call /xarm/play_traj ${filename} ${times} ${speed_factor}
Last modified 1mo ago