8. Zapytanie o stan robota

8.1. Pobieranie bieżącej pozycji przegubów (kąt)

Prototyp

GetActualJointPosDegree(flag=1)

Opis

Pobieranie bieżącej pozycji przegubów (kąt)

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Bieżąca pozycja przegubów (kąt)

8.2. Pobieranie bieżącej pozycji przegubów (radian)

Prototyp

GetActualJointPosRadian(flag=1)

Opis

Pobieranie bieżącej pozycji przegubów (radian)

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Bieżąca pozycja przegubów (radian)

8.3. Pobieranie prędkości sprzężenia zwrotnego przegubów - deg/s

Prototyp

GetActualJointSpeedsDegree(flag=1)

Opis

Pobieranie prędkości sprzężenia zwrotnego przegubów - deg/s

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • speed=[j1,j2,j3,j4,j5,j6]: Prędkości sprzężenia zwrotnego przegubów - deg/s

8.4. Pobieranie przyspieszenia sprzężenia zwrotnego przegubów - deg/s^2

Prototyp

GetActualJointAccDegree(flag=1)

Opis

Pobieranie przyspieszenia sprzężenia zwrotnego przegubów - deg/s^2

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • acc=[j1,j2,j3,j4,j5,j6]: Przyspieszenia sprzężenia zwrotnego przegubów - deg/s^2

8.5. Pobieranie prędkości wypadkowej zadanej TCP

Prototyp

GetTargetTCPCompositeSpeed(flag=1)

Opis

Pobieranie prędkości wypadkowej zadanej TCP

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • [tcp_speed,ori_speed]: tcp_speed - liniowa prędkość wypadkowa ori_speed - prędkość wypadkowa pozy

8.6. Pobieranie prędkości wypadkowej sprzężenia zwrotnego TCP

Prototyp

GetActualTCPCompositeSpeed(flag=1)

Opis

Pobieranie prędkości wypadkowej sprzężenia zwrotnego TCP

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • [tcp_speed,ori_speed]: tcp_speed - liniowa prędkość wypadkowa ori_speed - prędkość wypadkowa pozy

8.7. Pobieranie prędkości zadanej TCP

Prototyp

GetTargetTCPSpeed(flag=1)

Opis

Pobieranie prędkości zadanej TCP

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • speed=[x,y,z,rx,ry,rz]: Prędkość zadana TCP, mm/s

8.8. Pobieranie prędkości sprzężenia zwrotnego TCP

Prototyp

GetActualTCPSpeed(flag=1)

Opis

Pobieranie prędkości sprzężenia zwrotnego TCP

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • speed=[x,y,z,rx,ry,rz]: Prędkość sprzężenia zwrotnego TCP

8.9. Pobieranie bieżącej pozy narzędzia

Prototyp

GetActualTCPPose(flag=1)

Opis

Pobieranie bieżącej pozy narzędzia

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: Bieżąca poza narzędzia

8.10. Pobieranie bieżącego numeru układu narzędzia

Prototyp

GetActualTCPNum(flag=1)

Opis

Pobieranie bieżącego numeru układu narzędzia

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • tool_id: Numer układu narzędzia

8.11. Pobieranie bieżącego numeru układu przedmiotu

Prototyp

GetActualWObjNum(flag=1)

Opis

Pobieranie bieżącego numeru układu przedmiotu

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • wobj_id: Numer układu przedmiotu

8.12. Pobieranie bieżącej pozy kołnierza końcowego

Prototyp

GetActualToolFlangePose(flag=1)

Opis

Pobieranie bieżącej pozy kołnierza końcowego

Parametry wymagane

Brak

Parametry domyślne

  • flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • flange_pose=[x,y,z,rx,ry,rz]: Bieżąca poza kołnierza końcowego

8.13. Pobieranie bieżącego momentu obrotowego przegubów

Prototyp

GetJointTorques(flag=1)

Opis

Pobieranie bieżącego momentu obrotowego przegubów

Parametry wymagane

Brak

Parametry domyślne

flag: 0-blokujący, 1-nieblokujący, domyślnie 1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • torques=[j1,j2,j3,j4,j5,j6]: Moment obrotowy przegubów

8.14. Pobieranie czasu systemowego

Prototyp

GetSystemClock()

Opis

Pobieranie czasu systemowego

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • t_ms: Czas systemowy, jednostka [ms]

8.15. Sprawdzanie, czy ruch robota został zakończony

Prototyp

GetRobotMotionDone()

Opis

Sprawdzanie, czy ruch robota został zakończony

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • state: Stan ruchu robota, 0-niezakończony, 1-zakończony

8.16. Sprawdzanie długości bufora kolejki ruchu robota

Prototyp

GetMotionQueueLength()

Opis

Sprawdzanie długości bufora kolejki ruchu robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • len: Długość bufora

8.17. Pobieranie stanu zatrzymania awaryjnego robota

Prototyp

GetRobotEmergencyStopState()

Opis

Pobieranie stanu zatrzymania awaryjnego robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • state: Stan zatrzymania awaryjnego, 0-brak zatrzymania awaryjnego, 1-zatrzymanie awaryjne

8.18. Pobieranie stanu komunikacji SDK z robotem

Prototyp

GetSDKComState()

Opis

Pobieranie stanu komunikacji SDK z robotem

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • state: Stan komunikacji, 0-komunikacja normalna, 1-komunikacja nieprawidłowa

8.19. Pobieranie sygnału bezpiecznego zatrzymania

Prototyp

GetSafetyStopState()

Opis

Pobieranie sygnału bezpiecznego zatrzymania

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • [si0_state,si1_state]: si0_state - sygnał bezpiecznego zatrzymania SI0, 0-nieaktywny, 1-aktywny; si1_state - sygnał bezpiecznego zatrzymania SI1, 0-nieaktywny, 1-aktywny

8.20. Pobieranie bieżącej temperatury sterownika przegubu (℃)

Prototyp

GetJointDriverTemperature()

Opis

Pobieranie bieżącej temperatury sterownika przegubu (℃)

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • data=[t1,t2,t3,t4,t5,t6]: Bieżące temperatury każdego przegubu

8.21. Pobieranie bieżącego momentu obrotowego sterownika przegubu (Nm)

Prototyp

GetJointDriverTorque()

Opis

Pobieranie bieżącego momentu obrotowego sterownika przegubu (Nm)

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • data=[j1,j2,j3,j4,j5,j6]: Moment obrotowy przegubów [fx,fy,fz,tx,ty,tz]

8.22. Pobieranie stanu robota

Prototyp

GetRobotRealTimeState()

Opis

Pobieranie stanu robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • robot_state_pkg: Struktura stanu robota

8.23. Przykład kodu zapytania o stan robota

 1from fairino import Robot
 2# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 3robot = Robot.RPC('192.168.58.2')
 4error,[yangle, zangle] = robot.GetRobotInstallAngle()
 5print(f"yangle:{yangle},zangle:{zangle}")
 6error,j_deg = robot.GetActualJointPosDegree(0)
 7print(f"joint pos deg:{j_deg[0]},{j_deg[1]},{j_deg[2]},{j_deg[3]},{j_deg[4]},{j_deg[5]}")
 8error,jointSpeed = robot.GetActualJointSpeedsDegree(0)
 9print(f"joint speeds deg:{jointSpeed[0]},{jointSpeed[1]},{jointSpeed[2]},{jointSpeed[3]},{jointSpeed[4]},{jointSpeed[5]}")
10error,jointAcc = robot.GetActualJointAccDegree(0)
11print(f"joint acc deg:{jointAcc[0]},{jointAcc[1]},{jointAcc[2]},{jointAcc[3]},{jointAcc[4]},{jointAcc[5]}")
12error,[tcp_speed, ori_speed] = robot.GetTargetTCPCompositeSpeed(0)
13print(f"GetTargetTCPCompositeSpeed tcp {tcp_speed}; ori {ori_speed}")
14error,[tcp_speed, ori_speed] = robot.GetActualTCPCompositeSpeed(0)
15print(f"GetActualTCPCompositeSpeed tcp {tcp_speed}; ori {ori_speed}")
16error,targetSpeed = robot.GetTargetTCPSpeed(0)
17print(f"GetTargetTCPSpeed {targetSpeed[0]},{targetSpeed[1]},{targetSpeed[2]},{targetSpeed[3]},{targetSpeed[4]},{targetSpeed[5]}")
18error,actualSpeed = robot.GetActualTCPSpeed(0)
19print(f"GetActualTCPSpeed {actualSpeed[0]},{actualSpeed[1]},{actualSpeed[2]},{actualSpeed[3]},{actualSpeed[4]},{actualSpeed[5]}")
20error,tcp = robot.GetActualTCPPose(0)
21print(f"tcp pose:{tcp[0]},{tcp[1]},{tcp[2]},{tcp[3]},{tcp[4]},{tcp[5]}")
22error,flange = robot.GetActualToolFlangePose(0)
23print(f"flange pose:{flange[0]},{flange[1]},{flange[2]},{flange[3]},{flange[4]},{flange[5]}")
24error,id = robot.GetActualTCPNum(0)
25print(f"tcp num:{id}")
26error,id = robot.GetActualWObjNum(0)
27print(f"wobj num:{id}")
28error,jtorque = robot.GetJointTorques(0)
29print(f"torques:{jtorque[0]},{jtorque[1]},{jtorque[2]},{jtorque[3]},{jtorque[4]},{jtorque[5]}")
30error,t_ms = robot.GetSystemClock()
31print(f"system clock:{t_ms}")
32error,config = robot.GetRobotCurJointsConfig()
33print(f"joint config:{config}")
34error,motionDone = robot.GetRobotMotionDone()
35print(f"GetRobotMotionDone:{motionDone}")
36error,len = robot.GetMotionQueueLength()
37print(f"GetMotionQueueLength:{len}")
38error,emergState = robot.GetRobotEmergencyStopState()
39print(f"GetRobotEmergencyStopState:{emergState}")
40error,comstate = robot.GetSDKComState()
41print(f"GetSDKComState:{comstate}")
42error,[si0_state, si1_state] = robot.GetSafetyStopState()
43print(f"GetSafetyStopState:{si0_state} {si1_state}")
44error,temp = robot.GetJointDriverTemperature()
45print(f"Temperature:{temp[0]},{temp[1]},{temp[2]},{temp[3]},{temp[4]},{temp[5]}")
46error,torque = robot.GetJointDriverTorque()
47print(f"torque:{torque[0]},{torque[1]},{torque[2]},{torque[3]},{torque[4]},{torque[5]}")
48error,pkg = robot.GetRobotRealTimeState()
49robot.CloseRPC()

8.24. Rozwiązanie kinematyki odwrotnej

Prototyp

GetInverseKin(type,desc_pos,config=-1)

Opis

Kinematyka odwrotna, rozwiązanie pozycji przegubów na podstawie pozy kartezjańskiej

Parametry wymagane

  • type: 0-pozycja absolutna (układ bazowy), 1-pozycja względna (układ bazowy), 2-pozycja względna (układ narzędzia)

  • desc_pose: [x,y,z,rx,ry,rz], poza narzędzia, jednostka [mm][°]

Parametry domyślne

  • config: Konfiguracja przegubów, [-1]-obliczenia względem bieżącej pozycji przegubów, [0~7]-obliczenia według konfiguracji przegubów, domyślnie -1

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Rozwiązanie kinematyki odwrotnej, pozycja przegubów na podstawie pozy kartezjańskiej

8.25. Rozwiązanie kinematyki odwrotnej - z określoną pozycją odniesienia

Prototyp

GetInverseKinRef(type,desc_pos,joint_pos_ref)

Opis

Kinematyka odwrotna, rozwiązanie pozycji przegubów na podstawie pozy narzędzia, z określoną pozycją odniesienia przegubów

Parametry wymagane

  • type: 0-pozycja absolutna (układ bazowy), 1-pozycja względna (układ bazowy), 2-pozycja względna (układ narzędzia)

  • desc_pos: [x,y,z,rx,ry,rz] poza narzędzia, jednostka [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], referencyjna pozycja przegubów, jednostka [°]

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Rozwiązanie kinematyki odwrotnej, pozycja przegubów na podstawie pozy narzędzia

8.26. Rozwiązanie kinematyki odwrotnej, przestrzeń kartezjańska z uwzględnieniem pozycji osi rozszerzenia

Prototyp

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

Opis

Rozwiązanie kinematyki odwrotnej, przestrzeń kartezjańska z uwzględnieniem pozycji osi rozszerzenia

Parametry wymagane

  • type: 0-pozycja absolutna (układ bazowy), 1-pozycja przyrostowa (układ bazowy), 2-pozycja przyrostowa (układ narzędzia)

  • desc_pos: Pozycja kartezjańska

  • exaxis: Pozycja osi rozszerzenia

  • tool: Numer narzędzia

  • workPiece: Numer przedmiotu

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • joint_pos: Pozycja przegubów

8.27. Przykład kodu rozwiązania kinematyki odwrotnej z uwzględnieniem pozycji osi rozszerzenia

 1from fairino import Robot
 2import time
 3robot = Robot.RPC('192.168.58.2')
 4desc = [99.957, -0.002, 29.994, -176.569, -6.757, -167.462]
 5exaxis = [100.0, 0.0, 0.0, 0.0]
 6jointPos = [0.0] * 6
 7offsetPos = [0.0] * 6
 8rtn,pkg = robot.GetRobotRealTimeState()
 9toolnum = pkg.tool
10workPcsNum = pkg.user
11rtn, jointPos = robot.GetInverseKinExaxis(0, desc, exaxis, toolnum, workPcsNum)
12print(f"GetInverseKinExaxis joint is {jointPos[0]},{jointPos[1]},{jointPos[2]},{jointPos[3]},{jointPos[4]},{jointPos[5]}")
13robot.ExtAxisMove(exaxis, 100, -1)
14robot.MoveJ(joint_pos=jointPos, desc_pos=desc, tool=toolnum, user=workPcsNum, vel=100.0, acc=100.0, ovl=100.0, exaxis_pos=exaxis, blendT=-1, offset_flag=0, offset_pos=offsetPos)
15robot.CloseRPC()
16return 0

8.28. Sprawdzanie, czy kinematyka odwrotna ma rozwiązanie

Prototyp

GetInverseKinHasSolution(type,desc_pos,joint_pos_ref)

Opis

Sprawdzanie, czy kinematyka odwrotna (rozwiązanie pozycji przegubów na podstawie pozy narzędzia) ma rozwiązanie

Parametry wymagane

  • type: 0-pozycja absolutna (układ bazowy), 1-pozycja względna (układ bazowy), 2-pozycja względna (układ narzędzia)

  • desc_pos: [x,y,z,rx,ry,rz] poza narzędzia, jednostka [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], referencyjna pozycja przegubów, jednostka [°]

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • result: „True” - ma rozwiązanie, „False” - nie ma rozwiązania

8.29. Rozwiązanie kinematyki prostej

Prototyp

GetForwardKin(joint_pos)

Opis

Kinematyka prosta, rozwiązanie pozy narzędzia na podstawie pozycji przegubów

Parametry wymagane

  • joint_pos: [j1,j2,j3,j4,j5,j6]: pozycja przegubów, jednostka [°]

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • desc_pos=[x,y,z,rx,ry,rz]: Rozwiązanie kinematyki prostej, poza narzędzia na podstawie pozycji przegubów

8.30. Przykład kodu obliczeń kinematyki prostej i odwrotnej robota

 1from fairino import Robot
 2# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 3robot = Robot.RPC('192.168.58.2')
 4j1 = [-11.904, -99.669, 117.473, -108.616, -91.726, 74.256]
 5desc_pos1 = [-419.524, -13.000, 351.569, -178.118, 0.314, 3.833]
 6error, inverseRtn = robot.GetInverseKin(0, desc_pos=desc_pos1, config=-1)
 7print(f"dcs1 GetInverseKin rtn is {inverseRtn[0]}, {inverseRtn[1]}, {inverseRtn[2]}, "
 8      f"{inverseRtn[3]}, {inverseRtn[4]}, {inverseRtn[5]}")
 9error, inverseRtn = robot.GetInverseKinRef(0, desc_pos=desc_pos1, joint_pos_ref=j1)
10print(f"dcs1 GetInverseKinRef rtn is {inverseRtn[0]}, {inverseRtn[1]}, {inverseRtn[2]}, "
11      f"{inverseRtn[3]}, {inverseRtn[4]}, {inverseRtn[5]}")
12error, hasResult = robot.GetInverseKinHasSolution(0, desc_pos=desc_pos1, joint_pos_ref=j1)
13print(f"dcs1 GetInverseKinRef result {hasResult}")
14error, forwordResult = robot.GetForwardKin(j1)
15print(f"jpos1 forwordResult rtn is {forwordResult[0]}, {forwordResult[1]}, {forwordResult[2]}, "
16      f"{forwordResult[3]}, {forwordResult[4]}, {forwordResult[5]}")
17robot.CloseRPC()

8.31. Zapytanie o dane punktu zarządzania nauczaniem robota

Prototyp

GetRobotTeachingPoint(name)

Opis

Zapytanie o dane punktu zarządzania nauczaniem robota

Parametry wymagane

name: Nazwa punktu

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

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

8.32. Pobieranie parametrów kompensacji DH

Nowe w wersji python: SDK-v2.0.1

Prototyp

GetDHCompensation()

Opis

Pobieranie parametrów kompensacji DH

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • dhCompensation=[cmpstD1,cmpstA2,cmpstA3,cmpstD4,cmpstD5,cmpstD6]: Wartości kompensacji parametrów DH robota (mm)

8.33. Pobieranie numeru SN skrzynki kontrolnej

Nowe w wersji python: SDK-v2.1.1

Prototyp

GetRobotSN()

Opis

Pobieranie numeru SN skrzynki kontrolnej

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • SNCode: Numer SN skrzynki kontrolnej

8.34. Przykład kodu zapytania o dane punktu zarządzania nauczaniem robota

 1from fairino import Robot
 2# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 3robot = Robot.RPC('192.168.58.2')
 4name = "P1"
 5rtn, data = robot.GetRobotTeachingPoint(name)
 6print(f"{rtn} name is: {name}")
 7for i in range(20):
 8    print(f"data is: {data[i]}")
 9rtn,que_len = robot.GetMotionQueueLength()
10print(f"GetMotionQueueLength rtn is: {rtn}, queue length is: {que_len}")
11retval,dh = robot.GetDHCompensation()
12print(f"retval is: {retval}")
13print(f"dh is: {dh[0]} {dh[1]} {dh[2]} {dh[3]} {dh[4]} {dh[5]}")
14error,sn = robot.GetRobotSN()
15print(f"robot SN is {sn[0]}")
16robot.CloseRPC()

8.35. Pobieranie układu narzędzia według numeru

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetToolCoordWithID(id)

Opis

Pobieranie układu narzędzia według numeru

Parametry wymagane

  • id: Numer układu narzędzia

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.36. Pobieranie układu przedmiotu według numeru

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetWObjCoordWithID(id)

Opis

Pobieranie układu przedmiotu według numeru

Parametry wymagane

  • id: Numer układu przedmiotu

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.37. Pobieranie zewnętrznego układu narzędzia według numeru

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetExToolCoordWithID(id)

Opis

Pobieranie zewnętrznego układu narzędzia według numeru

Parametry wymagane

  • id: Numer zewnętrznego układu narzędzia

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.38. Pobieranie układu osi rozszerzenia według numeru

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetExAxisCoordWithID(id)

Opis

Pobieranie układu osi rozszerzenia według numeru

Parametry wymagane

  • id: Numer układu osi rozszerzenia

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.39. Pobieranie masy i środka ciężkości obciążenia według numeru

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetTargetPayloadWithID(id)

Opis

Pobieranie masy i środka ciężkości obciążenia według numeru

Parametry wymagane

  • id: Numer układu osi rozszerzenia

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • weight: Masa obciążenia

  • cog: Środek ciężkości obciążenia

8.40. Pobieranie bieżącego układu narzędzia

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetCurToolCoord()

Opis

Pobieranie bieżącego układu narzędzia

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.41. Pobieranie bieżącego układu przedmiotu

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetCurWObjCoord()

Opis

Pobieranie bieżącego układu przedmiotu

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.42. Pobieranie bieżącego zewnętrznego układu narzędzia

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetCurExToolCoord()

Opis

Pobieranie bieżącego zewnętrznego układu narzędzia

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.43. Pobieranie bieżącego układu osi rozszerzenia

Nowe w wersji python: SDK-v2.1.6

Prototyp

GetCurExAxisCoord()

Opis

Pobieranie bieżącego układu osi rozszerzenia

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

  • Kod błędu sukces-0 błąd- errcode

  • coord: Wartość układu współrzędnych

8.44. Przykład kodu układów współrzędnych robota i obciążenia

 1from fairino import Robot
 2# Połączenie z kontrolerem robota, po pomyślnym połączeniu zwraca obiekt robota
 3robot = Robot.RPC('192.168.58.2')
 4id = 1
 5toolCoord = [0.0] * 6
 6extoolCoord = [0.0] * 6
 7wobjCoord = [0.0] * 6
 8exAxisCoord = [0.0] * 6
 9for i in range(100):
10    print(f"Aktualny ID: {id}")
11    coordSet0 = [0.0] * 6
12    coordSet = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
13    etcp = [10.0, 20.0, 30.0, 40.0, 50.0, 60.0]
14    etool = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
15    cog = [1.0, 2.0, 3.0]
16    if i % 2 == 0:
17        robot.SetToolCoord(id, coordSet, 0, 0, 1, 0)
18        time.sleep(0.1)
19        robot.SetWObjCoord(id, coordSet, 0)
20        time.sleep(0.1)
21        robot.ExtAxisActiveECoordSys(id, 1, coordSet, 1)
22        time.sleep(0.1)
23        rtn = robot.SetExToolCoord(id, etcp, etool)
24        time.sleep(0.1)
25        rtn = robot.SetLoadWeight(id, 1.5)
26        time.sleep(0.1)
27        rtn = robot.SetLoadCoord(cog[0],cog[1],cog[2],id)
28        time.sleep(0.1)
29    else:
30        robot.SetToolCoord(id, coordSet0, 0, 0, 1, 0)
31        time.sleep(0.1)
32        robot.SetWObjCoord(id, coordSet0, 0)
33        time.sleep(0.1)
34        robot.ExtAxisActiveECoordSys(id, 1, coordSet0, 1)
35        time.sleep(0.1)
36        rtn = robot.SetExToolCoord(id, coordSet0, coordSet0)
37        time.sleep(0.1)
38        rtn = robot.SetLoadWeight(id, 0)
39        time.sleep(0.1)
40        rtn = robot.SetLoadCoord(coordSet0[0],coordSet0[1],coordSet0[2] , id)
41        time.sleep(0.1)
42    rtn, toolCoord = robot.GetCurToolCoord()
43    print(f"GetToolCoord {toolCoord[0]},{toolCoord[1]},{toolCoord[2]},{toolCoord[3]},{toolCoord[4]},{toolCoord[5]}")
44    rtn, wobjCoord = robot.GetCurWObjCoord()
45    print(f"GetWObjCoord {wobjCoord[0]},{wobjCoord[1]},{wobjCoord[2]},{wobjCoord[3]},{wobjCoord[4]},{wobjCoord[5]}")
46    rtn, extoolCoord = robot.GetCurExToolCoord()
47    print(f"GetExToolCoord {extoolCoord[0]},{extoolCoord[1]},{extoolCoord[2]},{extoolCoord[3]},{extoolCoord[4]},{extoolCoord[5]}")
48    rtn, exAxisCoord = robot.GetCurExAxisCoord()
49    print(f"GetExAxisCoord {exAxisCoord[0]},{exAxisCoord[1]},{exAxisCoord[2]},{exAxisCoord[3]},{exAxisCoord[4]},{exAxisCoord[5]}")
50    weight = 0.0
51    getCog = [0.0] * 3
52    rtn, weight = robot.GetTargetPayload(0)
53    rtn, getCog = robot.GetTargetPayloadCog(0)
54    print(f"GetTargetPayload {weight},{getCog[0]},{getCog[1]},{getCog[2]}")
55
56    rtn, toolCoord = robot.GetToolCoordWithID(id)
57    print(f"GetToolCoordWithID {id},{toolCoord[0]},{toolCoord[1]},{toolCoord[2]},{toolCoord[3]},{toolCoord[4]},{toolCoord[5]}")
58    rtn, wobjCoord = robot.GetWObjCoordWithID(id)
59    print(f"GetWObjCoordWithID {id},{wobjCoord[0]},{wobjCoord[1]},{wobjCoord[2]},{wobjCoord[3]},{wobjCoord[4]},{wobjCoord[5]}")
60    rtn, extoolCoord = robot.GetExToolCoordWithID(id)
61    print(f"GetExToolCoordWithID {id},{extoolCoord[0]},{extoolCoord[1]},{extoolCoord[2]},{extoolCoord[3]},{extoolCoord[4]},{extoolCoord[5]}")
62    rtn, exAxisCoord = robot.GetExAxisCoordWithID(id)
63    print(f"GetExAxisCoordWithID {id},{exAxisCoord[0]},{exAxisCoord[1]},{exAxisCoord[2]},{exAxisCoord[3]},{exAxisCoord[4]},{exAxisCoord[5]}")
64    weight = 0.0
65    getCog = [0.0] * 3
66    rtn, weight, getCog = robot.GetTargetPayloadWithID(id)
67    print(f"GetTargetPayloadWithID {id},{weight},{getCog[0]},{getCog[1]},{getCog[2]}")
68    time.sleep(0.5)
69    print(f"times {i}")