9. Riproduzione Traiettoria Robot
9.1. Impostazione Parametri Registrazione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta i parametri di registrazione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.2. Inizio Registrazione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Inizia la registrazione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.3. Arresto Registrazione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Arresta la registrazione della traiettoria |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.4. Eliminazione Registrazione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Elimina la registrazione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.5. Esempio Codice
1from fairino import Robot
2import time
3# Stabilisce connessione con controller robot, restituisce oggetto robot se connesso
4robot = Robot.RPC('192.168.58.2')
5type = 1
6name = "tpd2025"
7period_ms = 4
8di_choose = 0
9do_choose = 0
10robot.SetTPDParam(name, period_ms)
11robot.Mode(1)
12time.sleep(1)
13robot.DragTeachSwitch(1)
14robot.SetTPDStart(name, period_ms)
15print("SetTPDStart")
16time.sleep(10)
17robot.SetWebTPDStop()
18robot.DragTeachSwitch(0)
19robot.CloseRPC()
9.6. Precaricamento Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Precaricamento traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.7. Riproduzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Riproduzione traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.8. Ottenere Posa Iniziale Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Ottiene la posa iniziale della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
|
9.9. Esempio Codice Registrazione Traiettoria TPD Robot
1from fairino import Robot
2import time
3# Stabilisce connessione con controller robot, restituisce oggetto robot se connesso
4robot = Robot.RPC('192.168.58.2')
5type = 1
6name = "tpd2025"
7period_ms = 4
8di_choose = 0
9do_choose = 0
10ovl = 100.0
11blend = 0
12rtn = robot.LoadTPD(name)
13print(f"LoadTPD rtn is: {rtn}")
14error,start_pose = robot.GetTPDStartPose(name)
15print(f"start pose, xyz is: {start_pose[0]},{start_pose[1]},{start_pose[2]}. "
16 f"rpy is: {start_pose[3]},{start_pose[4]},{start_pose[5]}")
17robot.MoveCart(start_pose, 0, 0, 100, 100)
18time.sleep(1)
19rtn = robot.MoveTPD(name, blend, ovl)
20print(f"MoveTPD rtn is: {rtn}")
21time.sleep(5)
22robot.SetTPDDelete(name)
23robot.CloseRPC()
9.10. Pre-elaborazione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Pre-elaborazione traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.11. Riproduzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Riproduzione traiettoria |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.12. Ottenere Posa Iniziale Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Ottiene la posa iniziale della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
|
9.13. Ottenere Numero Punti Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Ottiene il numero dei punti della traiettoria |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore Restituito |
|
9.14. Impostare la Velocità Durante l’Esecuzione della Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la velocità durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice di errore Successo-0 Fallimento-errcode |
9.15. Esempio di Codice per Impostare la Velocità Durante l’Esecuzione della Traiettoria
1from time import sleep
2import time
3from fairino import Robot
4
5# Stabilire la connessione con il controller del robot
6robot = Robot.RPC('192.168.58.2')
7
8
9def TestSetTrajectoryJSpeed(self):
10 # Caricare il file di traiettoria
11 rtn = robot.TrajectoryJUpLoad("C://Users/lenovo/Desktop/trajHelix_aima_1.txt")
12 print(f"Upload TrajectoryJ A {rtn}")
13
14 traj_file_name = "/fruser/traj/trajHelix_aima_1.txt"
15 # Caricare il file di traiettoria, parametri: nome file, percentuale di velocità, loop (1: loop)
16 rtn = robot.LoadTrajectoryJ(name=traj_file_name, ovl=100, opt=1)
17 print(f"LoadTrajectoryJ {traj_file_name}, rtn is: {rtn}")
18
19 # Ottenere la posa di inizio traiettoria
20 rtn, traj_start_pose = robot.GetTrajectoryStartPose(name=traj_file_name)
21 print(f"GetTrajectoryStartPose is: {rtn}")
22 print(
23 f"desc_pos:{traj_start_pose[0]},{traj_start_pose[1]},{traj_start_pose[2]},{traj_start_pose[3]},{traj_start_pose[4]},{traj_start_pose[5]}")
24
25 time.sleep(1)
26
27 # Impostare la velocità base e muoversi al punto di inizio traiettoria
28 robot.SetSpeed(50)
29 robot.MoveCart(desc_pos=traj_start_pose, tool=0, user=0, vel=100, acc=100, ovl=100, blendT=-1, config=-1)
30
31 # Ottenere il numero di punti della traiettoria
32 rtn, traj_num = robot.GetTrajectoryPointNum()
33 print(f"GetTrajectoryStartPose rtn is: {rtn}, traj num is: {traj_num}")
34
35 # Avviare il movimento della traiettoria
36 rtn = robot.MoveTrajectoryJ()
37 print(f"MoveTrajectoryJ rtn is: {rtn}")
38
39 time.sleep(1)
40
41 # Ottenere lo stato in tempo reale del robot
42 trajspeedMode = 0
43 while True:
44 rtn, pkg = robot.GetRobotRealTimeState()
45 if pkg.motion_done != 0:
46 break
47
48 # Impostare la velocità della traiettoria al 10%
49 rtn = robot.SetTrajectoryJSpeed(ovl=10.0, mode=trajspeedMode)
50 print(f"SetTrajectoryJSpeed is: {rtn}")
51
52 time.sleep(1)
53
54 # Impostare la velocità della traiettoria all'80%
55 rtn = robot.SetTrajectoryJSpeed(ovl=80.0, mode=trajspeedMode)
56 print(f"SetTrajectoryJSpeed is: {rtn}")
57
58 time.sleep(1)
59
60 # Chiudere la connessione
61 robot.CloseRPC()
62 time.sleep(1)
63
64
65# Chiamare la funzione di test
66TestSetTrajectoryJSpeed(robot)
9.16. Impostazione Forza e Coppia durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta forza e coppia durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.17. Impostazione Forza lungo direzione X durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la forza lungo la direzione X durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.18. Impostazione Forza lungo direzione Y durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la forza lungo la direzione Y durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.19. Impostazione Forza lungo direzione Z durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la forza lungo la direzione Z durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.20. Impostazione Coppia attorno asse X durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la coppia attorno all’asse X durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.21. Impostazione Coppia attorno asse Y durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la coppia attorno all’asse Y durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.22. Impostazione Coppia attorno asse Z durante Esecuzione Traiettoria
Prototipo |
|
|---|---|
Descrizione |
Imposta la coppia attorno all’asse Z durante l’esecuzione della traiettoria |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.23. Caricamento File Traiettoria J
Nuovo nella versione python: SDK-v2.0.7
Prototipo |
|
|---|---|
Descrizione |
Carica il file traiettoria J |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.24. Eliminazione File Traiettoria J
Nuovo nella versione python: SDK-v2.0.7
Prototipo |
|
|---|---|
Descrizione |
Elimina il file traiettoria J |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.25. Esempio Codice Riproduzione File Traiettoria J Robot
1from fairino import Robot
2import time
3# Stabilisce connessione con controller robot, restituisce oggetto robot se connesso
4robot = Robot.RPC('192.168.58.2')
5rtn = robot.TrajectoryJUpLoad("D://zUP/traj.txt")
6print(f"Upload TrajectoryJ A {rtn}")
7traj_file_name = "/fruser/traj/traj.txt"
8rtn = robot.LoadTrajectoryJ(traj_file_name, 100, 1)
9print(f"LoadTrajectoryJ {traj_file_name}, rtn is: {rtn}")
10rtn,traj_start_pose = robot.GetTrajectoryStartPose(traj_file_name)
11print(f"GetTrajectoryStartPose is: {rtn}")
12print(f"desc_pos:{traj_start_pose[0]},{traj_start_pose[1]},{traj_start_pose[2]},"
13 f"{traj_start_pose[3]},{traj_start_pose[4]},{traj_start_pose[5]}")
14time.sleep(1)
15robot.SetSpeed(50)
16robot.MoveCart(traj_start_pose, 0, 0, 50, 100, 100)
17rtn,traj_num = robot.GetTrajectoryPointNum()
18print(f"GetTrajectoryStartPose rtn is: {rtn}, traj num is: {traj_num}")
19rtn = robot.SetTrajectoryJSpeed(50.0)
20print(f"SetTrajectoryJSpeed is: {rtn}")
21traj_force = [0.0,0.0,0.0,0.0,0.0,0.0]
22traj_force[0] = 10 # fx = 10
23rtn = robot.SetTrajectoryJForceTorque(traj_force)
24print(f"SetTrajectoryJForceTorque rtn is: {rtn}")
25rtn = robot.SetTrajectoryJForceFx(10.0)
26print(f"SetTrajectoryJForceFx rtn is: {rtn}")
27rtn = robot.SetTrajectoryJForceFy(0.0)
28print(f"SetTrajectoryJForceFy rtn is: {rtn}")
29rtn = robot.SetTrajectoryJForceFz(0.0)
30print(f"SetTrajectoryJForceFz rtn is: {rtn}")
31rtn = robot.SetTrajectoryJTorqueTx(10.0)
32print(f"SetTrajectoryJTorqueTx rtn is: {rtn}")
33rtn = robot.SetTrajectoryJTorqueTy(10.0)
34print(f"SetTrajectoryJTorqueTy rtn is: {rtn}")
35rtn = robot.SetTrajectoryJTorqueTz(10.0)
36print(f"SetTrajectoryJTorqueTz rtn is: {rtn}")
37rtn = robot.MoveTrajectoryJ()
38print(f"MoveTrajectoryJ rtn is: {rtn}")
39robot.CloseRPC()
9.26. Pre-elaborazione Traiettoria (Anticipazione Traiettoria)
Nuovo nella versione python: SDK-v2.1.4
Prototipo |
|
|---|---|
Descrizione |
Pre-elaborazione traiettoria (Anticipazione traiettoria) |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.27. Riproduzione Traiettoria (Anticipazione Traiettoria)
Nuovo nella versione python: SDK-v2.1.0
Prototipo |
|
|---|---|
Descrizione |
Riproduzione traiettoria (Anticipazione traiettoria) |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore Restituito |
Codice errore Successo-0 Fallimento- errore |
9.28. Esempio Codice Riproduzione Traiettoria (Anticipazione Traiettoria)
1from fairino import Robot
2import time
3# Stabilisce connessione con controller robot, restituisce oggetto robot se connesso
4robot = Robot.RPC('192.168.58.2')
5rtn = robot.TrajectoryJUpLoad("D://zUP/traj.txt")
6print(f"Upload TrajectoryJ A {rtn}")
7traj_file_name = "/fruser/traj/traj.txt"
8rtn = robot.LoadTrajectoryLA(traj_file_name, 1, 2, 0, 2, 50, 200, 1000, 0)
9print(f"LoadTrajectoryLA {traj_file_name}, rtn is: {rtn}")
10rtn, traj_start_pose = robot.GetTrajectoryStartPose(traj_file_name)
11print(f"GetTrajectoryStartPose is: {rtn}")
12print(f"desc_pos: {traj_start_pose[0]},{traj_start_pose[1]},{traj_start_pose[2]},{traj_start_pose[3]},{traj_start_pose[4]},{traj_start_pose[5]}")
13time.sleep(1)
14robot.SetSpeed(50)
15robot.MoveCart(traj_start_pose, 0, 0, 100, 100, 100)
16rtn = robot.MoveTrajectoryLA()
17print(f"MoveTrajectoryLA rtn is: {rtn}")
18robot.CloseRPC()
9.29. Spostarsi al Punto di Inizio della Registrazione della Traiettoria TPD
Prototipo |
|
|---|---|
Descrizione |
Spostarsi al punto di inizio della registrazione della traiettoria TPD |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice di errore Successo-0 Fallimento-errcode |
9.30. Esempio di Codice SDK per Spostarsi al Punto di Inizio della Registrazione della Traiettoria TPD
1from time import sleep
2from fairino import Robot
3from ctypes import sizeof
4# Stabilire la connessione con il controller del robot, in caso di successo restituisce un oggetto robot
5robot = Robot.RPC('192.168.58.2')
6import time
7
8def TestTPD(self):
9 type = 1
10 name = "tpd2025"
11 period_ms = 4
12 di_choose = 0
13 do_choose = 0
14
15 robot.SetTPDParam(type=type, name=name, period_ms=period_ms, di_choose=di_choose, do_choose=do_choose)
16
17 robot.Mode(1)
18 time.sleep(1)
19 robot.DragTeachSwitch(1)
20 robot.SetTPDStart(type=type, name=name, period_ms=period_ms, di_choose=di_choose, do_choose=do_choose)
21 time.sleep(3)
22 robot.SetWebTPDStop()
23 robot.DragTeachSwitch(0)
24
25 time.sleep(1)
26 ovl = 100.0
27 blend = 0
28 start_pose = [0.0] * 6
29 rtn = robot.LoadTPD(name)
30 print(f"LoadTPD rtn is: {rtn}")
31
32 rtn, start_pose = robot.GetTPDStartPose(name)
33 print(f"start pose, xyz is: {start_pose[0]},{start_pose[1]},{start_pose[2]}. rpy is: {start_pose[3]},{start_pose[4]},{start_pose[5]}")
34 # robot.MoveCart(desc_pos=start_pose, tool=0, user=0, vel=100, acc=100, ovl=ovl, blendT=-1, config=-1)
35 #time.sleep(1)
36
37 rtn = robot.MoveToTPDStart(name, 0, 100)
38 print(f"MoveToTPDStart rtn is: {rtn}")
39
40 rtn = robot.MoveTPD(name, blend, ovl)
41 print(f"MoveTPD rtn is: {rtn}")
42 time.sleep(5)
43
44 robot.SetTPDDelete(name)
45
46 robot.CloseRPC()
47 return 0
48
49TestTPD(robot)