Budujemy robota część I - wstęp do Robotics Studio

W dzisiejszych czas coraz bardziej popularną dziedziną nauki staje się robotyka. Roboty i praca z nimi daje człowiekowi możliwość wykonywania rzeczy, których sam nie mógł wykonać ze względu na zagrożenie życia czy też ze względów natury fizycznej.

Budujemy robota część I - wstęp do Robotics Studio
Źródło zdjęć: © Microsoft

31.07.2008 | aktual.: 01.08.2008 13:54

W dzisiejszych czas coraz bardziej popularną dziedziną nauki staje się robotyka. Roboty i praca z nimi daje człowiekowi możliwość wykonywania rzeczy, których sam nie mógł wykonać ze względu na zagrożenie życia czy też ze względów natury fizycznej. W chwili obecnej robotyka jest na tyle młodą dziedziną nauki (w porównaniu z innymi), że jest jeszcze dość trudna do nauczania i użytkowania. Generalnie bardzo mało jest komponentów, które można wykorzystywać wielokrotnie w różnych robotach, brak standardowego sprzętu a co najważniejsze testowanie w świecie rzeczywistym jest bardzo kosztowne i skomplikowane. Z punktu widzenia osoby tworzącej robota programowanie go przy wykorzystaniu języków programowania równoległego i rozproszonego jest trudne. To wszystko sprawia, że istnieje bardzo wysoka bariera wejścia dla zwykłego programisty czy konstruktora. Rozpoczynamy cykl materiałów, które pomogą wam zbudować własnego robota. Dziś wstęp do Robotics Studio, a w krótce kolejne części.

Wymagania stawiane przez przemysł, hobbistów, naukowców czy studentów w stosunku do oprogramowania to przede wszystkim możliwość statycznej i dynamicznej konfiguracji urządzeń, asynchroniczne koordynowanie urządzeń wejścia, monitorowanie i interakcja z uruchomionymi systemami, możliwość wykorzystywania gotowych modułów w różnych urządzeniach.

Jest jednak coś co pozwala na pracę z robotami przy niezbyt wysokim koszcie wejścia. Od niedawna na rynku dostępna jest najnowsza wersja Microsoft Robotics Studio. Pod adresem: http://msdn.microsoft.com/robotics/default.aspx można pobrać najnowszą wersję tego produktu. Jakie są podstawowe zalety tego produktu? To przede wszystkim komponenty wielokrotnego użycia, standardy definiujące sprzęt, praca rozproszona i równoległa, pełna symulacja w wirtualnych świecie bazującym na rzeczywistym z pełnym odwzorowaniem fizyki oraz specjalny język programowania, który jest wizualnym językiem, dzięki czemu jest prosty w użyciu.

Czym zatem jest Robotics Studio. Produkt składa się z trzech podstawowych elementów, które przedstawione są na poniższym rysunku:

Obraz
© (fot. Microsoft)

Te trzy elementy to:

  1. Runtime, czyli silnik całego rozwiązania, który pozwala na oprogramowanie robota
  2. Narzędzia, które pozwalają oprogramować nasze urządzenie 3. Usługi i przykłady, czyli pełna dokumentacja wraz z przykładami jak należy pracować i jak korzystać z dostarczonych usług oraz same usługi.

Sam runtime składa się z dwóch najważniejszych elementów:
• CCR - Concurrency and Coordination Runtime – upraszcza pisanie asynchronicznych aplikacji dzięki możliwości uniknięcia ręcznego sterowania wątkami, blokadami, semaforami, itd.
• DSS - Decentralized Software Services –. lekki model aplikacji opartych na usługach (SOA - services oriented application), który wspiera model programowania REST (Representational State Transfer)

Dla osoby piszącej aplikacje, która ma symulować pracę robota usługi zdefiniowane są na pewnym poziomie abstrakcji, gdzie usługi mogą reprezentować dowolny z elementów jak:

• Sprzęt – sensory, aparaty, etc.
• Oprogramowanie – interfejs użytkownika, miejsce składowania danych, etc.
• Agregacje –. mash-upy, połączenie sensorów, etc.

Jednocześnie separuje stan usługi od jej zachowania i to co najważniejsze ma możliwość ponownego użycia poprzez kompozycję. Aplikacja dla robota jest zestawem kilku elementów. Z jednej strony mamy jakieś urządzenia, które zachowują się w określony sposób (orkiestracja) i odpowiednio prezentowane są użytkownikowi.

Obraz
© (fot. Microsoft)

Przykładowa orkiestracja tworzona przy pomocy Robotics Studio wygląda następująco:

Obraz
© (fot. Microsoft)

A buduje się ją przy pomocy Visual Programing Language, którego pulpit wygląda następująco:

Obraz
© (fot. Microsoft)

Programowanie zachowań robotów możliwe jest przy wykorzystaniu Visual Studio (w tym również wersji Express). Wspierane są wszystkie języki .NET (C++, C#, VB.NET) oraz dodatkowo IronPython. Usługi dostępne dla poszczególnych robotów można konfigurować przy pomocy przeglądarki internetowej, dzięki czemu możliwe jest również konfigurowanie urządzeń zdalnie. Przeglądarka internetowa pozwala na oglądanie stanów, w jakim są usługi, przekonfigurowanie ich, włączenie czy też wyłączenie.

Środowisko do wizualnej symulacji pozwala na tworzenie wizualizacji 3. wraz z zachowaniem wszelkich praw fizycznych. Dodatkowo na rynku jest wiele firm, które tworzą różne dodatki, aby rozszerzyć standardowe zachowania fizyczne. Do całego zestawu oprogramowania dołączona jest bardzo obszerna pomoc w tym ponad 30 tutoriali, zestaw usług dla najbardziej popularnych robotów, zestaw bibliotek i funkcjonalności do obsługi przechwytywania obrazu z kamer, syntezy mowy czy obsługi GPS.

Przykładowa aplikacja wygląda następująco:

Obraz
© (fot. Microsoft)

Wśród standardowych robotów wspierane są między innymi:

• LEGO® Mindstorms® RCX
• LEGO® Mindstorms® NXT
• fischertechnik®
• MobileRobots Pioneer P3™

ale to nie wszystko. Dodatkowo po zainstalowaniu sterowników możemy pracować między innymi z następującymi robotami:

Robosoft robuLAB1. – oparty na procesorach Celeron 600 Mhz i Pentium 1.4 GHz,

Obraz
© (fot. Microsoft)

CoroWare CoroBot –. oparty na procesorach 1.2 GHz wraz z WiFi oraz ramieniem, czy też iRobot Create – z wbudowanymi 32 sensorami oraz gniazdem rozszerzeń:

Obraz
© iRobot Create (fot. Microsoft)

Podsumowanie

Tworzenie aplikacji dla robotów i praca z robotami stało się dzięki Robotics Studio zdecydowanie prostsze. Jedyne koszty jakie musimy ponieść to kwestie sprzętu (ale to również nie są wielkie pieniądze, przykładowo iRobot Create kosztuje w podstawowej wersji ok. 13. USD).
Microsoft Robotics Studio dostarcza kompletny zestaw komponentów do pracy z urządzeniami. A dla zwykłego użytkownika najważniejszą sprawą jest kwestia licencji. W przypadku Robotics Studio licencja jest bezpłatna do celów niekomercyjnych a do wykorzystania komercyjnego to koszt ok. 400 USD.

Zobacz także
Komentarze (0)