WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA MiWN Układy sterowania robotów przemysłowych. Warstwa programowania trajektorii ruchu. Warstwa wyznaczani...
11 downloads
28 Views
598KB Size
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA MiWN
Układy sterowania robotów przemysłowych. Warstwa programowania trajektorii ruchu. Warstwa wyznaczania trajektorii ruchu. Dr inż. Mariusz Dąbkowski
Zadaniem warstwy programowania trajektorii ruchu jest umożliwienie uczenia robota tzn.:
przeprowadzenie pomiaru wartości współrzędnych naturalnych odpowiadających kolejnym punktom zadanej trajektorii ruchu ramion; przechowanie tych wartości w pamięci układu sterowania robota. Dokonuje się tego w trakcie wodzenia przez człowieka ramionami manipulatora wzdłuż zadanej trajektorii.
Pojedyncze ramię robota z serwomechanizmem hydraulicznym (VERSATRAN i DeVilbiss-Trallfa )
Uczenie ciągłe
Pojedyncze ramię robota z serwomechanizmem hydraulicznym (VERSATRAN i DeVilbiss-Trallfa )
Odtwarzanie trajektorii
Budowa komputerowego układu sterowania robota, umożliwiającego uczenie dyskretne
Procesor komputera jest sprzęgnięty bezpośrednio z dwoma rodzajami pamięci: z pamięcią trwałą (stałą), której zawartość procesor może tylko czytać, lecz do której nie może wpisywać informacji. Pamięć ta jest przeznaczona do przechowania zestawu programów, z których każdy realizuje jedną instrukcję wprowadzaną do procesora z programatora klawiszowego; z pamięcią operacyjną o dostępie swobodnym, której zawartość procesor może zarówno czytać jaki zmieniać. Pamięć ta służy do przechowania danych ulegających zmianie w trakcie programowania trajektorii i w trakcie pracy robota. Danymi tymi są np. wartości współrzędnych zapamiętanych punktów trajektorii, wartości zadeklarowanych czasów trwania ruchów, wyniki pośrednie i końcowe obliczeń interpolacyjnych.
Magistrala wejścia-wyjścia sprzęga procesor z następującymi urządzeniami zewnętrznymi (peryferyjnymi): programator klawiszowy, którego klawisze odpowiadają instrukcjom, za pomocą których można: • sterować ręcznie serwomechanizmami położenia, • sterować uczeniem robota, oraz liczbom określającym parametry tych instrukcji (np. żądane prędkości przemieszczeń ramion), serwomechanizmy położenia, którym procesor przekazuje wartości zadane położeń i od których otrzymuje sygnały generowane w chwilach osiągnięcia skrajnych położeń ramion, przetworniki położenia ramion, umożliwiające procesorowi odczytywanie wartości współrzędnych naturalnych ramion w trakcie uczenia, chwytak manipulatora, któremu procesor przekazuje sygnały sterujące,
obsługiwana maszyna, której procesor przekazuje sygnały sterujące i od której otrzymuje sygnały generowane w określonych sytuacjach (np. w chwili zakończenia operacji technologicznej, w chwili pojawienia się przedmiotu wymagającego manipulacji); pamięć zewnętrzna taśmowa lub dyskowa, przeznaczona do przechowania trajektorii wyznaczonych przez procesor w celu późniejszego wykorzystania oraz wprowadzania zapamiętanych trajektorii do pamięci operacyjnej komputera w celu ich realizacji.
Konieczność sprzęgania urządzeń z komputerem za pomocą specjalnych, indywidualnych dla każdego urządzenia zewnętrznego układów sprzęgających.
Układem sprzęgającym określony komputer z określonym urządzeniem zewnętrznym nazywa się układ przetwarzający sygnały sterujące i dane pochodzące z tego komputera na sygnały sterujące i dane akceptowane przez wymienione urządzenie zewnętrzne i na odwrót: przetwarzający sygnały sterujące i dane pochodzące z wymienionego urządzenia zewnętrznego na sygnały sterujące i dane akceptowane przez komputer.
W trakcie uczenia robota komputer wymienia dane i sygnały sterujące z programatorem klawiszowym, przetwornikami położeń oraz serwomechanizmami położeń.
Każdemu klawiszowi programatora oraz każdemu przetwornikowi położenia jest przyporządkowany rejestr wejściowy, którego zawartość odpowiada instrukcji wprowadzanej za pomocą tego klawisza lub wynikowi pomiaru położenia. Komputer powinien móc wczytać zawartość każdego z rejestrów wejściowych do pamięci, operacyjnej. Każdemu serwomechanizmowi położenia jest przyporządkowany rejestr wyjściowy, którego zawartość odpowiada wartości zadanej położenia.
W skład układów sprzęgających dla omawianych urządzeń zewnętrznych wchodzi poza tym: wskaźnik gotowości - przerzutnik, którego stan sygnalizuje komputerowi obecność w rejestratorze wejściowym danej, którą komputer powinien odczytać lub gotowość rejestru wyjściowego do przyjęcia nowej danej z komputera. Dzięki tej sygnalizacji: • komputer wczytuje zawartość rejestru wejściowego czujnika położenia, np. dopiero wówczas, gdy czujnik położenia zostanie sprzęgnięty z przetwornikiem analogowo-cyfrowym i gdy przetwornik ten zakończy przetwarzanie; • komputer wpisuje nową daną do rejestru wyjściowego serwomechanizmu, np. dopiero wówczas, gdy poprzednia dana została przetworzona na sygnał analogowy;
układ sterowania układu sprzęgającego, umożliwiający komputerowi: • wpisywanie danych do rejestrów wyjściowych oraz wczytywanie danych z rejestrów wejściowych; • testowanie stanu wskaźników gotowości (przerzutnika flagowego); • zerowanie wskaźników gotowości (przerzutnika flagowego); • dokonywanie niezbędnych przełączeń, np. odłączenie przetwornika położenia od serwomechanizmu i wprowadzenie sygnału wyjściowego tego przetwornika do przetwornika analogowo-cyfrowego;
deszyfrator adresów, który w odpowiedzi na adres danego rejestru wprowadzony na magistralę adresów, będącą częścią magistrali wejścia-wyjścia, łączy układ sterowania układu sprzęgającego z magistralą sterowań, będącą również częścią magistrali wejściawyjścia.
Układ sprzęgający przetwornika położenia i układ sprzęgający serwomechanizmu
Podczas uczenia i sterowania ręcznego za pomocą programu testującego komputer sprawdza periodycznie stany wskaźników gotowości wszystkich rejestrów programatora klawiszowego.
Klawisze i przełączniki tego programatora umożliwiają wprowadzenie do komputera następujących danych: instrukcji uczących, przeznaczonych do wprowadzenia do pamięci operacyjnej nastawionych współrzędnych naturalnych ramion manipulatora oraz danych opisujących program pracy robota; instrukcji sterujących, umożliwiających ręczne sterowanie ruchu manipulatora; instrukcji sprawdzających, umożliwiających kontrolę programu pracy robota; parametrów ruchu, określających kierunek zaprogramowanego ruchu (np. pionowy lub poziomy), sposób wykonania ruchu (jednorazowo lub wielokrotnie) oraz prędkość ruchu.
W wyniku realizacji podprogramu nastąpi wykonanie ciągu operacji składających się na wymienioną instrukcję: jeżeli instrukcja była instrukcją sterującą, to ramiona manipulatora wykonają określony ruch lub chwytak zostanie załączony lub wyłączony; jeżeli instrukcja była instrukcją sprawdzającą, to nastąpi odtworzenie wybranego fragmentu programu wprowadzonego do komputera podczas uczenia, wyświetlenie wybranej instrukcji lub jej usunięcie z programu;
jeżeli instrukcja była instrukcją uczącą, to nastąpi: • wczytanie do pamięci operacyjnej danych charakteryzujących programowaną trajektorię, • wczytanie do pamięci operacyjnej rozkazu skoku do podprogramu realizującego wymienioną instrukcję na etapie pracy automatycznej.
Trajektorie ruchu ramion manipulatora różne ze względu na zmiany położeń początkowych manipulowanych przedmiotów lub zmian orientacji tych przedmiotów. „Sztywny" program manipulacji, wprowadzony pamięci robota podczas uczenia bezużyteczny.
do
Konieczność zastąpienia warstwy programowania trajektorii ruchu warstwą wyznaczania trajektorii ruchu współrzędnych naturalnych – warstwą wyznaczania trajektorii ruchu.
Zadania warstwy (roboty generacji 2 i wyższych) Określenie takich dopuszczalnych przebiegów czasowych współrzędnych naturalnych manipulatora, które zapewniają przemieszczenie chwytaka do wybranego punktu trójwymiarowej przestrzeni kartezjańskiej, w której znajduje się robot. Przemieszczenie może być realizowane: z zachowaniem zadanej trajektorii chwytaka w przestrzeni trójwymiarowej; przy dowolnej dopuszczalnej trajektorii chwytaka kończącej się w wybranym punkcie.
Dopuszczalnymi przebiegami czasowymi współrzędnych naturalnych manipulatora (współrzędne chwytaka w trójwymiarowej przestrzeni kartezjańskiej) nazywa się takie przebiegi czasowe, przy których: nie nastąpi przekroczenie granicznych położeń ramion; nie dojdzie do kolizji ramion manipulatora z przedmiotami go otaczającymi. Dopuszczalną trajektorią chwytaka nazywa się trajektorię nie przecinającą przedmiotów z otoczenia manipulatora.
Dwa sposoby formułowania zadania wyznaczenia trajektorii ruchu współrzędnych naturalnych manipulatora a) zadane końcowe położenie manipulatora b) zadana trajektoria manipulatora