3. Podstawy robota

3.1. Tworzenie instancji robota

Prototyp

RPC(self, ip, tls_enable, tls_cert_path)

Opis

Tworzy instancję obiektu robota

Parametry wymagane

  • ip: Adres IP robota; domyślny adres fabryczny to 192.168.58.2

  • tls_enable: Czy włączyć szyfrowaną komunikację (mTLS + DTLS); domyślnie False

  • tls_cert_path: Ścieżka folderu certyfikatów; katalog musi zawierać: ca.crt / client.crt / client.key; wymagane, gdy tls_enable=True

Parametry domyślne

Brak

Wartość zwracana

  • Sukces: zwraca obiekt robota

  • Błąd: utworzony obiekt zostanie zniszczony

3.2. Przykład kodu tworzenia instancji

1from fairino import Robot
2import time
3
4robot = Robot.RPC(
5    '192.168.58.2',
6    tls_enable=True,
7    tls_cert_path=r"E:\certs"
8)

3.3. Zamykanie połączenia RPC

Prototyp

CloseRPC()

Opis

Zamyka połączenie RPC

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

Brak

3.4. Sprawdzanie numeru wersji SDK

Prototyp

GetSDKVersion()

Opis

Sprawdza numer wersji SDK

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

  • sdk: Numer wersji SDK, numer wersji kontrolera

3.5. Pobieranie IP kontrolera

Prototyp

GetControllerIP()

Opis

Sprawdza IP kontrolera

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

  • ip: IP kontrolera

3.6. Sterowanie wejściem lub wyjściem robota z trybu przeciągania i uczenia

Prototyp

DragTeachSwitch(state)

Opis

Sterowanie wejściem lub wyjściem robota z trybu przeciągania i uczenia

Parametry wymagane

  • state: 1- Wejście w tryb przeciągania i uczenia, 0- Wyjście z trybu przeciągania i uczenia

Parametry domyślne

Brak

Wartość zwracana

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

3.7. Sprawdzanie, czy robot jest w trybie przeciągania

Prototyp

IsInDragTeach()

Opis

Sprawdza, czy robot jest w trybie przeciągania i uczenia

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

  • state: 0- Tryb przeciągania i uczenia nieaktywny, 1- Tryb przeciągania i uczenia aktywny

3.8. Sterowanie włączeniem lub wyłączeniem zasilania robota

Prototyp

RobotEnable(state)

Opis

Sterowanie włączeniem lub wyłączeniem zasilania robota

Parametry wymagane

  • state: 1- Włączenie zasilania, 0- Wyłączenie zasilania

Parametry domyślne

Brak

Wartość zwracana

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

3.9. Sterowanie przełączaniem trybu ręcznego/automatycznego robota

Prototyp

Mode(state)

Opis

Sterowanie przełączaniem trybu ręcznego/automatycznego robota

Parametry wymagane

  • state: 0- Tryb automatyczny, 1- Tryb ręczny

Parametry domyślne

Brak

Wartość zwracana

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

3.10. Zamykanie systemu operacyjnego robota

Dodane w wersji python: SDK-v2.1.1

Prototyp

ShutDownRobotOS()

Opis

Zamykanie systemu operacyjnego robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

3.11. Przełączanie do Ręcznego Trybu Szybkiego

Prototyp

HiSpeedManualSwitch(self, state)

Opis

Przełączanie do ręcznego trybu szybkiego

Parametry Wymagane

  • state:0-wyjście z ręcznego trybu szybkiego; 1-wejście w ręczny tryb szybki

Parametry Domyślne

Brak

Wartość Zwracana

Kod błędu, 0-sukces; niezerowy-błąd

3.12. Inicjalizacja parametrów logowania

Dodane w wersji python: SDK-v2.1.1

Prototyp

LoggerInit(output_model=1, file_path=", file_num=5)

Opis

Inicjalizacja parametrów logowania

Parametry wymagane

Brak

Parametry domyślne

  • output_model: Tryb wyjścia, 0-wyjście bezpośrednie; 1-wyjście buforowane; 2-wyjście asynchroniczne, domyślnie 1

  • file_path: Ścieżka zapisu pliku + nazwa, nazwa musi być w formacie xxx.log, np. /home/fr/linux/fairino.log. Domyślnie ścieżka lokalizacji programu wykonywalnego, domyślna nazwa to: fairino_year+month+data.log (np. fairino_2024_03_13.log);

  • file_num: Liczba plików do przechowywania w rolce, od 1 do 20, wartość domyślna to 5. Maksymalny rozmiar pojedynczego pliku to 50 MB;

Wartość zwracana

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

3.13. Ustawianie poziomu filtrowania logów

Dodane w wersji python: SDK-v2.0.2

Prototyp

SetLoggerLevel(lvl=1)

Opis

Ustawianie poziomu filtrowania logów

Parametry wymagane

Brak

Parametry domyślne

  • lvl: Wartość poziomu filtrowania, im mniejsza wartość, tym mniej logów jest wypisywanych, 1-error, 2-warning, 3-inform, 4-debug, wartość domyślna to 1

Wartość zwracana

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

3.14. Przykład kodu podstawowego sterowania robotem

 1time.sleep(1)
 2error,version = robot.GetSDKVersion()
 3print(f"SDK version: {version}")
 4error,ip = robot.GetControllerIP()
 5print(f"controller ip: {ip}")
 6
 7robot.Mode(1)
 8time.sleep(1)
 9robot.DragTeachSwitch(state=1)
10time.sleep(1)
11error,state = robot.IsInDragTeach()
12print(f"drag state: {state}")
13time.sleep(3)
14robot.DragTeachSwitch(state=0)
15time.sleep(1)
16error,state = robot.IsInDragTeach()
17print(f"drag state: {state}")
18time.sleep(3)
19robot.RobotEnable(0)
20time.sleep(3)
21robot.RobotEnable(1)
22robot.Mode(0)
23time.sleep(1)
24robot.Mode(1)
25time.sleep(1)
26rtn = robot.HiSpeedManualSwitch(1)
27print(f"change high speed mode : {rtn}")
28time.sleep(1)
29rtn = robot.HiSpeedManualSwitch(0)
30print(f"change low speed mode : {rtn}")
31time.sleep(3)
32robot.ShutDownRobotOS()
33
34robot.CloseRPC()

3.15. Pobieranie wersji oprogramowania robota

Dodane w wersji python: SDK-v2.0.1

Prototyp

GetSoftwareVersion()

Opis

Pobiera wersję oprogramowania robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

  • robotModel: Model robota

  • webVersion: Wersja web

  • controllerVersion: Wersja kontrolera

3.16. Pobieranie informacji o wersji sprzętowej robota

Dodane w wersji python: SDK-v2.0.1

Prototyp

GetSlaveHardVersion()

Opis

Pobiera informacje o wersji sprzętowej robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

  • ctrlBoxBoardVersion: Wersja skrzynki kontrolnej

  • driver1Version

  • driver2Version

  • driver3Version

  • driver4Version

  • driver5Version

  • driver6Version

  • endBoardVersion

3.17. Pobieranie informacji o wersji firmware robota

Dodane w wersji python: SDK-v2.0.1

Prototyp

GetSlaveFirmVersion()

Opis

Pobiera informacje o wersji firmware robota

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

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

  • ctrlBoxBoardVersion: Wersja skrzynki kontrolnej

  • driver1Version

  • driver2Version

  • driver3Version

  • driver4Version

  • driver5Version

  • driver6Version

  • endBoardVersion

3.18. Przykład kodu pobierania wersji oprogramowania i firmware 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')
 4rtn,robotModel, webversion, controllerVersion = robot.GetSoftwareVersion()
 5print(f"Getsoftwareversion rtn is: {rtn}")
 6print(f"robotmodel is: {robotModel}, webversion is: {webversion}, controllerVersion is: {controllerVersion}\n")
 7rtn,ctrlBoxBoardversion, driver1version, driver2version,driver3version, driver4version, driver5version,driver6version, endBoardversion = robot.GetHardwareversion()
 8print(f"GetHardwareversion rtn is: {rtn}")
 9print(f"GetHardwareversion get hardware version is: {ctrlBoxBoardversion}, {driver1version}, {driver2version}, "
10      f"{driver3version}, {driver4version}, {driver5version}, {driver6version}, {endBoardversion}\n")
11rtn,ctrlBoxBoardversion, driver1version, driver2version,driver3version, driver4version, driver5version,driver6version, endBoardversion = robot.GetFirmwareVersion()
12print(f"GetFirmwareversion rtn is: {rtn}")
13print(f"GetFirmwareversion get firmware version is: {ctrlBoxBoardversion}, {driver1version}, {driver2version}, "
14      f"{driver3version}, {driver4version}, {driver5version}, {driver6version}, {endBoardversion}\n")
15robot.CloseRPC()