Konfiguracja robota i pierwsza misja robota Mobile Industrial Robots

Konfiguracja robota i pierwsza misja robota MiR

Dostęp do interfejsu robota MiR

Dostęp do oprogramowania umożliwiającego konfigurację oraz programowanie robota mobilnego MiR nie wymaga żadnych fizycznych połączeń przewodowych. Inżynier przygotowujący aplikację łączy się z robotem za pomocą bezprzewodowej sieci udostępnianej przez robota, który jest wyposażony w Punkt Dostępowy (AP). Takie rozwiązanie zapewnia dużą elastyczność pracy, a także ciągły podgląd kluczowych parametrów robota podczas pracy bez dodatkowego okablowania.

W celu uzyskania dostępu do interfejsu robota należy połączyć się z siecią udostępnianą przez robota. Identyfikator SSID sieci robota składa się ze skrótu MiR oraz fragmentu numeru seryjnego robota. Sieć ta jest chroniona hasłem, które domyślnie ustawione jest jako mirex4you.

Sieć bezprzewodowa udostępniana przez robotaRys.1 Sieć bezprzewodowa udostępniana przez robota

 

Interfejs robota dostępny jest po zalogowaniu się do sieci pod adresem mir.com, bądź bezpośrednio pod adresem IP robota czyli 192.168.12.20. Po wpisaniu powyższego adresu, zostaniemy przeniesieni do okna logowania.

 

Widok okna logowaniaRys.2 Widok okna logowania

 

Po zalogowaniu się do interfejsu robota, ukazuje nam się ekran startowy robota, który zawiera podstawowe informacje o robocie, joystick do sterowania ręcznego oraz widok na mapę, która jest obecnie aktywowana.

Interfejs posiada bardzo intuicyjną budowę, która umożliwia przejście do każdej zakładki oraz sekcji za pomocą dwóch kliknięć.

 

Intuicyjna konstrukcja interfejsu

Rys.3 Intuicyjna konstrukcja interfejsu

 

Tworzenie mapy

W celu stworzenia nowej mapy należy wejść w Setup -> Maps, a następnie w + Create map. W kolejnym kroku należy nadać nazwę tworzonej mapie oraz przyporządkować jej odpowiedni plik konfiguracyjny site.

Interfejs tworzenia mapy

Rys.4 Interfejs tworzenia mapy

 

Aby rozpocząć tworzenie mapy należy kliknąć w ikonę […] w pasku zadań, a następnie w Record and overwrite. Po wybraniu tej opcji, system robota zacznie skanowanie środowiska.przed mapowaniem robota

 

Widok interfejsu kreatora mapRys.5 Widok interfejsu kreatora map

 

Sterowanie robotem podczas procesu mapowania odbywa się za pomocą joystick’a dostępnego z górnego pasku zadań. Najwygodniejsze sterowanie ręczne robotem zapewnia joystick w interfejsie smartfonu.

 

Widok interfejsu joystick’aRys.6 Widok interfejsu joystick’a

 

Tworzenie mapy może zostać zoptymalizowane już podczas samego procesu skanowania otoczenia. W tym celu należy skorzystać z poniższych wskazówek:

  • Zawsze chodź za robotem podczas mapowania.
  • Trajektoria przejazdu robota powinna formować kolisty kształt.
  • Nakładanie trajektorii zwiększa precyzję procesu mapowania.
  • Zawsze zakończ przejazd w tym samym miejscu, gdzie robot rozpoczął proces mapowania środowiska.

 

Widok poprawnej trajektorii robota podczas procesu mapowaniaRys.7 Widok poprawnej trajektorii robota podczas procesu mapowania

 

Po zakończonym skanowaniu środowiska za pomocą robota należy zatrzymać proces mapowania za pomocą ikony [◼] znajdującej się w pasku zadań kreatora map.

 

Widok pasku zadań kreatora map podczas tworzenia mapyRys.8 Widok pasku zadań kreatora map podczas tworzenia mapy

 

Po procesie mapowania środowiska i oczyszczeniu go z dynamicznych obiektów, które pojawiły się podczas mapowania należy umieścić robota na mapie. W tym celu należy posłużyć się funkcją, która pozwala na upuszczenie robota na mapę.

Po takim zabiegu, przycisk zmieni kolor na zielony. Należy kliknąć raz, aby ustawić rzeczywistą pozycję robota na mapie. Następnie, trzymając wciśnięty LPM należy obracać kursorem tak, aby orientacja robota na mapie była zgodna z rzeczywistym ustawieniem robota.

W dalszym ciągu, należy kliknąć jeszcze raz, aby zakończyć ustawianie pozycji startowej. Następnie dopasuj lokalizację. 

Widok pasku zadań kreatora map podczas tworzenia mapyRys.9 Widok pasku zadań kreatora map podczas tworzenia mapy

 

W momencie, gdy mapa została stworzona, a robot znajduje się w poprawnej pozycji należy zapisać mapę za pomocą ikony dyskietki. Po zapisaniu zmian, system powiadomi o poprawnym zapisie i zapyta o przeładowanie danych z zapisanej mapy. Należy potwierdzić za pomocą przycisku Yes, please.

Widok pasku zadań kreatora map podczas tworzenia mapyRys.10 Widok pasku zadań kreatora map podczas tworzenia mapy

 

Tworzenie pozycji robota

Pozycje na mapie są punktami referencyjnymi dla robota. Są to punkty o określonych wcześniej współrzędnych oraz unikalnej nazwie. Pozycje są używane w misjach.

Tworzenie nowych pozycji umożliwia nam rozwijalne menu w pasku zadań mapy. Aby stworzyć pozycję należy wybrać Positions. Po lewej stronie paska zadań pojawi się, który służy do tworzenia nowej pozycji. Po kliknięciu na ikonę, zmieni ona kolor na zielony. Teraz należy nawigować wskaźnikiem na mapie i wybrać pozycję docelową na mapie. Po wybraniu pozycji na mapie, należy wybrać orientację pozycji robota za pomocą obrotu myszki.

 

Widok interfejsu edytora map – dodawania pozycji robotaRys.11 Widok interfejsu edytora map – dodawania pozycji robota

 

Widok interfejsu edytora map – dodawania pozycji robotaRys.12 Widok interfejsu edytora map – dodawania pozycji robota

 

W naszym przykładzie utworzone zostały dwie pozycje Position_A oraz Position_B pomiędzy którymi robot będzie realizował misję przejazdu.

 

Tworzenie misji

Misja robota to zdefiniowana seria działań, którą robot wykonuje po dodaniu jej do kolejki misji. Za pomocą misji możemy sprawić, aby robot przemieszczał się między zdefiniowanymi pozycjami na mapie, zapewniał transport dóbr, otwierał bramy automatyczne, ładował się, wydawał dźwięki oraz sygnalizował przejazd za pomocą sekwencji świetlnych.

 

W celu stworzenia misji, należy przejść do zakładki Setup -> Missions, a następnie kliknąć przycisk [+ Create mission].

Następnie należy nadać misji nazwę, wybrać site, przynależność do docelowej grupy oraz potwierdzić przyciskiem [✓ Create mission].

 

Widok interfejsu kreatora misji – tworzenie misjiRys.13 Widok interfejsu kreatora misji – tworzenie misji

Widok interfejsu kreatora misji – nadawanie nazwy misjiRys.14 Widok interfejsu kreatora misji – nadawanie nazwy misji

 

Po stworzeniu misji naszym oczom, ukaże się środowisko programistyczne, zawierające gotowe bloki funkcyjne.

Do dyspozycji mamy kilka różnych grup misji z gotowymi bloczkami.

  • Pierwsza grupa nazwana Move zawiera gotowe do użycia funkcje dotyczące ruchu robota. Znajdziemy tam funkcje, która umożliwiają przejazd robota do konkretnego punktu, a także funkcje która umożliwia nam przesunięcie robota o konkretny zestaw współrzędnych.
  • Grupa Battery udostępnia nam funkcję autonomicznego ładowania robota.
  • Logic zawiera podstawowe funkcje logiczne powszechnie wykorzystywane w programowaniu. Takie jak instrukcje warunkowe if oraz pętle logiczne.
  • Error handling udostępnia nam automatyczne generowanie logów oraz bardzo ważne narzędzie do obsługi błędów – strukturę Try – Catch, która w momencie pojawienia się błędu w robocie, wykona alternatywną akcję, zamiast pozostawienia robota w stanie błędu.
  • Sound/Light udostępnia odtworzenie dowolnego dźwięku w robocie oraz wysterowanie kombinacji świetlnej.
  • PLC zawiera funkcje ustawiające oraz odczytujące rejestry serwera MODBUS znajdującego się w robocie.
  • Shelf umożliwia pobór oraz odkładania platformy transportującej.

 

Widok grup misji w środowisku programistycznym MiRRys.15 Widok grup misji w środowisku programistycznym MiR

 

Znając już zawartość wszystkich grup misji możemy przystąpić do stworzenia logiki naszej pierwszej misji.

 

Widok środowiska programistycznego – blok Move toRys.16 Widok środowiska programistycznego – blok Move to

 

Pierwszym krokiem naszej misji jest dojazd do punktu A.

Krok ten można zrealizować za pomocą bloku Move. Dlatego też, należy wybrać ten blok z grupy misji i potwierdzić jego wybór kliknięciem myszki. Powinien pojawić się już w naszym drzewku programowym. Ikona koła zębatego po prawej stronie świeżo wywołanego bloku umożliwia jego parametryzację. W naszym przypadku będzie to przypisanie danej pozycji robota. Po kliknięciu w tą ikonę pojawia się okienko konfiguracyjne, w którym w polu Position należy wybrać docelową pozycję, która nosi nazwę Position_A.

 

Widok okna parametryzacji bloku funkcyjnego MoveRys.17 Widok okna parametryzacji bloku funkcyjnego Move

 

Ten blok jest już poprawnie skonfigurowany, należy przejść więc do następnej części naszej misji, czyli dojazdu do punktu B.

Ponownie wywołujemy blok Move i parametryzujemy go klikając w koło zębate. Tym razem w polu position wybieramy pozycję o nazwie Position_B.

 

Oprócz dwóch bloków Move, będziemy potrzebowali jeszcze instrukcji warunkowej if. Instrukcja warunkowa będzie sterować docelową pozycją robota na podstawie wartości rejestru Modbus.

 

Poglądowy schemat algorytmu misjiRys.18 Poglądowy schemat algorytmu misji

 

W polu True instrukcji warunkowej if, należy umieścić blok odpowiadający za dojazd do pozycji Position_A. Z kolei w polu False, blok odpowiadający za dojazd do pozycji Position_B.

 

Widok środowiska programistycznego – gotowy kod programuRys.19 Widok środowiska programistycznego – gotowy kod programu

 

Taka misja będzie wykonywać zadanie polegające na przejeździe do punktu A lub do punktu B za każdym wywołaniem misji w zależności od stanu rejestru modbus PLC. Misja jest gotowa, ostatnim krokiem jest zapisanie misji za pomocą przycisku Save.

 

Biorąc pod lupę środowisko programistyczne oraz przyjazny interfejs można łatwo stwierdzić, że programowanie oraz konfiguracja robota MiR jest bardzo intuicyjne!  Jeśli masz jakieś pytania lub problemy związane z robotami autonomicznymi Mobile Industrial Robots pisz na serwis@procobot.com.