8. Consulta de Estado do Robô
8.1. Obter Posição Articular Atual (graus)
1/**
2* @brief Obtém a posição articular atual (graus)
3* @param [out] jPos Posições das seis juntas obtidas, em graus
4* @return Código de erro
5*/
6int GetActualJointPosDegree(JointPos jPos);
8.2. Obter Velocidade de Feedback Articular - graus/s
1/**
2* @brief Obtém a velocidade de feedback articular - graus/s
3* @param [out] speed Velocidades das seis juntas
4* @return Código de erro
5*/
6int GetActualJointSpeedsDegree(Object[] speed);
8.3. Obter Aceleração de Feedback Articular
1/**
2* @brief Obtém a aceleração de feedback articular - graus/s²
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] acc Acelerações das seis juntas
5* @return Código de erro
6*/
7public int GetActualJointAccDegree(int flag, Object[] acc)
8.4. Obter Velocidade de Comando TCP - Velocidade Resultante
1/**
2* @brief Obtém a velocidade de comando TCP - velocidade resultante
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] tcp_speed Velocidade linear
5* @param [out] ori_speed Velocidade de orientação
6* @return Código de erro
7*/
8public int GetTargetTCPCompositeSpeed(int flag, double tcp_speed, double ori_speed)
8.5. Obter Velocidade de Feedback TCP - Velocidade Resultante
1/**
2* @brief Obtém a velocidade de feedback TCP - velocidade resultante
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] tcp_speed Velocidade linear
5* @param [out] ori_speed Velocidade de orientação
6* @return Código de erro
7*/
8public int GetActualTCPCompositeSpeed(int flag, double tcp_speed, double ori_speed)
8.6. Obter Velocidade de Comando TCP - Velocidades Componentes
1/**
2* @brief Obtém a velocidade de comando TCP - velocidades componentes
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] speed Velocidades [x, y, z, rx, ry, rz]
5* @return Código de erro
6*/
7public int GetTargetTCPSpeed(int flag, Object[] speed)
8.7. Obter Velocidade de Feedback TCP - Velocidades Componentes
1/**
2* @brief Obtém a velocidade de feedback TCP - velocidades componentes
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] speed Velocidades [x, y, z, rx, ry, rz]
5* @return Código de erro
6*/
7public int GetActualTCPSpeed(int flag, Object[] speed)
8.8. Obter Pose da Ferramenta Atual
1/**
2* @brief Obtém a pose da ferramenta atual
3* @param [out] desc_pos Pose da ferramenta
4* @return Código de erro
5*/
6int GetActualTCPPose(DescPose desc_pos);
8.9. Obter Número do Sistema de Coordenadas da Ferramenta Atual
1/**
2* @brief Obtém o número do sistema de coordenadas da ferramenta atual
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] id Número do sistema de coordenadas da ferramenta
5* @return Código de erro
6*/
7int GetActualTCPNum(int flag, int[] id)
8.10. Obter Número do Sistema de Coordenadas da Peça Atual
1/**
2* @brief Obtém o número do sistema de coordenadas da peça atual
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] id Número do sistema de coordenadas da peça
5* @return Código de erro
6*/
7public int GetActualWObjNum(int flag, int[] id)
8.11. Obter Pose do Flange da Extremidade Atual
1/**
2* @brief Obtém a pose do flange da extremidade atual
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] desc_pos Pose do flange
5* @return Código de erro
6*/
7public int GetActualToolFlangePose(int flag, DescPose desc_pos)
8.12. Obter Torque Articular Atual
1/**
2* @brief Obtém o torque articular atual
3* @param [in] flag 0-bloqueante, 1-não bloqueante
4* @param [out] torques Torques das juntas
5* @return Código de erro
6*/
7int GetJointTorques(int flag, Object[] torques);
8.13. Obter Tempo do Sistema
1/**
2* @brief Obtém o tempo do sistema
3* @return List[0]:int código de erro; List[1]:double t_ms em ms
4*/
5List<Number> GetSystemClock();
8.14. Verificar se o Movimento do Robô está Concluído
1/**
2* @brief Verifica se o movimento do robô está concluído
3* @param [out] state 0-não concluído, 1-concluído
4* @return Código de erro
5*/
6public int GetRobotMotionDone(int[] state)
8.15. Consultar o Comprimento da Fila de Cache de Movimento do Robô
1/**
2* @brief Consulta o comprimento da fila de cache de movimento do robô
3* @param [out] len Comprimento da cache
4* @return Código de erro
5*/
6public int GetMotionQueueLength(int[] len)
8.16. Obter Estado de Parada de Emergência do Robô
1/**
2* @brief Obtém o estado de parada de emergência do robô
3* @param [out] state Estado de parada de emergência, 0-não em parada de emergência, 1-em parada de emergência
4* @return Código de erro
5*/
6public int GetRobotEmergencyStopState(int[] state)
8.17. Obter Estado de Comunicação entre SDK e o Robô
1/**
2* @brief Obtém o estado de comunicação entre SDK e o robô
3* @return state Estado de comunicação, 0-comunicação normal, 1-comunicação anormal
4*/
5public int GetSDKComState()
8.18. Obter Sinal de Parada de Segurança
1/**
2* @brief Obtém o sinal de parada de segurança
3* @param [out] si0_state Sinal de parada de segurança SI0, 0-inválido, 1-válido
4* @param [out] si1_state Sinal de parada de segurança SI1, 0-inválido, 1-válido
5* @return Código de erro
6*/
7public int GetSafetyStopState(int[] si0_state, int[] si1_state)
8.19. Obter Temperatura do Driver Articular do Robô (°C)
1/**
2* @brief Obtém a temperatura do driver articular do robô (°C)
3* @param [out] temperature Temperatura
4* @return Código de erro
5*/
6public int GetJointDriverTemperature(double[] temperature)
8.20. Obter Torque do Driver Articular do Robô (Nm)
1/**
2* @brief Obtém o torque do driver articular do robô (Nm)
3* @param [out] torque Torque
4* @return Código de erro
5*/
6public int GetJointDriverTorque(double[] torque)
8.21. Obter Estrutura de Estado em Tempo Real do Robô
1/**
2* @brief Obtém a estrutura de estado em tempo real do robô
3* @return Estrutura de estado em tempo real
4*/
5public ROBOT_STATE_PKG GetRobotRealTimeState()
8.22. Exemplo de Código de Consulta de Estado do Robô
1public static int TestGetStatus(Robot robot)
2{
3 List<Number> angle = new ArrayList<>();
4 angle = robot.GetRobotInstallAngle();
5 System.out.println("yangle:"+angle.get(1)+",zangle:"+angle.get(2));
6
7 JointPos j_deg = new JointPos(){};
8 robot.GetActualJointPosDegree(j_deg);
9
10 Object[] jointSpeed = new Object[] { 0,0,0,0,0,0 };
11 robot.GetActualJointSpeedsDegree(jointSpeed);
12
13 Object[] jointAcc = new Object[]{0,0,0,0,0,0 };
14 robot.GetActualJointAccDegree(0, jointAcc);
15
16 double tcp_speed = 0.0;
17 double ori_speed = 0.0;
18 robot.GetTargetTCPCompositeSpeed(0, tcp_speed, ori_speed);
19
20 robot.GetActualTCPCompositeSpeed(0, tcp_speed, ori_speed);
21
22 Object[] targetSpeed = new Object[] { 0,0,0,0,0,0 };
23 robot.GetTargetTCPSpeed(0, targetSpeed);
24
25 Object[] actualSpeed = new Object[] {0,0,0,0,0,0 };
26 robot.GetActualTCPSpeed(0, actualSpeed);
27
28 DescPose tcp = new DescPose(){};
29 robot.GetActualTCPPose(tcp);
30
31 DescPose flange = new DescPose(){};
32 robot.GetActualToolFlangePose(0, flange);
33
34 int[] id = {};
35 robot.GetActualTCPNum(0, id);
36
37 robot.GetActualWObjNum(0, id);
38
39 List<Number> jtorque = new ArrayList<>();
40 jtorque = robot.GetJointTorques(0);
41
42 List<Number> t_ms = new ArrayList<>();
43 t_ms = robot.GetSystemClock();
44
45 List<Integer> config = new ArrayList<>();
46 config = robot.GetRobotCurJointsConfig();
47
48 int motionDone = 0;
49 robot.GetRobotMotionDone(motionDone);
50
51 int[] len = {0 };
52 robot.GetMotionQueueLength(len);
53
54 int[] emergState = {0};
55 robot.GetRobotEmergencyStopState(emergState);
56
57 int comstate = 0;
58 comstate = robot.GetSDKComState();
59
60 int[] si0_state = new int[]{0}, si1_state = new int[]{0};
61 robot.GetSafetyStopState(si0_state, si1_state);
62
63 double[] temp = new double[] { 0,0,0,0,0,0 };
64 robot.GetJointDriverTemperature(temp);
65
66 double[] torque = new double[]{ 0,0,0,0,0,0 };
67 robot.GetJointDriverTorque(torque);
68
69 ROBOT_STATE_PKG pkg = new ROBOT_STATE_PKG();
70 pkg = robot.GetRobotRealTimeState();
71
72 return 0;
73}
8.23. Solução de Cinemática Inversa
1/**
2* @brief Solução de cinemática inversa
3* @param [in] type 0-pose absoluta (sistema de coordenadas base), 1-pose incremental (sistema de coordenadas base), 2-pose incremental (sistema de coordenadas da ferramenta)
4* @param [in] desc_pos Pose cartesiana
5* @param [in] config Configuração do espaço articular, [-1]-resolver com base na posição articular atual, [0~7]-resolver com base em uma configuração específica do espaço articular
6* @param [out] joint_pos Posição articular
7* @return Código de erro
8*/
9int GetInverseKin(int type, DescPose desc_pos, int config, JointPos joint_pos);
8.24. Solução de Cinemática Inversa (com posição de referência)
1/**
2* @brief Solução de cinemática inversa, resolve com base na posição articular de referência especificada
3* @param [in] posMode 0-pose absoluta, 1-pose relativa - sistema de coordenadas base, 2-pose relativa - sistema de coordenadas da ferramenta
4* @param [in] desc_pos Pose cartesiana
5* @param [in] joint_pos_ref Posição articular de referência
6* @param [out] joint_pos Posição articular
7* @return Código de erro
8*/
9int GetInverseKinRef(int posMode, DescPose desc_pos, JointPos joint_pos_ref, JointPos joint_pos);
8.25. Solução de Cinemática Inversa incluindo posição do eixo estendido no espaço cartesiano
1/**
2* @brief Solução de cinemática inversa incluindo posição do eixo estendido no espaço cartesiano
3* @param type 0-pose absoluta (sistema de coordenadas base), 1-pose incremental (sistema de coordenadas base), 2-pose incremental (sistema de coordenadas da ferramenta)
4* @param desc_pos Pose cartesiana
5* @param exaxis Posição do eixo estendido
6* @param tool Número da ferramenta
7* @param workPiece Número da peça
8* @param joint_pos Posição articular
9* @return Código de erro
10*/
11public int GetInverseKinExaxis(int type, DescPose desc_pos, ExaxisPos exaxis, int tool, int workPiece, JointPos joint_pos)
8.26. Exemplo de Código de Solução de Cinemática Inversa incluindo posição do eixo estendido
1public static void TestInverseKinExaxis(Robot robot)
2{
3 DescPose desc = new DescPose(99.957, -0.002, 29.994, -176.569, -6.757, -167.462);
4 ExaxisPos exaxis = new ExaxisPos(100.0, 0.0, 0.0, 0.0);
5 JointPos jointPos = new JointPos();
6 DescPose offsetPos = new DescPose();
7 ROBOT_STATE_PKG pkg = robot.GetRobotRealTimeState();
8 int toolnum = pkg.tool;
9 int workPcsNum = pkg.user;
10 robot.GetInverseKinExaxis(0, desc, exaxis, toolnum, workPcsNum, jointPos);
11 System.out.printf("GetInverseKinExaxis joint is %f, %f, %f, %f, %f, %f\n", jointPos.J1, jointPos.J2, jointPos.J3, jointPos.J4, jointPos.J5, jointPos.J6);
12 robot.ExtAxisMove(exaxis, 100, -1);
13 robot.MoveJ(jointPos, desc, toolnum, workPcsNum, 100.0, 100.0, 100.0, exaxis, -1, 0, offsetPos);
14 robot.CloseRPC();
15 robot.Sleep(9999999);
16}
8.27. Verificar se a Solução de Cinemática Inversa Existe
1/**
2* @brief Solução de cinemática inversa, verifica se há solução com base na posição articular de referência especificada
3* @param [in] posMode 0-pose absoluta, 1-pose relativa - sistema de coordenadas base, 2-pose relativa - sistema de coordenadas da ferramenta
4* @param [in] desc_pos Pose cartesiana
5* @param [in] joint_pos_ref Posição articular de referência
6* @return Código de erro List[0]:código de erro; List[1]: int hasResult 0-sem solução, 1-com solução
7*/
8List<Integer> GetInverseKinHasSolution(int posMode, DescPose desc_pos, JointPos joint_pos_ref);
8.28. Solução de Cinemática Direta
1/**
2* @brief Solução de cinemática direta
3* @param [in] joint_pos Posição articular
4* @param [out] desc_pos Pose cartesiana
5* @return Código de erro
6*/
7int GetForwardKin(JointPos joint_pos, DescPose desc_pos);
8.29. Exemplo de Código de Cálculo de Cinemática Direta e Inversa do Robô
1public static int TestInverseKin(Robot robot)
2{
3 JointPos j1 = new JointPos(-11.904, -99.669, 117.473, -108.616, -91.726, 74.256);
4 DescPose desc_pos1 = new DescPose(-419.524, -13.000, 351.569, -178.118, 0.314, 3.833);
5
6 JointPos inverseRtn = new JointPos(){};
7
8 robot.GetInverseKin(0, desc_pos1, -1, inverseRtn);
9 robot.GetInverseKinRef(0, desc_pos1, j1, inverseRtn);
10
11 int hasResut = 0;
12 robot.GetInverseKinHasSolution(0, desc_pos1, j1);
13
14 DescPose forwordResult = new DescPose(){};
15 robot.GetForwardKin(j1, forwordResult);
16
17 return 0;
18}
8.30. Consultar Dados do Ponto de Gerenciamento de Ensino do Robô
1/**
2* @brief Consulta os dados do ponto de gerenciamento de ensino do robô
3* @param [in] name Nome do ponto
4* @return List[0]:código de erro; List[1] - List[20]: dados do ponto double[20]{x,y,z,rx,ry,rz,j1,j2,j3,j4,j5,j6,tool,wobj,speed,acc,e1,e2,e3,e4}
5*/
6List<Number> GetRobotTeachingPoint(String name);
8.31. Obter Valores de Compensação dos Parâmetros DH do Robô
1/**
2* @brief Obtém os valores de compensação dos parâmetros DH do robô
3* @param dhCompensation Valores de compensação dos parâmetros DH do robô (mm) [cmpstD1, cmpstA2, cmpstA3, cmpstD4, cmpstD5, cmpstD6]
4* @return Código de erro
5*/
6public int GetDHCompensation(Object[] dhCompensation)
8.32. Obter Número de Série da Caixa de Controle
Novo na versão Java: SDK-v1.0.4-3.8.1
1/**
2* @brief Obtém o número de série da caixa de controle
3* @param [out] SNCode Número de série da caixa de controle
4* @return Código de erro
5*/
6int GetRobotSN(String[] SNCode);
8.33. Exemplo de Código de Consulta de Dados do Ponto de Gerenciamento de Ensino do Robô
1public static int TestGetTeachPoint(Robot robot)
2{
3 String name = "P1";
4 List<Number> data = new ArrayList<>();
5 data = robot.GetRobotTeachingPoint(name);
6 System.out.println(name+" name is: "+data.get(0));
7 for (int i = 0; i < 20; i++)
8 {
9 System.out.println("data is: "+ data.get(i+1));
10 }
11
12 int[] que_len = {0};
13 int rtn = robot.GetMotionQueueLength(que_len);
14 System.out.println("GetMotionQueueLength rtn is:"+rtn+", queue length is:"+ que_len[0]);
15
16 Object[] dh = new Object[]{ 0,0,0,0,0,0 };
17 int retval = 0;
18 retval = robot.GetDHCompensation(dh);
19 System.out.println("retval is: "+retval);
20
21 String[] SN = new String[]{""};
22 robot.GetRobotSN(SN);
23 System.out.println("robot SN is "+SN[0]);
24 return 0;
25}
8.34. Obter Sistema de Coordenadas da Ferramenta por ID
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2* @brief Obtém o sistema de coordenadas da ferramenta por ID
3* @param [in] id Número do sistema de coordenadas da ferramenta
4* @param [out] coord Valores do sistema de coordenadas
5* @return Código de erro
6*/
7int GetToolCoordWithID(int id, DescPose coord)
8.35. Obter Sistema de Coordenadas da Peça por ID
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2* @brief Obtém o sistema de coordenadas da peça por ID
3* @param [in] id Número do sistema de coordenadas da peça
4* @param [out] coord Valores do sistema de coordenadas
5* @return Código de erro
6*/
7public int GetWObjCoordWithID(int id, DescPose coord)
8.36. Obter Sistema de Coordenadas da Ferramenta Externa por ID
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2* @brief Obtém o sistema de coordenadas da ferramenta externa por ID
3* @param [in] id Número do sistema de coordenadas da ferramenta externa
4* @param [out] coord Valores do sistema de coordenadas
5* @return Código de erro
6*/
7public int GetExToolCoordWithID(int id, DescPose coord)
8.37. Obter Sistema de Coordenadas do Eixo Estendido por ID
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2* @brief Obtém o sistema de coordenadas do eixo estendido por ID
3* @param [in] id Número do sistema de coordenadas da ferramenta externa
4* @param [out] coord Valores do sistema de coordenadas
5* @return Código de erro
6*/
7public int GetExAxisCoordWithID(int id, DescPose coord)
8.38. Obter Sistema de Coordenadas da Ferramenta Atual
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2 * @brief Obtém o sistema de coordenadas da ferramenta atual
3 * @param [out] coord Valores do sistema de coordenadas
4 * @return Código de erro
5 */
6public int GetCurToolCoord(DescPose coord)
8.39. Obter Sistema de Coordenadas da Peça Atual
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2 * @brief Obtém o sistema de coordenadas da peça atual
3 * @param [out] coord Valores do sistema de coordenadas
4 * @return Código de erro
5 */
6public int GetCurWObjCoord(DescPose coord)
8.40. Obter Sistema de Coordenadas da Ferramenta Externa Atual
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2 * @brief Obtém o sistema de coordenadas da ferramenta externa atual
3 * @param [out] coord Valores do sistema de coordenadas
4 * @return Código de erro
5 */
6public int GetCurExToolCoord(DescPose coord)
8.41. Obter Sistema de Coordenadas do Eixo Estendido Atual
Novo na versão Java: SDK-v1.0.9-3.8.6
1/**
2 * @brief Obtém o sistema de coordenadas do eixo estendido atual
3 * @param [out] coord Valores do sistema de coordenadas
4 * @return Código de erro
5 */
6public int GetCurExAxisCoord(DescPose coord)
8.42. Exemplo de Código de Sistemas de Coordenadas e Carga do Robô
1public static void TestCoord(Robot robot)
2{
3 int id = 1;
4 int rtn = 0;
5 DescPose toolCoord = new DescPose();
6 DescPose extoolCoord = new DescPose();
7 DescPose wobjCoord = new DescPose();
8 DescPose exAxisCoord = new DescPose();
9
10 robot.GetCurToolCoord(toolCoord); // ferramenta
11 System.out.println("GetToolCoord:"+id+","+
12 toolCoord.tran.x+","+ toolCoord.tran.y+","+ toolCoord.tran.z+","+
13 toolCoord.rpy.rx+","+ toolCoord.rpy.ry+","+ toolCoord.rpy.rz);
14
15 robot.GetCurWObjCoord(toolCoord); // peça
16 System.out.println("GetCurWObjCoord:"+id+","+
17 toolCoord.tran.x+","+ toolCoord.tran.y+","+ toolCoord.tran.z+","+
18 toolCoord.rpy.rx+","+ toolCoord.rpy.ry+","+ toolCoord.rpy.rz);
19
20 robot.GetCurExToolCoord(toolCoord); // ferramenta externa
21 System.out.println("GetCurExToolCoord:"+id+","+
22 toolCoord.tran.x+","+ toolCoord.tran.y+","+ toolCoord.tran.z+","+
23 toolCoord.rpy.rx+","+ toolCoord.rpy.ry+","+ toolCoord.rpy.rz);
24
25 robot.GetCurExAxisCoord(toolCoord); // eixo estendido
26 System.out.println("GetCurExToolCoord:"+id+","+
27 toolCoord.tran.x+","+ toolCoord.tran.y+","+ toolCoord.tran.z+","+
28 toolCoord.rpy.rx+","+ toolCoord.rpy.ry+","+ toolCoord.rpy.rz);
29
30 List<Number> weightT = new ArrayList<>(); // centro de massa
31 DescTran cogT = new DescTran();
32 weightT = robot.GetTargetPayload(0);
33 robot.GetTargetPayloadCog(0, cogT);
34 System.out.println("GetTargetPayload :"+weightT.get(1).doubleValue()+", "+
35 cogT.x+", "+cogT.y+", "+cogT.z);
36
37 robot.GetToolCoordWithID(id, toolCoord);
38 System.out.println("GetToolCoordWithID:"+id+","+
39 toolCoord.tran.x+","+ toolCoord.tran.y+","+ toolCoord.tran.z+","+
40 toolCoord.rpy.rx+","+ toolCoord.rpy.ry+","+ toolCoord.rpy.rz);
41
42 robot.GetWObjCoordWithID(id, wobjCoord);
43 System.out.println("GetWObjCoordWithID "+id+", "+
44 wobjCoord.tran.x+","+ wobjCoord.tran.y+","+ wobjCoord.tran.z+","+
45 wobjCoord.rpy.rx+","+ wobjCoord.rpy.ry+","+ wobjCoord.rpy.rz);
46
47 robot.GetExToolCoordWithID(id, extoolCoord); // ferramenta externa
48 System.out.println("GetExToolCoordWithID :"+ id+","+
49 extoolCoord.tran.x+","+ extoolCoord.tran.y+","+ extoolCoord.tran.z+","+
50 extoolCoord.rpy.rx+","+ extoolCoord.rpy.ry+","+ extoolCoord.rpy.rz);
51
52 robot.GetExAxisCoordWithID(id, exAxisCoord); // eixo estendido
53 System.out.println("GetExAxisCoordWithID "+id+","+
54 exAxisCoord.tran.x+","+ exAxisCoord.tran.y+","+ exAxisCoord.tran.z+","+
55 exAxisCoord.rpy.rx+","+ exAxisCoord.rpy.ry+","+ exAxisCoord.rpy.rz);
56
57 double[] weight = new double[1]; // carga e centro de massa
58 DescTran getCog = new DescTran();
59 robot.GetTargetPayloadWithID(id, weight, getCog);
60 System.out.println("GetTargetPayloadWithID :"+ id+","+ weight[0]+","+
61 getCog.x+","+ getCog.y+","+ getCog.z);
62
63 DescPose coordSet0 = new DescPose(0, 0, 0, 0, 0, 0);
64 DescPose coordSet = new DescPose(1, 2, 3, 4, 5, 6);
65 DescPose etcp = new DescPose(10, 20, 30, 40, 50, 60);
66 DescPose etool = new DescPose(0.1, 0.2, 0.3, 0.4, 0.5, 0.6);
67 DescTran cog = new DescTran(1, 2, 3);
68
69 robot.SetToolCoord(id, coordSet, 0, 0, 1, 0);
70 robot.Sleep(100);
71 robot.SetWObjCoord(id, coordSet, 0);
72 robot.Sleep(100);
73 robot.ExtAxisActiveECoordSys(id, 1, coordSet, 1); // Aplica o resultado da calibração ao sistema de coordenadas do eixo estendido
74 robot.Sleep(100);
75 rtn = robot.SetExToolCoord(id, etcp, etool);
76 robot.Sleep(100);
77 rtn = robot.SetLoadWeight(id, 1.5);
78 robot.Sleep(500);
79 rtn = robot.SetLoadCoord(id, cog);
80 robot.Sleep(100);
81}