8. Consulta de Estado do Robô

8.1. Obter Posição Articular Atual (graus)

Protótipo

GetActualJointPosDegree(flag=1)

Descrição

Obtém a posição articular atual (graus)

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Posição articular atual (graus)

8.2. Obter Posição Articular Atual (radianos)

Protótipo

GetActualJointPosRadian(flag=1)

Descrição

Obtém a posição articular atual (radianos)

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Posição articular atual (radianos)

8.3. Obter Velocidade de Feedback da Junta (graus/s)

Protótipo

GetActualJointSpeedsDegree(flag=1)

Descrição

Obtém a velocidade de feedback da junta (graus/s)

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • speed=[j1,j2,j3,j4,j5,j6]: Velocidade de feedback da junta (graus/s)

8.4. Obter Aceleração de Feedback da Junta (graus/s²)

Protótipo

GetActualJointAccDegree(flag=1)

Descrição

Obtém a aceleração de feedback da junta (graus/s²)

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • acc=[j1,j2,j3,j4,j5,j6]: Aceleração de feedback da junta (graus/s²)

8.5. Obter Velocidade Linear Composta do TCP de Comando

Protótipo

GetTargetTCPCompositeSpeed(flag=1)

Descrição

Obtém a velocidade linear composta do TCP de comando

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • [tcp_speed, ori_speed]: tcp_speed - velocidade linear composta, ori_speed - velocidade angular composta

8.6. Obter Velocidade Linear Composta do TCP de Feedback

Protótipo

GetActualTCPCompositeSpeed(flag=1)

Descrição

Obtém a velocidade linear composta do TCP de feedback

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • [tcp_speed, ori_speed]: tcp_speed - velocidade linear composta, ori_speed - velocidade angular composta

8.7. Obter Velocidade do TCP de Comando

Protótipo

GetTargetTCPSpeed(flag=1)

Descrição

Obtém a velocidade do TCP de comando

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • speed=[x,y,z,rx,ry,rz]: Velocidade do TCP de comando, mm/s

8.8. Obter Velocidade do TCP de Feedback

Protótipo

GetActualTCPSpeed(flag=1)

Descrição

Obtém a velocidade do TCP de feedback

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

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

8.9. Obter Pose Atual da Ferramenta

Protótipo

GetActualTCPPose(flag=1)

Descrição

Obtém a pose atual da ferramenta

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: Pose atual da ferramenta

8.10. Obter Número do Sistema de Coordenadas da Ferramenta Atual

Protótipo

GetActualTCPNum(flag=1)

Descrição

Obtém o número do sistema de coordenadas da ferramenta atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • tool_id: Número do sistema de coordenadas da ferramenta

8.11. Obter Número do Sistema de Coordenadas da Peça Atual

Protótipo

GetActualWObjNum(flag=1)

Descrição

Obtém o número do sistema de coordenadas da peça atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • wobj_id: Número do sistema de coordenadas da peça

8.12. Obter Pose Atual do Flange da Extremidade

Protótipo

GetActualToolFlangePose(flag=1)

Descrição

Obtém a pose atual do flange da extremidade

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • flange_pose=[x,y,z,rx,ry,rz]: Pose atual do flange da extremidade

8.13. Obter Torque Articular Atual

Protótipo

GetJointTorques(flag=1)

Descrição

Obtém o torque articular atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

  • flag: 0-bloqueante, 1-não bloqueante, padrão 1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • torques=[j1,j2,j3,j4,j5,j6]: Torque articular

8.14. Obter Tempo do Sistema

Protótipo

GetSystemClock()

Descrição

Obtém o tempo do sistema

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • t_ms: Tempo do sistema, unidade [ms]

8.15. Consultar se o Movimento do Robô foi Concluído

Protótipo

GetRobotMotionDone()

Descrição

Consulta se o movimento do robô foi concluído

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • state: Estado de movimento do robô, 0-não concluído, 1-concluído

8.16. Consultar o Comprimento do Cache da Fila de Movimento do Robô

Protótipo

GetMotionQueueLength()

Descrição

Consulta o comprimento do cache da fila de movimento do robô

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • len: Comprimento do cache

8.17. Obter Estado de Parada de Emergência do Robô

Protótipo

GetRobotEmergencyStopState()

Descrição

Obtém o estado de parada de emergência do robô

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • state: Estado de parada de emergência, 0-não em parada de emergência, 1-em parada de emergência

8.18. Obter Estado de Comunicação entre o SDK e o Robô

Protótipo

GetSDKComState()

Descrição

Obtém o estado de comunicação entre o SDK e o robô

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • state: Estado de comunicação, 0-comunicação normal, 1-comunicação anormal

8.19. Obter Sinal de Parada de Segurança

Protótipo

GetSafetyStopState()

Descrição

Obtém o sinal de parada de segurança

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • [si0_state, si1_state]: si0_state - Sinal de parada de segurança SI0, 0-inativo, 1-ativo; si1_state - Sinal de parada de segurança SI1, 0-inativo, 1-ativo

8.20. Obter Temperatura Atual do Driver da Junta (℃)

Protótipo

GetJointDriverTemperature()

Descrição

Obtém a temperatura atual do driver da junta (℃)

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • data=[t1,t2,t3,t4,t5,t6]: Temperatura atual de cada junta

8.21. Obter Torque Atual do Driver da Junta (Nm)

Protótipo

GetJointDriverTorque()

Descrição

Obtém o torque atual do driver da junta (Nm)

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

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

8.22. Obter Estado do Robô

Protótipo

GetRobotRealTimeState()

Descrição

Obtém o estado do robô

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • robot_state_pkg: Estrutura de estado do robô

8.23. Exemplo de Código de Consulta de Estado do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se bem-sucedido
 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. Solução de Cinemática Inversa

Protótipo

GetInverseKin(type,desc_pos,config=-1)

Descrição

Cinemática inversa, resolve a posição articular a partir da pose cartesiana

Parâmetros Obrigatórios

  • type: 0-pose absoluta (sistema de coordenadas base), 1-pose relativa (sistema de coordenadas base), 2-pose relativa (sistema de coordenadas da ferramenta)

  • desc_pose: [x,y,z,rx,ry,rz], pose da ferramenta, unidade [mm][°]

Parâmetros Padrão

  • config: Configuração articular, [-1]-resolve com base na posição articular atual, [0~7]-resolve com base em uma configuração articular específica. Padrão -1

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Solução da cinemática inversa, posição articular a partir da pose cartesiana

8.25. Solução de Cinemática Inversa com Posição de Referência Especificada

Protótipo

GetInverseKinRef(type,desc_pos,joint_pos_ref)

Descrição

Cinemática inversa, resolve a posição articular a partir da pose da ferramenta, usando uma posição articular de referência

Parâmetros Obrigatórios

  • type: 0-pose absoluta (sistema de coordenadas base), 1-pose relativa (sistema de coordenadas base), 2-pose relativa (sistema de coordenadas da ferramenta)

  • desc_pos: [x,y,z,rx,ry,rz] pose da ferramenta, unidade [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], posição articular de referência, unidade [°]

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Solução da cinemática inversa, posição articular a partir da pose da ferramenta

8.26. Solução de Cinemática Inversa Incluindo Posição do Eixo de Extensão no Espaço Cartesiano

Protótipo

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

Descrição

Solução de cinemática inversa incluindo posição do eixo de extensão no espaço cartesiano

Parâmetros Obrigatórios

  • type: 0-pose absoluta (sistema de coordenadas base), 1-pose incremental (sistema de coordenadas base), 2-pose incremental (sistema de coordenadas da ferramenta)

  • desc_pos: Pose cartesiana

  • exaxis: Posição do eixo de extensão

  • tool: Número da ferramenta

  • workPiece: Número da peça

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • joint_pos: Posição articular

8.27. Exemplo de Código para Solução de Cinemática Inversa Incluindo Posição do Eixo de Extensão

 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. Solução de Cinemática Inversa - Verificar se Há Solução

Protótipo

GetInverseKinHasSolution(type,desc_pos,joint_pos_ref)

Descrição

Cinemática inversa, verifica se há solução para a posição articular a partir da pose da ferramenta

Parâmetros Obrigatórios

  • type: 0-pose absoluta (sistema de coordenadas base), 1-pose relativa (sistema de coordenadas base), 2-pose relativa (sistema de coordenadas da ferramenta)

  • desc_pos: [x,y,z,rx,ry,rz] pose da ferramenta, unidade [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], posição articular de referência, unidade [°]

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • result: “True” - há solução, “False” - não há solução

8.29. Solução de Cinemática Direta

Protótipo

GetForwardKin(joint_pos)

Descrição

Cinemática direta, resolve a pose da ferramenta a partir da posição articular

Parâmetros Obrigatórios

  • joint_pos: [j1,j2,j3,j4,j5,j6]: posição articular, unidade [°]

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • desc_pos=[x,y,z,rx,ry,rz]: Solução da cinemática direta, pose da ferramenta a partir da posição articular

8.30. Exemplo de Código para Cálculos de Cinemática Direta e Inversa do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se bem-sucedido
 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. Consultar Dados do Ponto de Gerenciamento de Ensino do Robô

Protótipo

GetRobotTeachingPoint(name)

Descrição

Consulta os dados do ponto de gerenciamento de ensino do robô

Parâmetros Obrigatórios

name: Nome do ponto

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • [x,y,z,rx,ry,rz,j1,j2,j3,j4,j5,j6,tool,wobj,speed,acc,e1,e2,e3,e4]: Dados do ponto

8.32. Obter Parâmetros de Compensação DH

Novo na versão python: SDK-v2.0.1

Protótipo

GetDHCompensation()

Descrição

Obtém os parâmetros de compensação DH

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • dhCompensation=[cmpstD1,cmpstA2,cmpstA3,cmpstD4,cmpstD5,cmpstD6]: Valores de compensação dos parâmetros DH do robô (mm)

8.33. Obter Código SN do Painel de Controle

Novo na versão python: SDK-v2.1.1

Protótipo

GetRobotSN()

Descrição

Obtém o código SN do painel de controle

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • SNCode: Código SN do painel de controle

8.34. Exemplo de Código para Consultar Dados do Ponto de Gerenciamento de Ensino do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se bem-sucedido
 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. Obter Sistema de Coordenadas da Ferramenta por Número

Novo na versão python: SDK-v2.1.6

Protótipo

GetToolCoordWithID(id)

Descrição

Obtém o sistema de coordenadas da ferramenta pelo número

Parâmetros Obrigatórios

  • id: Número do sistema de coordenadas da ferramenta

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.36. Obter Sistema de Coordenadas da Peça por Número

Novo na versão python: SDK-v2.1.6

Protótipo

GetWObjCoordWithID(id)

Descrição

Obtém o sistema de coordenadas da peça pelo número

Parâmetros Obrigatórios

  • id: Número do sistema de coordenadas da peça

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.37. Obter Sistema de Coordenadas da Ferramenta Externa por Número

Novo na versão python: SDK-v2.1.6

Protótipo

GetExToolCoordWithID(id)

Descrição

Obtém o sistema de coordenadas da ferramenta externa pelo número

Parâmetros Obrigatórios

  • id: Número do sistema de coordenadas da ferramenta externa

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.38. Obter Sistema de Coordenadas do Eixo de Extensão por Número

Novo na versão python: SDK-v2.1.6

Protótipo

GetExAxisCoordWithID(id)

Descrição

Obtém o sistema de coordenadas do eixo de extensão pelo número

Parâmetros Obrigatórios

  • id: Número do sistema de coordenadas do eixo de extensão

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.39. Obter Massa da Carga e Centro de Gravidade por Número

Novo na versão python: SDK-v2.1.6

Protótipo

GetTargetPayloadWithID(id)

Descrição

Obtém a massa da carga e o centro de gravidade pelo número

Parâmetros Obrigatórios

  • id: Número do sistema de coordenadas do eixo de extensão

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • weight: Massa da carga

  • cog: Centro de gravidade da carga

8.40. Obter Sistema de Coordenadas da Ferramenta Atual

Novo na versão python: SDK-v2.1.6

Protótipo

GetCurToolCoord()

Descrição

Obtém o sistema de coordenadas da ferramenta atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.41. Obter Sistema de Coordenadas da Peça Atual

Novo na versão python: SDK-v2.1.6

Protótipo

GetCurWObjCoord()

Descrição

Obtém o sistema de coordenadas da peça atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.42. Obter Sistema de Coordenadas da Ferramenta Externa Atual

Novo na versão python: SDK-v2.1.6

Protótipo

GetCurExToolCoord()

Descrição

Obtém o sistema de coordenadas da ferramenta externa atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.43. Obter Sistema de Coordenadas do Eixo de Extensão Atual

Novo na versão python: SDK-v2.1.6

Protótipo

GetCurExAxisCoord()

Descrição

Obtém o sistema de coordenadas do eixo de extensão atual

Parâmetros Obrigatórios

Nenhum

Parâmetros Padrão

Nenhum

Valor de Retorno

  • Código de erro: Sucesso-0 Falha - errcode

  • coord: Valor do sistema de coordenadas

8.44. Exemplo de Código para Obter Sistemas de Coordenadas e Carga do Robô

 1from fairino import Robot
 2# Estabelece conexão com o controlador do robô, retorna um objeto robô se bem-sucedido
 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 atual: {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}")