warstwy programowania trajektorii ruchu

Transkrypt

warstwy programowania trajektorii ruchu
WYDZIAŁ ELEKTROTECHNIKI
I AUTOMATYKI
KATEDRA RiSM
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.
Zalety uczenia
¾ możliwość bardzo szybkiego zaprogramowania
skomplikowanych trajektorii ruchu w bardzo naturalny
sposób (na drodze „wykreślenia” tej trajektorii w
przestrzeni trójwymiarowej – zadanie lakierowania lub
spawania),
¾ możliwość szybkiego modyfikowania zaprogramowanej
trajektorii;
¾ możliwość efektywnego stosowania uczenia przez
niskokwalifikowany personel,
¾ duża prostota układów cyfrowych lub programów
komputerowych, potrzebnych do uczenia.
Uczenie ciągłe polega na automatycznym
wprowadzaniu do pamięci układu sterowania, z
odpowiednio dużą częstotliwością, wartości
współrzędnych naturalnych kolejnych punktów
trajektorii ruchu ramion, wodzonych przez
człowieka wzdłuż zadanej trajektorii.
Istotą uczenia ciągłego jest to, że:
¾ wybór punktów trajektorii przechowywanych w pamięci
nie zależy od uczącego człowieka, który może wyłącznie
ustalić częstotliwość próbkowania przetworników
położenia ramion i zainicjować zbieranie danych;
¾ kolejno zapamiętywane punkty trajektorii są
równoodległe w czasie;
¾ kolejno zapamiętywane punkty trajektorii mogą różnić
się wartościami wszystkich współrzędnych naturalnych,
¾ uczenie odbywa się z reguły w tej samej skali czasu, w
jakiej później trajektoria zostaje odtworzona.
Przyśpieszenie ruchów robota wymaga więc
przyśpieszenia ruchów podczas uczenia.
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
Uczenie ciągłe jest stosowane najczęściej w przypadku
niekomputerowych układów sterowania z pamięciami
taśmowymi lub bębnowymi.
Zaletami uczenia ciągłego są:
¾ szybkość wprowadzania trajektorii do pamięci,
¾ duża prostota przygotowania bardzo złożonych
trajektorii ruchu potrzebnych np. przy lakierowaniu
natryskowym lub spawaniu łukowym,
¾ prostota i taniość układu sterowania.
Wady uczenia ciągłego:
¾ mała elastyczność – wprowadzenie zmian do zaprogramowanej
trajektorii jest praktycznie niemożliwe,
¾ trajektoria zaprogramowana w sposób nieciągły: odcinkami, z
przerwami wynikłymi,
¾ jeżeli trajektoria ruchu zawiera fragment wielokrotnie powtarzany, to
fragment ten musi zostać tyle samo razy zapisany na taśmie,
¾ uzależnienie przebiegu trajektorii od stanu obsługiwanej maszyny
jest bardzo utrudnione i w zasadzie ograniczone do przypadków
najprostszych, polegających,
¾ ze względu na zapamiętywanie wszystkich równoodległych w
czasie punktów trajektorii uczenie takie wymaga bardzo pojemnych
pamięci lub jest ograniczone do programów o krótkim czasie trwania.
Uczenie dyskretne polega na wprowadzaniu na
rozkaz człowieka do pamięci układu sterowania
współrzędnych naturalnych kolejnych punktów
trajektorii ruchu ramion, do których to punktów
ramiona zostały doprowadzone na drodze
sterowania ręcznego przez człowieka i w punktach
tych na okres uczenia unieruchomione.
Istotą uczenia dyskretnego jest to, że:
¾ wybór punktów trajektorii przechowanych w pamięci
zależy całkowicie od uczącego człowieka; liczba tych
punktów jest znacznie mniejsza aniżeli przy uczeniu
ciągłym,
¾ kolejno zapamiętywane punkty trajektorii nie są
równoodległe w czasie,
¾ kolejno zapamiętywane punkty trajektorii nie zawsze
mogą różnić się wartościami wszystkich współrzędnych
naturalnych,
¾ czas odtwarzania trajektorii jest niezależny od czasu, w
jakim dokonano uczenia.
Uczenie dyskretne jest najczęściej stosowane w
przypadku komputerowych systemów sterowania.
Wynika to stąd, że:
¾ dysponowanie komputerem umożliwia odtwarzanie
trajektorii, dla której zapamiętano tylko kilka
charakterystycznych punktów, najczęściej
nierównoodległych w czasie;
¾ koszt pamięci operacyjnej czyni przechowanie
wszystkich równoodległych w czasie punktów trajektorii
rozwiązaniem ekonomicznie nieuzasadnionym.
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 oma-wianych 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 wyjś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 wejś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 falagowego);
• 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