C

This document will introduce the data types and APIs defined in the JAKA SDK (C), mainly intended for software developers creating robot applications in C/C++ that communicate with virtual or real controllers. It will also be helpful for users who need to understand JAKA robot controller applications.

Interface List

Basic Robot Operations

Robot Arm Login

errno_t create_handler(const char *ip, JKHD *handle, BOOL use_grpc, const char *username, const char *password)

Robot Arm Logout

errno_t destory_handler(const JKHD *handle)

Power On Robot Arm

errno_t power_on(const JKHD *handle)

Power Off Robot Arm

errno_t power_off(const JKHD *handle)

Shut Down Robot Arm

errno_t shut_down(const JKHD *handle)

Enable Robot Arm

errno_t enable_robot(const JKHD *handle)

Disable Robot Arm

errno_t disable_robot(const JKHD *handle)

Get DH parameters of the currently connected robot arm

errno_t get_dh_param(const JKHD *handle, DHParam *dhParam)

Set Robot Arm Installation Angle

errno_t set_installation_angle(const JKHD* handle, double angleX, double angleZ)

Get Robot Arm Installation Angle

errno_t get_installation_angle(const JKHD* handle, Quaternion* quat, Rpy* appang)

Get Robot Arm Status

errno_t get_robot_state(const JKHD *handle, RobotState *state)

Get Robot Arm Status Monitoring Data - Only Thread-Safe Interface

errno_t get_robot_status(const JKHD *handle, RobotStatus *status)

Get Robot Arm Status Monitoring Data

errno_t get_robot_status_simple(const JKHD *handle, RobotStatus_simple *status)

SDK

Register callback function for robot arm errors

errno_t set_error_handler(const JKHD *handle, CallBackFuncType func)

Get SDK Version Number

errno_t get_sdk_version(const JKHD *handle, char *version)

Set robot arm motion type to automatically stop during network exceptions

errno_t set_network_exception_handle(const JKHD *handle, float millisecond, ProcessType mnt)

Get Controller IP

errno_t get_controller_ip(const JKHD *handle, char *controller_name, char *ip_list)

Set file storage path for robot arm error codes

errno_t set_errorcode_file_path(const JKHD *handle, char *path)

Set file storage path for robot arm error codes and get the most recent robot arm error code

errno_t get_last_error(const JKHD *handle, ErrorCode *code)

Error status clear

errno_t clear_error(const JKHD *handle)

Set whether the SDK enables debug mode

errno_t set_debug_mode(const JKHD *handle, BOOL mode)

Set SDK log path

errno_t set_SDK_filepath(const JKHD *handle, char *filepath)

Get SDK log path

errno_t get_SDK_filepath(const JKHD *handle, char *filepath, int size)

Robot Moving Output

Robot arm movement in manual mode

errno_t jog(const JKHD *handle, int aj_num, MoveMode move_mode, CoordType coord_type, double vel_cmd, double pos_cmd)

Robot arm stop movement in manual mode

errno_t jog_stop(const JKHD *handle, int num)

Robot arm joint movement

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t joint_move(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode, BOOL is_block, double speed)
errno_t joint_move_extend(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode, BOOL is_block, double speed, double acc, double tol, const OptionalCond *option_cond)

Robot arm linear movement at end effector

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t linear_move(const JKHD *handle, const CartesianPose *end_pos, MoveMode move_mode, BOOL is_block, double speed)
errno_t linear_move_extend(const JKHD *handle, const CartesianPose *end_pos, MoveMode move_mode, BOOL is_block, double speed, double accel, double tol, const OptionalCond *option_cond)
errno_t linear_move_extend_ori(const JKHD *handle, const CartesianPose *end_pos, MoveMode move_mode, BOOL is_block, double speed, double accel, double tol, const OptionalCond *option_cond, double ori_vel, double ori_acc)

Robot arm arc movement

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t circular_move(const JKHD *handle, const CartesianPose *end_pos, const CartesianPose *mid_pos, MoveMode move_mode, BOOL is_block, double speed, double accel, double tol, const OptionalCond *option_cond)
errno_t circular_move_extend(const JKHD *handle, const CartesianPose *end_pos, const CartesianPose *mid_pos, MoveMode move_mode, BOOL is_block, double speed, double accel, double tol, const OptionalCond *option_cond, double circle_cnt)

Robot arm arc movement

errno_t circular_move_extend_mode(const JKHD *handle, const CartesianPose *end_pos, const CartesianPose *mid_pos, MoveMode move_mode, BOOL is_block, double speed, double accel, double tol, const OptionalCond *option_cond, double circle_cnt, int circle_mode)

Set robot arm speed multiplier

errno_t set_rapidrate(const JKHD *handle, double rapid_rate)

Get robot arm speed multiplier

errno_t get_rapidrate(const JKHD *handle, double *rapid_rate)

Set tool information

errno_t set_tool_data(const JKHD *handle, int id, const CartesianPose *tcp, const char *name)

Get tool information

errno_t get_tool_data(const JKHD *handle, int id, CartesianPose *tcp)

Set the tool ID currently in use

errno_t set_tool_id(const JKHD *handle, const int id)

Query the tool ID currently in use

errno_t get_tool_id(const JKHD *handle, int *id)

Set user coordinate system information

errno_t set_user_frame_data(const JKHD *handle, int id, const CartesianPose *user_frame, const char *name)

Get user coordinate system information

errno_t get_user_frame_data(const JKHD *handle, int id, CartesianPose *user_frame)

Set the user coordinate system ID currently in use

errno_t set_user_frame_id(const JKHD *handle, const int id)

Query the user coordinate system ID currently in use

errno_t get_user_frame_id(const JKHD *handle, int *id)

Control robot arm to enter or exit drag mode

errno_t drag_mode_enable(const JKHD *handle, BOOL enable)

Query whether the robot arm is in drag mode

errno_t is_in_drag_mode(const JKHD *handle, BOOL *in_drag)

Get joint friction compensation coefficient

errno_t get_drag_friction_compensation_gain(const JKHD* handle, DragFrictionCompensationGainList* list)

Get current robot arm joint angles — servo feedback

errno_t get_actual_joint_position(const JKHD *handle, JointValue *joint_position)

Get joint angles under current settings

errno_t get_joint_position(const JKHD *handle, JointValue *joint_position)

Set manual or automatic mode

errno_t set_auto_manual_mode(const JKHD *handle, int mode, int robot_id);

Get the current robot arm operation mode

errno_t get_auto_manual_mode(const JKHD *handle, int *mode, int robot_id);

Get the pose of the tool endpoint under the current settings — servo feedback

errno_t get_actual_tcp_position(const JKHD *handle, CartesianPose *tcp_position)

Get the pose of the tool endpoint under the current settings

errno_t get_tcp_position(const JKHD *handle, CartesianPose *tcp_position)

Check if the robot arm exceeds the limit

errno_t is_on_limit(const JKHD *handle, BOOL *on_limit)

Check if the robot arm movement has stopped

errno_t is_in_pos(const JKHD *handle, BOOL *in_pos)

Check if the robot arm is in an emergency stop state

errno_t is_in_estop(const JKHD *handle, BOOL *in_estop)

Set the robot arm motion planner type

errno_t set_motion_planner(const JKHD* handle, MotionPlannerType type)

Terminate robot arm movement

errno_t motion_abort(const JKHD *handle)

Check the robot arm motion status

errno_t get_motion_status(const JKHD* handle, MotionStatus *status)

Set the robot arm load

errno_t set_payload(const JKHD *handle, const PayLoad *payload)

Get robot arm load data

errno_t get_payload(const JKHD *handle, PayLoad *payload)

IO

Set digital output variable

errno_t set_digital_output(const JKHD *handle, IOType type, int index, BOOL value)

Set analog output variable

errno_t set_analog_output(const JKHD *handle, IOType type, int index, float value)

Set digital output variable during movement

errno_t set_motion_digital_output(const JKHD *handle, IOType type, int index, BOOL value, BOOL rel, double distance)

Set analog output variable during movement

errno_t set_motion_analog_output(const JKHD *handle, IOType type, int index, float value, BOOL rel, double distance)

Check digital input status

errno_t get_digital_input(const JKHD *handle, IOType type, int index, BOOL *result)

Check digital output status

errno_t get_digital_output(const JKHD *handle, IOType type, int index, BOOL *result)

Get the value of the analog input variable

errno_t get_analog_input(const JKHD *handle, IOType type, int index, float *result)

Get the value of the analog output variable

errno_t get_analog_output(const JKHD *handle, IOType type, int index, float *result)

Check if the extended IO is running

errno_t is_extio_running(const JKHD *handle, BOOL *is_running)

TIO

Set the tiov3 voltage parameters

errno_t set_tio_vout_param(const JKHD* handle, int vout_enable, int vout_vol)

Get the tiov3 voltage parameters

errno_t get_tio_vout_param(const JKHD* handle, int* vout_enable, int* vout_vol)

Add or modify TIO semaphore

errno_t add_tio_rs_signal(const JKHD* handle, SignInfo sign_info)

TIO delete semaphore

errno_t del_tio_rs_signal(const JKHD* handle, const char* sig_name)

TIO RS485 send command

errno_t send_tio_rs_command(const JKHD* handle, int chn_id, uint8_t* cmdbuf, int bufsize)

TIO refresh semaphore information

errno_t update_tio_rs_signal(const JKHD* handle, SignInfo_simple sign_info);

TIO get semaphore information

errno_t get_rs485_signal_info(const JKHD* handle, SignInfo* sign_info_array, int *array_len)

Set TIO mode

errno_t set_tio_pin_mode(const JKHD* handle, int pin_type, int pin_mode)

Get TIO mode

errno_t get_tio_pin_mode(const JKHD* handle, int pin_type, int* pin_mode)

TIO RS485 communication parameter configuration

errno_t set_rs485_chn_comm(const JKHD* handle, ModRtuComm mod_rtu_com)

TIO RS485 communication parameter query

errno_t get_rs485_chn_comm(const JKHD* handle, int chn_id, ModRtuComm* mod_rtu_com)

TIO RS485 communication mode configuration

errno_t set_rs485_chn_mode(const JKHD* handle, int chn_id, int chn_mode)

TIO RS485 communication mode query

errno_t get_rs485_chn_mode(const JKHD* handle, int chn_id, int* chn_mode)

Servo

Query whether the robot arm is in servo motion state

errno_t is_in_servomove(const JKHD *handle, BOOL *in_servo)

Enable robot arm servo position control mode

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t servo_move_enable(const JKHD *handle, BOOL enable)
errno_t servo_move_enable_extend(const JKHD *handle, BOOL enable, BOOL is_block, int robot_id)

Robot arm joint space servo mode motion

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t servo_j(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode)
errno_t servo_j_extend(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode, unsigned int step_num)
errno_t servo_j_extend_queue(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode, unsigned int step_num, int *queue_num, DOInfo *do_info, int robot_id)

Robot arm Cartesian space servo mode motion extension

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t servo_p(const JKHD *handle, const CartesianPose *cartesian_pose, MoveMode move_mode)
errno_t servo_p_extend(const JKHD *handle, const CartesianPose *cartesian_pose, MoveMode move_mode, unsigned int step_num)
errno_t servo_p_extend_queue(const JKHD *handle, const CartesianPose *cartesian_pose, MoveMode move_mode, unsigned int step_num, int *queue_num, DOInfo *do_info, int robot_id)

Disable filter in robot arm servo mode

errno_t servo_move_use_none_filter(const JKHD *handle)

First-order low-pass filtering in robot arm joint space servo mode

errno_t servo_move_use_joint_LPF(const JKHD *handle, double cutoffFreq)

Nonlinear filtering in robot arm joint space servo mode

errno_t servo_move_use_joint_NLF(const JKHD *handle, double max_vr, double max_ar, double max_jr)

Nonlinear filtering in robot arm Cartesian space servo mode

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t servo_move_use_carte_NLF(const JKHD *handle, double max_vp, double max_ap, double max_jp, double max_vr, double max_ar, double max_jr)
errno_t servo_move_use_carte_NLF_extend(const JKHD *handle, double max_vp, double max_ap, double max_jp, double max_vr, double max_ar, double max_jr, int ori_quat,  int robot_id)

Multi-stage mean filtering in robot arm joint space servo mode

errno_t servo_move_use_joint_MMF(const JKHD *handle, int max_buf, double kp, double kv, double ka)

Set velocity feedforward parameters in robot arm servo mode

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t servo_speed_foresight(const JKHD *handle, int max_buf, double kp)
errno_t servo_speed_foresight_extend(const JKHD *handle, int max_buf, double kp, int ori_quat, int robot_id)

Filter joint space in robot arm SERVO mode

errno_t servo_move_use_joint_PCM(const JKHD *handle, int max_buf, double kp, int robot_id)

Filter Cartesian space in robot arm SERVO mode

errno_t servo_move_use_carte_PCM(const JKHD *handle, int max_buf, double kp, int robot_id)

Execute servo trajectory file in robot arm SERVO mode

errno_t start_servo_traj(const JKHD *handle, const char* filename)

Get servo trajectory execution status

errno_t get_traj_status(const JKHD *handle, int* is_running, int* whole_points, int* progress)

Stop running servo trajectory file

errno_t stop_servo_traj(const JKHD *handle)

EDG

Robot arm EDG enable

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t edg_init(const JKHD *handle, BOOL en, const char* edg_stat_ip)
errno_t edg_init_extend(const JKHD *handle, BOOL en, const char* edg_stat_ip, int edg_port, unsigned int edg_mode)

Robot arm high-speed acquisition of EDG feedback data

errno_t edg_get_stat(const JKHD *handle, EDGState *edg_state, unsigned char robot_index)

Robot arm acquisition of EDG feedback data issuance timestamp

errno_t edg_stat_details(const JKHD *handle, unsigned long int details[3]);

Robot arm EDG joint space servo mode motion

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t edg_servo_j(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode)
errno_t edg_servo_j_extend(const JKHD *handle, const JointValue *joint_pos, MoveMode move_mode, unsigned int step_num, unsigned char robot_index)

Robot arm EDG Cartesian space servo mode motion

// The following interfaces provide the same functionality but differ in optional extended parameters. Select as needed based on actual requirements.
errno_t edg_servo_p(const JKHD *handle, const CartesianPose *cartesian_pose, MoveMode move_mode)
errno_t edg_servo_p_extend(const JKHD *handle, const CartesianPose *cartesian_pose, MoveMode move_mode, unsigned int step_num, unsigned char robot_index)

Trajectory

Set trajectory reproduction configuration parameters

errno_t set_traj_config(const JKHD *handle, const TrajTrackPara *para)

Collect trajectory reproduction data control switch

errno_t set_traj_sample_mode(const JKHD *handle, const BOOL mode, char *filename)

Get trajectory reproduction configuration parameters

errno_t get_traj_config(const JKHD *handle, TrajTrackPara *para)

Query status of collected trajectory reproduction data

errno_t get_traj_sample_status(const JKHD *handle, BOOL *sample_status)

Query file names of already existing trajectory reproduction data in the controller

errno_t get_exist_traj_file_name(const JKHD *handle, MultStrStorType *filename)

Rename file names of trajectory reproduction data

errno_t rename_traj_file_name(const JKHD *handle, const char *src, const char *dest)

Delete trajectory reproduction data files in the controller

errno_t remove_traj_file(const JKHD *handle, const char *filename)

Generate controller execution script from trajectory reproduction data files in the controller

errno_t generate_traj_exe_file(const JKHD *handle, const char *filename)

Program

Run the currently loaded job program

errno_t program_run(const JKHD *handle)

Pause the currently running job program

errno_t program_pause(const JKHD *handle)

Continue running the currently paused job program

errno_t program_resume(const JKHD *handle)

Terminate the currently executing job program

errno_t program_abort(const JKHD *handle)

Load the specified job program

errno_t program_load(const JKHD *handle, const char *file)

Get execution status of robot arm job program

errno_t get_program_state(const JKHD *handle, ProgramState *status)

Get information of robot arm job program

errno_t get_program_info(const JKHD *handle, ProgramInfo* info)

Get the name of the loaded job program

errno_t get_loaded_program(const JKHD *handle, char *file)

Get the execution line number of the current robot arm operation program

errno_t get_current_line(const JKHD *handle, int *curr_line)

Get system variable

errno_t get_user_var(const JKHD *handle, UserVariableList* vlist)

Set system variable

errno_t set_user_var(const JKHD *handle, UserVariable v)

FTP

Initialize FTP client

errno_t init_ftp_client(const JKHD *handle)

Close FTP client

errno_t close_ftp_client(const JKHD *handle)

FTP download

errno_t download_file(const JKHD *handle, char *local, char *remote, int opt)

FTP upload

errno_t upload_file(const JKHD *handle, char *local, char *remote, int opt)

FTP delete

errno_t del_ftp_file(const JKHD *handle, char *remote, int opt)

FTP rename

errno_t rename_ftp_file(const JKHD *handle, char *remote, char *des, int opt)

FTP directory query

errno_t get_ftp_dir(const JKHD *handle, const char *remotedir, int type, char *ret)

Tool Drag

Get force compliance control parameters

errno_t get_admit_ctrl_config(const JKHD *handle, RobotAdmitCtrl *admit_ctrl_cfg)

Force control admittance enable

errno_t enable_admittance_ctrl(const JKHD *handle, const int enable_flag)

Enable tool dragging

errno_t enable_tool_drive(const JKHD *handle, const int enable_flag)

Get tool dragging enable status

errno_t get_tool_drive_state(const JKHD *handle, int* enable, int *state)

Get tool dragging parameters

errno_t get_tool_drive_config(const JKHD *handle, RobotToolDriveCtrl* cfg)

Set force control drag feel parameters

errno_t set_tool_drive_config(const JKHD *handle, ToolDriveConfig cfg)

Get tool drag coordinate system

errno_t get_tool_drive_frame(const JKHD *handle, FTFrameType *ftFrame)

Set tool drag coordinate system

errno_t set_tool_drive_frame(const JKHD *handle, FTFrameType ftFrame)

Get fusion drag sensitivity

errno_t get_fusion_drive_sensitivity_level(const JKHD *handle, int *level)

Set fusion drag sensitivity

errno_t set_fusion_drive_sensitivity_level(const JKHD *handle, int level)

Get motion limit (singularity and joint limit) warning range

errno_t get_motion_limit_warning_range(const JKHD *handle, int *warning_range)

Set motion limit (singularity and joint limit) warning range

errno_t set_motion_limit_warning_range(const JKHD *handle, int warning_range)

Force control

Set constant-force compliance control coordinate system

errno_t set_ft_ctrl_frame(const JKHD *handle, FTFrameType ftFrame)

Get constant-force compliance control coordinate system

errno_t get_ft_ctrl_frame(const JKHD *handle, FTFrameType *ftFrame)

Set constant-force control tolerance

errno_t set_ft_tolerance(const JKHD *handle, double force, double torque)

Get constant-force control tolerance

errno_t get_ft_tolerance(const JKHD *handle, double* force, double* torque)

Activate/Deactivate Constant Force Compliant Control

errno_t set_ft_ctrl_mode(const JKHD *handle, BOOL mode)

Get constant-force compliance enable status

errno_t get_ft_ctrl_mode(const JKHD *handle, BOOL* mode)

Set constant-force compliance control parameters

errno_t set_ft_ctrl_config(const JKHD *handle, AdmitCtrlType cfg)

Get constant-force compliance control parameters

errno_t get_ft_ctrl_config(const JKHD *handle, RobotAdmitCtrl* cfg)

Set force control type and zero calibration (initialization) options

errno_t set_compliant_type(const JKHD *handle, int sensor_compensation, int compliance_type)

Get force control type and reading display (initialization) status

errno_t get_compliant_type(const JKHD *handle, int *sensor_compensation, int *compliance_type)

Set speed compliance control force condition

errno_t set_compliance_condition(const JKHD *handle, const FTxyz *ft)

Set approach speed limit

errno_t set_approach_speed_limit(const JKHD *handle, double vel, double angularVel)

Get approach speed limit

errno_t get_approach_speed_limit(const JKHD *handle, double* vel, double* angularVel)

Collision

Query whether the robot arm is in collision protection mode

errno_t is_in_collision(const JKHD *handle, BOOL *in_collision)

Set robot arm collision level

errno_t set_collision_level(const JKHD *handle, const int level)

Get collision level set by machine

errno_t get_collision_level(const JKHD *handle, int *level)

Recover from collision protection mode after collision

errno_t collision_recover(const JKHD *handle)

Kinematics

Robot arm inverse kinematics solution

errno_t kine_inverse(const JKHD *handle, const JointValue *ref_pos, const CartesianPose *cartesian_pose, JointValue *joint_pos)
// Optional extended parameters allow inverse kinematics to be computed in the selected user frame and tool frame.
errno_t kine_inverse_extend(const JKHD *handle, const JointValue *ref_pos, const CartesianPose *cartesian_pose, JointValue *joint_pos, const CartesianPose *tool, const CartesianPose *userFrame)

Robot arm forward kinematics solution

errno_t kine_forward(const JKHD *handle, const JointValue *joint_pos, CartesianPose *cartesian_pose)
// Optional extended parameters allow forward kinematics to be computed in the selected user frame and tool frame.
errno_t kine_forward_extend(const JKHD *handle, const JointValue *joint_pos, CartesianPose *cartesian_pose, const CartesianPose *tool, const CartesianPose *userFrame)

Convert Euler angles to rotation matrix

errno_t rpy_to_rot_matrix(const JKHD *handle, const Rpy *rpy, RotMatrix *rot_matrix)

Convert rotation matrix to Euler angles

errno_t rot_matrix_to_rpy(const JKHD *handle, const RotMatrix *rot_matrix, Rpy *rpy)

Convert rotation matrix to quaternion

errno_t rot_matrix_to_quaternion(const JKHD *handle, const RotMatrix *rot_matrix, Quaternion *quaternion)

Convert quaternion to rotation matrix

errno_t quaternion_to_rot_matrix(const JKHD *handle, const Quaternion *quaternion, RotMatrix *rot_matrix)

Interface call return value list and troubleshooting

Error codes

Description

Handling suggestions

0

success

null

2

interface error or controller not supported

Check the controller and SDK version information, upgrade or use another interface

-1

invalid handler

Please check whether login is done before calling the interface

-2

invalid parameter

Please check whether the parameters are correct

-3

failed to connect

Please check the network connection status, or whether the robot IP is correct

-4

inverse kinematics error

Inverse kinematics failed, please check the current coordinate system, or whether the reference joint angles are reasonable

-5

emergency stop

Emergency stop state, status retained

-6

not powered on

Not powered on

-7

not enabled

Not enabled

-8

not in servo mode

Not in servo mode. When executing servoJP, you must first enter servo mode. Please check whether the corresponding interface is called

-9

must disable enable before powering off

Must disable enable before powering off

-10

cannot operate, program is running

Cannot operate, a program is currently running. Please close the program first

-11

cannot open file, or file does not exist

Cannot open file, or file does not exist

-12

motion abnormal

Abnormal movement, possibly near a singularity point or exceeding robot movement limits

-14

ftp error

ftp abnormal

-15

socket msg or value oversize

Exceeding limit abnormal

-16

kine_forward error

Forward kinematics failed

-17

not support empty folder

Empty folders are not supported

-20

protective stop

Safeguard (Protective) Stop

-21

emergency stop

Emergency stop

-22

on soft limit

In soft limit position, manual drag of the robot is not possible; use the teaching function in the APP to approach the soft limit

-30

fail to encode cmd string

Command encoding failed, usually due to an error while parsing the message returned by the controller

-31

fail to decode cmd string

Command decoding failed, usually due to an error while parsing the message returned by the controller

-32

fail to uncompress port 10004 string

Failed to decompress data from port 10004, possibly due to network fluctuations or excessive data size

-40

move linear error

Linear movement failed, please check if there are any singular regions in the path

-41

move joint error

Joint movement failed, please check the set joint angles

-42

move circular error

Arc motion failed, please check the set parameters

-50

block_wait timeout

Blocking wait timeout

-51

power on timeout

Power-on timeout

-52

power off timeout

Power-off timeout

-53

enable timeoff

Enable timeout

-54

disable timeout

Disable timeout

-55

set userframe timeout

Setting user coordinate system timeout

-56

set tool timeout

Setting tool coordinate system timeout

-57

edg init failed

EDG function initialization failed

-58

edg is running, cannot use servo_j or servo_p

EDG function is running, cannot use servo_j or servo_p interface

-59

Current EDG mode does not support using edg_servo_j or edg_servo_p.

EDG function is running, cannot use edg_servo_j or edg_servo_p interface

-60

set io timeout

Setting IO timeout

-61

operation timeout

Interface timeout

-62

servo queue is full

Servo queue is full

-63

servo is not running

Servo mode is not started

-9997

not implement

Interface not implemented

-9998

deprecated interface

Interface will be removed in the future (function still available)

-9999

obsolete interface

Interface will be removed in the future (function unavailable)

Issue feedback

If there are any inaccurate descriptions or mistakes in the document, we kindly ask readers for their understanding and corrections. If you find any problems or wish to provide suggestions while reading, you can send an email to support@jaka.com , and we will reply to you as soon as possible.