9. Roboter-Trajektorienwiedergabe
9.1. TPD-Trajektorienaufzeichnungsparameter einstellen
Prototyp |
|
|---|---|
Beschreibung |
TPD-Trajektorienaufzeichnungsparameter einstellen |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.2. TPD-Trajektorienaufzeichnung starten
Prototyp |
|
|---|---|
Beschreibung |
TPD-Trajektorienaufzeichnung starten |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.3. TPD-Trajektorienaufzeichnung stoppen
Prototyp |
|
|---|---|
Beschreibung |
TPD-Trajektorienaufzeichnung stoppen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.4. TPD-Trajektoriendatei löschen
Prototyp |
|
|---|---|
Beschreibung |
TPD-Trajektoriendatei löschen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.5. Codebeispiel für TPD-Trajektorienaufzeichnung
1from fairino import Robot
2import time
3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
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. TPD-Trajektorie vorladen
Prototyp |
|
|---|---|
Beschreibung |
TPD-Trajektorie vorladen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.7. TPD-Trajektorie wiedergeben
Prototyp |
|
|---|---|
Beschreibung |
TPD-Trajektorie wiedergeben |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.8. Startpose einer TPD-Trajektorie abrufen
Prototyp |
|
|---|---|
Beschreibung |
Startpose einer TPD-Trajektorie abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
9.9. Codebeispiel für Roboter-TPD-Trajektorienwiedergabe
1from fairino import Robot
2import time
3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
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. Trajektorie vorverarbeiten (für MoveTrajectoryJ)
Prototyp |
|
|---|---|
Beschreibung |
Externe Trajektoriendatei vorverarbeiten (für MoveTrajectoryJ) |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.11. Trajektorie wiedergeben (für MoveTrajectoryJ)
Prototyp |
|
|---|---|
Beschreibung |
Externe Trajektoriendatei wiedergeben (für MoveTrajectoryJ) |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.12. Startpose einer Trajektorie abrufen
Prototyp |
|
|---|---|
Beschreibung |
Startpose einer Trajektorie abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
9.13. Nummer des aktuellen Trajektorienpunkts abrufen
Prototyp |
|
|---|---|
Beschreibung |
Nummer des aktuellen Trajektorienpunkts abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
9.14. Geschwindigkeit während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Geschwindigkeit während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
9.15. Codebeispiel zum Einstellen der Geschwindigkeit während der Trajektorienausführung
1from time import sleep
2import time
3from fairino import Robot
4
5# Verbindung mit der Robotersteuerung herstellen
6robot = Robot.RPC('192.168.58.2')
7
8
9def TestSetTrajectoryJSpeed(self):
10 # Trajektoriendatei hochladen
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 # Trajektoriendatei laden, Parameter: Dateiname, Geschwindigkeitsprozentsatz, Schleife (1: Schleife)
16 rtn = robot.LoadTrajectoryJ(name=traj_file_name, ovl=100, opt=1)
17 print(f"LoadTrajectoryJ {traj_file_name}, rtn is: {rtn}")
18
19 # Startpose der Trajektorie abrufen
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 # Basisgeschwindigkeit einstellen und zum Trajektorienstartpunkt bewegen
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 # Anzahl der Trajektorienpunkte abrufen
32 rtn, traj_num = robot.GetTrajectoryPointNum()
33 print(f"GetTrajectoryStartPose rtn is: {rtn}, traj num is: {traj_num}")
34
35 # Trajektorienbewegung starten
36 rtn = robot.MoveTrajectoryJ()
37 print(f"MoveTrajectoryJ rtn is: {rtn}")
38
39 time.sleep(1)
40
41 # Roboter-Echtzeitstatus abrufen
42 trajspeedMode = 0
43 while True:
44 rtn, pkg = robot.GetRobotRealTimeState()
45 if pkg.motion_done != 0:
46 break
47
48 # Trajektoriengeschwindigkeit auf 10% einstellen
49 rtn = robot.SetTrajectoryJSpeed(ovl=10.0, mode=trajspeedMode)
50 print(f"SetTrajectoryJSpeed is: {rtn}")
51
52 time.sleep(1)
53
54 # Trajektoriengeschwindigkeit auf 80% einstellen
55 rtn = robot.SetTrajectoryJSpeed(ovl=80.0, mode=trajspeedMode)
56 print(f"SetTrajectoryJSpeed is: {rtn}")
57
58 time.sleep(1)
59
60 # Verbindung schließen
61 robot.CloseRPC()
62 time.sleep(1)
63
64
65# Testfunktion aufrufen
66TestSetTrajectoryJSpeed(robot)
9.16. Kraft und Drehmoment während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Kraft und Drehmoment während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.17. Kraft in X-Richtung während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Kraft in X-Richtung während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.18. Kraft in Y-Richtung während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Kraft in Y-Richtung während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.19. Kraft in Z-Richtung während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Kraft in Z-Richtung während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.20. Drehmoment um die X-Achse während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Drehmoment um die X-Achse während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.21. Drehmoment um die Y-Achse während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Drehmoment um die Y-Achse während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.22. Drehmoment um die Z-Achse während der Trajektorienausführung einstellen
Prototyp |
|
|---|---|
Beschreibung |
Drehmoment um die Z-Achse während der Trajektorienausführung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.23. Trajektorien-J-Datei hochladen
Neu in Version Python: SDK-v2.0.7
Prototyp |
|
|---|---|
Beschreibung |
Trajektorien-J-Datei hochladen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.24. Trajektorien-J-Datei löschen
Neu in Version Python: SDK-v2.0.7
Prototyp |
|
|---|---|
Beschreibung |
Trajektorien-J-Datei löschen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.25. Codebeispiel für Roboter-Trajektorien-J-Wiedergabe
1from fairino import Robot
2import time
3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
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. Trajektorie vorverarbeiten (Vorausschauende Planung für TrajectoryLA)
Neu in Version Python: SDK-v2.1.4
Prototyp |
|
|---|---|
Beschreibung |
Trajektorie vorverarbeiten (Vorausschauende Planung für TrajectoryLA) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.27. Trajektorie wiedergeben (Vorausschauende Planung für TrajectoryLA)
Neu in Version Python: SDK-v2.1.0
Prototyp |
|
|---|---|
Beschreibung |
Trajektorie wiedergeben (Vorausschauende Planung für TrajectoryLA) |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
9.28. Codebeispiel für Trajektorienwiedergabe (Vorausschauende Planung)
1from fairino import Robot
2import time
3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
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. Bewegung zum Startpunkt der TPD-Bahnaufzeichnung
Prototyp |
|
|---|---|
Beschreibung |
Bewegung zum Startpunkt der TPD-Bahnaufzeichnung |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
9.30. SDK-Codebeispiel für die Bewegung zum Startpunkt der TPD-Bahnaufzeichnung
1from time import sleep
2from fairino import Robot
3from ctypes import sizeof
4# Verbindung mit der Robotersteuerung herstellen, bei Erfolg wird ein Roboter-Objekt zurückgegeben
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)