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

Budujemy robota część I - wstęp do Robotics Studio31.07.2008 10:33
Źródło zdjęć: © Microsoft

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 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:

Źródło zdjęć: © (fot. Microsoft)
Źródło zdjęć: © (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.

Źródło zdjęć: © (fot. Microsoft)
Źródło zdjęć: © (fot. Microsoft)

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

Źródło zdjęć: © (fot. Microsoft)
Źródło zdjęć: © (fot. Microsoft)

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

Źródło zdjęć: © (fot. Microsoft)
Źródło zdjęć: © (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:

Źródło zdjęć: © (fot. Microsoft)
Źródło zdjęć: © (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,

Źródło zdjęć: © (fot. Microsoft)
Źródło zdjęć: © (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ń:

Źródło zdjęć: © iRobot Create (fot. Microsoft)
Źródło zdjęć: © 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.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.