6. Configurações Comuns do Robô
6.1. Definir Ponto de Referência da Ferramenta - Método dos Seis Pontos
Protótipo |
|
|---|---|
Descrição |
Define o ponto de referência da ferramenta - método dos seis pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.2. Calcular Sistema de Coordenadas da Ferramenta - Método dos Seis Pontos
Protótipo |
|
|---|---|
Descrição |
Calcula o sistema de coordenadas da ferramenta - método dos seis pontos (após definir os seis pontos de referência da ferramenta) |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.3. Definir Ponto de Referência da Ferramenta - Método dos Quatro Pontos
Protótipo |
|
|---|---|
Descrição |
Define o ponto de referência da ferramenta - método dos quatro pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.4. Calcular Sistema de Coordenadas da Ferramenta - Método dos Quatro Pontos
Protótipo |
|
|---|---|
Descrição |
Calcula o sistema de coordenadas da ferramenta - método dos quatro pontos (após definir os quatro pontos de referência da ferramenta) |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.5. Calcular Sistema de Coordenadas da Ferramenta com Base em Informações de Pontos
Novo na versão python: SDK-v2.0.8
Protótipo |
|
|---|---|
Descrição |
Calcula o sistema de coordenadas da ferramenta com base em informações de pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.6. Definir Sistema de Coordenadas da Ferramenta
Protótipo |
|
|---|---|
Descrição |
Define o sistema de coordenadas da ferramenta |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.7. Definir Lista de Sistemas de Coordenadas da Ferramenta
Protótipo |
|
|---|---|
Descrição |
Define a lista de sistemas de coordenadas da ferramenta |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.8. Obter Sistema de Coordenadas da Ferramenta Atual
Protótipo |
|
|---|---|
Descrição |
Obtém o sistema de coordenadas da ferramenta atual |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
|
Valor de retorno |
|
6.9. Exemplo de Código para Operações do Sistema de Coordenadas da Ferramenta do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6p1Desc = [186.331, 487.913, 209.850, 149.030, 0.688, -114.347]
7p2Desc = [69.721, 535.073, 202.882, -144.406, -14.775, -89.012]
8p3Desc = [146.861, 578.426, 205.598, 175.997, -36.178, -93.437]
9p4Desc = [136.284, 509.876, 225.613, 178.987, 1.372, -100.696]
10p5Desc = [138.395, 505.972, 298.016, 179.134, 2.147, -101.110]
11p6Desc = [105.553, 454.325, 232.017, -179.426, 0.444, -99.952]
12p1Joint = [-127.876, -75.341, 115.417, -122.741, -59.820, 74.300]
13p2Joint = [-101.780, -69.828, 110.917, -125.740, -127.841, 74.300]
14p3Joint = [-112.851, -60.191, 86.566, -80.676, -97.463, 74.300]
15p4Joint = [-116.397, -76.281, 113.845, -128.611, -88.654, 74.299]
16p5Joint = [-116.814, -82.333, 109.162, -118.662, -88.585, 74.302]
17p6Joint = [-115.649, -84.367, 122.447, -128.663, -90.432, 74.303]
18exaxisPos = [0, 0, 0, 0]
19offdese = [0, 0, 0, 0, 0, 0]
20posJ = [p1Joint, p2Joint, p3Joint, p4Joint, p5Joint, p6Joint]
21rtn, coordRtn = robot.ComputeToolCoordWithPoints(1, posJ)
22print(f"ComputeToolCoordWithPoints {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
23robot.MoveJ(joint_pos=p1Joint, tool=0, user=0, vel=100)
24robot.SetToolPoint(1)
25robot.MoveJ(joint_pos=p2Joint, tool=0, user=0, vel=100)
26robot.SetToolPoint(2)
27robot.MoveJ(joint_pos=p3Joint, tool=0, user=0, vel=100)
28robot.SetToolPoint(3)
29robot.MoveJ(joint_pos=p4Joint, tool=0, user=0, vel=100)
30robot.SetToolPoint(4)
31robot.MoveJ(joint_pos=p5Joint, tool=0, user=0, vel=100)
32robot.SetToolPoint(5)
33robot.MoveJ(joint_pos=p6Joint, tool=0, user=0, vel=100)
34robot.SetToolPoint(6)
35rtn, coordRtn = robot.ComputeTool()
36print(f"6 Point ComputeTool {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
37robot.SetToolList(1, coordRtn, 0, 0, 0)
38robot.MoveJ(joint_pos=p1Joint, tool=0, user=0, vel=100)
39robot.SetTcp4RefPoint(1)
40robot.MoveJ(joint_pos=p2Joint, tool=0, user=0, vel=100)
41robot.SetTcp4RefPoint(2)
42robot.MoveJ(joint_pos=p3Joint, tool=0, user=0, vel=100)
43robot.SetTcp4RefPoint(3)
44robot.MoveJ(joint_pos=p4Joint, tool=0, user=0, vel=100)
45robot.SetTcp4RefPoint(4)
46rtn, coordRtn = robot.ComputeTcp4()
47print(f"4 Point ComputeTool {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
48robot.SetToolCoord(2, coordRtn, 0, 0, 1, 0)
49rtn, getCoord = robot.GetTCPOffset(0)
50print(f"GetTCPOffset {rtn} coord is {getCoord[0]} {getCoord[1]} {getCoord[2]} {getCoord[3]} {getCoord[4]} {getCoord[5]}")
51robot.CloseRPC()
6.10. Definir Ponto de Referência da Ferramenta Externa - Método dos Três Pontos
Protótipo |
|
|---|---|
Descrição |
Define o ponto de referência da ferramenta externa - método dos três pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.11. Calcular Sistema de Coordenadas da Ferramenta Externa - Método dos Três Pontos
Protótipo |
|
|---|---|
Descrição |
Calcula o sistema de coordenadas da ferramenta externa - método dos três pontos (após definir os três pontos de referência) |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.12. Definir Sistema de Coordenadas da Ferramenta Externa
Protótipo |
|
|---|---|
Descrição |
Define o sistema de coordenadas da ferramenta externa |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.13. Definir Lista de Sistemas de Coordenadas da Ferramenta Externa
Protótipo |
|
|---|---|
Descrição |
Define a lista de sistemas de coordenadas da ferramenta externa |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.14. Exemplo de Código para Operações do Sistema de Coordenadas da Ferramenta Externa do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6p1Desc = [-89.606, 779.517, 193.516, 178.000, 0.476, -92.484]
7p1Joint = [-108.145, -50.137, 85.818, -125.599, -87.946, 74.329]
8p2Desc = [-24.656, 850.384, 191.361, 177.079, -2.058, -95.355]
9p2Joint = [-111.024, -41.538, 69.222, -114.913, -87.743, 74.329]
10p3Desc = [-99.813, 766.661, 241.878, -176.817, 1.917, -91.604]
11p3Joint = [-107.266, -56.116, 85.971, -122.560, -92.548, 74.331]
12exaxisPos = [0, 0, 0, 0]
13offdese = [0, 0, 0, 0, 0, 0]
14posTCP = [p1Desc, p2Desc, p3Desc]
15robot.MoveJ(joint_pos=p1Joint, tool=1, user=0, vel=50)
16robot.SetExTCPPoint(1)
17robot.MoveJ(joint_pos=p2Joint, tool=1, user=0, vel=50)
18robot.SetExTCPPoint(2)
19robot.MoveJ(joint_pos=p3Joint, tool=1, user=0, vel=50)
20robot.SetExTCPPoint(3)
21rtn, coordRtn = robot.ComputeExTCF()
22print(f"ComputeExTCF {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
23robot.SetExToolCoord(1, coordRtn, offdese)
24robot.SetExToolList(1, coordRtn, offdese)
25robot.CloseRPC()
6.15. Definir Ponto de Referência da Peça - Método dos Três Pontos
Protótipo |
|
|---|---|
Descrição |
Define o ponto de referência da peça - método dos três pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.16. Calcular Sistema de Coordenadas da Peça - Método dos Três Pontos
Protótipo |
|
|---|---|
Descrição |
Calcula o sistema de coordenadas da peça - método dos três pontos (após definir os três pontos de referência) |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.17. Definir Sistema de Coordenadas da Peça
Protótipo |
|
|---|---|
Descrição |
Define o sistema de coordenadas da peça |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.18. Definir Lista de Sistemas de Coordenadas da Peça
Protótipo |
|
|---|---|
Descrição |
Define a lista de sistemas de coordenadas da peça |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.19. Calcular Sistema de Coordenadas da Peça com Base em Informações de Pontos
Novo na versão python: SDK-v2.0.8
Protótipo |
|
|---|---|
Descrição |
Calcula o sistema de coordenadas da peça com base em informações de pontos |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.20. Obter Sistema de Coordenadas da Peça Atual
Protótipo |
|
|---|---|
Descrição |
Obtém o sistema de coordenadas da peça atual |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
|
Valor de retorno |
|
6.21. Exemplo de Código para Operações do Sistema de Coordenadas da Peça do Robô
1from fairino import Robot
2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
3robot = Robot.RPC('192.168.58.2')
4p1Desc = [-89.606, 779.517, 193.516, 178.000, 0.476, -92.484]
5p2Desc = [-24.656, 850.384, 191.361, 177.079, -2.058, -95.355]
6p3Desc = [-99.813, 766.661, 241.878, -176.817, 1.917, -91.604]
7p1Joint = [-108.145, -50.137, 85.818, -125.599, -87.946, 74.329]
8p2Joint = [-111.024, -41.538, 69.222, -114.913, -87.743, 74.329]
9p3Joint = [-107.266, -56.116, 85.971, -122.560, -92.548, 74.331]
10exaxisPos = [0, 0, 0, 0]
11offdese = [0, 0, 0, 0, 0, 0]
12posTCP = [p1Desc, p2Desc, p3Desc]
13rtn, coordRtn = robot.ComputeWObjCoordWithPoints(1, posTCP, 0)
14print(f"ComputeWObjCoordWithPoints {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
15robot.MoveJ(joint_pos=p1Joint, tool=1, user=0, vel=100)
16robot.SetWObjCoordPoint(1)
17robot.MoveJ(joint_pos=p2Joint, tool=1, user=0, vel=100)
18robot.SetWObjCoordPoint(2)
19robot.MoveJ(joint_pos=p3Joint, tool=1, user=0, vel=100)
20robot.SetWObjCoordPoint(3)
21rtn, coordRtn = robot.ComputeWObjCoord(1, 0)
22print(f"ComputeWObjCoord {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
23robot.SetWObjCoord(1, coordRtn, 0)
24robot.SetWObjList(1, coordRtn, 0)
25rtn, getWobjDesc = robot.GetWObjOffset(0)
26print(f"GetWObjOffset {rtn} coord is {getWobjDesc[0]} {getWobjDesc[1]} {getWobjDesc[2]} {getWobjDesc[3]} {getWobjDesc[4]} {getWobjDesc[5]}")
27robot.CloseRPC()
6.22. Definir Velocidade Global
Protótipo |
|
|---|---|
Descrição |
Define a velocidade global |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.23. Definir Aceleração do Robô
Novo na versão python: SDK-v2.0.4
Protótipo |
|
|---|---|
Descrição |
Define a aceleração do robô |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.24. Obter Velocidade Padrão
Protótipo |
|
|---|---|
Descrição |
Obtém a velocidade padrão |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.25. Definir Peso da Carga na Extremidade
Protótipo |
|
|---|---|
Descrição |
Define o peso da carga na extremidade. Uma configuração incorreta do peso da carga pode causar perda de controle do robô no modo de arrasto |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.26. Definir Coordenadas do Centro de Massa da Carga na Extremidade
Protótipo |
|
|---|---|
Descrição |
Define as coordenadas do centro de massa da carga na extremidade. Uma configuração incorreta do centro de massa da carga pode causar perda de controle do robô no modo de arrasto |
Parâmetros obrigatórios |
|
Parâmetros padrão |
|
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.27. Obter Peso da Carga Atual
Protótipo |
|
|---|---|
Descrição |
Obtém a massa da carga atual |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
|
Valor de retorno |
|
6.28. Obter Centro de Massa da Carga Atual
Protótipo |
|
|---|---|
Descrição |
Obtém o centro de massa da carga atual |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
|
Valor de retorno |
|
6.29. Definir Modo de Instalação do Robô - Instalação Fixa
Protótipo |
|
|---|---|
Descrição |
Define o modo de instalação do robô - instalação fixa. Uma configuração incorreta do modo de instalação pode causar perda de controle do robô no modo de arrasto |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.30. Definir Ângulo de Instalação do Robô - Instalação Livre
Protótipo |
|
|---|---|
Descrição |
Define o ângulo de instalação do robô - instalação livre. Uma configuração incorreta do ângulo de instalação pode causar perda de controle do robô no modo de arrasto |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.31. Obter Ângulo de Instalação do Robô
Protótipo |
|
|---|---|
Descrição |
Obtém o ângulo de instalação do robô |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.32. Definir Valor de Variável do Sistema
Protótipo |
|
|---|---|
Descrição |
Define a variável do sistema |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.33. Obter Valor de Variável do Sistema
Protótipo |
|
|---|---|
Descrição |
Obtém o valor da variável do sistema |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.34. Exemplo de Código para Configurações Comuns do Robô
1from fairino import Robot
2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
3robot = Robot.RPC('192.168.58.2')
4for i in range(1, 100):
5 robot.SetSpeed(i)
6 robot.SetOaccScale(i)
7 time.sleep(0.03)
8error, defaultVel = robot.GetDefaultTransVel()
9print(f"GetDefaultTransVel is {defaultVel}")
10for i in range(1, 21):
11 robot.SetSysVarValue(i, i + 0.5)
12 time.sleep(0.1)
13for i in range(1, 21):
14 value = robot.GetSysVarValue(i)
15 print(f"sys value {i} is: {value}")
16 time.sleep(0.1)
17robot.SetLoadWeight(0, 2.5)
18robot.SetLoadCoord(3.0, 4.0, 5.0)
19time.sleep(1)
20error, getLoad = robot.GetTargetPayload(0)
21error, getLoadTran = robot.GetTargetPayloadCog(0)
22print(f"get load is {getLoad}; get load cog is {getLoadTran[0]} {getLoadTran[1]} {getLoadTran[2]}")
23robot.SetRobotInstallPos(0)
24robot.SetRobotInstallAngle(15.0, 25.0)
25error, [anglex, angley] = robot.GetRobotInstallAngle()
26print(f"GetRobotInstallAngle x: {anglex}; y: {angley}")
27robot.CloseRPC()
6.35. Chave de Compensação de Atrito das Juntas
Protótipo |
|
|---|---|
Descrição |
Chave de compensação de atrito das juntas |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.36. Definir Coeficiente de Compensação de Atrito das Juntas - Montagem Normal
Protótipo |
|
|---|---|
Descrição |
Define o coeficiente de compensação de atrito das juntas - instalação fixa - montagem normal |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.37. Definir Coeficiente de Compensação de Atrito das Juntas - Montagem Lateral
Protótipo |
|
|---|---|
Descrição |
Define o coeficiente de compensação de atrito das juntas - instalação fixa - montagem lateral |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.38. Definir Coeficiente de Compensação de Atrito das Juntas - Montagem Invertida
Protótipo |
|
|---|---|
Descrição |
Define o coeficiente de compensação de atrito das juntas - instalação fixa - montagem invertida |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.39. Definir Coeficiente de Compensação de Atrito das Juntas - Instalação Livre
Protótipo |
|
|---|---|
Descrição |
Define o coeficiente de compensação de atrito das juntas - instalação livre |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.40. Exemplo de Código para Configuração de Compensação de Atrito das Juntas do Robô
1from fairino import Robot
2# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
3robot = Robot.RPC('192.168.58.2')
4lcoeff = [0.9, 0.9, 0.9, 0.9, 0.9, 0.9]
5wcoeff = [0.4, 0.4, 0.4, 0.4, 0.4, 0.4]
6ccoeff = [0.6, 0.6, 0.6, 0.6, 0.6, 0.6]
7fcoeff = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
8rtn = robot.FrictionCompensationOnOff(1)
9print(f"FrictionCompensationOnOff rtn is {rtn}")
10rtn = robot.SetFrictionValue_level(lcoeff)
11print(f"SetFrictionValue_level rtn is {rtn}")
12rtn = robot.SetFrictionValue_wall(wcoeff)
13print(f"SetFrictionValue_wall rtn is {rtn}")
14rtn = robot.SetFrictionValue_ceiling(ccoeff)
15print(f"SetFrictionValue_ceiling rtn is {rtn}")
16rtn = robot.SetFrictionValue_freedom(fcoeff)
17print(f"SetFrictionValue_freedom rtn is {rtn}")
18robot.CloseRPC()
6.41. Consultar Código de Erro do Robô
Protótipo |
|
|---|---|
Descrição |
Consulta o código de erro do robô |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.42. Limpar Estado de Erro
Protótipo |
|
|---|---|
Descrição |
Limpa o estado de erro, apenas erros reinicializáveis podem ser limpos |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.43. Exemplo de Código para Obter Estado de Falha e Limpar Erro do Robô
1from fairino import Robot
2import time
3# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
4robot = Robot.RPC('192.168.58.2')
5p1Joint = [-108.145, -50.137, 85.818, -125.599, -87.946, 74.329]
6robot.MoveJ(joint_pos=p1Joint, tool=5, user=2, vel=50)
7time.sleep(1)
8error, [maincode, subcode] = robot.GetRobotErrorCode()
9print(f"robot maincode is {maincode}; subcode is {subcode}")
10time.sleep(1)
11robot.ResetAllError()
12time.sleep(1)
13error, [maincode, subcode] = robot.GetRobotErrorCode()
14print(f"robot maincode is {maincode}; subcode is {subcode}")
15robot.CloseRPC()
6.44. Definir Parâmetros de Monitoramento de Temperatura e Velocidade da Ventoinha da Caixa de Controle de Larga Tensão
Novo na versão python: SDK-v2.1.3
Protótipo |
|
|---|---|
Descrição |
Define os parâmetros de monitoramento de temperatura e velocidade da ventoinha da caixa de controle de larga tensão |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.45. Obter Parâmetros de Monitoramento de Temperatura e Velocidade da Ventoinha da Caixa de Controle de Larga Tensão
Novo na versão python: SDK-v2.1.3
Protótipo |
|
|---|---|
Descrição |
Obtém os parâmetros de monitoramento de temperatura e velocidade da ventoinha da caixa de controle de larga tensão |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.46. Exemplo de Código para Obter Estado de Temperatura e Corrente da Ventoinha da Caixa de Controle de Larga Tensão
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6robot.SetWideBoxTempFanMonitorParam(1, 2)
7error, enable, period = robot.GetWideBoxTempFanMonitorParam()
8print(f"GetWideBoxTempFanMonitorParam enable is:{enable},period is:{period}")
9for i in range(100):
10 error, pkg = robot.GetRobotRealTimeState()
11 print(f"robot ctrl box temp is:{pkg.wideVoltageCtrlBoxTemp},fan current is:{pkg.wideVoltageCtrlBoxFanCurrent}")
12 time.sleep(0.1)
13rtn = robot.SetWideBoxTempFanMonitorParam(0, 2)
14print(f"SetWideBoxTempFanMonitorParam rtn is:{rtn}")
15error, enable, period = robot.GetWideBoxTempFanMonitorParam()
16print(f"GetWideBoxTempFanMonitorParam enable is:{enable},period is:{period}")
17for i in range(100):
18 error, pkg = robot.GetRobotRealTimeState()
19 print(f"robot ctrl box temp is:{pkg.wideVoltageCtrlBoxTemp},fan current is:{pkg.wideVoltageCtrlBoxFanCurrent}")
20 time.sleep(0.1)
21robot.CloseRPC()
6.47. Definir Ponto de Calibração do Foco
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Define o ponto de calibração do foco |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.48. Calcular Resultado da Calibração do Foco
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Calcula o resultado da calibração do foco |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.49. Iniciar Rastreamento do Foco
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Inicia o rastreamento do foco |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
|
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.50. Parar Rastreamento do Foco
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Para o rastreamento do foco |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.51. Definir Coordenadas do Foco
Novo na versão python: SDK-v2.1.4
Protótipo |
|
|---|---|
Descrição |
Define as coordenadas do foco |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.52. Exemplo de Código de Rastreamento do Foco do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6p1Desc = [186.331, 487.913, 209.850, 149.030, 0.688, -114.347]
7p1Joint = [-127.876, -75.341, 115.417, -122.741, -59.820, 74.300]
8p2Desc = [69.721, 535.073, 202.882, -144.406, -14.775, -89.012]
9p2Joint = [-101.780, -69.828, 110.917, -125.740, -127.841, 74.300]
10p3Desc = [146.861, 578.426, 205.598, 175.997, -36.178, -93.437]
11p3Joint = [-112.851, -60.191, 86.566, -80.676, -97.463, 74.300]
12p4Desc = [136.284, 509.876, 225.613, 178.987, 1.372, -100.696]
13p4Joint = [-116.397, -76.281, 113.845, -128.611, -88.654, 74.299]
14p5Desc = [138.395, 505.972, 298.016, 179.134, 2.147, -101.110]
15p5Joint = [-116.814, -82.333, 109.162, -118.662, -88.585, 74.302]
16p6Desc = [105.553, 454.325, 232.017, -179.426, 0.444, -99.952]
17p6Joint = [-115.649, -84.367, 122.447, -128.663, -90.432, 74.303]
18exaxisPos = [0, 0, 0, 0]
19offdese = [0, 0, 100, 0, 0, 0]
20robot.MoveJ(joint_pos=p1Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1, offset_flag=0, offset_pos=offdese)
21robot.SetTcp4RefPoint(1)
22robot.MoveJ(joint_pos=p2Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1, offset_flag=0, offset_pos=offdese)
23robot.SetTcp4RefPoint(2)
24robot.MoveJ(joint_pos=p3Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1, offset_flag=0, offset_pos=offdese)
25robot.SetTcp4RefPoint(3)
26robot.MoveJ(joint_pos=p4Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1, offset_flag=0, offset_pos=offdese)
27robot.SetTcp4RefPoint(4)
28rtn, coordRtn = robot.ComputeTcp4()
29print(f"4 Point ComputeTool {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} "
30 f"{coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
31robot.SetToolCoord(1, coordRtn, 0, 0, 1, 0)
32error, p1Desc = robot.GetForwardKin(p1Joint)
33error, p2Desc = robot.GetForwardKin(p2Joint)
34error, p3Desc = robot.GetForwardKin(p3Joint)
35robot.SetFocusCalibPoint(1, p1Desc)
36robot.SetFocusCalibPoint(2, p2Desc)
37robot.SetFocusCalibPoint(3, p3Desc)
38rtn, resultPos, accuracy = robot.ComputeFocusCalib(pointNum=3)
39print(f"ComputeFocusCalib coord is {rtn} {resultPos[0]} {resultPos[1]} {resultPos[2]} accuracy is {accuracy}")
40rtn = robot.SetFocusPosition(resultPos)
41error, p5Desc = robot.GetForwardKin(p5Joint)
42error, p6Desc = robot.GetForwardKin(p6Joint)
43robot.MoveL(desc_pos=p5Desc, tool=1, user=0, vel=10, acc=100, ovl=100, blendR=-1, blendMode=0, exaxis_pos=exaxisPos, search=0, offset_flag=1, offset_pos=offdese)
44robot.MoveL(desc_pos=p6Desc, tool=1, user=0, vel=10, acc=100, ovl=100, blendR=-1, blendMode=0, exaxis_pos=exaxisPos, search=0, offset_flag=1, offset_pos=offdese)
45robot.FocusStart(50, 19, 710, 90, 0)
46robot.MoveL(desc_pos=p5Desc, tool=1, user=0, vel=10, acc=100, ovl=100, blendR=-1, blendMode=0, exaxis_pos=exaxisPos, search=0, offset_flag=1, offset_pos=offdese)
47robot.MoveL(desc_pos=p6Desc, tool=1, user=0, vel=10, acc=100, ovl=100, blendR=-1, blendMode=0, exaxis_pos=exaxisPos, search=0, offset_flag=1, offset_pos=offdese)
48robot.FocusEnd()
49robot.CloseRPC()
6.53. Ativar Função de Calibração de Sensibilidade do Sensor de Torque das Juntas
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Ativa a função de calibração de sensibilidade do sensor de torque das juntas |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.54. Coleta de Dados de Sensibilidade do Sensor de Torque das Juntas
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Coleta de dados de sensibilidade do sensor de torque das juntas |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.55. Obter Resultado da Calibração de Sensibilidade do Sensor de Torque das Juntas
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Obtém o resultado da calibração de sensibilidade do sensor de torque das juntas |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.56. Obter Erro de Histerese do Sensor de Torque das Juntas
Protótipo |
|
|---|---|
Descrição |
Obtém o erro de histerese do sensor de torque das juntas |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.57. Obter Repetibilidade do Sensor de Torque das Juntas
Protótipo |
|
|---|---|
Descrição |
Obtém a repetibilidade do sensor de torque das juntas |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.58. Definir Parâmetros do Sensor de Força das Juntas
Protótipo |
|
|---|---|
Descrição |
Define os parâmetros do sensor de força das juntas |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.59. Exemplo de Código para Calibração Automática de Sensibilidade do Sensor de Torque das Juntas
1from fairino import Robot
2import time
3robot = Robot.RPC('192.168.58.2')
4rtn = robot.JointSensitivityEnable(0)
5rtn = robot.JointSensitivityEnable(1)
6print(f"JointSensitivityEnable rtn is {rtn}")
7curJPos = [0.0] * 6
8rtn, curJPos = robot.GetActualJointPosDegree(0)
9epos = [0.0] * 4
10offset_pos = [0.0] * 6
11jointPos1 = [curJPos[0], 0.0, 0.0, -90.0, 0.02, curJPos[5]]
12descPos1 = [0.0] * 6
13rtn, descPos1 = robot.GetForwardKin(jointPos1)
14robot.MoveJ(joint_pos=jointPos1, desc_pos=descPos1, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
15time.sleep(0.2)
16rtn = robot.JointSensitivityCollect()
17print(f"JointSensitivityCollect 1 rtn is {rtn}")
18time.sleep(0.1)
19jointPos2 = [curJPos[0], -30.0, 0.0, -90.0, 0.02, curJPos[5]]
20descPos2 = [0.0] * 6
21rtn, descPos2 = robot.GetForwardKin(jointPos2)
22robot.MoveJ(joint_pos=jointPos2, desc_pos=descPos2, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
23time.sleep(0.1)
24rtn = robot.JointSensitivityCollect()
25print(f"JointSensitivityCollect 2 rtn is {rtn}")
26time.sleep(0.1)
27jointPos3 = [curJPos[0], -60.0, 0.0, -90.0, 0.02, curJPos[5]]
28descPos3 = [0.0] * 6
29rtn, descPos3 = robot.GetForwardKin(jointPos3)
30robot.MoveJ(joint_pos=jointPos3, desc_pos=descPos3, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
31time.sleep(0.1)
32rtn = robot.JointSensitivityCollect()
33print(f"JointSensitivityCollect 3 rtn is {rtn}")
34time.sleep(0.1)
35jointPos4 = [curJPos[0], -90.0, 0.0, -90.0, 0.02, curJPos[5]]
36descPos4 = [0.0] * 6
37rtn, descPos4 = robot.GetForwardKin(jointPos4)
38robot.MoveJ(joint_pos=jointPos4, desc_pos=descPos4, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
39time.sleep(0.1)
40rtn = robot.JointSensitivityCollect()
41print(f"JointSensitivityCollect 4 rtn is {rtn}")
42time.sleep(0.1)
43jointPos5 = [curJPos[0], -120.0, 0.0, -90.0, 0.02, curJPos[5]]
44descPos5 = [0.0] * 6
45rtn, descPos5 = robot.GetForwardKin(jointPos5)
46robot.MoveJ(joint_pos=jointPos5, desc_pos=descPos5, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
47time.sleep(0.1)
48rtn = robot.JointSensitivityCollect()
49print(f"JointSensitivityCollect 5 rtn is {rtn}")
50time.sleep(0.1)
51jointPos6 = [curJPos[0], -150.0, 0.0, -90.0, 0.02, curJPos[5]]
52descPos6 = [0.0] * 6
53rtn, descPos6 = robot.GetForwardKin(jointPos6)
54robot.MoveJ(joint_pos=jointPos6, desc_pos=descPos6, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
55time.sleep(0.1)
56rtn = robot.JointSensitivityCollect()
57print(f"JointSensitivityCollect 6 rtn is {rtn}")
58time.sleep(0.1)
59jointPos7 = [curJPos[0], -180.0, 0.0, -90.0, 0.02, curJPos[5]]
60descPos7 = [0.0] * 6
61rtn, descPos7 = robot.GetForwardKin(jointPos7)
62robot.MoveJ(joint_pos=jointPos7, desc_pos=descPos7, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
63time.sleep(0.1)
64rtn = robot.JointSensitivityCollect()
65print(f"JointSensitivityCollect 7 rtn is {rtn}")
66time.sleep(0.1)
67robot.MoveJ(joint_pos=jointPos6, desc_pos=descPos6, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
68time.sleep(0.1)
69rtn = robot.JointSensitivityCollect()
70print(f"JointSensitivityCollect 8 rtn is {rtn}")
71time.sleep(0.1)
72robot.MoveJ(joint_pos=jointPos5, desc_pos=descPos5, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
73time.sleep(0.1)
74rtn = robot.JointSensitivityCollect()
75print(f"JointSensitivityCollect 9 rtn is {rtn}")
76time.sleep(0.1)
77robot.MoveJ(joint_pos=jointPos4, desc_pos=descPos4, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
78time.sleep(0.1)
79rtn = robot.JointSensitivityCollect()
80print(f"JointSensitivityCollect 10 rtn is {rtn}")
81time.sleep(0.1)
82robot.MoveJ(joint_pos=jointPos3, desc_pos=descPos3, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
83time.sleep(0.1)
84rtn = robot.JointSensitivityCollect()
85print(f"JointSensitivityCollect 11 rtn is {rtn}")
86time.sleep(0.1)
87robot.MoveJ(joint_pos=jointPos2, desc_pos=descPos2, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
88time.sleep(0.1)
89rtn = robot.JointSensitivityCollect()
90print(f"JointSensitivityCollect 12 rtn is {rtn}")
91time.sleep(0.1)
92robot.MoveJ(joint_pos=jointPos1, desc_pos=descPos1, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
93time.sleep(0.2)
94rtn = robot.JointSensitivityCollect()
95print(f"JointSensitivityCollect 13 rtn is {rtn}")
96time.sleep(0.1)
97calibResult = [0.0] * 6
98linearity = [0.0] * 6
99rtn, calibResult, linearity = robot.JointSensitivityCalibration()
100print(f"JointSensitivityCalibration rtn is {rtn}")
101rtn = robot.JointSensitivityEnable(0)
102print(f"JointSensitivityEnable rtn is {rtn}")
103print(f"jointSensor Calib result is {calibResult[0]},{calibResult[1]},{calibResult[2]},{calibResult[3]},{calibResult[4]},{calibResult[5]}")
104print(f"jointSensor linearity is {linearity[0]},{linearity[1]},{linearity[2]},{linearity[3]},{linearity[4]},{linearity[5]}")
105hysteresisError = [0.0] * 6
106rtn, hysteresisError = robot.JointHysteresisError()
107print(f"JointHysteresisError result is {hysteresisError[0]},{hysteresisError[1]},{hysteresisError[2]},{hysteresisError[3]},{hysteresisError[4]},{hysteresisError[5]}")
108repeatability = [0.0] * 6
109rtn, repeatability = robot.JointRepeatability()
110print(f"JointRepeatability result is {repeatability[0]},{repeatability[1]},{repeatability[2]},{repeatability[3]},{repeatability[4]},{repeatability[5]}")
111M = [1.0] * 6
112B = [1.0] * 6
113K = [0.0] * 6
114threshold = [1.0] * 6
115setZeroFlag = 1
116rtn = robot.SetAdmittanceParams(M, B, K, threshold, calibResult, setZeroFlag)
117print(f"SetAdmittanceParams rtn is {rtn}")
118robot.CloseRPC()
6.60. Obter Número de Quadros com Erro nas 8 Portas Escravas do Robô
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Obtém o número de quadros com erro nas 8 portas escravas do robô |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.61. Limpar Quadros com Erro nas Portas Escravas
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Limpa os quadros com erro nas portas escravas |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.62. Exemplo de Código para Obter Quadros com Erro nas Portas Escravas
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6inRecvErr = [0] * 8
7inCRCErr = [0] * 8
8inTransmitErr = [0] * 8
9inLinkErr = [0] * 8
10outRecvErr = [0] * 8
11outCRCErr = [0] * 8
12outTransmitErr = [0] * 8
13outLinkErr = [0] * 8
14rtn, inRecvErr, inCRCErr, inTransmitErr, inLinkErr, outRecvErr, outCRCErr, outTransmitErr, outLinkErr = robot.GetSlavePortErrCounter()
15for i in range(8):
16 if inRecvErr[i] != 0:
17 print(f"inRecvErr {i} is {inRecvErr[i]}")
18 if inCRCErr[i] != 0:
19 print(f"inCRCErr {i} is {inCRCErr[i]}")
20 if inTransmitErr[i] != 0:
21 print(f"inTransmitErr {i} is {inTransmitErr[i]}")
22 if inLinkErr[i] != 0:
23 print(f"inLinkErr {i} is {inLinkErr[i]}")
24 if outRecvErr[i] != 0:
25 print(f"outRecvErr {i} is {outRecvErr[i]}")
26 if outCRCErr[i] != 0:
27 print(f"outCRCErr {i} is {outCRCErr[i]}")
28 if outTransmitErr[i] != 0:
29 print(f"outTransmitErr {i} is {outTransmitErr[i]}")
30 if outLinkErr[i] != 0:
31 print(f"outLinkErr {i} is {outLinkErr[i]}")
32print("others has no err!")
33for i in range(8):
34 robot.SlavePortErrCounterClear(i)
35robot.CloseRPC()
6.63. Definir Coeficiente de Feedforward de Velocidade por Eixo
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Define o coeficiente de feedforward de velocidade por eixo |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
Código de erro: sucesso-0, falha-código de erro |
6.64. Obter Coeficiente de Feedforward de Velocidade por Eixo
Novo na versão python: SDK-v2.1.7
Protótipo |
|
|---|---|
Descrição |
Obtém o coeficiente de feedforward de velocidade por eixo |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.65. Exemplo de Código do Coeficiente de Feedforward de Velocidade do Robô
1from fairino import Robot
2import time
3import threading
4# Estabelece conexão com o controlador do robô, retorna um objeto robô se a conexão for bem-sucedida
5robot = Robot.RPC('192.168.58.2')
6setRadio = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
7robot.SetVelFeedForwardRatio(setRadio)
8getRadio = [0.0] * 6
9rtn, getRadio = robot.GetVelFeedForwardRatio()
10print(f"{getRadio[0]},{getRadio[1]},{getRadio[2]},{getRadio[3]},{getRadio[4]},{getRadio[5]}")
11robot.CloseRPC()
6.66. Calibração TCP do Sensor Fotoelétrico - Calcular RPY da Ferramenta
Protótipo |
|
|---|---|
Descrição |
Calibração TCP do sensor fotoelétrico - calcular RPY da ferramenta |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.67. Calibração TCP do Sensor Fotoelétrico - Calcular XYZ da Ferramenta
Protótipo |
|
|---|---|
Descrição |
Calibração TCP do sensor fotoelétrico - calcular XYZ da ferramenta |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.68. Calibração TCP do Sensor Fotoelétrico - Iniciar Gravação da Posição do Centro do Flange da Extremidade
Protótipo |
|
|---|---|
Descrição |
Calibração TCP do sensor fotoelétrico - iniciar gravação da posição do centro do flange da extremidade |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.69. Calibração TCP do Sensor Fotoelétrico - Parar Gravação da Posição do Centro do Flange da Extremidade
Protótipo |
|
|---|---|
Descrição |
Calibração TCP do sensor fotoelétrico - parar gravação da posição do centro do flange da extremidade |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.70. Calibração TCP do Sensor Fotoelétrico - Obter Posição do Centro da Ponta da Ferramenta
Protótipo |
|
|---|---|
Descrição |
Calibração TCP do sensor fotoelétrico - obter posição do centro da ponta da ferramenta |
Parâmetros obrigatórios |
Nenhum |
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.71. Calibração TCP do Sensor Fotoelétrico
Protótipo |
|
|---|---|
Descrição |
Calibração TCP do sensor fotoelétrico |
Parâmetros obrigatórios |
|
Parâmetros padrão |
Nenhum |
Valor de retorno |
|
6.72. Exemplo de Código de Calibração TCP do Sensor Fotoelétrico
1from fairino import Robot
2import time
3robot = Robot.RPC('192.168.58.2')
4offset = [10.0, 10.0, 3.0]
5TCP = [0.0] * 6
6rtn, TCP = robot.PhotoelectricSensorTCPCalibration("FR_CalibrateTheToolTcp.lua", offset)
7print(f"PhotoelectricSensorTCPCalibration rtn is {rtn},{TCP[0]},{TCP[1]},{TCP[2]},{TCP[3]},{TCP[4]},{TCP[5]}")
8robot.CloseRPC()
9return 0
6.73. Definição de Velocidade em Tempo Real (Quadro de Comando, Baixa Latência)
Protótipo |
|
|---|---|
Descrição |
Definição de velocidade em tempo real (quadro de comando, baixa latência) |
Parâmetros Obrigatórios |
|
Parâmetros Padrão |
Nenhum |
Valor de Retorno |
|
6.74. Definir Deslocamento em Tempo Real da Oscilação
Protótipo |
|
|---|---|
Descrição |
Define o deslocamento em tempo real da oscilação |
Parâmetros Obrigatórios |
|
Parâmetros Padrão |
Nenhum |
Valor de Retorno |
|
6.75. Exemplo de Código de Teste de Velocidade e Deslocamento da Oscilação
1from fairino import Robot
2import time
3import threading
4
5
6def main():
7 robot = Robot.RPC('192.168.58.2')
8 time.sleep(0.5)
9
10 epos = [0.0, 0.0, 0.0, 0.0]
11 offset_pos = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
12
13 j1 = [5.027, -84.331, -75.139, -103.690, 86.379, 20.794]
14 d1 = [324.752, -83.339, 366.314, -172.321, -0.936, -106.047]
15
16 j2 = [-35.335, -117.598, -57.174, -95.234, 90.001, -19.560]
17 d2 = [324.999, -355.439, 260.000, 179.995, 0.003, -105.775]
18
19 j3 = [59.787, -117.594, -57.183, -95.222, 90.006, 75.562]
20 d3 = [324.998, 355.441, 260.002, 179.995, 0.003, -105.775]
21
22 rtn = 0
23
24 print("\nStep 1: MoveJ to start point")
25 rtn = robot.MoveJ(joint_pos=j1, desc_pos=d1, tool=1, user=0, vel=100, acc=100, ovl=50,
26 exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
27 print(f" MoveJ(j1) rtn={rtn}")
28 time.sleep(0.5)
29
30 print("\nStep 2: MoveJ to weave entry point")
31 rtn = robot.MoveJ(joint_pos=j2, desc_pos=d2, tool=1, user=0, vel=100, acc=100, ovl=50,
32 exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
33 print(f" MoveJ(j2) rtn={rtn}")
34 time.sleep(0.5)
35
36 print("\nStep 3: WeaveStart + MoveL in background thread")
37 robot.WeaveStart(0)
38
39 weave_running = True
40 move_rtn = [0]
41
42 def weave_move_thread():
43 rtn_val = robot.MoveL(joint_pos=j3, desc_pos=d3, tool=1, user=0, vel=100, acc=100, ovl=5,
44 blendR=-1, offset_flag=0, exaxis_pos=epos, search=0,
45 offset_pos=offset_pos, config=5, velAccParamMode=0, overSpeedStrategy=0, speedPercent=10)
46 print(f" MoveL(weave) thread finished, rtn={rtn_val}")
47 move_rtn[0] = rtn_val
48 nonlocal weave_running
49 weave_running = False
50
51 weave_thread = threading.Thread(target=weave_move_thread)
52 weave_thread.daemon = True
53 weave_thread.start()
54 time.sleep(0.5)
55
56 print("\nStep 4: SetSpeed test during weaving")
57 speed_values = [20, 50, 80, 30, 60, 10]
58 for speed in speed_values:
59 if not weave_running:
60 break
61 rtn = robot.SetSpeedInstant(speed)
62 print(f" SetSpeed({speed}) -> rtn={rtn}")
63 # rtn, pkg = robot.GetRobotRealTimeState()
64 # print(f"target_TCP_CmpSpeed: [{', '.join([f'{x:.3f}' for x in pkg.target_TCP_CmpSpeed])}]")
65 time.sleep(5)
66
67 time.sleep(5)
68
69 print("\nStep 5: SetWeaveOffsetRT test (50 iterations, delta=0.1)")
70 accum_offset = 0.0
71 for i in range(50):
72 if not weave_running:
73 break
74 accum_offset += 1
75 weave_offset = [0.0, 0.0, accum_offset, 0.0, 0.0, 0.0]
76 rtn = robot.SetWeaveOffsetRT(weave_offset)
77 rtn, pkg = robot.GetRobotRealTimeState()
78 print(f" [{i+1}/50] SetWeaveOffsetRT(x={accum_offset:.1f}) -> rtn={rtn}, "
79 f"TCP_pos=({pkg.tl_cur_pos[0]:.2f},{pkg.tl_cur_pos[1]:.2f},{pkg.tl_cur_pos[2]:.2f})")
80 time.sleep(0.1)
81
82 print("\nStep 6: Wait for weave MoveL, then WeaveEnd")
83 weave_thread.join()
84 robot.WeaveEnd(0)
85 time.sleep(0.5)
86
87 print("\nStep 7: MoveL back to start")
88 rtn = robot.MoveL(joint_pos=j1, desc_pos=d1, tool=1, user=0, vel=100, acc=100, ovl=50,
89 blendR=-1, offset_flag=0, exaxis_pos=epos, search=0,
90 offset_pos=offset_pos, config=50, velAccParamMode=0, overSpeedStrategy=0, speedPercent=10)
91 print(f" MoveL(back) rtn={rtn}")
92
93 rtn, pkg = robot.GetRobotRealTimeState()
94 print(f"\n Final robot state: main_code={pkg.main_code}, sub_code={pkg.sub_code}")
95
96 robot.CloseRPC()
97
98
99if __name__ == "__main__":
100 main()