6. Impostazioni comuni del robot

6.1. Impostazione punti riferimento utensile - Metodo a sei punti

Prototipo

SetToolPoint(point_num)

Descrizione

Imposta i punti di riferimento dell’utensile - Metodo a sei punti

Parametri obbligatori

  • point_num: Numero del punto, intervallo [1~6]

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.2. Calcolo sistema di coordinate utensile - Metodo a sei punti

Prototipo

ComputeTool()

Descrizione

Calcola il sistema di coordinate dell’utensile - Metodo a sei punti (calcolo dopo aver impostato sei punti di riferimento)

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: Sistema di coordinate dell’utensile

6.3. Impostazione punti riferimento utensile - Metodo a quattro punti

Prototipo

SetTcp4RefPoint(point_num)

Descrizione

Imposta i punti di riferimento dell’utensile - Metodo a quattro punti

Parametri obbligatori

point_num: Numero del punto, intervallo [1~4]

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: Sistema di coordinate dell’utensile

6.4. Calcolo sistema di coordinate utensile - Metodo a quattro punti

Prototipo

ComputeTcp4()

Descrizione

Calcola il sistema di coordinate dell’utensile - Metodo a quattro punti (calcolo dopo aver impostato quattro punti di riferimento)

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: Sistema di coordinate dell’utensile

6.5. Calcolo sistema di coordinate utensile in base alle informazioni dei punti

Nuovo nella versione python: SDK-v2.0.8

Prototipo

ComputeToolCoordWithPoints(method, pos)

Descrizione

Calcola il sistema di coordinate dell’utensile in base alle informazioni dei punti

Parametri obbligatori

  • method: Metodo di calcolo; 0-Metodo a quattro punti; 1-Metodo a sei punti

  • pos: Gruppo di posizioni articolari, lunghezza array 4 per metodo a 4 punti, 6 per metodo a 6 punti

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • tcp_offset=[x,y,z,rx,ry,rz]: Sistema di coordinate utensile calcolato in base alle informazioni dei punti, unità [mm][°]

6.6. Impostazione sistema di coordinate utensile

Prototipo

SetToolCoord(id,t_coord,type,install,toolID,loadNum)

Descrizione

Imposta il sistema di coordinate dell’utensile

Parametri obbligatori

  • id: Numero del sistema di coordinate, intervallo [1~15];

  • t_coord: Posa del centro utensile rispetto al centro della flangia terminale, unità [mm][°];

  • type: 0-Sistema di coordinate utensile, 1-Sistema di coordinate sensore;

  • install: Posizione di installazione, 0-Terminale del robot, 1-Esterno del robot

  • toolID: ID utensile

  • loadNum: Numero del carico

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.7. Impostazione lista dei sistemi di coordinate utensile

Prototipo

SetToolList(id,t_coord ,type, install, loadNum)

Descrizione

Imposta la lista dei sistemi di coordinate dell’utensile

Parametri obbligatori

  • id: Numero del sistema di coordinate, intervallo [1~15];

  • t_coord: [x,y,z,rx,ry,rz] Posa del centro utensile rispetto al centro della flangia terminale, unità [mm][°];

  • type: 0-Sistema di coordinate utensile, 1-Sistema di coordinate sensore;

  • install: Posizione di installazione, 0-Terminale del robot, 1-Esterno del robot

  • loadNum: Numero del carico

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.8. Ottenimento sistema di coordinate utensile corrente

Prototipo

GetTCPOffset(flag=1)

Descrizione

Ottiene il sistema di coordinate dell’utensile corrente

Parametri obbligatori

Nessuno

Parametri predefiniti

flag: 0-Bloccante, 1-Non bloccante Predefinito 1

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • tcp_offset=[x,y,z,rx,ry,rz]: Posa relativa del sistema di coordinate utensile corrente, unità [mm][°]

6.9. Esempio di codice operazioni sistema di coordinate utensile robot

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Impostazione punti riferimento utensile esterno - Metodo a sei punti

Prototipo

SetExTCPPoint(point_num)

Descrizione

Imposta i punti di riferimento dell’utensile esterno - Metodo a tre punti

Parametri obbligatori

  • point_num: Numero del punto, intervallo [1~3]

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.11. Calcolo sistema di coordinate utensile esterno - Metodo a sei punti

Prototipo

ComputeExTCF(point_num)

Descrizione

Calcola il sistema di coordinate dell’utensile esterno - Metodo a tre punti (calcolo dopo aver impostato tre punti di riferimento)

Parametri obbligatori

point_num: Numero del punto, intervallo [1~3]

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • etcp=[x,y,z,rx,ry,rz]: Sistema di coordinate dell’utensile esterno

6.12. Impostazione sistema di coordinate utensile esterno

Prototipo

SetExToolCoord(id,etcp,etool)

Descrizione

Imposta il sistema di coordinate dell’utensile esterno

Parametri obbligatori

  • id: Numero del sistema di coordinate, intervallo [0~14];

  • etcp: Sistema di coordinate dell’utensile esterno, unità [mm][°];

  • etool: Sistema di coordinate dell’utensile terminale, unità [mm][°];

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.13. Impostazione lista dei sistemi di coordinate utensile esterno

Prototipo

SetExToolList(id,etcp ,etool)

Descrizione

Imposta la lista dei sistemi di coordinate dell’utensile esterno

Parametri obbligatori

  • id: Numero del sistema di coordinate, intervallo [0~14];

  • etcp: Sistema di coordinate dell’utensile esterno, unità [mm][°];

  • etool: Sistema di coordinate dell’utensile terminale, unità [mm][°];

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.14. Esempio di codice operazioni sistema di coordinate utensile esterno robot

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Impostazione punti riferimento pezzo - Metodo a tre punti

Prototipo

SetWObjCoordPoint(point_num)

Descrizione

Imposta i punti di riferimento del pezzo - Metodo a tre punti

Parametri obbligatori

point_num: Numero del punto, intervallo [1~3]

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.16. Calcolo sistema di coordinate pezzo - Metodo a tre punti

Prototipo

ComputeWObjCoord(method, refFrame)

Descrizione

Calcola il sistema di coordinate del pezzo - Metodo a tre punti (calcolo dopo aver impostato tre punti di riferimento);

Parametri obbligatori

  • method: Metodo di calcolo 0: Origine-Asse X-Asse Z, 1: Origine-Asse X-Piano XY

  • refFrame: Sistema di coordinate di riferimento

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • wobj_pose=[x,y,z,rx,ry,rz]: Sistema di coordinate del pezzo

6.17. Impostazione sistema di coordinate pezzo

Prototipo

SetWObjCoord(id, coord, refFrame)

Descrizione

Imposta il sistema di coordinate del pezzo

Parametri obbligatori

  • id: Numero del sistema di coordinate, intervallo [0~14];

  • coord: Posa del sistema di coordinate del pezzo rispetto al centro della flangia terminale, unità [mm][°]

  • refFrame: Sistema di coordinate di riferimento

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.18. Impostazione lista dei sistemi di coordinate pezzo

Prototipo

SetWObjList(id, coord, refFrame)

Descrizione

Imposta la lista dei sistemi di coordinate del pezzo

Parametri obbligatori

  • id: Numero del sistema di coordinate, intervallo [0~14];

  • coord: Posa del sistema di coordinate del pezzo rispetto al centro della flangia terminale, unità [mm][°]

  • refFrame: Sistema di coordinate di riferimento

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.19. Calcolo sistema di coordinate pezzo in base alle informazioni dei punti

Nuovo nella versione python: SDK-v2.0.8

Prototipo

ComputeWObjCoordWithPoints(method, pos, refFrame)

Descrizione

Calcola il sistema di coordinate del pezzo in base alle informazioni dei punti

Parametri obbligatori

  • method: Metodo di calcolo; 0: Origine-Asse X-Asse Z 1: Origine-Asse X-Piano XY

  • pos: Tre gruppi di posizioni TCP

  • refFrame: Sistema di coordinate di riferimento

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • wobj_offset=[x,y,z,rx,ry,rz]: Sistema di coordinate del pezzo calcolato in base alle informazioni dei punti, unità [mm][°]

6.20. Ottenimento sistema di coordinate pezzo corrente

Prototipo

GetWObjOffset(flag=1)

Descrizione

Ottiene il sistema di coordinate del pezzo corrente

Parametri obbligatori

Nessuno

Parametri predefiniti

flag: 0-Bloccante, 1-Non bloccante, Predefinito 1

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • wobj_offset=[x,y,z,rx,ry,rz]: Posa relativa del sistema di coordinate del pezzo corrente, unità [mm][°]

6.21. Esempio di codice operazioni sistema di coordinate pezzo robot

 1from fairino import Robot
 2# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Impostazione velocità globale

Prototipo

SetSpeed(vel)

Descrizione

Imposta la velocità globale

Parametri obbligatori

  • vel: Percentuale velocità, intervallo [0~100]

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.23. Impostazione accelerazione robot

Nuovo nella versione python: SDK-v2.0.4

Prototipo

SetOaccScale(acc)

Descrizione

Imposta l’accelerazione del robot

Parametri obbligatori

  • acc: Percentuale accelerazione robot

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.24. Ottenimento velocità predefinita

Prototipo

GetDefaultTransVel()

Descrizione

Ottiene la velocità predefinita

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • vel: Velocità predefinita, unità [mm/s]

6.25. Impostazione peso carico terminale

Prototipo

SetLoadWeight(loadNum, weight)

Descrizione

Imposta il peso del carico terminale, un’impostazione errata del peso del carico potrebbe causare la perdita di controllo del robot in modalità trascinamento

Parametri obbligatori

  • loadNum: Numero del carico

  • weight: Unità [kg]

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.26. Impostazione coordinate centro di massa carico terminale

Prototipo

SetLoadCoord(x,y,z,loadNum = 0)

Descrizione

Imposta le coordinate del centro di massa del carico terminale, un’impostazione errata del centro di massa del carico potrebbe causare la perdita di controllo del robot in modalità trascinamento

Parametri obbligatori

  • x: Coordinata centro di massa, unità [mm]

  • y: Coordinata centro di massa, unità [mm]

  • z: Coordinata centro di massa, unità [mm]

Parametri predefiniti

  • loadNum: Numero del carico, predefinito 0

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.27. Ottenimento peso carico corrente

Prototipo

GetTargetPayload(flag=1)

Descrizione

Ottiene la massa del carico corrente

Parametri obbligatori

Nessuno

Parametri predefiniti

flag: 0-Bloccante, 1-Non bloccante Predefinito 1

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • weight: Peso del carico corrente, unità [kg]

6.28. Ottenimento centro di massa carico corrente

Prototipo

GetTargetPayloadCog(flag=1)

Descrizione

Ottiene il centro di massa del carico corrente

Parametri obbligatori

Nessuno

Parametri predefiniti

flag: 0-Bloccante, 1-Non bloccante Predefinito 1

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • cog=[x,y,z]: Coordinate del centro di massa corrente, unità [mm]

6.29. Impostazione modalità installazione robot - Installazione fissa

Prototipo

SetRobotInstallPos(method)

Descrizione

Imposta la modalità di installazione del robot - Installazione fissa, un’impostazione errata della modalità di installazione potrebbe causare la perdita di controllo del robot in modalità trascinamento

Parametri obbligatori

  • method: 0-Montaggio a terra, 1-Montaggio laterale, 2-Montaggio a soffitto

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.30. Impostazione angolo installazione robot - Installazione libera

Prototipo

SetRobotInstallAngle(yangle,zangle)

Descrizione

Imposta l’angolo di installazione del robot - Installazione libera, un’impostazione errata dell’angolo di installazione potrebbe causare la perdita di controllo del robot in modalità trascinamento

Parametri obbligatori

  • yangle: Angolo di inclinazione

  • zangle: Angolo di rotazione

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.31. Ottenimento angolo installazione robot

Prototipo

GetRobotInstallAngle()

Descrizione

Ottiene l’angolo di installazione del robot

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • [yangle,zangle]: yangle-angolo di inclinazione, zangle-angolo di rotazione

6.32. Impostazione valore variabile di sistema

Prototipo

SetSysVarValue(id,value)

Descrizione

Imposta la variabile di sistema

Parametri obbligatori

  • id: Numero della variabile, intervallo [1~20];

  • value: Valore della variabile

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.33. Ottenimento valore variabile di sistema

Prototipo

GetSysVarValue(id)

Descrizione

Ottiene il valore della variabile di sistema

Parametri obbligatori

  • id: Numero della variabile di sistema, intervallo [1~20]

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • var_value: Valore della variabile di sistema

6.34. Esempio di codice impostazioni comuni robot

 1from fairino import Robot
 2# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Interruttore compensazione attrito giunti

Prototipo

FrictionCompensationOnOff(state)

Descrizione

Interruttore compensazione attrito giunti

Parametri obbligatori

  • state: 0-Spegnimento, 1-Accensione

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.36. Impostazione coefficiente compensazione attrito giunti - Montaggio normale

Prototipo

SetFrictionValue_level(coeff)

Descrizione

Imposta il coefficiente di compensazione attrito giunti - Installazione fissa - Montaggio normale

Parametri obbligatori

  • coeff=[j1,j2,j3,j4,j5,j6]: Sei coefficienti di compensazione dei giunti

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.37. Impostazione coefficiente compensazione attrito giunti - Montaggio laterale

Prototipo

SetFrictionValue_wall(coeff)

Descrizione

Imposta il coefficiente di compensazione attrito giunti - Installazione fissa - Montaggio laterale

Parametri obbligatori

  • coeff=[j1,j2,j3,j4,j5,j6]: Sei coefficienti di compensazione dei giunti

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.38. Impostazione coefficiente compensazione attrito giunti - Montaggio a soffitto

Prototipo

SetFrictionValue_ceiling(coeff)

Descrizione

Imposta il coefficiente di compensazione attrito giunti - Installazione fissa - Montaggio a soffitto

Parametri obbligatori

  • coeff=[j1,j2,j3,j4,j5,j6]: Sei coefficienti di compensazione dei giunti

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.39. Impostazione coefficiente compensazione attrito giunti - Installazione libera

Prototipo

SetFrictionValue_freedom(coeff)

Descrizione

Imposta il coefficiente di compensazione attrito giunti - Installazione libera

Parametri obbligatori

  • coeff=[j1,j2,j3,j4,j5,j6]: Sei coefficienti di compensazione dei giunti

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.40. Esempio di codice impostazione compensazione attrito giunti robot

 1from fairino import Robot
 2# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Query codice errore robot

Prototipo

GetRobotErrorCode()

Descrizione

Query codice errore robot

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • [maincode subcode]: Codice errore robot, maincode-codice errore principale, subcode-codice errore secondario

6.42. Cancellazione stato errore

Prototipo

ResetAllError()

Descrizione

Cancellazione stato errore, può cancellare solo errori resettabili

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.43. Esempio di codice ottenimento stato guasto robot e cancellazione errori

 1from fairino import Robot
 2import time
 3# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Impostazione parametri monitoraggio temperatura e velocità ventilatore quadro controllo tensione larga

Nuovo nella versione python: SDK-v2.1.3

Prototipo

SetWideBoxTempFanMonitorParam(enable, period)

Descrizione

Imposta i parametri di monitoraggio temperatura e velocità ventilatore quadro controllo tensione larga

Parametri obbligatori

  • enable: 0-Disabilita monitoraggio; 1-Abilita monitoraggio

  • period: Periodo di monitoraggio (s), intervallo 1-100

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.45. Ottenimento parametri monitoraggio temperatura e velocità ventilatore quadro controllo tensione larga

Nuovo nella versione python: SDK-v2.1.3

Prototipo

GetWideBoxTempFanMonitorParam()

Descrizione

Ottiene i parametri di monitoraggio temperatura e velocità ventilatore quadro controllo tensione larga

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • enable: 0-Disabilita monitoraggio; 1-Abilita monitoraggio

  • period: Periodo di monitoraggio (s), intervallo 1-100

6.46. Esempio di codice ottenimento stato temperatura e corrente ventilatore quadro controllo tensione larga

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Impostazione punto calibrazione fuoco

Nuovo nella versione python: SDK-v2.1.4

Prototipo

SetFocusCalibPoint(pointNum, point)

Descrizione

Imposta il punto di calibrazione del fuoco

Parametri obbligatori

  • pointNum: Numero punto calibrazione fuoco 1-8

  • point: Coordinate del punto di calibrazione

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.48. Calcolo risultato calibrazione fuoco

Nuovo nella versione python: SDK-v2.1.4

Prototipo

ComputeFocusCalib(pointNum)

Descrizione

Calcola il risultato della calibrazione del fuoco

Parametri obbligatori

  • pointNum: Numero di punti di calibrazione

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • resultPos: Risultato calibrazione XYZ

  • accuracy: Errore di accuratezza della calibrazione

6.49. Avvio inseguimento fuoco

Nuovo nella versione python: SDK-v2.1.4

Prototipo

FocusStart(kp=50.0, kpredic=19.0, aMax=1440, vMax=180, type=0)

Descrizione

Avvia l’inseguimento del fuoco

Parametri obbligatori

Nessuno

Parametri predefiniti

  • kp: Parametro proporzionale, predefinito 50.0

  • kpredic: Parametro feedforward, predefinito 19.0

  • aMax: Limite massima accelerazione angolare, predefinito 1440°/s^2

  • vMax: Limite massima velocità angolare, predefinito 180°/s

  • type: Blocco direzione asse X (0-Vettore input di riferimento; 1-Orizzontale; 2-Verticale), predefinito 0

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.50. Arresto inseguimento fuoco

Nuovo nella versione python: SDK-v2.1.4

Prototipo

FocusEnd()

Descrizione

Arresta l’inseguimento del fuoco

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.51. Impostazione coordinate fuoco

Nuovo nella versione python: SDK-v2.1.4

Prototipo

SetFocusPosition(pos)

Descrizione

Imposta le coordinate del fuoco

Parametri obbligatori

  • pos: Coordinate fuoco XYZ

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.52. Esempio di codice inseguimento fuoco robot

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Abilitazione funzione calibrazione sensibilità sensore coppia giunti

Nuovo nella versione python: SDK-v2.1.7

Prototipo

JointSensitivityEnable(status)

Descrizione

Abilita la funzione di calibrazione sensibilità sensore coppia giunti

Parametri obbligatori

  • status: 0-Disabilita; 1-Abilita

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.54. Raccolta dati sensibilità sensore coppia giunti

Nuovo nella versione python: SDK-v2.1.7

Prototipo

JointSensitivityCollect()

Descrizione

Raccolta dati sensibilità sensore coppia giunti

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.55. Ottenimento risultato calibrazione sensibilità sensore coppia giunti

Nuovo nella versione python: SDK-v2.1.7

Prototipo

JointSensitivityCalibration()

Descrizione

Ottiene il risultato della calibrazione sensibilità sensore coppia giunti

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • calibResult: Sensibilità giunti j1~j6 [0-1]

  • linearityn: Linearità giunti j1~j6 [0-1]

6.56. Ottenimento errore isteresi sensore coppia giunti

Prototipo

JointHysteresisError()

Descrizione

Ottiene l’errore di isteresi del sensore coppia giunti

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • hysteresisError: Errore di isteresi giunti j1~j6

6.57. Ottenimento ripetibilità sensore coppia giunti

Prototipo

JointRepeatability()

Descrizione

Ottiene la ripetibilità del sensore coppia giunti

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • repeatability: Ripetibilità giunti j1~j6

6.58. Impostazione parametri sensore forza giunti

Prototipo

SetAdmittanceParams(M, B, K, threshold, sensitivity, setZeroFlag)

Descrizione

Imposta i parametri del sensore forza giunti

Parametri obbligatori

  • M: Coefficiente massa J1-J6 [0.001 ~ 10]

  • B: Coefficiente smorzamento J1-J6 [0.001 ~ 10]

  • K: Coefficiente rigidezza J1-J6 [0.001 ~ 10]

  • threshold: Soglia controllo forza, Nm

  • sensitivity: Sensibilità, Nm/V, [0 ~ 10]

  • setZeroFlag: Flag abilitazione funzione; 0-Disabilita; 1-Abilita; 2-Registra zero posizione1; 3-Registra zero posizione2

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

6.59. Esempio di codice calibrazione automatica sensibilità sensore coppia giunti

  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. Ottenimento conteggio frame errore 8 porte slave robot

Nuovo nella versione python: SDK-v2.1.7

Prototipo

GetSlavePortErrCounter()

Descrizione

Ottiene il conteggio frame errore 8 porte slave robot

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • inRecvErr: Conteggio frame errore ricezione input

  • inCRCErr: Conteggio frame errore CRC input

  • inTransmitErr: Conteggio frame errore trasmissione input

  • inLinkErr: Conteggio frame errore collegamento input

  • outRecvErr: Conteggio frame errore ricezione output

  • outCRCErr: Conteggio frame errore CRC output

  • outTransmitErr: Conteggio frame errore trasmissione output

  • outLinkErr: Conteggio frame errore collegamento output

6.61. Azzera conteggio frame errore porte slave

Nuovo nella versione python: SDK-v2.1.7

Prototipo

JointSensitivityEnable(slaveID)

Descrizione

Azzera il conteggio frame errore porte slave

Parametri obbligatori

  • slaveID: Numero slave 0~7

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.62. Esempio di codice ottenimento conteggio frame errore porte slave

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Impostazione coefficiente feedforward velocità assi

Nuovo nella versione python: SDK-v2.1.7

Prototipo

SetVelFeedForwardRatio(radio)

Descrizione

Imposta il coefficiente feedforward velocità assi

Parametri obbligatori

  • radio: Coefficiente feedforward velocità assi

Parametri predefiniti

Nessuno

Valore di ritorno

Codice di errore Successo-0 Fallimento- errcode

6.64. Ottenimento coefficiente feedforward velocità assi

Nuovo nella versione python: SDK-v2.1.7

Prototipo

GetVelFeedForwardRatio()

Descrizione

Ottiene il coefficiente feedforward velocità assi

Parametri obbligatori

Nessuno

Parametri predefiniti

Nessuno

Valore di ritorno

  • Codice di errore Successo-0 Fallimento- errcode

  • radio: Coefficiente feedforward velocità assi

6.65. Esempio di codice coefficiente feedforward velocità robot

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilisce una connessione con il controllore robot, restituisce un oggetto robot se la connessione ha successo
 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. Calibrazione TCP Sensore Foto-elettrico - Calcolo RPY Strumento

Prototipo

TCPComputeRPY(Btool, Etool, sensor, radius, dz)

Descrizione

Calibrazione TCP Sensore Foto-elettrico - Calcolo RPY Strumento

Parametri Richiesti

  • Btool: Posizione cartesiana del robot

  • Etool: Valori attuali delle coordinate dello strumento

  • sensor: Valori attuali delle coordinate del sensore (non ancora disponibile)

  • radius: Raggio del movimento circolare in mm (non ancora disponibile)

  • dz: Distanza di movimento lungo l’asse Z negativo del sistema di coordinate base; quando dz = 10000, la funzione restituisce direttamente l’RPY dello strumento

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore. Successo - 0, Fallimento - errcode

6.67. Calibrazione TCP Sensore Foto-elettrico - Calcolo XYZ Strumento

Prototipo

TCPComputeXYZ(select, originDirection, pos1, pos2, pos3, pos4)

Descrizione

Calibrazione TCP Sensore Foto-elettrico - Calcolo XYZ Strumento

Parametri Richiesti

  • select: 0-Calcola TCP strumento; 1-Calcola origine sensore; 2-Calcola orientamento sensore; 3-Restituisci direttamente TCP strumento; 4-Registra sistema di coordinate del pezzo corrente e sistema di coordinate dello strumento

  • originDirection: 0-Direzione X; 1-Direzione Y; 2-Direzione Z

  • pos1: Posizione cartesiana robot 1

  • pos2: Posizione cartesiana robot 2

  • pos3: Posizione cartesiana robot 3

  • pos4: Posizione cartesiana robot 4

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore. Successo - 0, Fallimento - errcode

  • Valore di ritorno (restituito in caso di chiamata riuscita) TCP Valori XYZ dello strumento

6.68. Calibrazione TCP Sensore Foto-elettrico - Inizio Registrazione Posizione Centro Flangia

Prototipo

TCPRecordFlangePosStart()

Descrizione

Calibrazione TCP Sensore Foto-elettrico - Inizio Registrazione Posizione Centro Flangia

Parametri Richiesti

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore. Successo - 0, Fallimento - errcode

6.69. Calibrazione TCP Sensore Foto-elettrico - Fine Registrazione Posizione Centro Flangia

Prototipo

TCPRecordFlangePosEnd()

Descrizione

Calibrazione TCP Sensore Foto-elettrico - Fine Registrazione Posizione Centro Flangia

Parametri Richiesti

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore. Successo - 0, Fallimento - errcode

6.70. Calibrazione TCP Sensore Foto-elettrico - Ottieni Posizione Punto Centro Strumento

Prototipo

TCPGetRecordFlangePos()

Descrizione

Calibrazione TCP Sensore Foto-elettrico - Ottieni Posizione Punto Centro Strumento

Parametri Richiesti

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore. Successo - 0, Fallimento - errcode

  • Valore di ritorno (restituito in caso di chiamata riuscita) TCP Posizione punto centro strumento (x, y, z)

6.71. Calibrazione TCP Sensore Foto-elettrico

Prototipo

PhotoelectricSensorTCPCalibration(luaPath, offsetX)

Descrizione

Calibrazione TCP Sensore Foto-elettrico

Parametri Richiesti

  • luaPath: Percorso programma Lua per calibrazione automatica: Per robot versione QX - “/fruser/FR_CalibrateTheToolTcp.lua”; Per robot versione LA - “/usr/local/etc/controller/lua/FR_CalibrateTheToolTcp.lua”

  • offsetX: Offset punto di insegnamento (x, y, z) in mm

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore. Successo - 0, Fallimento - errcode

  • Valore di ritorno (restituito in caso di chiamata riuscita) TCP Valori XYZ dello strumento

6.72. Esempio Codice Calibrazione TCP Sensore Foto-elettrico

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("/fruser/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