• Nie Znaleziono Wyników

Automatyczna synteza programu dla inteligentnych maszyn roboczych

N/A
N/A
Protected

Academic year: 2022

Share "Automatyczna synteza programu dla inteligentnych maszyn roboczych"

Copied!
13
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE POLITECHNIKI SLĄSKTEJ

Seria»AtnDOUmiO. a .96

__________1988

Sr k o l.972

Tadeusz Szuba

Akademia Górniczo-Hutnicza Instytut Informatyki

a u t o m a t y c z n a s y n t e z a p r o g r a m u d l a i n t e l i g e n t n y c h m a s z y n r o b o c z y c h

Streszczenie. W referacie zostały przedstawione doświadczenia i wyniki prac-ńad”próblemea tworzenia systemów oprogramowania dla automatycznej syntezy programu pracy inteligentnych maszyn roboczych. Jako obiekt doświad­

czeń wybrano: N.C. inteligentną frezarkę o &»stopniach Bwobody, przyszło­

ściową 2-aanipulatorową obrabiarkę oraz inteligentną koparkę. Koncepcja oprogramowania oparta Jest na wielojęzykowym podejściu z wykorzystaniem PROLOGU Jako czynnika łączącego.

1. Postawienie zagadnienia:

Automatyczna synteza programu Jest działem sztucznej inteligencji, w którym wykorzystując wszystkie opracowane dotychczas metody rozwiązywania problemów, konstrukcji inteligentnego software'u itp. buduje się systemy oprogramowania,które:

1/ w oparciu o definicję sceny procesu technologicznego,

2/ definicję stanu początkowego i docelowego /końcowego/ procesu

całkowicie samodzielnie znajdują sekwencje operacji technologicznych przekształca­

jących stan początkowy w docelowy, a dalejt

albo prezentują to rozwiązanie operatorowi do wglądu /Jest to wtedy model pracy CAD/CAM/Expert/,

albo kierują to rozwiązanie wprost do urządzeń wykonawczych /jest to wtedy model pracy "inteligentna maszyna"/.

Powyższe tryby pracy mogą w siebie płynnie przechodzić w zależności od sposobu współpracy człowiek/maszyna. Prezentowane badania dotyczą wybranej specyficznej klasy procesów technologicznych, dla których zbudowanie systemów automatycznej syntezy programu ma szczególne znaczenie. Są to:

- proces technologiczny realizowany przez uniwersalną obrabiarkę/frezarkę o 6 stopniach swobody i magazynku narzędzi,

- proces technologiczny dla hipotetycznej 2-manipulatorowej obrabiarki /toż z maga­

zynkiem narzędzi/,

-proces technologiczny dla inteligentnej, autonomicznej, gąsiennicowej koparki.

Prezentowane badania zostały w większości opublikowane w ubiegłych latach na terenie RPN, [4],

KI KI, KI

-

Prace są finansowane w temacie CPBP 02.13 przez IPPT PAN Warszawa, pod kierownic­

twem prof. A. Borkowskiego.

(2)

244 1. Szuba

Pojęcie scany procesu

Scena procesu technologicznego Jest "tutaj zdefiniowana jako 3-D zgeomotryzowano środowisko, zawierające zarówno bryły realne,Jak i wirtualne /pozorne/ niezbędno dla procesu technologicznego. Tak więc na scenie znajdują się:

- urządzenia traktowane jako robot, mproksymovane zespołem brył;

- przeszkody, takie Jak: elementy stołu obrabiarki, powierzchnia,po której robot się porusza, domy, drzewa etc. Są one takie aproksymowane bryłami,

- obiekty reprezentujące cel praoyjtj.: "duoh przedmiotu docelowego" tkwiący wewnątrz bryły surowego metalu, kontur przyszłego wykopu nałożony na profil terenu.

Są to bryły 3-D w sensie geometrycznym,

- bryły powstałe w wyniku transformacji geometrycznych sceny lub’pozorne bryły narzucane przez wymagania technologiczne. ttp. koparka po wykryciu bagna tworzy nad nim bryłę kolizyjną. Chcąc uprościć ruchy frezu, zamykany go w kopertę 3-D, którą transformujemy.

Ilustracją sceny dla omawianych powyżej procesów technologicznych są ryBunki 1, 2, 3.

Rys. 1. Scena dla H.C. obrabiarki.

Fig. 1. The scene for H.C. machinę tool

Kolejne rysunki /^, 5, 6/ pokazują przykłady najbardziej charakterystycznych'operacji geometrycznych na scenie. Są to /rys. 4./ metoda opisu obiektu początkowego i doce­

lowego w zagadnieniu obróbki, generowania nowej przeszkody blokującej dostęp do bagna /rys. 5./i oraz transformacja sceny, która pozwala na wyodrębnienie obiektów metodą liczenia równowagi, a dalej na utworzeniu równoważnego planu 2-D dla progra­

mu planującego bezkolizyjny ruch koparki /rys. 6./.

Technologiczna robotyzacja 3csny

1 ramach soeny, pod kątem potrzeb procesu tecnologicznego, podane są deterministy­

cznie:

1/ mobilność robota jako elementu sceny, tj. >■

(3)

Automatyczna synteza programu ■3*5

Rys. 3. Scena dla inteligentnej koparki.

Fig. 3- The ecene tor intelligent, autonomou* digger.

Rys. 2. Scena dla przyszłościowej 2-manipulatorowej obrabiarki, fig. 2. The scone for futuro machinę tool with 2 manipulatora.

(4)

24

e T. Szuba

- stopnie swobody obrabiarki, dwu robotów, koparki Jako robota ♦

- zespół procedur liczących rezultaty ruchów w danych stopniach swobody, 11/ technologiczne możliwości urządzenia/robota na seeniojtJ. geometrycznie zdefi­

niowane warunki stosowalności tzw. standardów technologicznych i rezultaty

Rys. 5. Problem bagna

Fig. 5- ^he boggy region transformation-

(5)

Automatyczna oynteza .programu .

ZV?

zastosowania, opisane w kategoriach geometrycznych^np. jak uotanić narzędzie przed blokiem metala(aby móc wywiercić zadany otwór, Jak należy ustawić koparkę względem konturu przyszłogo wykopufaby móc rozpocząć realizację standardowej bibliotecznej procedury kopania. Pojęcie standardu technologicznego ilustruje rys. 7, 8.

Rys. 6. Transformacja Bceny do postaci 2-D.

Fig. b. The sceno transformatlon to 2-D plan

Prezentowana tutaj tzw. inteligentna koparka jako rodzaj robota, jest aktualnie tematem prac zespołu [8], którym kieruję w ramaoh CPBP 02.13/4.8.

(6)

24 B T. Szuba

Rys, 7. Standardy technologiczna dla obróbki skrawaniem•

Fi£' 7- The llbrary standard* for the siacblnlng proceaa.

2. Konstrukcja systemu rozwiązującego problem syntezy ciągu opracjl technologicz­

nych,

Najpierw operator za pomocą pakietu graficznego typu CAD definiuje kształt obiektu docelowego, opisuje, jak wygląda obiekt początkowy i nasuwa "duch" kształtu docelowego na kontur obiektu początkowego. Tak postępuje się dla sceny typu obra­

biarka. Jeśli jest to koparka, to operator nanosi na kontur sceny "duch konturu q wykopu". Towarzyszy temu takie dialog maszyny z operatorem na temat sceny. Cel definiuje konfigurację,a raczej zbiór alternatywnych konfiguracji maszyny potrze­

bnych do wywiercenia otworu, nagwintowania, wyfrezowania wpustu, wykopania rowu.

Znając z drugiej 3trony konfigurację maszyny na początku można już budować drzewo wariantów akcji, tak aby od stanu początkowego przejść do docelowego. Tak więc proces rozpada się na podcykle złożone z: ruchy manewrowe, ruchy robocze, ruchy manewrowe ... . Wszystkie omawiane systemy były i 3ą budowane w PROLOGU, który zapewnia tworzenie i utrzymanie drzew wariantów, a także przeszukiwanie ich według

»wdanej strategii. Budowa drzew jest jeszcze względnie prosta. Każda propozycja ruchu manewrowego lub technologicznego /odpowiadająca wygenerowaniu łuku i węzła/

pociąga za sobą BARDZO ŻMUDNE OBLICZENIA typu numerycznegojtj.:

1/ czy ruch jest celowy /eliminacja ruchów bezsensownych/, jeśli tak, to dokąd należy ruch wykonać, w jaki sposób /parametry/. Każdemu stopniowi swobody odpo­

wiada procedura napisana w PASCALu + PORTRANie dająca odpowiedź Tak/Nie i ev.j w Jaki sposób /parametry/j

2/ Jak wygląda nowa geometryczna konfiguracja sceny.

(7)

Mtomatyczna synteza programu .

249

Rys. 8. Standardy technologiczne dla procesu kopania.

6. T4e library standards for the digging process.

(8)

250 T. Szuba

• 3/ czy nich nie powoduje kolizji, utraty równowagi, kolizji technologicznej. Jeśli tak, to uzyskiwana Jest informacjajgdzie 1 Jak kolizja ta nastąpiła.

W praktyce 90% nocy obliczeniowej idzie na analizę proponowanego ruchu. Obliczenia te mogą być b. łatwe do zrównoleglenla przy użyciufnp. proeeBOra macierzowego.

W rezultacie takich obliczeń drzewo wariantów ruchów Jest obcięte o większość węzłów - co daje częściowe odsunięcie problemu eksplozji kombinatoryeznej. Mimo to na poziomie PROLOGu muszą być wbudowane Jeszcze strategie /naczelne/f np. i

- współpraca l£aster-Slave dla 2 robotów, - strategie obchodzenia przeszkód przez koparkę.

A praktyce z punktu widzenia software'u oba istniejące Już doświadczalne systemy automatycznej syntezy programu zostały zrealizowane w sposób następujący[5]• [6^ ■ (Y) ,

. Punkćje nadrzędne ziaplementowane są na poziomie PROLOGu, przebudowanego do tego celu /tzw. Process Control PROLOG/. Przebudowano tzw. II UW PROLOG /Bien J., S . , Klużniak P., Szpakowicz S./ poprzez dodanie interface'ów do innych Języków programo­

wania oraz poprzez wprowadzenie specyficznego, zorientowanego na rozpatrywaną klasę procesów technologicznych, inteligentnego systemu odśmiecania pamięci z nieaktualnych /niepotrzebnych faktóe/ wniosków *). Program główny syntetyzujący program przejścia od stand początkowego do docelowego napisany w t_ PROLOGu generował pełne drzewo wariantów operacji technologicznych i pomocniczych. Rozgałęzienia tego drzewa były porządkowaneiredukowane natychmiast w oparciu o strategię rozwiązywania problemów zaimplementowaną na poziomie PROLOGu /np. logiczne uporządkowanie operacji, algorytm współpracy manipulatorów itp./. Ilustruje to rys. 9. Wyselekcjonowane w ten spoBÓb

STAHT /stan początkowy procesu/

Stan © docelowy

porządkowanie oraz redukcja drzewa poprzez strategie na pozionie PROLOGu

redukcja oraz porządkowanie jako rezultat obliczeń poza PROLOGiem

Rys. 9. Zasada generacji drzewa wariantów

FiC-

3 » The tree of wariantb generation process

(9)

Automatyczna synteza programu .

251

propozycje ruchów były wyliczane dokładnie poprzez procedury zrealizowane w PASCJLLu eelem numerycznego wywnioskowania pełnych konsekwencji geometrycznych ruchu propono­

wanego. Realizowane to było za pomocy interface'u przedstawionego skrótowo na rys. 10. Rezultaty te służyły do zasadniczogo obcinania drzewa wariantów poprzez

główna pętla w interpreterze

PROLOGu /

czy

to obliczenia typu PROLOG-^tai

znakowe wpisanie klauzuli z problemem do OUTPUTBUFFER Start procedury BVA1

Obliczenia poza PROLOGlem, w wyspecjal lizowanych językach.

Wynik przekazywany jest w standardzie PROLOGu J do INPUTBUFFER

koniec EV AL

odczytanie i parsing wyniku z INPUTB07FER.

Włączenie nowej

danej do programu w PROLOGu.

'czy

■'da się zunifikować tanie i odpowiedz

poprzez podstawiaiie realizowano Jest | rozpowszechnienie| ' wyników uzyskanych V odpowiedzi--- 1

Rys.i0. Organizacja interfaceó w Procees Control PROLOG.

Fig".

10- The interface organization in Procees Control PROLOG.

przeanalizowanie /w PROLOGu/ wyników^ n p . obrotu koparki o 30° /wyliczonych w PASOALui.

Ciekawe wyniki daje przeanalizowanie takiego systemu obliczeń z innego punktu widze- ala podanego na rys. 11. Okazało się, że w tego typu systemach oprogramowania można b. prosto podaój jak problemy rozpadają się na obliczeniowo niezależne podproblemy /z wariantami też niezależnymi/, jaki mają one charakter 1 Jakie jest ich powiązanie /drzewo wariantów/. Ogólnie system z rys. 11 pracuje w trybie (Jueation-Answer przed­

stawionym na rys. 12. Analizując rysunki 11 i 12 widać, że dla inteligentnych maszyn tego typu najdogodniejszy i najbardziej obiecujący Jest model sieciowy komputera.

”V B y ł to także temat pracy dyplomowej p. mgr inż. J Grabeklej -Cbraąstkowaklej realizowanej pod moim kierunkiem.

(10)

252

T. Szuba

Û

. PASCAL moduł licze­

nia kolizji

transformacje geometryczne I

liczenie trajektorii

program główny w PROLOGu

0 I i

1

LISP

rozumienie operatora, reakcja na proate polecenia

p arce r/ syn te-j parser/synter parser/synte-

tyzer, program tyzer, ; tyzer,

tłumacz I

inne możliwości do wykorzystania

^ T H R S S D moduł Kontaktii graficznego z operatorem

Rys. 11. Wielojęzykowa organizacja oprogramowania.

Fig1. 11. Multi-language software organization.

główna pętla w PROLOGu realizująca wnioskowanie

^ w głównej pętli sterowania procesem

\ pytanie ^ odpowiedz

odporzadkowane obliczenia

» PASCALU

pytanie odpowiedź

Rys. 12. Powiązanie oprogramowania poprzez Question-Answer pig-, il. QuestionrAnswer system-

gdzi. komputer jest układowo rozproszony w maszynie oraz występuje rozproszenie wyspecjalizowanych obliczeń w sieci.

(11)

Automatyczna synteza programu ..._____________________

253

3. Uzyskana rezultaty 1 wnioski■

Dla obrabiarki i systemu ż 2 manipulatorami udało się zbudować doświadczała* sya- tamy automatycznej syntezy programu. Przykłady rozwiązań podaje rye. 13, 14.

obejście bezkolizyjne

Rys.43. Przykłady zrealizowanej automatycznej syntezy programu, FijT. 43. The automatic program synthesis example,

Jest to przerysowany i uproszczony rysunek z plotters.

Rys. 14. Przykład automatycznej syntezy programu dla 2 robotów.

Fig. 14. The automatic program aynthesis erample for two robotę system.

narząd— .—

/wiertło/

X czma = 2 5 min.

syntezy programu . 30 sec.

/CYBER 72/

(12)

254

S. Szuba

Dla koparki system tego typu jest dopiero o racowywany. Generalnie trzeba powiedzieć^

że dla tego typu systemów potrzebne są komputery o b. dużej mocy obliczeniowej rzędu 150 MIPS'ów. Wymagają dużej mooy obliczeniowej nawet okrojone, uproszczone werBje symulujące pracę obrabiarki w trybie CAD/CAM. Aktualnie w oparciu o zbudowaną przez doc. Krzysztofa Zielińskiego sieć UMLAH-2 opracowywane są założenia dla komputera tego typu,u*a9l.tdn*ja,ce rozproszony model obliczeń. Jak się wydaje(jest to realnie możliwe w oparciu o dostępne na rynku karty z sytemnmi mikroprocesorowymi.

LITERATURA

[1] Clocksin W. P., Hellish C. S.i Programming ln PROLOG. Springer Verlag. 1981.

[2] Dauthine A., Goradin H.i Advanced software ln robotics. Horth-Holland. 1984.

00 Lozano-Perez T.i Automatic planning of manipulator transfer movements. IEEE Trans. Vol. SMC-11, October 1981.

[4] Szuba T., Gosciriski A.: Application of teorem proving methods for automatic program synthesis for N.C. machine tools. Angewandte Informatik. 5/1981.

{5] Szuba T.i PC-PROLOG for process control applications. Angewandte Informatik.

4/1984.

[60 Szuba T.i Automatic program synthesis system for H.C. machine tools based on FC-PROLOG. Angewandte Informatik. 6/1984.

[7] Szuba T.i PROLOG bb a real-time language for procesB control. Angewandte Informatik. 9/1984.

[e] Byrski W . , Karcżmarczuk J., Lubaszewski W., Stanek W., Szuba T.i Intelligent fully autonomous, numerically controlled digger. Report Version 1.0. Instytut Informatyki AGH.

[9] Szuba T.i The experimental system of automatic program synthesis for two concurrently working manipulators. Robote Systeme /RFN/, /w druku/.

ReconzentiProf.dr ini.H.Kowalowaki Wpłynęio do Redafcoji do 193&-04-50.

ABTCKATinSCKtlH C0HTE3 HPQTPAMM JPH HHTEMEBHTHHX P A E O W MAIMH

P e a » u •'

B noKaaue npenoTRBJieHH b

ccjibh

dbrhzs b pesynBTRTH paöOT wan; ohctr- isauH aas BBTOMaTHtieoKoro oHHTesa nporpaMUK paßora EHTejmreHTHHx KamnH. M m BKcnepHüöHTOB öuitE BHÖpeHH cmenyDEffle MamKHH: ctrhdk

0

6 cTeneaffltH OBOÖona, Oysynma otrhok oäopyuDBRH hbjuh isaHBnyjurropaHH, ehtsuhtöhtheiS sKOKaBaiop, HporpaKMHaa Hnaa oootoht b mhoposshkobom nouxone , rjo rshk HPOJüßT HonojQ-

3 OBRE IRK OOeUEHHnHB0 $QET0p.

(13)

Automatyczns synteza programu . 255

AUTOMATIC PROGRAM STKTHE3IS ?0R INTELLIGENT MACHINES

S u m m a r y

Paper presents researohes and results on automatic program syuteaala for Intelligent machines. As the target naohinea were selected: N.C.

machine tool with 6 degrees of freedom, future machine tool equiped with

2 robots, intelligent autonomous digger. The software idea is based on

the so called multl-programming-language approach. PROLOG is used as

the-binding agent.

Cytaty

Powiązane dokumenty

Spoglądając z różnych stron na przykład na boisko piłkarskie, możemy stwierdzić, że raz wydaje nam się bliżej nieokreślonym czworokątem, raz trapezem, a z lotu ptaka

Bywa, że każdy element zbioru A sparujemy z innym elementem zbioru B, ale być może w zbiorze B znajdują się dodatkowo elementy, które nie zostały dobrane w pary.. Jest to dobra

Następujące przestrzenie metryczne z metryką prostej euklidesowej są spójne dla dowolnych a, b ∈ R: odcinek otwarty (a, b), odcinek domknięty [a, b], domknięty jednostronnie [a,

nierozsądnie jest ustawić się dziobem żaglówki w stronę wiatru – wtedy na pewno nie popłyniemy we właściwą stronę – ale jak pokazuje teoria (i praktyka), rozwiązaniem

W przestrzeni dyskretnej w szczególności każdy jednopunktowy podzbiór jest otwarty – dla każdego punktu możemy więc znaleźć taką kulę, że nie ma w niej punktów innych niż

Zbiór liczb niewymiernych (ze zwykłą metryką %(x, y) = |x − y|) i zbiór wszystkich.. Formalnie:

też inne parametry algorytmu, często zamiast liczby wykonywanych operacji rozważa się rozmiar pamięci, której używa dany algorytm. Wówczas mówimy o złożoności pamięciowej;

„Kwantechizm, czyli klatka na ludzi”, mimo że poświęcona jest głównie teorii względności i mechanice kwantowej, nie jest kolejnym wcieleniem standardowych opowieści o