3. Podstawy robota

3.1. Tworzenie instancji robota

Prototyp

RPC(ip)

Opis

Tworzy instancję obiektu robota

Parametry wymagane

  • ip: Adres IP robota, domyślny adres fabryczny to „192.168.58.2”

Parametry domyślne

Brak

Wartość zwracana

  • Sukces: Zwraca obiekt robota

  • Błąd: Utworzony obiekt zostanie zniszczony

3.2. Zamykanie połączenia RPC

Prototyp

CloseRPC()

Opis

Zamyka połączenie RPC

Parametry wymagane

Brak

Parametry domyślne

Brak

Wartość zwracana

Brak

3.3. 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.4. 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.5. 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.6. 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.7. 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.8. 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.9. Zamykanie systemu operacyjnego robota

Nowe 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.10. Inicjalizacja parametrów logowania

Nowe 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.11. Ustawianie poziomu filtrowania logów

Nowe 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.12. Przykład kodu podstawowego sterowania robotem

 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,version = robot.GetSDKVersion()
 5print(f"SDK version: {version}")
 6error,ip = robot.GetControllerIP()
 7print(f"controller ip: {ip}")
 8robot.Mode(1)
 9time.sleep(1)
10robot.DragTeachSwitch(state=1)
11time.sleep(1)
12error,state = robot.IsInDragTeach()
13print(f"drag state: {state}")
14time.sleep(3)
15robot.DragTeachSwitch(state=0)
16time.sleep(1)
17error,state = robot.IsInDragTeach()
18print(f"drag state: {state}")
19time.sleep(3)
20robot.RobotEnable(0)
21time.sleep(3)
22robot.RobotEnable(1)
23robot.Mode(0)
24time.sleep(1)
25robot.Mode(1)
26robot.CloseRPC()

3.13. Pobieranie wersji oprogramowania robota

Nowe 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.14. Pobieranie informacji o wersji sprzętowej robota

Nowe 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.15. Pobieranie informacji o wersji firmware robota

Nowe 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.16. 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()