Dziś jest poniedziałek, 21 październik 2019 r.
Energoelektronika.pl na stronach Facebook REKLAMA MAPA SERWISU KONTAKT
Strona główna Załóż konto Artykuły branżowe Katalog firm Seminaria FAQ Kalendarium Słownik Oferta
Wyszukaj
1USD 3.8503 -0.35% 1EUR 4.2844 -0.01% 1GBP 4.9671 +0.43%
Zaloguj się
Login (adres e-mail):
Haslo:
  Rejestracja
  Zapomniałem hasła
Reklama

Reklama

Aktualności
Siemensa buduje fabrykę dla Przemysłu 4.0 w Polsce
więcej
Przyszłość sektora motoryzacji w Polsce ? raport Banku Pekao S.A.
więcej
Nowy cykl szkoleń praktycznych związanych z programowaniem sterowników marki Siemens
więcej
Przed nami 32. edycja targów ENERGETAB 2019
więcej

Zobacz archiwum

Kalendarium
23 październik 2019
LUMENexpo Targi Techniki Świetlnej  
więcej
29 październik 2019
73. edycja Seminarium dla Służb Utrzymania Ruchu  
więcej
Newsletter
Jeżeli chcesz otrzymywać aktualne informacje o wydarzeniach w branży.
Podaj e-mail do subskrypcji:


Artykuły branżowe
26 listopad 2012.

Platforma mobilna do badania interakcji człowiek-robot

Platforma mobilna do badania interakcji człowiek-robot

Wstęp
W ramach studenckiego projektu "Budowa robota społecznego" realizowanego przez członków Koła Naukowego Robotyki SKaNeR, powstała wielomodułowa platforma mobilna OmnIVOice (rys. 1), w której zaimplementowano następujące funkcje: generowanie mowy, zdalne sterowanie z wykorzystaniem joysticka lub ruchów ciała ludzkiego oraz unikanie kolizji z otoczeniem. To podstawowe umiejętności umożliwiające badanie wzajemnej, możliwie naturalnej komunikacji między operatorem i robotem. Rozwój elektroniki, w tym różnego rodzaju czujników, jak również rosnąca moc obliczeniowa mikroprocesorów pozwoliły wykorzystać dotychczasowy dorobek naukowy z zakresu interakcji człowiek-maszyna do rozpoczęcia badań. Oprogramowanie do analizy i syntezy mowy, czy też systemy wizyjne pozwalające rozpoznawać gesty człowieka oraz położenie obiektów w przestrzeni stanowią duże wsparcie podczas realizacji tego typu zadań.



Rys. 1. Robot mobilny OmnIVOice
Roboty społeczne, w odróżnieniu od szeroko znanych i stosowanych robotów przemysłowych, swoim działaniem wspomagają ludzi w realizacji podstawowych, codziennych czynności życiowych. Znane są projekty robotów pracujących jako pomocnik osób starszych, osobisty asystent, czy też przewodnik po wystawie lub siedzibie frmy [1, 4]. Z reguły są to konstrukcje kosztowne, o dużych wymiarach, które trudno jest zrealizować w ramach "studenckiego" budżetu, i które nie mogą pracować w małych, ograniczonych przestrzeniach - na przykład na biurku podczas zajęć laboratoryjnych. W takim środowisku szczególnie ważne jest zapewnienie platformie mobilnej dużej swobody ruchu, co można uzyskać przez odpowiedni dobór struktury kinematycznej [1].

Opis konstrukcji

Kinematyka robota


Rys. 2. Model 3D platformy
Prace nad konstrukcją mechaniczną rozpoczęto od stworzenia modelu 3D (rys. 2) w programie Pro/ENGINEER Wildfre 5.0. Pozwoliło to na weryfkację wielu koncepcji, a następnie precyzyjne wykonanie elementów składowych w oparciu o pliki wynikowe.
Dokładność wykonania jest kluczowym wymaganiem dla zastosowanej struktury kinematycznej. Główne elementy konstrukcji wykonano z plexiglasu oraz aluminium, ze względu na dużą wytrzymałość przy jednocześnie niskiej wadze. Nie bez znaczenia były również walory estetyczne konstrukcji. Trzykołowy robot należy do klasy Omnidirectional, co zapewnia możliwość dowolnego wyboru wektorów v i "w" w każdej chwili czasowej t (rys. 3). Ta właściwość robota jest osiągnięta dzięki specjalnemu rozmieszczeniu geometrycznemu kół (co 120° na obwodzie podstawy) oraz ich typowi - zastosowano tzw. koła szwedzkie z rolkami obróconymi o 90° w stosunku do osi głównej koła.



Rys. 3. Kinematyka robota typu Omnidirectional
Takie podejście do projektu mechanicznego zapewniło dużą zwrotność robota, który z założenia przeznaczony jest do pracy w ograniczonych przestrzeniach (np. biurko, stół), przy zachowaniu prostoty wykonania i łatwości sterowania. W celu opracowania właściwego sposobu poruszania się robota aplikacja nadrzędna rozwiązuje odwrotne zadanie kinematyki dla prędkości, opisane układem równań wektorowo- macierzowych [1]
Wyznaczone w ten sposób prędkości obrotowe kół są następnie przeskalowane i przekazywane do jednostki sterującej napędami. Prędkość kół jest ograniczona odgórnie do 5 obr/s, ze względu na możliwość występowania poślizgów.

Architektura sprzętowa

Architektura systemu bazuje na następujących elementach sprzętowych (rys. 4):

  • system mikroprocesorowy przeznaczony do sterowania zespołem napędowym robota i detekcji przeszkód oraz komputer przemysłowy służący do generowania mowy, umieszczone na robocie,
  • laptop stanowiący stację operatorską, na której zainstalowano aplikację nadzorującą pracę robota.

Ze względu na modularną budowę robota konieczne było wybranie interfejsu komunikacyjnego, który umożliwi integrację wszystkich elementów (łatwą konfgurację i pracę na każdym z modułów sprzętowych) przy zapewnieniu odpowiedniej szybkości przesyłania krótkich komunikatów oraz bezprzewodowej pracy platformy. Wykorzystując dotychczasowe doświadczenie z zakresu interfejsów komunikacyjnych, zdecydowano się zastosować protokół bazujący na standardzie RS-232, zaś do realizacji warstwy fzycznej wybrano gotowe moduły radiowe MOBOT-RCR-USB-V2 pracujące w paśmie 868 MHz. Dzięki takiej konfguracji oba moduły sprzętowe zainstalowane na robocie mogą odbierać jednocześnie informacje przesyłane z komputera nadrzędnego. W celu rozpoznania adresata informacji oraz zwiększenia odporności na błędy transmisji zastosowano ramki danych zawierające znacznik początku oraz końca.


Rys. 4. Architektura systemu

Podczas pracy robota ważne jest zapewnienie bezpiecze ństwa osobom i przedmiotom znajdującym się w jego przestrzeni roboczej. Dzięki zastosowaniu ośmiu czujników odległości SHARPGP2D120XJ00F rozmieszczonych na obwodzie platformy, możliwe jest wykrywanie i omijanie przeszkód, co przekłada się na prawidłowe rozpoznawanie przeszkód leżących wokół robota.
Każde z kół wyposażone jest w niezależny napęd zrealizowany na silniku krokowym. W ten sposób wyeliminowano konieczność stosowania sprzężenia zwrotnego do sterowania prędkością obrotową, co wymagałoby użycia stosunkowo drogich przetworników obrotowo-impulsowych.
Przeprowadzone testy wykazały słuszność tego założenia - silniki krokowe wystarczająco dobrze odwzorowują zadany profl prędkości.
Do sterowania napędem służy dedykowany sterownik bipolarnych, dwufazowych silników krokowych. Na jednym obwodzie drukowanym zostały umieszczone trzy sterowniki pracujące synchronicznie, dzięki czemu pomiar prądu w obwodzie każdego z silników jest odporny na samozakłócanie się wynikające z komutacji tranzystorów. Sterownik został zaprojektowany w programie Altium Designer 2009.
Sterowaniem napędami, jak również detekcją przeszkód, zajmuje się mikroprocesor STM32F100RB wbudowany w zestaw uruchomieniowy STM32 DISCOVERY frmy STMicroelectronics [2]. Algorytm jego pracy został zapisany w obiektowym języku C++, co usprawniło tworzenie aplikacji. Aby zapewnić determinizm czasowy realizowanych zadań pętla programu głównego jest wykonywana


Rys. 5. Rozmieszczenie układów elektronicznych

w stałym, określonym czasie. Ponadto aplikacja wykorzystuje mechanizm przerwań pochodzących od urządzeń peryferyjnych. W programie zostały zaimplementowane takie moduły programowe, jak: generacja rampy, interfejs komunikacyjny RS-232, wykrywanie przeszkód, analiza stanu akumulatorów. Czas wykonywania pętli głównej jest krótszy od 1 ms, co zapewnia płynne odwzorowanie zadanego proflu prędkości oraz szybką reakcję na zmiany w otoczeniu robota.

Generowanie mowy

Drugi moduł sterujący zamontowany na robocie stanowi komputer wykonany w standardzie przemysłowym PC-104, na którym zainstalowano system operacyjny Windows XP SP3. Wykorzystując wbudowane biblioteki API (ang. Application Programming Interface) oraz dodatkowe biblioteki SAPI (ang. Speech Application Programming Interface), na komputerze PC-104 stworzono aplikację do generowania mowy. Program interpretuje komendę (zawierającą tekst do wypowiedzenia) nadesłaną od aplikacji nadrzędnej, a następnie konfguruje głos Mai dostarczony przez frmę IVONA Software.


Rys. 6. Schemat blokowy generatora mowy

Generowanie mowy odbywa się w czterech głównych krokach:

  • wstępna konfiguracja aplikacji,
  • inicjalizacja Component Object Model (COM),
  • ustawienia głosu,
  • mowa.

W pierwszej części do programu dołączane są niezbędne biblioteki altbase.h oraz altcom.h, w drugiej natomiast inicjalizowany jest COM. Stworzona aplikacja nie wykorzystuje go bezpośrednio, lecz jak wiadomo SAPI jest aplikacją opartą na COM. W trzeciej części tworzony jest obiekt. Reprezentuje on głos, a konfgurowany jest przez podanie m.in. takich parametrów jak identyfkator głosu, który chcemy usłyszeć. Ostatnim krokiem dla tej części aplikacji jest wygenerowanie mowy. Wystarczy odwołać się do wcze śniej stworzonego obiektu i podać odpowiednio sformatowany tekst do wygenerowania. Inną część aplikacji stanowi konfguracja RS-232. Algorytm pracy tego modułu działa według schematu pokazanego na rys. 6.
W standardowej konfguracji komputer przemysłowy nie ma karty dźwiękowej, w związku z czym zastosowano kartę zewnętrzną ESI MAYA 44 USB oraz głośniki zasilane z portu USB.

Aplikacja nadrzędna

Sercem projektu jest aplikacja działająca na zewnętrznym laptopie i stworzona w środowisku grafcznym LabVIEW [3]. Za wyborem tego środowiska przemawiała dostępność sterowników do wszystkich użytych układów peryferyjnych oraz łatwość tworzenia programu. Aplikacja nadrzędna realizuje główne zadanie, jakim jest pobieranie informacji na temat zachowania operatora, by następnie przesłać komendy sterowania ruchem oraz tekst wypowiedzi do platformy mobilnej. Poza możliwością ręcznego testowania robota z poziomu panelu czołowego LabVIEW, możliwe jest użycie joysticka 3DOF i czujnika Kinect. Ciekawym elementem składowym systemu jest, znany z gier wideo, czujnik Microsoft Kinect. Umożliwia on wykrycie człowieka oraz rozpoznawanie jego ruchów dzięki wbudowanej funkcji szkieletyzacji. Możliwa jest zatem dowolna interpretacja ruchów całego człowieka, jego kończyn lub dłoni i przełożenie ich na określone zachowanie robota mobilnego. Dodatkowo do sterowania użyto joystick 3DOF, który oprócz pracy w osiach X oraz Y umożliwia również zadawanie obrótu wokół osi Z, co pokrywa się w pełni z możliwościami kinematycznymi robota. Uzyskana w ten sposób informacja jest przeliczana, z wykorzystaniem równań wektorowo-macierzowych (1) na prędkości obrotowe poszczególnych kół. Wszystkie wymienione urządzenia mają gotowe sterowniki LabVIEW umoż- liwiające ich integrację z aplikacją. Do komunikacji bezprzewodowej został stworzony sterownik FTDI.

Zasilanie

Ze względu na zróżnicowany pobór mocy przez opisane elementy składowe robota, dokonano dywersyfkacji źródeł zasilania. Takie podejście ogranicza również ewentualne zniszczenia wywołane zwarciem w jednym z modułów. W projekcie zastosowano akumulatory litowo-polimerowe, ze względu na ich stosunkowo niską masę. Silniki krokowe wykorzystują źródło o wysokiej wydajności prądowej i napięciu niestabilizowanym 11,1 V DC. Do zasilacza impulsowego dla modułu PC-104 zastosowano zasilanie 14 V DC. Najmniej wydajne prądowo jest zasilanie procesora STM32 o stabilizowanym napięciu 3,3 V DC. Dzięki temu cały układ może pracować do 5 godzin bez konieczności ponownego ładowania.

Podsumowanie
Zastosowana architektura sprzętowa systemu zapewnia dużą skalowalność. Poszczególne elementy składowe mogą być dalej rozbudowane o kolejne moduły. Duże rezerwy mocy obliczeniowej oraz zasoby wejść/wyjść pozwalają na rozwój projektu w przyszłości, m.in. możliwe jest wzbogacenie robota o system wizyjny służący do lokalizowania i rozpoznawania twarzy, czy też aplikację do rozpoznawania i analizy mowy. Szczegółowe informacje o projekcie można znaleźć na stronie internetowej poświęconej opisanej konstrukcji http://omnivoice.prototypowanie.com.pl.

Bibliografia
1. Siegwart R., Nourbakhsh I. R., Introduction to Autonomous Mobile Robots, MIT 2004.
2. Paprocki K., Mikrokontrolery STM32 w praktyce, BTC, Legionowo 2009.
3. Chruściel M., LabVIEW w praktyce, BTC, Legionowo 2008.
4. Granosik G., Stanusch M., Wójtowicz K., Robot społeczny TEPSON, PAR 6/2010, 12-16.


 

Michał Maciejewski,
Marek Niemiec,
Łukasz Ryszka
Studenckie Koło Naukowe Robotyki SKaNeR, Politechnika Łódzka
Źródło: Pomiary Automatyka Robotyka
O nas  ::  Regulamin  ::  Polityka prywatności (Cookies)  ::  Reklama  ::  Mapa stron  ::  FAQ  ::  Kontakt
Ciekawe linki: www.klimatyzacja.pl  |  www.strony.energoelektronika.pl  |  promienniki podczerwieni
Copyright © Energoelektronika.pl