8. Status query

8.1. Get the current joint position (angle).

prototype

GetActualJointPosDegree(flag=1)

Description

Get the current position (angle) of the joint.

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking, default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: current joint position (angle)

8.2. Get the current joint position in radians.

Prototype

GetActualJointPosRadian(flag=1)

Description

Get the current position (in radians) of the joint.

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: current joint position (in radians)

8.3. Get joint feedback speed -deg/s

Prototype

GetActualJointSpeedsDegree(flag=1)

Description

Get joint feedback speed -deg/s

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • speed=[j1,j2,j3,j4,j5,j6]: joint feedback speed -deg/s

8.4. Obtain joint feedback acceleration-deg/s^2

Prototype

GetActualJointAccDegree(flag=1)

Description

Obtain joint feedback acceleration-deg/s^2

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • acc=[j1,j2,j3,j4,j5,j6]:Joint feedback acceleration-deg/s^2

8.5. Get TCP command synthesis speed

Prototype

GetTargetTCPCompositeSpeed(flag=1)

Description

Get TCP command synthesis speed

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • [tcp_speed,ori_speed]: tcp_speed - linear closing speed ori_speed - attitude closing speed

8.6. Getting TCP Feedback Hopping Speed

Prototype

GetActualTCPCompositeSpeed(flag=1)

Description

Get TCP feedback closing speed

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • [tcp_speed,ori_speed]: tcp_speed - linear closing speed ori_speed - attitude closing speed

8.7. Get TCP command speed

Prototype

GetTargetTCPSpeed(flag=1)

Description

Get TCP command speed

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • speed=[x,y,z,rx,ry,rz]: TCP command speed, mm/s

8.8. Getting TCP feedback speed

Prototype

GetActualTCPSpeed(flag=1)

Description

Get TCP feedback on speed

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • speed=[x,y,z,rx,ry,rz]: TCP feedback speed

8.9. Get current tool position

Prototype

GetActualTCPPose(flag=1)

Description

Get current tool position

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: current tool pose

8.10. Get the current tool coordinate system number

prototype

GetActualTCPNum(flag=1)

Description

Get the current tool coordinate system number

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • tool_id: tool coordinate system number

8.11. Get the current workpiece coordinate system number

prototype

GetActualWObjNum(flag=1)

Description

Get the current workpiece coordinate system number

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • wobj_id: the workpiece coordinate system number

8.12. Get the current end flange position

Prototype

GetActualToolFlangePose(flag=1)

Description

Get current end flange position

Mandatory parameters

NULL

Default parameters

  • flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • flange_pose=[x,y,z,rx,ry,rz]: current end flange pose

8.13. Get current joint torque

Prototype

GetJointTorques(flag=1)

Description

Get the current joint torque

Mandatory parameters

NULL

Default parameters

flag: 0-blocking, 1-non-blocking Default 1

Return Value

  • errorcode Success-0 Failure- errcode

  • torques=[j1,j2,j3,j4,j5,j6]: joint torques.

8.14. Get system time

Prototype

GetSystemClock()

Description

Get system time

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • t_ms: system time in [ms]

8.15. Queries whether robot motion is complete

Prototype

GetRobotMotionDone()

Description

Query if robot movement is complete

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • state: state of robot motion, 0 - unfinished, 1 - finished

8.16. Query the cache length of the robot motion queue

Prototype

GetMotionQueueLength()

Description

Query the cache length of the robot motion queue

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • len:Cache length

8.17. Obtain the emergency stop status of the robot

Prototype

GetRobotEmergencyStopState()

Description

Obtain the emergency stop status of the robot

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • state:Emergency stop status: 0- non-emergency stop, 1- emergency stop

8.18. Obtain the communication status between the SDK and the robot

Prototype

GetSDKComState()

Description

Obtain the communication status between the SDK and the robot

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • state:Communication status: 0- Normal communication, 1- Abnormal communication

8.19. Obtain the safety stop signal

Prototype

GetSafetyStopState()

Description

Obtain the safety stop signal

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • [si0_state,si1_state]:si0_state safety stop signal SI0, 0- invalid, 1- valid si1_state safety stop signal SI1, 0- invalid, 1- valid

8.20. Obtain the current temperature of the joint drive(℃)

Prototype

GetJointDriverTemperature()

Description

Obtain the current temperature of the joint drive(℃)

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • data=[t1,t2,t3,t4,t5,t6]:The current temperatures of each joint

8.21. Obtain the current torque of the joint drive(Nm)

Prototype

GetJointDriverTorque()

Description

Obtain the current torque of the joint drive(Nm)

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • data=[j1,j2,j3,j4,j5,j6]:Joint torque [fx,fy,fz,tx,ty,tz]

8.22. Obtain the status of the robot

Prototype

GetRobotRealTimeState()

Description

Obtain the status of the robot

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • robot_state_pkg:Robot state structure

8.23. Robot status query code example

 1from fairino import Robot
 2# Establish a connection with the robot controller and return a robot object if the connection is successful
 3robot = Robot.RPC('192.168.58.2')
 4error,[yangle, zangle] = robot.GetRobotInstallAngle()
 5print(f"yangle:{yangle},zangle:{zangle}")
 6error,j_deg = robot.GetActualJointPosDegree(0)
 7print(f"joint pos deg:{j_deg[0]},{j_deg[1]},{j_deg[2]},{j_deg[3]},{j_deg[4]},{j_deg[5]}")
 8error,jointSpeed = robot.GetActualJointSpeedsDegree(0)
 9print(f"joint speeds deg:{jointSpeed[0]},{jointSpeed[1]},{jointSpeed[2]},{jointSpeed[3]},{jointSpeed[4]},{jointSpeed[5]}")
10error,jointAcc = robot.GetActualJointAccDegree(0)
11print(f"joint acc deg:{jointAcc[0]},{jointAcc[1]},{jointAcc[2]},{jointAcc[3]},{jointAcc[4]},{jointAcc[5]}")
12error,[tcp_speed, ori_speed] = robot.GetTargetTCPCompositeSpeed(0)
13print(f"GetTargetTCPCompositeSpeed tcp {tcp_speed}; ori {ori_speed}")
14error,[tcp_speed, ori_speed] = robot.GetActualTCPCompositeSpeed(0)
15print(f"GetActualTCPCompositeSpeed tcp {tcp_speed}; ori {ori_speed}")
16error,targetSpeed = robot.GetTargetTCPSpeed(0)
17print(f"GetTargetTCPSpeed {targetSpeed[0]},{targetSpeed[1]},{targetSpeed[2]},{targetSpeed[3]},{targetSpeed[4]},{targetSpeed[5]}")
18error,actualSpeed = robot.GetActualTCPSpeed(0)
19print(f"GetActualTCPSpeed {actualSpeed[0]},{actualSpeed[1]},{actualSpeed[2]},{actualSpeed[3]},{actualSpeed[4]},{actualSpeed[5]}")
20error,tcp = robot.GetActualTCPPose(0)
21print(f"tcp pose:{tcp[0]},{tcp[1]},{tcp[2]},{tcp[3]},{tcp[4]},{tcp[5]}")
22error,flange = robot.GetActualToolFlangePose(0)
23print(f"flange pose:{flange[0]},{flange[1]},{flange[2]},{flange[3]},{flange[4]},{flange[5]}")
24error,id = robot.GetActualTCPNum(0)
25print(f"tcp num:{id}")
26error,id = robot.GetActualWObjNum(0)
27print(f"wobj num:{id}")
28error,jtorque = robot.GetJointTorques(0)
29print(f"torques:{jtorque[0]},{jtorque[1]},{jtorque[2]},{jtorque[3]},{jtorque[4]},{jtorque[5]}")
30error,t_ms = robot.GetSystemClock()
31print(f"system clock:{t_ms}")
32error,config = robot.GetRobotCurJointsConfig()
33print(f"joint config:{config}")
34error,motionDone = robot.GetRobotMotionDone()
35print(f"GetRobotMotionDone:{motionDone}")
36error,len = robot.GetMotionQueueLength()
37print(f"GetMotionQueueLength:{len}")
38error,emergState = robot.GetRobotEmergencyStopState()
39print(f"GetRobotEmergencyStopState:{emergState}")
40error,comstate = robot.GetSDKComState()
41print(f"GetSDKComState:{comstate}")
42error,[si0_state, si1_state] = robot.GetSafetyStopState()
43print(f"GetSafetyStopState:{si0_state} {si1_state}")
44error,temp = robot.GetJointDriverTemperature()
45print(f"Temperature:{temp[0]},{temp[1]},{temp[2]},{temp[3]},{temp[4]},{temp[5]}")
46error,torque = robot.GetJointDriverTorque()
47print(f"torque:{torque[0]},{torque[1]},{torque[2]},{torque[3]},{torque[4]},{torque[5]}")
48error,pkg = robot.GetRobotRealTimeState()
49robot.CloseRPC()

8.24. Inverse kinematics solution

prototype

GetInverseKin(type,desc_pos,config=-1)

Description

Inverse kinematics, Cartesian position solving for joint positions

Mandatory parameters

  • type: 0-absolute position (base coordinate system), 1-relative position (base coordinate system), 2-relative position (tool coordinate system)

  • desc_pose:[x,y,z,rx,ry,rz], tool position in [mm][°]

Default parameters

  • config: joint configuration, [-1] - solved with reference to current joint position, [0~7] - solved based on joint configuration Default -1

Return Value

  • errorcode Success-0 Failure- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: inverse kinematics solution, Cartesian positional solution for joint positions

8.25. Inverse Kinematics Solution - Specifying Reference Positions

prototype

GetInverseKinRef(type,desc_pos,joint_pos_ref)

Description

Inverse kinematics, tool position solving for joint positions, solving with reference to specified joint positions

Mandatory parameters

  • type: 0-absolute position (base coordinate system), 1-relative position (base coordinate system), 2-relative position (tool coordinate system)

  • desc_pos: [x,y,z,rx,ry,rz] tool position in [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], joint reference position in [°]

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: inverse kinematics solution, tool position solving for joint position

8.26. Inverse Kinematics Solution, Cartesian Space Includes Extended Axis Position

Prototype

GetInverseKinExaxis(type, desc_pos, exaxis, tool, workPiece)

Description

Inverse kinematics solution, Cartesian space includes extended axis position

Required Parameters

  • type: 0-Absolute pose (base coordinate system), 1-Incremental pose (base coordinate system), 2-Incremental pose (tool coordinate system)

  • desc_pos: Cartesian pose

  • exaxis: Extended axis position

  • tool: Tool number

  • workPiece: Workpiece number

Default Parameters

None

Return Value

  • Error code Success-0 Failure- errcode

  • joint_pos: Joint position

8.27. Inverse Kinematics Solution Including Extended Axis Position Code Example

 1from fairino import Robot
 2import time
 3robot = Robot.RPC('192.168.58.2')
 4desc = [99.957, -0.002, 29.994, -176.569, -6.757, -167.462]
 5exaxis = [100.0, 0.0, 0.0, 0.0]
 6jointPos = [0.0] * 6
 7offsetPos = [0.0] * 6
 8rtn,pkg = robot.GetRobotRealTimeState()
 9toolnum = pkg.tool
10workPcsNum = pkg.user
11rtn, jointPos = robot.GetInverseKinExaxis(0, desc, exaxis, toolnum, workPcsNum)
12print(f"GetInverseKinExaxis joint is {jointPos[0]},{jointPos[1]},{jointPos[2]},{jointPos[3]},{jointPos[4]},{jointPos[5]}")
13robot.ExtAxisMove(exaxis, 100, -1)
14robot.MoveJ(joint_pos=jointPos, desc_pos=desc, tool=toolnum, user=workPcsNum, vel=100.0, acc=100.0, ovl=100.0, exaxis_pos=exaxis, blendT=-1, offset_flag=0, offset_pos=offsetPos)
15robot.CloseRPC()
16return 0

8.28. Inverse kinematics solving-whether there is a solution

prototype

GetInverseKinHasSolution(type,desc_pos,joint_pos_ref)

Description

Inverse kinematics, tool position solving for joint position Is there a solution

Mandatory parameters

  • type: 0-absolute position (base coordinate system), 1-relative position (base coordinate system), 2-relative position (tool coordinate system)

  • desc_pos: [x,y,z,rx,ry,rz] tool position in [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], joint reference position in [°]

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • result: True-with solution, False-without solution

8.29. Positive kinematics solving

Prototype

GetForwardKin(joint_pos)

Description

Positive Kinematics, Joint Position Solving Tool Posture

Mandatory parameters

  • joint_pos:[j1,j2,j3,j4,j5,j6]: joint position in [°]

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • desc_pos=[x,y,z,rx,ry,rz]: positive kinematics solution, joint position solver tool position

8.30. Example code for robot forward and inverse kinematics calculation

 1from fairino import Robot
 2# Establish a connection with the robot controller and return a robot object if the connection is successful
 3robot = Robot.RPC('192.168.58.2')
 4j1 = [-11.904, -99.669, 117.473, -108.616, -91.726, 74.256]
 5desc_pos1 = [-419.524, -13.000, 351.569, -178.118, 0.314, 3.833]
 6error, inverseRtn = robot.GetInverseKin(0, desc_pos=desc_pos1, config=-1)
 7print(f"dcs1 GetInverseKin rtn is {inverseRtn[0]}, {inverseRtn[1]}, {inverseRtn[2]}, "
 8      f"{inverseRtn[3]}, {inverseRtn[4]}, {inverseRtn[5]}")
 9error, inverseRtn = robot.GetInverseKinRef(0, desc_pos=desc_pos1, joint_pos_ref=j1)
10print(f"dcs1 GetInverseKinRef rtn is {inverseRtn[0]}, {inverseRtn[1]}, {inverseRtn[2]}, "
11      f"{inverseRtn[3]}, {inverseRtn[4]}, {inverseRtn[5]}")
12error, hasResult = robot.GetInverseKinHasSolution(0, desc_pos=desc_pos1, joint_pos_ref=j1)
13print(f"dcs1 GetInverseKinRef result {hasResult}")
14error, forwordResult = robot.GetForwardKin(j1)
15print(f"jpos1 forwordResult rtn is {forwordResult[0]}, {forwordResult[1]}, {forwordResult[2]}, "
16      f"{forwordResult[3]}, {forwordResult[4]}, {forwordResult[5]}")
17robot.CloseRPC()

8.31. Query Robot Teaching Management Points Data

Prototype

GetRobotTeachingPoint(name)

Description

Query Robot Demonstration and Management point data

Mandatory parameters

name: name of point

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • [x,y,z,rx,ry,rz,j1,j2,j3,j4,j5,j6,TOOL,WOBJ,SPEED,ACC,E1,E2,E3,E4]: point data

8.32. Get DH compensation parameters

New in version python: SDK-v2.0.1

Prototype

GetDHCompensation()

Description

Get DH compensation parameters

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • errorcode Success-0 Failure- errcode

  • dhCompensation=[cmpstD1,cmpstA2,cmpstA3,cmpstD4,cmpstD5,cmpstD6]: Robot DH Parameter Compensation Values (mm)

8.33. Obtain the SN code of the control box

New in version python: SDK-v2.1.1

Prototype

GetRobotSN()

Description

Obtain the SN code of the control box

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • SNCode: SN of the control box

8.34. Query robot teaching management point data code example

 1from fairino import Robot
 2# Establish a connection with the robot controller and return a robot object if the connection is successful
 3robot = Robot.RPC('192.168.58.2')
 4name = "P1"
 5rtn, data = robot.GetRobotTeachingPoint(name)
 6print(f"{rtn} name is: {name}")
 7for i in range(20):
 8    print(f"data is: {data[i]}")
 9rtn,que_len = robot.GetMotionQueueLength()
10print(f"GetMotionQueueLength rtn is: {rtn}, queue length is: {que_len}")
11retval,dh = robot.GetDHCompensation()
12print(f"retval is: {retval}")
13print(f"dh is: {dh[0]} {dh[1]} {dh[2]} {dh[3]} {dh[4]} {dh[5]}")
14error,sn = robot.GetRobotSN()
15print(f"robot SN is {sn[0]}")
16robot.CloseRPC()

8.35. Get the tool coordinate system according to the number

New in version python: SDK-v2.1.6

Prototype

GetToolCoordWithID(id)

Description

Get the tool coordinate system according to the number

Mandatory parameters

  • id: Tool coordinate system number

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.36. The workpiece coordinate system is obtained according to the No

New in version python: SDK-v2.1.6

Prototype

GetWObjCoordWithID(id)

Description

The workpiece coordinate system is obtained according to the No

Mandatory parameters

  • id: Workpiece coordinate system number

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.37. The external tool coordinate system is obtained according to the number

New in version python: SDK-v2.1.6

Prototype

GetExToolCoordWithID(id)

Description

The external tool coordinate system is obtained according to the number

Mandatory parameters

  • id:External tool coordinate system No

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.38. The extended axis coordinate system is obtained according to the No

New in version python: SDK-v2.1.6

Prototype

GetExAxisCoordWithID(id)

Description

The extended axis coordinate system is obtained according to the No

Mandatory parameters

  • id:Extended axis coordinate system No

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.39. Get the load mass and centroid according to the number

New in version python: SDK-v2.1.6

Prototype

GetTargetPayloadWithID(id)

Description

Get the load mass and centroid according to the number

Mandatory parameters

  • id:Extended axis coordinate system No

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • weight: Quality of load

  • cog: Centroid of the load

8.40. Gets the current tool coordinate system

New in version python: SDK-v2.1.6

Prototype

GetCurToolCoord()

Description

Gets the current tool coordinate system

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.41. Gets the current workpiece coordinate system

New in version python: SDK-v2.1.6

Prototype

GetCurWObjCoord()

Description

Gets the current workpiece coordinate system

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.42. Gets the current external tool coordinate system

New in version python: SDK-v2.1.6

Prototype

GetCurExToolCoord()

Description

Gets the current external tool coordinate system

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.43. Gets the current extended axis coordinate system

New in version python: SDK-v2.1.6

原型

GetCurExAxisCoord()

描述

Gets the current extended axis coordinate system

Mandatory parameters

NULL

Default parameters

NULL

Return Value

  • Error Code Success-0 Failure- errcode

  • coord: Coordinate system value

8.44. Get robot coordinate system and load code sample

 1from fairino import Robot
 2# Establish a connection with the robot controller and return a robot object if the connection is successful
 3robot = Robot.RPC('192.168.58.2')
 4id = 1
 5toolCoord = [0.0] * 6
 6extoolCoord = [0.0] * 6
 7wobjCoord = [0.0] * 6
 8exAxisCoord = [0.0] * 6
 9for i in range(100):
10    print(f"当前ID为:{id}")
11    coordSet0 = [0.0] * 6
12    coordSet = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
13    etcp = [10.0, 20.0, 30.0, 40.0, 50.0, 60.0]
14    etool = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
15    cog = [1.0, 2.0, 3.0]
16    if i % 2 == 0:
17        robot.SetToolCoord(id, coordSet, 0, 0, 1, 0)
18        time.sleep(0.1)
19        robot.SetWObjCoord(id, coordSet, 0)
20        time.sleep(0.1)
21        robot.ExtAxisActiveECoordSys(id, 1, coordSet, 1)
22        time.sleep(0.1)
23        rtn = robot.SetExToolCoord(id, etcp, etool)
24        time.sleep(0.1)
25        rtn = robot.SetLoadWeight(id, 1.5)
26        time.sleep(0.1)
27        rtn = robot.SetLoadCoord(cog[0],cog[1],cog[2],id)
28        time.sleep(0.1)
29    else:
30        robot.SetToolCoord(id, coordSet0, 0, 0, 1, 0)
31        time.sleep(0.1)
32        robot.SetWObjCoord(id, coordSet0, 0)
33        time.sleep(0.1)
34        robot.ExtAxisActiveECoordSys(id, 1, coordSet0, 1)
35        time.sleep(0.1)
36        rtn = robot.SetExToolCoord(id, coordSet0, coordSet0)
37        time.sleep(0.1)
38        rtn = robot.SetLoadWeight(id, 0)
39        time.sleep(0.1)
40        rtn = robot.SetLoadCoord(coordSet0[0],coordSet0[1],coordSet0[2] , id)
41        time.sleep(0.1)
42    rtn, toolCoord = robot.GetCurToolCoord()
43    print(f"GetToolCoord {toolCoord[0]},{toolCoord[1]},{toolCoord[2]},{toolCoord[3]},{toolCoord[4]},{toolCoord[5]}")
44    rtn, wobjCoord = robot.GetCurWObjCoord()
45    print(f"GetWObjCoord {wobjCoord[0]},{wobjCoord[1]},{wobjCoord[2]},{wobjCoord[3]},{wobjCoord[4]},{wobjCoord[5]}")
46    rtn, extoolCoord = robot.GetCurExToolCoord()
47    print(f"GetExToolCoord {extoolCoord[0]},{extoolCoord[1]},{extoolCoord[2]},{extoolCoord[3]},{extoolCoord[4]},{extoolCoord[5]}")
48    rtn, exAxisCoord = robot.GetCurExAxisCoord()
49    print(f"GetExAxisCoord {exAxisCoord[0]},{exAxisCoord[1]},{exAxisCoord[2]},{exAxisCoord[3]},{exAxisCoord[4]},{exAxisCoord[5]}")
50    weight = 0.0
51    getCog = [0.0] * 3
52    rtn, weight = robot.GetTargetPayload(0)
53    rtn, getCog = robot.GetTargetPayloadCog(0)
54    print(f"GetTargetPayload {weight},{getCog[0]},{getCog[1]},{getCog[2]}")
55
56    rtn, toolCoord = robot.GetToolCoordWithID(id)
57    print(f"GetToolCoordWithID {id},{toolCoord[0]},{toolCoord[1]},{toolCoord[2]},{toolCoord[3]},{toolCoord[4]},{toolCoord[5]}")
58    rtn, wobjCoord = robot.GetWObjCoordWithID(id)
59    print(f"GetWObjCoordWithID {id},{wobjCoord[0]},{wobjCoord[1]},{wobjCoord[2]},{wobjCoord[3]},{wobjCoord[4]},{wobjCoord[5]}")
60    rtn, extoolCoord = robot.GetExToolCoordWithID(id)
61    print(f"GetExToolCoordWithID {id},{extoolCoord[0]},{extoolCoord[1]},{extoolCoord[2]},{extoolCoord[3]},{extoolCoord[4]},{extoolCoord[5]}")
62    rtn, exAxisCoord = robot.GetExAxisCoordWithID(id)
63    print(f"GetExAxisCoordWithID {id},{exAxisCoord[0]},{exAxisCoord[1]},{exAxisCoord[2]},{exAxisCoord[3]},{exAxisCoord[4]},{exAxisCoord[5]}")
64    weight = 0.0
65    getCog = [0.0] * 3
66    rtn, weight, getCog = robot.GetTargetPayloadWithID(id)
67    print(f"GetTargetPayloadWithID {id},{weight},{getCog[0]},{getCog[1]},{getCog[2]}")
68    time.sleep(0.5)
69    print(f"times {i}")