Warszawska Wyższa Szkoła Informatyki Warszawa 2008 System sterowania układem elektromechanicznym – wybrane aspekty konstruowania robotów Autor: Hubert Kwiatkowski Promotor: mgr inż. Dariusz Olczyk Slajd 1/16
Cel pracy Realizacja projektu składała się z dwóch części: Zaprojektowanie i realizacja układu elektromechanicznego (robota). Opracowanie systemu sterującego zbudowanym układem elektromechanicznym umożliwiającego programowanie ruchu robota. Slajd 2/16
Architektura Projektowany system składa się z kilku podsystemów: części wykonawczej (model robota) sterownika układ elektroniczny program sterujący podsystemu komunikacji podsystemu operatora (panel operatora) Slajd 3/16
Model - wymagania Wymagania dotyczące modelu: minimum 5 stopni swobody ruchu + chwytak udźwig minimalny – 100 g minimalny zasięg ramienia – 30 cm dokładność wyznaczania pozycji ± 10 mm Ograniczenia: ogólny koszt systemu nie większy niż 1500 zł wykorzystanie powszechnie dostępnych podzespołów Slajd 4/16
Model – przyjęte rozwiązania projekt własny wzorowany na konstrukcji Lynx6 5 stopni swobody + chwytak szkielet wykonany z tworzywa sztucznego (polistyren i spienione PCV), podstawa – płyta MDF napędy – 7 serwomechanizmów modelarskich Slajd 5/16
Model robota Slajd 6/16
Sterownik – układ elektroniczny jednostka centralna wraz z układami wejścia/wyjścia mikrokontroler RISC ATmega8 16 MHz układ zasilania napędów oraz części sterującej czujnik zaciśnięcia szczęk interfejs komunikacyjny – łącze szeregowe RS232C Slajd 7/16
Sterownik – funkcje programu Program sterownika został zaimplementowany w assemblerze. Jego główne funkcje to: wytwarzanie sygnału sterującego pracą serwomechanizmów pobieranie informacji z czujnika odbieranie zdalnych poleceń i ich realizacja Slajd 8/16
Podsystem komunikacji Aplikacja sterująca robotem komunikuje się ze sterownikiem przy użyciu łącza szeregowego pracującego w standardzie RS 232C. sprzętowe wsparcie ze strony mikrokontrolera odporność na zakłócenia i czynniki zewnętrzne Slajd 9/16
Aplikacja sterująca - funkcje • zdalne sterowanie robotem • umożliwienie operatorowi tworzenia programów sterujących ruchem robota • symulacja i wizualizacja ruchu robota • kompensacja nieliniowych charakterystyk napędów oraz umożliwienie parametryzacji poleceń w znormalizowanych jednostkach (stopnie, mm) Slajd 10/16
Aplikacja sterująca - wykonanie pakiet VisualStudio 2008 Express Edition platforma .NET w wersji 3.5, język C# 3.0 interfejs wykonany w technologii WPF + DataBinding dane przechowywane w plikach XML przetwarzanie danych – LINQ walidacja danych – szablony XML Schema Slajd 11/16
Aplikacja sterująca Program sterujący Właściwości polecenia Wizualizacja Pasek poleceń Symulacja Slajd 12/16
Zmierzone parametry systemu Po zakończeniu prac nad systemem został on poddany testom, w rezultacie których zmierzono jego parametry. Nazwa Wartość wymagana Uzyskana wartość Zasięg maksymalny ramienia 30 cm 33 cm Maksymalne wychylenie w przód - 12 cm Maksymalne wychylenie w tył 11 cm Udźwig maksymalny 100 g 150 g Maksymalny rozstaw szczypiec 35 mm Dokładność wyznaczania pozycji ±10 mm w granicach ±10 mm Rozdzielczość sterowania 256 stanów/napęd 7,8 μs (0,5–2,5 ms) Slajd 13/16
Napotkane problemy ograniczenia finansowe i czasowe pomiar charakterystyk użytych serwomechanizmów dobór materiałów konstrukcyjnych dobór serwomechanizmów „choroby wieku dziecięcego” Slajd 14/16
Możliwości modernizacji precyzyjne serwomechanizmy + zwiększenie rozdzielczości sterownika + dokładny pomiar charakterystyk dodatkowe sensory np. czujnik nacisku nowe polecenia sterownika np. regulacja prędkości ruchu mechanizm kinematyki odwrotnej trójwymiarowe wizualizacje modelu nauka ruchu (sterowanie manipulatorem => program) Slajd 15/16
Podsumowanie Zaprojektowany i zrealizowany przeze mnie system spełnia zakładane cele. Myślę, że uzyskany rezultat, zważywszy na przyjęte ograniczenia projektowe, a zwłaszcza na czas i środki finansowe, jest co najmniej dobry i może być solidną podstawą do dalszej rozbudowy systemu. Dziękuję za uwagę. Slajd 16/16