• Nie Znaleziono Wyników

Modelowanie ruchu eksperymentalnego robota przemysłowego w czasie rzeczywistym

N/A
N/A
Protected

Academic year: 2022

Share "Modelowanie ruchu eksperymentalnego robota przemysłowego w czasie rzeczywistym"

Copied!
12
0
0

Pełen tekst

(1)

ZE SZ Y T Y N A U K O W E POLITECHNIKI ŚLĄSKIEJ Seria: A U TO M A TY K A z. 125

1998 N r kol. 1391

Aleksander STA SZULON EK Politechnika Śląska

M O D E L O W A N IE RUCH U EK SPERYM ENTALNEGO ROBOTA PR ZEM Y SŁ O W EG O W CZASIE RZECZYW ISTYM

Streszczenie. W pracy prezentowane jest oprogram owanie przeznaczone do graficznej prezentacji ruchu eksperymentalnego robota przemysłowego. Do realizacji prezentow anego oprogram owania wykorzystano podstaw ow e elementy grafiki oraz animacji kom puterowej. System został zrealizowany w środowisku Unix oraz X- W indows. Wejściem dla programu wizualizacji są dane pochodzące z łącza szeregow ego, z którego pobierane są pozycje zadane i rzeczywiste robota realizującego trajektorię zadaną generowaną przez programy zadawania położenia. Wyjściem program u je st pseudoprzestrzenna animacja ruchu robota, dokonyw ana w czasie rzeczywistym na podstaw ie danych pobranych z łącza szeregowego.

M O D E L L IN G O F TH E EXPERIM ENTAL ROBO T M O TION IN REA L TIM E

Sum m ary. In this w ork the software system for graphic presentation o f industrial robot motion has been developed. F or the implementation o f the presented softw are basic concepts o f com puter graphics and animation have been applied. All program m ing has been carried out in the Unix and X-W indows environment. The actual robot position is transm itted from the servocontroller system to the graphic w orkstation in real tim e as the result o f motion commands issued by the desired trajectory generator. B oth stream s o f data are then used to obtain the 3-D animated robot trajectory presented in real time on the screen o f X-Terminal.

1. W spółpraca system u wizualizacji ruchu z procesami generow ania położenia zadanego robota

W spółistnienie wielu procesów w systemie UNIX jest podstaw ow ą cechą U N IX ’a. Z tego pow odu działanie w stacji roboczej zarówno systemu WIZ, jak i program ów generujących pozycje zadane dla robota (np. generatory trajektorii, języki program ow ania robota) nie stanowi problemu. System W IZ pomyślany jest jako program umożliwiający w spółpracę z innymi program am i w sposób klarowny. Sprzyja temu fakt, że rozkazy odczytyw ane są z łącza szeregow ego. Umożliwia to w spółpracę W IZ ’a z programami ju ż istniejącymi bez ingerencji

(2)

2 1 4 A. S taszu lo n ek

w ich kod źródłow y. Z kolei w sterowniku napędów oprogram ow ano zw racanie przez robota pozycji zadanej i rzeczywistej jako przerwanie zegarowe, w związku z czym procedura ta nie koliduje z program em sterowania robota. Widać więc stąd, że ingerencja w istniejące oprogram ow anie generatorów , jak i uwzględnianie współpracy przyszłych aplikacji z program em W IZ nie są konieczne.

2. W ybrane m ożliwości systemu wizualizacji ruchu robota

Po załadowaniu przez system programu do pamięci na ekranie ukaże się okienko, którego wygląd przedstaw iono na rys. 1.

n k c je ¡| Opcje |[~ InFo | Azynut: 0 E lew acja: 0

Rys. 1. Okienko startow e systemu wizualizacji Fig. 1. Initial screen o f the wisualisation system

O kienko składa się z obszaru rysowania, menu (umieszczonego u góry okienka), dw óch pasków przewijania ( u dołu i po prawej stronie obszaru rysowania ) oraz z etykiet - azymut i elewacja (u góry i po prawej stronie obszaru rysowania ). W czasie działania program u w obszarze rysowania wyświetlany jest animowany robot lub przebiegi w spółrzędnych naturalnych lub kartezjańskich robota (w zależności od dokonanego przez użytkow nika wyboru). Ponad obszarem rysowania wyświetlany jest bieżący azymut i elewacja, określające w idok 3D robota. Do zmiany tych param etrów służą paski przewijania

(3)

M o d e lo w a n ie ru ch u eksperym entalnego robota. 213

um ieszczone, ja k ju ż wspomniano, u dotu i po prawej stronie obszaru rysowania. Pasek dolny służy do zmiany azymutu, natomiast pasek po prawej do zmiany elewacji. Zmiana następuje przez naciśnięcie środkow ego klawisza myszki (lub klawisza lewego i praw ego jednocześnie, gdy mysz posiada tylko dw a klawisze) w żądanym miejscu paska przewijania. Przytrzymanie w ciśniętego klawisza i ciągnięcie myszki pozwala na aktualizowanie param etru na bieżąco.

Innym sposobem zmiany param etrów azymut i elewacja je st użycie klawiatury. Strzałki góra- dół służą do zmiany elewacji, natomiast strzałki prawo-lewo do zmiany azymutu. Zarów no paski przewijania, ja k i klawisze strzałek są aktywne tylko wtedy, gdy wyświetlany je st widok 3D robota. W innych przypadkach zmiana tych param etrów jest niemożliwa.

M enu Akcja służy do wyboru rodzaju wizualizacji, a także umożliwia zakończenie działania program u. Po najechaniu kursorem myszki na przycisk A kcja pojawi się rozwijane menu pokazane na rys. 2. Należy zaznaczyć, że przycisk myszki musi być cały czas naciśnięty.

Jego zwolnienie pow oduje w ybór tej akcji, nad której opisem aktualnie znajdow ał się kursor myszki.

Hninacja 2D FI

R ainacja 3D F2

P r z e b ie g i Qn<i) - zadane F3

> /P rzeb ieg i On<i) - rz e cz y w iste F4 P rz e b ie g i Qn<i) - uchyb F5 P rze b ie g i XYZ(i> - zadane FB P rz e b ie g i XYZ(i> - rzeczy w iste F7 P rze b ie g i XYZCi> - uchyb F8

Myjecie Esc

Rys. 2. Menu rozwijane Akcja Fig. 2. Software options menu

W ybór z menu akcji Anim acja 2D spow oduje wyświetlenie w obszarze rysowania trzech rzutów robota: z boku, z przodu i z góry. Robot będzie poruszał się zgodnie z rozkazam i pozycjonowania wysyłanymi przez łącze szeregowe. M ożliwe je st również wybranie tej akcji przez naciśnięcie klawisza F I. W ybór z menu akcji Anim acja 3D spow oduje wyświetlenie w obszarze rysowania pseudoprzestrzennego widoku robota. Pozycja obserw atora określona je st parametrami azymut i elewacja. R obot będzie poruszał się zgodnie z rozkazam i pozycjonow ania wysyłanymi przez łącze szeregowe. M ożliw e je st również wybranie tej akcji przez naciśnięcie klawisza F3. Wygląd okienka aplikacji po wybraniu tej akcji p rzedstaw ionyjest na rys. 3.

(4)

216 A. S taszu lo n ek

Rys. 3. Okienko po wybraniu akcji Animacja 3D Fig. 3. W indow o f 3-D animation

R ys. 4. O k ien k o p ro g ram u po w ybraniu akcji P rzebiegi Q n(i) - rzeczy w iste Fig. 4. W indow o f the o p tio n T rajecto ries Q n(i) - real

(5)

M o d e lo w a n ie a ic h u eksperym entalnego robota.

W ybór z menu akcji P rzebiegi Qn(i)-xxxxxxxx (zadane, rzeczywiste, uchyb) spow oduje wyświetlenie w obszarze rysowania przebiegów współrzędnych naturalnych 90(i) do 9j(i).

Rys. 5. Okienko po wybraniu akcji Przebiegi Qn(i) - uchyb Fig. 5. Result o f the option Trajectories Qn(i) - position error

Rys. 6. O k ien k o po w ybraniu akcji Przebiegi X Y Z (i) - rzeczy w iste Fig. 6. R esult o f the option T rajectories X Y Z (i) - rzeczy w iste

(6)

2 1 8 A. S taszu lo n ek

W zależności od wybranej opcji wykres będzie przedstawiał w artości zadane, rzeczyw iste lub uchyb. W ykres zawiera wartości poszczególnych w spółrzędnych naturalnych dla n ostatnich pozycji wysłanych do robota przez łącze szeregowe. M ożliwe je st również wybranie tej akcji przez naciśnięcie klawisza F3 ( zadane ), F4 ( rzeczywiste ) lub F5 (uchyb ).

W ygląd okienka aplikacji po wybraniu tej opcji przedstawiony jest na rys. 4 i 5. Skala po stronie lewej wykresu dotyczy współrzędnych naturalnych 6) do 65 (m ierzonych w stopniach), natom iast skala po stronie prawej dotyczy współrzędnej naturalnej do (czyli położenia w ózka m ierzonego w metrach). W yświetlane są faktyczne przebiegi kątów, odpow iadające w spółrzędnym naturalnym.

W ybór z menu akcji P rzebiegi XYZ(i)-xxxxxxxx (zadane, rzeczywiste, uchyb) spow oduje wyświetlenie w obszarze rysowania przebiegów współrzędnych kartezjańskich X(i), Y(i) oraz Z(i). W zależności od wybranej opcji wykres będzie przedstawiał w artości zadane,

rzeczyw iste lub uchyb. Wykres zawiera wartości poszczególnych współrzędnych kartezjańskich dla n ostatnich pozycji wysłanych do robota przez łącze szeregow e. M ożliwe je st rów nież wybranie tej opcji przez naciśnięcie klawisza F6 ( zadane ), F7 ( rzeczyw iste ) lub F8 ( uchyb ). W ygląd okienka aplikacji po wybraniu tej opcji przedstawiony je st na rys. 6 i 7.

Rys. 7. O kienko po w ybraniu akcji Przebiegi X Y Z (i) - uchyb Fig. 7. R esult o f th e option T rajectories X Y Z (i) - position e rro r

(7)

M o d e lo w a n ie ru ch u ek sperym entalnego robota. 2 1 9

W ybór z menu akcji W yjście powoduje wyświetlenie okienka zapytania przedstaw ionego na rys. 8. W zależności od wyboru dokonanego przez użytkow nika program zakończy działanie ( przycisk Tak ) lub nie ( przycisk Nie ). Innym sposobem zakończenia program u je st naciśnięcie klawisza Escape. Spowoduje to pojawienie się takiego samego okienka dialogow ego ja k powyżej. Oprócz możliwości wybrania przycisku T ak/N ie w okienku zapytania m ożna także skorzystać z klawiszy N, T, Escape i Return. Klawisz E scape ( lub N ) je st rów noznaczny z naciśnięciem przycisku Nie, natomiast klawisz Return ( lub T ) - z

naciśnięciem przycisku Tak, co spowoduje ostateczne zakończenie programu.

M enu O pcje służy do wyboru opcji specyficznych dla aktualnego rodzaju wizualizacji.

W zależności od tego, jaki rodzaj wizualizacji jest w danej chwili aktywny, taka będzie postać rozw ijanego menu Opcje. Jeśli wybrano akcję Anim acja 2D, to po wskazaniu kursorem myszki na przycisk O pcje pojawi się rozwijane menu pokazane na rys. 9.

Rys. 9. M enu rozwijane Opcje gdy wybrano akcję Animacja 2D lub 3D Fig. 9. Menu Options if 2D or 3D Animation is selected

Sterow anie wyświetlaniem trajektorii robota odbywa się poprzez w ybór jednej z opcji

zostanie w idok ze śladem lub bez. Ślad zawiera n ostatnich pozycji wysłanych do robota przez łącze szeregow e. M ożliw e jest również przełączanie tej opcji przez naciśnięcie klawisza S.

N aciśnięcie go w momencie, gdy ślad jest nieaktywny, spow oduje jego aktywow anie i vice versa.

Jeśli w ybrano akcję Anim acja 3D, to po najechaniu kursorem myszki na przycisk O pcje pojawi się rozwijane menu dokładnie takie, jak opisano powyżej dla akcji Anim acja 2D. Identycznie będzie też dokonywany wybór opcji. Należy zaznaczyć, że chociaż wygląd

Rys. 8. Okienko zapytania po wybraniu akcji Wyjście Fig. 8. Result o f the option Exit

I Siad aktjfuną

Ślad nieak tyw n y lub Ślad aktywny. W zależności od dokonanego w yboru wyświetlony

(8)

220 A. S taszu lo n ek

rozwijanego menu je st identyczny, to wybór opcji dla poszczególnych akcji je st niezależny.

W ygląd okienka aplikacji po wybraniu opcji Ślad aktywny przedstawiony jest na rys. 10.

Rys. 10. Okienko po wybraniu akcji Animacja 3D oraz opcji Ślad aktywny Fig. 10. Result o f the option 3D Animation and Active Trace

Jeśli w ybrano akcję Przebiegi Qn(i)-xxxxxxxx, to po wybraniu kursorem myszki przycisku O pcje pojawi się rozwijane menu pokazane na rys. 11.

U szystkie p rz e b ie g i U

P rzeb iee Q0Ci) 0

P rzebieg Q l(i) 1

P rzebieg Q2(i) 2

P rzebieg Q4(i)

A

P rzebieg Q5(i) 5

Rys. 11. Menu rozwijane Opcje, gdy wybrano akcję Przebiegi Qn(i) Fig. 11. Result o f the option Trajectories Qn(i)

O pcje te umożliwiają wyświetlenie przebiegu każdej współrzędnej naturalnej oddzielnie. M ożna posłużyć się także klawiszami od 0 do 5 ( co odpow iada wyborowi odpowiedniej współrzędnej n atu raln ej). Wygląd okienka aplikacji po wyborze opcji Przebieg Q 3(i) ( a w ięc wybraniu przebiegu współrzędnej naturalnej 9 j ) przedstawiony je st na rys. 12.

(9)

P ow rót do wyświetlania wszystkich przebiegów jednocześnie jest możliwy po wybraniu opcji W szystkie przebiegi lub po naciśnięciu klawisza W.

M o d e lo w a n ie ru ch u eksperym entalnego robota...___________________________________________221

Rys. 12. Okienko po wybraniu akcji Przebiegi Qn(i)-uchyb dla n=3 Fig. 12. Result o f the option Trajectories Qn(i)- position error for n=3

Jeśli w ybrano akcję Przebiegi XYZ(i)-xxxxxxxx, to po w skazaniu kursorem myszki na przycisk O pcje pojawi się rozwijane menu pokazane na rys. 13.

U szystkie p rz e b ie g i U

P rzebieg X<i) X

P rzebieg Y<i> Y

'/P r z e b ie g

2<

i>

Rys. 13. Menu rozwijane Opcje, gdy wybrano akcję Przebiegi XYZ(i) Fig. 13. M enu o f the option Trajectories XYZ(i)

O pcje te umożliwiają wyświetlenie przebiegu każdej współrzędnej kartezjańskiej oddzielnie. M ożna posłużyć się także klawiszami X, Y oraz Z , co odpow iada wyborowi odpowiedniej współrzędnej kartezjańskiej. Pow rót do wyświetlania wszystkich przebiegów jednocześnie następuje po wybraniu opcji W szystkie przebiegi lub po naciśnięciu klawisza W.

M ożliw e je st również wyświetlenie siatki przy rysowaniu przebiegów. Naciśnięcie klawisza G pow oduje rysow anie siatki. Jego ponowne naciśnięcie wstrzymuje rysowanie siatki. Opcja

(10)

2 2 2 A. S taszu lo n ek

dostępna je st tylko z klawiatury i dotyczy wszystkich rysowanych przebiegów. Wygląd okienka aplikacji po wybraniu tej opcji przedstawia rys. 15.

Program ma możliwość zapisywania w pliku danych odczytywanych z robota.

M ożliw ość ta je st aktywow ana jako opcja podawana podczas uruchomienia program u. O aktywności tej opcji informuje nas litera R, umieszczona w prawym, dolnym rogu okienka aplikacji. M oże ona przybrać trzy stany. W pierwszym, przedstawionym na rys. I5a, informuje nas o niedostępności zapisu danych na dysk. Jest to sytuacja, w której nie wyspecyfikowano tej opcji przy uruchamianiu programu. Rysunek 15b przedstawia sytuację, w której rejestrow anie je st m ożliwe ale je st czasow o wyłączone. Wstrzymywanie i wznawianie zapisu danych na dysk je st m ożliw e przez naciśnięcie klawisza R lub kliknięcie myszą na przycisku R w okienku.

Przełączanie to je st możliwe tylko wtedy, gdy program został uruchomiony z opcją aktywującą rejestrację.

Rys. 14. Okienko w raz z narysowaną siatką Fig. 14. Result o f the option Grid On

Rys. 15. Sterowanie możliwością zapisu danych na dysk Fig. 15. Control o f the data storage in the disk file

(11)

M o d e lo w a n ie ruchu eksperym entalnego ro b o ta 22 3

M enu Info w przeciwieństwie do opisywanych poprzednio nie pow oduje wyświetlenia rozw ijanego menu, lecz od razu wykonuje akcję, która w tym przypadku polega na wyświetleniu okienka informacyjnego. Innym sposobem wyboru tej akcji jest naciśnięcie klawisza I. D o zamknięcia okienka informacyjnego służy przycisk O K um ieszczony u dołu okienka. Zam knięcie okienka nastąpi również po naciśnięci dowolnego z klawiszy E scape lub Return.

Program pracuje tylko na wyświetlaczach kolorowych. Najlepsza rozdzielczość obrazu do pracy z program em wynosi 800x600 pikseli (chociaż możliwa jest także praca program u w innych rozdzielczościach). Jednocześnie może działać tylko jedna kopia program u (ze względu na m ożliw ość konfliktu dostępu zarówno do łącza szeregowego, jak i segmentu pamięci współdzielonej). Program wykrywa próbę utworzenia kopii działającego program u i kończy działanie wypisując stosowny komunikat.

3. W n io sk i

W ramach niniejszej pracy został stworzony system wizualizacji ruchu robota eksperym entalnego. O program owanie wchodzące w skład tego systemu zostało uruchom ione na stanow isku laboratoryjnym oraz przetestowane. W szczególności program:

• animuje na ekranie pseudoprzestrzennego robota,

• animuje robota w trzech rzutach,

• wyśw ietla przebiegi współrzędnych naturalnych i kartezjańskich robota (zadane, rzeczyw iste oraz uchyby),

• odczytuje dane z łącza szeregow ego, pozostając tym samym przezroczystym dla w spółpracujących z nim programów,

• posiada możliwość zapisywania odczytywanych z łącza szeregow ego danych w pliku dyskowym.

W szczególności opcja zapisywania wyświetlanych przebiegów umożliwia ich późniejsze odtw orzenie i analizę. Dzięki możliwości rejestracji uchybów położenia system nadaje się do badania jakości algorytm ów sterowania oraz kalibracji systemu kinematycznego robota.

LITER A TU R A

1. Angell I.O.: W prow adzenie do grafiki kom puterowej. WNT, W arszaw a 1988.

2. Bach M .J.: B udow a systemu operacyjnego Unix. WNT, W arszawa 1995.

3. Barkakati N.: G rafika i animacja w Windows. Intersoftland, W arszaw a 1994.

4. Craig J.J.: W prow adzenie do robotyki. Mechanika i sterowanie. W NT, W arszawa 1995.

(12)

224. A. S taszu lo n ek

5. Czarnecki A.: Integracja elementów systemu sterowania doświadczalnym robotem przemysłowym. Praca dyplomowa. Instytut Automatyki, Politechnika Śląska, Gliwice 1996.

6. Kem ighan B.W ., Ritchie D.M: Język ANSI C. WNT, W arszawa 1994.

7. M arzec B.: W prow adzenie do standardu magistrali VMEbus. W NT, W arszawa 1994.

8. M ielczarek W.: Szeregowe interfejsy cyfrowe. Helion, Gliwice 1993.

9. M orecki A., Knapczyk J.: Podstawy robotyki. Teoria i elementy manipulatorów i robotów.

W N T, W arszaw a 1994.

10. N ye A. i in.: The Definitive Guides to the X W indow System. Vol. 1-6. O ’Reilly &

A ssociates, Inc. 1992.

11. P iotrow ski A.J.: Standard interfejsu szeregowego RS-232C. K om puter, nr 6/1986.

12. R ochkind M .J.: Program ow anie w systemie Unix dla zaawansowanych. W NT, W arszawa 1997.

13. Stevens W .R.: Program owanie zastosow ań sieciowych w systemie Unix. W NT, W arszawa 1996.

Recenzent: Prof.dr hab.inż. Jerzy Klamka

Abstract

In this w ork the system o f visualisation o f industrial robot trajectory is presented. In particular, hardw are and software environment, basic concepts o f the system, and implementation problems have been discussed. As the experimental setup an existing robot control system entirely developed at the Institute o f Automation has been used. Developed control system has bilevel structure. The input to the developed program consists o f the actual position transm itted from the servocontroller level and desired position calculated by the trajectory generator. Both data are continuously acquired from the tw o independent processes in real time. Both, real and desired trajectories are displayed in animated 3D form on the screen o f X-Terminal. The data can be displayed in different projections, different angles, w ith or w ithout grid etc. Additionally the trajectory o f each robot axis can be displayed separately either in the natural o r Cartesian coordinates. The same concerns the position errors for each axis. Obtained data can be stored on the hard disk for future analysis. The presented system can be also used for investigation o f the robot control algorithms.

Cytaty

Powiązane dokumenty

Celem obliczeń było porównanie częstości występowania rozwiąza- nia (trajektorii) w każdej z przyjętych klas.. Badania stateczności technicznej stochastycznej modelu

Diagnostyka jaskry Analiza RNFL, morfologia tarczy nerwu wzrokowego ONH, DDLS, analiza symetrii oczu i półkul gałki ocznej, analiza komórek zwojowych jako RNFL+GCL+IP i

W takiej sytuacji staje się konieczne przetrzymywanie w strefie pamięci operacyjnej oraz przechowywanie w pamięci pomocniczej równocześnie wszystkich programów użytkowych,

Etap przetwarzania wstępnego rozumiany jest najczęściej jako etap poprawy właściwości obrazu kolorow ego (np. filtracja odszumiająca) lub etap przekodowania informacji

Pierwszy proces, będący procesem głównym, zajmuje się wizualizacją robota i dialogiem z użytkownikiem, natomiast proces drugi, będący procesem podrzędnym,

p-euma - Jest zbiorem wartości, z których każda Jest sunę poziomów Jaskrawości olementów leżęcych wz dł uż Jednego r-obszaru, przy czym dany punkt obrazu

Język spisu obrazu L jest generowany przez gramatykę G«/Yjj,7IfP,S/f gdzie Tp i Ty są odpowiednio zbiorami symboli nieterainalnych /zmiennych/podobrs- zów i symboli

Dobre oświetlenie sceny to takle^fte uzyskiwany przetworzony obraz Jest min i ma ln y / w sennie ilości bitów/ przy czym wszys t­. kie szczegóły są