Wykorzystanie usług chmurowych dla sterowania robotem mobilnym na przykładzie Amazon EC2 mgr Igor Ostrowski Instytut Maszyn Matematycznych, Warszawa Roboty badawcze charakteryzują się niewielkimi rozmiarami, a co za tym idzie małym udźwigiem. Z małego udźwigu wynikają niewielkie możliwości obliczeniowe, co jest jednym z głównych ograniczeń robotów i powoduje, że w większości przypadków, mały robot jest teleoperowany przez komputer zewnętrzny. Komputer taki musi być wyposażony w odpowiednie oprogramowanie i w większości przypadków potrzebny jest jeden komputer na jednego robota. Przygotowanie komputera do pracy jest pracochłonne i wymaga instalowania oprogramowania na każdej jednostce. Można oczywiście, jeśli komputery są jednakowe zrobić kopie dysku twardego i powielać ją dla każdej pary robot-komputer. Komputer sterujący robotem może być jednostką wirtualną co pozwala na umieszczenie na jednym komputerze fizycznym kilku (w zależności od mocy obliczeniowej komputera hosta ) do kilkunastu jednostek wirtualnych z których każda może obsługiwać swojego robota. Takie rozwiązanie znacząco ułatwia również powielanie komputerów, a w przypadku zmniejszania grupy łatwą likwidację wirtualnych komputerów. W omawianym rozwiązaniu wykorzystana jest chmura publiczna usługa Amazon EC2 polegająca na wynajmie wirtualnych serwerów w architekturze PaaS (lub IaaS jednak omawiane rozwiązanie ogranicza się do PaaS). W ramach niniejszej pracy uruchomiono bezpłatną instancję Amazon EC2 micro T1 z preinstalowanym systemem Windows Serwer 2008, na której zainstalowano następujące programy do obsługi robotów AmigoBot firmy Mobile Robots: ARIA MobileEyes ARIA (Advanced Robotics Interface for Applications) jest interfejsem programowania robotów firmy Mobile Robots, pozwala na zdalne połączenie z robotem, pobieranie danych z sensorów robota oraz sterowanie jego efektorami (silniki napędowe, chwytaki jeśli są itd...), są to programy trybu tekstowego nie posiadające GUI (Graphic User Interface). MobileEyes jest oprogramowaniem pozwalającym na graficzne wyświetlenie danych sensorycznych z robota (np. odległość przeszkody od sonaru jako ikona w proporcjonalnej do wielkości robota odległości od ikony symbolizującej samego robota). W wirtualnej maszynie (amazon EC2) uruchomiono program serverdemo.exe komunikujący się z robotem za pośrednictwem protokołu tcp/ip oraz udostępniający dane sensoryczne robota i umożliwiający sterowanie robotem (komenda serverdemo -rh {adresip:port}). Program ten stanowi standardową zawartość pakietu aria w niniejszej pracy został użyty bez modyfikacji. W wirtualnej maszynie uruchomiono program MobileEyes i skomunikowano z serverdemo.exe (localhost/127.0.0.1) (rys. 1). Rys. 1. ServerDemo.exe i MobileEyes połączone zdalnie z fizycznym robotem Fig. 1. ServerDemo.exe and MobileEyes connected with physical robot 148 Elektronika 9/2013
Rys. 2. Konfiguracja routera. Fig. 2. Router configuration Rys. 3. Konfiguracja Lantronix Wibox. Fig. 3. Lantronix Wibox Configuration Elektronika 9/2013 149
Rys. 4. Konfiguracja Lantronix Wibox c.d. Fig. 4. Lantronix Wibox Configuration cont. Robot został uruchomiony w trybie Wander polegającym na unikaniu kolizji z przeszkodami poprzez niewielkie zmiany kursu, tak aby na kursie nie było utrudnień. W tym trybie robot nie ma zdefiniowanego innego celu niż przemieszczanie się i unikanie kolizji. Tryb ten włączany jest z poziomu programu MobileEyes. Robot funkcjonował płynnie mimo iż jednostka nim sterująca znajdowała się na drugiej półkuli (wirtualne serwery z grupy us-west- 2b znajdują się fizycznie w Boardman w stanie Oregon). Ping jednostki sterującej robotem, z lokalizacji robota wynosił 192 ms co nie wpływało na pracę robota. W prezentowanym przykładzie użyto sprzętu wg poniższego wykazu w następującej konfiguracji Router WIFI firmy 8level Wersja sprzętowa: WRT-150(A) APR-R4A4-V1.1.694 Build(10560) Wersja oprogramowania: -8level(WRT-150(A)),2011.10.18 14:30. W routerze zastosowano przekierowania portów wg następujących ustawień: W tej konfiguracji port 80 odpowiada za połączenie z sieci globalnej z interfejsem graficznym konfiguracji urządzenia Lantronix Wibox, a port 8101 jest domyślnym portem komunikacji z AmigoBot em. Takie ustawienia pozwalają na dostęp zdalny z dowolnego komputera za pośrednictwem przeglądarki (oczywiście tylko w czasie gdy urządzenie jest włączone). Dostęp do sterowania robotem jest możliwy z wykorzystaniem uruchomionego na serwerach Amazon oprogramowania ARIA. Router ma skonfigurowany stały adres IP w sieci globalnej. Lantronix Wibox 2100 Lantronix Wibox jest to rodzina urządzeń firmy Lantronix pozwalająca na udostępnianie w sieci dostępu do portów szeregowych zgodnie ze standardami RS 232 i RS 485. Urządzenie dostarczane jest z oprogramowanie dla systemu Windows umożliwiającym wirtualizację portów com. W omawianym zastosowaniu połączenie z robotem odbywa się po protokole tcp/ip z zastosowaniem adresu IP urządzenia wibox. Urządzenie skonfigurowane zostało następująco: 150 Elektronika 9/2013
Rys. 5. 4 Konfiguracja Lantronix Wibox- c.d. Fig. 5. Lantronix Wibox Configuration cont. AmigoBot Opis robota AmigoBot jest to najmniejszy robotem mobilny z firmy MobileRobot. Jest on w pełni kompatybilny z innymi robotami tej firmy, co daje możliwość przenoszenia programów napisanych dla różnych typów robotów. Wyposażenie AmigoBota 44.2368 MHz mikroprocesor Renesas SH2 32-bit RISC z 32K RAM oraz 128K pamięci FLASH dla programów. 2 porty szeregowe RS-232 oraz dwa porty SCI konfigurowalne od 9600 do 115200 8 sonarów Port żyroskopu Panel sterowania uzytkownika z przyciskami RESET oraz MO- TORS, trzema diodami led: Power, System oraz User, a także głośniczek Możliwość podłączenia wyświetlacza LCD 4 linie x 20 znaków Gniazdo rozszerzeniowe z wbudowana 8-bitowa szyna danych, analogowymi i cyfrowymi portami we/wy Interfejs RS-232 do WLAN WiBox firmy Lantronix Dostęp do serwera Dostęp do serwera realizowany jest za pośrednictwem standardowych metod połączenia jak RDP (Remote Desktop Protocol) dla systemu Windows Server lub SSH (Secure Shell). Wirtualny Server w chmurze W omawianym rozwiązaniu zastosowano standardową, darmową instancję Windows Server 2008, której szczegółowe dane wyświetlone są na Ilustracji 1 w prawym górnym rogu i stanowią element pulpitu serwera. Uruchomienie takiej instancji odbywa się z panelu administracyjnego EC2 na www.aws.amazon.com i jest niezwykle intuicyjne, zgodnie z paradygmatem Cloud Computingu o łatwości i powtarzalności uruchomionych usług. Dalsze postępowanie z serwerem jest takie samo jak w przypadku fizycznego komputera, z tą różnicą że odbywa się przez zdalny protokół dostępowy (RDP lub SSH). Elektronika 9/2013 151