|
Robot w każdym domu (c.d.)Jednym z rozwiązań zagadnienia współbieżności jest napisanie wielowątkowych programów pozwalających na przenoszenie danych wieloma ścieżkami. Jednak każdy doświadczony programista, który kiedykolwiek pisał kod do takiego programu wie, że jest to jedno z najtrudniejszych zadań w programowaniu.
Rozwiązaniem problemu współbieżności może być coś co nazywane jest czasem wykonania współbieżności i koordynacji (z ang. concurrency and coordination runtime - CCR). CCR jest to biblioteka funkcji - takich sekwencji oprogramowania, które wykonują określone zadania. Dzięki nim prostsze staje się napisanie aplikacji wielowątkowej, która potrafi koordynować jednocześnie zachodzące zdarzenia. Biblioteki CCR są projektowane, aby pomóc programistom wykorzystać potencjał systemów wieloprocesorowych i wielordzeniowych - mogą także okazać się idealnym narzędziem dla robotyków. Poprzez wykorzystanie tych bibliotek do stworzenia programów obsługujących roboty, drastycznie redukują możliwość wystąpienia wypadków maszyn spowodowanych faktem, iż oprogramowanie jest zbyt zajęte wysyłaniem komend do kół maszyny, aby zdążyć jeszcze przetworzyć dane z czujników. Dodatkowym aspektem który może pomóc w uporaniu się z problemem współbieżności jest także uproszczenie rozproszonych aplikacji robotycznych poprzez zastosowanie technologii zwanej serwisami zdecentralizowanego oprogramowania (z ang. decentralized software services - DSS). Technologia DSS umożliwia programistom stworzenie aplikacji, w których serwisy, a więc takie części programu które są odpowiedzialne za odczytywanie danych z czujników, wydawanie komend czy kontrolę silnika - operować jako oddzielne procesy które mogą być przydzielane w taki sam sposób jak tekst, obrazki i informacje z różnych serwerów są łączone na stronie internetowej. Ponieważ DSS pozwala komponentom oprogramowania działać w izolacji od pozostałych składników, jeśli jeden z tych komponentów robota zepsuje się, będzie mógł być zamknięty lub zrestartowany albo nawet usunięty - bez konieczności ponownego uruchamiania maszyny. Połączony z bezprzewodową technologią szerokopasmową, architektura ta czyni prostszym monitorowanie i regulowanie robota z oddalonych miejsc przy użyciu przeglądarki internetowej. Co więcej, aplikacja na bazie technologii DSS kontrolując urządzenie robotyczne nie musi być zaimplementowana w całości w robocie, ale może być rozdzielona na więcej niż jeden komputer. W wyniku tego, robot może być relatywnie tanim urządzeniem, które wysyła skomplikowane zadania przetwarzania do sprzętu o wysokiej wydajności, jakimi są dzisiejsze komputery osobiste. Wierzę, że postęp ten utoruje ścieżkę nowej klasie robotów będącymi całkowicie mobilnymi, bezprzewodowymi urządzeniami które wykorzystując moc obliczeniową komputerów będą w stanie uporać się z takimi forsownymi zadaniami jak rozpoznawanie obrazu i nawigacja. A ponieważ urządzenia takie mogą być łączone w sieć, możemy spodziewać się pojawienia grup robotów pracujących wspólnie aby wykonać konkretne zadania, takie jak przeszukiwanie morskiego dna czy sadzenie plantacji roślin. Technologie te są kluczową częścią oprogramowania Microsoft Robotics Studio zbudowanego przez grupę Tandy'ego. Microsoft Robotics Studio zawiera także narzędzia ułatwiające stworzenie aplikacji robotycznych przy wykorzystaniu wielu dostępnych języków programowania. Jednym z przykładów jest narzędzie symulacyjne, które pozwala robotykom sprawdzić ich aplikacje w trójwymiarowym środowisku wirtualnym zanim zaczną pracować w prawdziwym świecie. W rezultacie Robotic Studio stanowi otwartą platformę pozwalającą ludziom budującym roboty z łatwością integrować sprzęt i oprogramowanie do ich projektów. Czy powinniśmy nazywać je robotami? Jak szybko roboty staną się częścią naszego codziennego życia? Powołując się na dane Międzynarodowej Federacji Robotyki, około 2 miliony robotów osobistych były wykorzystywane na całym świecie w 2004 roku, oraz kolejne 7 milionów będzie w użyciu w 2008 roku. W Korei Południowej Minister Informacji i Komunikacji wyrażą nadzieję, że do roku 2013 roboty będą obecne w każdym gospodarstwie domowym. Z kolei organizacje japońskie przewidują, że do roku 2025 światowy przemysł robotów osobistych będzie wart ponad 50 mld dolarów w skali roku, w porównaniu z 5 mld dolarów obecnie. Tak jak to miało miejsce w latach siedemdziesiątych XX wieku w przemyśle komputerów PC, tak samo teraz nie jest możliwe dokładne przewidzenie jakie aplikacje "napędzą" nowy przemysł. Wydaje się całkiem prawdopodobne, że roboty będą odgrywały ważną rolę w dostarczaniu pomocy a nawet dotrzymywaniu towarzystwa ludziom starszym. Urządzenia robotyczne prawdopodobnie będą pomagać ludziom niepełnosprawnym, będą zwiększać siłę i wytrzymałość żołnierzy, będą także wspomagać pracowników budowli i lekarzy specjalistów. Roboty będą pracować w fabrykach i przemyśle ciężkim, będą operować niebezpiecznymi materiałami i monitorować odległe rurociągi paliwowe. Roboty umożliwią zdalną opiekę nad ludźmi i będą głównym elementem systemów ochronnych i operacji poszukiwawczo - ratowniczych. Pomimo że kilka robotów przyszłości może przypominać urządzenia antropomorficzne, takie jakie występowały w filmie Star Wars, to jednak większość z nich będzie zupełnie niepodobna do C-3PO. W rzeczywistości, ponieważ mobilne urządzenia peryferyjne będą stawać się coraz bardziej powszechne, może być coraz trudniej określić czym dokładnie robot jest. Ponieważ nowoczesne maszyny będą wyspecjalizowane i wszechstronne - i będą wyglądać jak małe, dwunożne automaty z filmów science - fiction - prawdopodobnie nawet nie będziemy je nazywać robotami. Kiedy urządzenia takie staną się dostępne dla zwykłych ludzi, wywrą one głęboki wpływ na sposób w jakie pracujemy, komunikujemy się, uczymy i bawimy - tak jak to uczyniły komputery osobiste w ciągu ostatnich 30 lat. Źródło: Scientific American << wstecz
|
||||||||||
|
|||||||||||