Pomary Automatyka Robotyka 10/2008 Dobór procesora sygnałowego w konstrukc regulatora optymalnego Marusz Pauluk Potr Bana Darusz Marchewka Mace Rosół W pracy przedstawono przegląd dostępnych obecne procesorów sygnałowych mkrokontrolerów oraz porównano ch moc oblczenową. Zaprezentowano problem optymalnego sterowana, który autorzy planuą zrealzować w wybranym procesorze. Przedstawono także wynk testów szybkośc wykonywana algorytmów dla wybranych procesorów. ykorzystane zaawansowanych algorytmów do sterowana on-lne wybranym obektam (procesam) wymaga znacznych mocy oblczenowych od ednostek wykonawczych. Zwązane est to z wykonywanem przez procesor złożonych procedur numerycznych, operuących w wększośc przypadków na lczbach zmennoprzecnkowych. O le dla procesów o wolne dynamce, dla których okres próbkowana można ustalć w grancach od klkudzesęcu do klkuset sekund, ne est to problem stotny, o tyle dla procesów szybszych wymagane są nawydanesze ednostk oblczenowe lub ch zestaw (klaster). Należy także zaznaczyć, że uzyskane nawet bardzo dobrych efektów na urządzenu o duże wydanośc lecz znacznych wymarach (newelke moblnośc), ne dae możlwośc późneszego wykorzystana użytego sprzętu ako docelowego sterownka. Dlatego też z punktu wdzena proektanta systemu sterowana stotne est, aby gotowe rozwązane ne tylko spełnało postawone przed nm zadana oblczenowe, ale równeż pozwalało na praktyczną realzacę w postac gotowego sterownka. W nnesze pracy autorzy podęl problem doboru procesora sygnałowego (Dgtal Sgnal Processor DSP), którego zadanem est sterowane modelem laboratorynym suwncy trówymarowe w sposób optymalny. Problem dotyczył ne tylko wyboru ednostk o ak nawększe mocy oblczenowe, ale równeż efektywnego e wykorzystana. Decyza o poszukwanu właścwe ednostk oblczenowe wśród procesorów DSP wynkała przede wszystkm z ch struktury wewnętrzne, a co za tym dze funkconalnośc, w szczególnośc zwązane z oblczenam numerycznym. Wybrane procesory DSP porównano w nnym, często wykorzystywanym procesoram takm, ak: Intel Core 2 Extreme, Intel Core Duo, ARM9 8051. dr nż. Marusz Pauluk, mgr nż. Potr Bana, dr nż. Darusz Marchewka, dr nż. Mace Rosół Katedra Automatyk, Akadema Górnczo- Hutncza, Kraków Wybór procesora sygnałowego Problem doboru optymalnego procesora sygnałowego może wydawać sę dość trudnym zadanem, uwzględnaąc ch powszechność lczbę dostępną na rynku. Jednym z bardze popularnych producentów tego typu procesorów są: Analog Devces, Motorola Texas Instruments. Za podstawowe krytera oceny mocy oblczenowe procesorów do celów realzac postawonego zadana przyęto: szerokość magstral danych archtekturę numeryczną lczbę wykonywanych nstrukc na sekundę (MIPS Mllons Instructons Per Second) lczbę wykonywanych operac zmennoprzecnkowych na sekundę (MFLOPS Mllons FLoatng pont Operatons Per Second) dotyczy procesorów zmennoprzecnkowych lczbę wykonywanych operac mnożena z operacą arytmetyczną na sekundę (MMAC Mllons of Multply-Accumulate Cycles). Wększość oferowanych procesorów sygnałowych zaproektowana est w prostsze archtekturze stałoprzecnkowe ( fxed pont), co oznacza, że ednostka arytmetyczno-logczna oraz układ mnożący operuą na lczbach zapsanych w naturalnym kodze bnarnym, kodze uzupełneń do dwóch (U2) lub formace ułamkowym ( fractonal). Bardze zaawansowane procesory sygnałowe maą archtekturę zmennoprzecnkową (floatng pont), czyl taką, w które każda lczba nterpretowana est w notac wykładncze, składaące sę z cechy mantysy. Przewaga te notac nad stałoprzecnkową wynka główne z dużo wększego zakresu lczb możlwych do zakodowana na te same lczbe btów, a także z mneszych błędów numerycznych powstałych podczas oblczeń na lczbach zakodowanych w tym formace. Ogólne rzecz umuąc, przykładowe ponższe trzy nstrukce w ęzyku C: a=1,67; b=3,24; c=a*b; komplator w procesorze zmennoprzecnkowym zakodue np. następuącym nstrukcam assemblera: 45
Pomary Automatyka Robotyka 10/2008 F0 = 1,67 ; wpsz do reestru F0 lczbę 1,67, F1 = 3,24 ; wpsz do reestru F1 lczbę 3,24, F2 = F0*F1 ; pomnóż zawartość reestrów F0 F1 wynk wstaw do F2. Powyższe nstrukce zostaną wykonane w trzech cyklach, podczas gdy w archtekturze stałoprzecnkowe komplator naperw odpowedno zakodue lczby 1,67 3,24, następne wywoła funkcę z bblotek realzuącą operacę mnożena na lczbach w formace zmennoprzecnkowym, a następne wartość zwróconą przez funkcę mnożącą wstaw do reestru F2. Zame to oczywśce znaczne węce czasu, ak równeż mesca w pamęc programu. Obecne dostępne są procesory sygnałowe o następuących szerokoścach magstral danych: 16, 24, 32 64 bty. Występuące w nch układy mnożące arytmetyczno-logczne mogą dysponować reestram o neco wększe szerokośc, aby zapewnć wększą precyzę oblczeń. Przykładowo, procesory ser SHARC frmy Analog Devces maą 32-btową magstralę danych, ale szerokość reestrów do oblczeń wynos 40 btów. Procesor TMS320C6727B frmy Texas Instruments ma 64-btowe reestry ogólnego zastosowana do komunkac z wewnętrzną pamęcą. Szerokość magstral do komunkac z zewnętrznym pamęcam danych wynos 32 bty. Moc oblczenowa ednostek procesorowych podae sę w MIPS-ach, a eżel procesor est zmennoprzecnkowy w MFLOPS-ach oraz dla procesorów sygnałowych podae sę dodatkowo lczbę operac typu MMAC. Operaca ta est wykorzystywana mędzy nnym w algorytmach fltrac cyfrowe, a także w analze częstotlwoścowe przetwarzanych sygnałów. W opsywanym proekce wstępne zdecydowano, że ednostką centralną proektowanego superszybkego sterownka będze zmennoprzecnkowy procesor sygnałowy. Tab. 1 przedstawa proste porównane parametrów wybranych procesorów mkrokontrolerów. Na potrzeby testów wybrano dwa procesory frmy Analog Tab. 1. Zestawene mocy oblczenowe wybranych procesorów Devces: ADSP21065L oraz ADSP21369. Obydwa układy są ednostkam zmennoprzecnkowym, o 32-btowe szerokośc magstral danych. Zgodne z parametram podanym w tab. 1, ADSP21369 est ponad dzesęcokrotne szybszy od ADSP21065L. Przy wyborze procesorów kerowano sę równeż parametram charakteryzuącym moc oblczenową, ceną wybranych ednostek oraz ch dostępnoścą. Jednostka ADSP21369 est naszybszym ze znanych autorom 32-btowych procesorów sygnałowych. Obekt sterowany Procesor Archtek. Moc oblczenowa (max) Cena (PLN) 1) Intel Core 2 Extreme QX6700 2) 64bt 15 868 MFLOPS 3000 Intel Core 2 Extreme X68001 2) 64bt 8 730 MFLOPS 3200 Intel Core Duo T24001 2) 64 bt 5 082 MFLOPS 860 Intel Pentum M 7601 2) 64 bt 2 802 MFLOPS 950 Analog Devces ADSP-21369 3) 32 bt 2 400 MFLOPS 140 TI TMS320C6727B 4) 32/64 bt 2800 MIPS/2100 MFLOPS 85 Analog Devces ADSP-21065L2 3) 32 bt 198 MFLOPS 180 ARM9 Atmel AT91SAM92603 4) 32 bt 210 MIPS 57 Motorola DSP56L307 5) 24 bt 160 MIPS 76 8051 Atmel AT89C51RC2 6) 8 bt 5 MIPS 30 8051 Analog Devces ADuC831 3) 8 bt 1,3 MIPS 16 1) Ceny brutto (uwzględnaą 22 % VAT) z dna 5.03.2008 r. Użyty przelcznk: USD = 2,3 PLN 2) Wynk testów opublkowane przez magazyn Chp http://rankng.chp.pl/ 3) Na podstawe www.analog.com 4) Na podstawe www.t.com 5) Na podstawe materałów udostępnonych przez frmę Motorola materały elektronczne dsp56l307ds.pdf 6) Źródła własne Ponże zaprezentowano w skrócone forme model matematyczny laboratoryne suwncy ramowe. Jednakże est on w pełn wystarczaący, aby porównać ocenć stopeń złożonośc przedstawonych oblczeń numerycznych. Szczegółowa analza dynamk suwncy znadue sę np. w [4]. Założono, że suwnca przemeszcza ładunek w układze kartezańskm o współrzędnych x, y z. Podnoszene lub opuszczane ładunku odbywa sę wzdłuż szyna x N 1 wózek x 5 z x 7 N 3 N 2 cężar Rys. 1. Model suwncy z zaznaczonym słam dzałaącym w układze we współrzędnych kartezańskch kerunku z. Sterowane suwncą odbywa sę oddzelne wzdłuż kerunków os: x, y z. Są to sterowana oznaczone: u 1, u 2 u 3. Położene wózka w płaszczyźne xy określaą odpowedno zmenne: x 1 x 3, a odchylena kątowe zaweszonego ładunku zmenne stanu: x 5 x 7 (rys. 1). Długość lnk określa zmenna x 9. Zmenne stanu o ndeksach parzystych to pochodne (prędkośc) poprzedzaących e welkośc, np. x 2 określa prędkość wózka w kerunku os x, a x 10 prędkość podnoszena lub opuszczana ładunku td. y 46
Pomary Automatyka Robotyka 10/2008 Założono, że tarce knematyczne (współczynnk: k 1, k 2 k 3 ) występuące w układze est proporconalne do odpowedne składowe prędkośc. Składowe wypadkowych sł steruących można zatem opsać następuąco: N 1 =u 1 k 1 x 2, N 2 =u 2 k 2 x 4, N 3 =u 3 k 3 x 10 Następuący układ dzesęcu nelnowych równań różnczkowych opsue zachowane suwncy: ẋ 1=x 2 ẋ 2=N 1 +m 1 c 5 N 3 ẋ 3=x 4 ẋ 4=N 2 +m 2 s 5 s 7 N 3 ẋ 5 =x 6 ẋ 6=(s 5 N 1 c 5 s 7 N 2 +(m 1 m 2 s 7 2 )c 5 s 5 N 3 +V 5 )/x 9 ẋ 7=x 8 ẋ 8= (c 7 N 2 +m 2 s 5 c 7 s 7 N 3 +V 6 )/(s 5 x 9 ) osągnęca zadanego stanu końcowego S 0 (u,t)=0 ze stałym horyzontem czasowym TÎ[0, [. Czas mnmalny otrzymue sę metodą przeszukwań poprzez stopnowe zmneszane wartośc horyzontu aż do wystąpena sytuac, w które ne można osągnąć stanu końcowego. Namnesza wartość horyzontu czasowego, przy którym system osąga stan końcowy, est ednocześne rozwązanem optymalnoczasowym (rys. 3). Z zasady maksmum wynka, że sterowane będące rozwązanem tego problemu, ma charakter typu bang- -bang, przy założenu, że problem ne zawera osoblwośc. Sterowane bang-bang opsane est przez wartość początkową u 0 ÎR 3 taką, że u 0 Î{u mn, u max } dla =1,2,3, przez rosnącą, co do wartośc czasu, sekwencę przełą- czeń t=( t ) Ì[0, ] dla każde składowe u (rys. 2). =m =1 ẋ 9=x 10 ẋ 10= c 5 N 1 s 5 s 7 N 2 (1+m 1 c 5 s 5 2 +m 2 s 5 2 s 7 2 )N 3 +V 7 (1) gdze: s ºsn x, c ºcos x, =5,7, m 1 m 2 są współczynnkam skaluącym, określonym przez masy szyny, wózka ładunku, a V 5, V 6 V 7 określaą nelnowe funkce trygonometryczne: V 5 = c 5 s 5 x 8 2 x 9 2x 10 x 6 +gc 5 c 7 V 6 = 2x 8 (c 5 x 6 x 9 +s 5 x 10 )+gs 7 V 7 = s 5 2 x 8 2 x 9 +gs 5 c 7 +x 6 2 x 9 Problem optymalnego sterowana Równana (1) można przedstawć w macerzowe postac: ẋ (t)=f(x(t), u(t))=f 0 (x(t))+f 1 (x(t))u(t) (2) gdze x(t)îr 10 est wektorem stanu, a u(t)îr 3 est wektorem sterowana. Określony est stan początkowy systemu: x(0)=x 0 oraz stan końcowy: x f. Zbór dopuszczalnych sterowań składa sę z funkc przedzałam cągłych u:[0, [ R3 takch, że: u 1 (t)î[u mn, u max ], =1, 2, 3. Rys. 2. Przykładowe sterowane: parametry m 1, m 2, m 3 są równe 5 Wskaźnk akośc problemu optymalnoczasowego można przedstawć w postac: (3) Parametr przymue wartośc dodatne. Sterowane u est optymalnoczasowe, eżel T est mnmalne, a system osągne stan końcowy S 0 (u,t)=0. Mnmalzowany wskaźnk akośc (3) est funkconałem uzależnonym od stanu końcowego: x f oraz czasu, w którym osągany est stan końcowy T. Problem optymalnoczasowy czyl problem określena take sekwenc sterowań, przy które system osąga stan końcowy w nakrótszym możlwym czase est zamenany na problem pomocnczy, t. na sekwencę problemów Rys. 3. Przykładowe rozwązana problemów pomocnczych Parametr m, którego wartość ustala sę ntucyne na początku algorytmu, określa lczbę przełączeń. Zbyt mała wartość parametru m powodue, że system ne osąga stanu końcowego dla żadne wartośc T. Zbyt duża wartość tego parametru spowodue edyne, że część czasów przełączeń (nadmarowych) po mnmalzac będze leżeć bardzo blsko sebe. 47
Pomary Automatyka Robotyka 10/2008 Tak węc, sterowane u(t) w omawanym probleme można przedstawć ako funkcę u(t, t, u 0 ), gdze t=(t 1, t 2, t 3 ) (rys. 2). Funkconał S (u(.; t,u 0 ), T) ogranczony do sterowań typu bang-bang oznaczono przez: S (t, u 0, T) gdze t est skończoną sekwencą tróek o wartoścach rosnących nezależne dla każde składowe trók należących do przedzału [0, T]. Równana sprzężone dla problemu pomocnczego opsane są ako: ẏ= x f( x, u) y (4) ze stanem końcowym równym: y(t)=q(x f x(t)) Antygradent wskaźnka akośc S dla problemu pomocnczego, ze względu na sterowane wynos: rozwązane układu równań sprzężonych (4) metodą Rungego-Kutty czwartego rzędu wylczene funkc przełączeń antygradentu (5) wylczene gradentu wskaźnka akośc względem sterowana: S t t (, u0, T) (6) proste przesunęce czasów przełączeń zgodne z kerunkem wyznaczonym przez (6). Tab. 2 przedstawa otrzymane wynk dla poszczególnych fragmentów algorytmu rozwązuącego problem pomocnczy (rys. 4). START Określene m,τ, T, dokład., mnmal = 0, l_ker = 0 Wylczene: x(t), ψ(t), S, grad τs Określene kerunku poprawy l_ker++ Mnmalzaca wskaźnka akośc, np. metodą aproksymac funkcą kwadratową T 1 gt () = S( ut, ) = y() t f( xt ()) u t (5) Antygradent określany est też manem funkc przełączeń ze względu na fakt, że ego wartość określa znak sterowana: odpowedno u mn lub u max, dla którego Hamltonan [2, 5] osąga wartość maksymalną. Wynka to wprost z defnc: H( y( t), x( t), u( t)) = y T f( x( t), u( t) Po uwzględnenu, że równana systemu maą afnczną postać ze względu na sterowane, Hamltonan można wyrazć ako: Tak Wylczene x(t) Wylczene S mnmal++ l_ker < 30 & S >dokład. mnmal<10 & S >dokład. KONIEC Rys. 4. Algorytm rozwązana problemu pomocnczego Ne Ne Tak Wzór na pochodną wskaźnka akośc ze względu na czasy przełączeń t=( t =m ) =1 [0, [, gdze =1,2,3 podano np. w [6, 7, 8] wynos ona: T 1 S = + τ ( t, u0, T) y( t) f ( x( t))( u( t ) u( t )) (6) S ( t, u, T) = g ( t )( u( t + ) u( t )) τ 0 Założono, że: mnmalzaca na kerunku wykonywana będze maksymalne 10 razy wyznaczane nowego kerunku mnmalzac wylczane będze maksymalne 30 razy czas problemu pomocnczego T = 5 s krok metody Rungego-Kutty 0,01 s. Przy takch założenach, oraz po uwzględnenu danych z tab. 2 oszacowano czas potrzebny na rozwązane problemu pomocnczego (rys. 4): Procesor ADSP21065L 31 s Procesor ADSP21369 1,98 s. Implementaca problemu sterowana w procesorach sygnałowych W celu oszacowana możlwośc rozwązana problemu optymalnego sterowana przez procesor sygnałowy, zamplementowano w obu ednostkach: ADSP21065L ADSP21369 następuące programy: rozwązane układu równań (1) metodą Rungego-Kutty (RK) czwartego rzędu Tab. 2. Wynk testów mocy oblczenowe procesorów DSP Funkca ADSP21065L ADSP21369 Jeden krok metody RK oblczaące 13252 cykl (200 µs) 4555 cykl (11,4 µs) równana (1) Jeden krok metody RK oblczaące 26757 cykl (401 µs) 8293 cykl (20,7 µs) równana sprzężone (4) Jeden punkt funkc przełączeń (5) 1413 cykl (21 µs) 563 cykl (1,4 µs) Gradent wskaźnka akośc dla ednego 899 cykl (13,5 µs) 276 cykl (0,7 µs) czasu przełączena (6) Wykonane ednego kroku algorytmu optymalzuącego czasy przełączeń sterowana 21469 cykl (322 µs) 5830 cykl (14 µs) 48
Pomary Automatyka Robotyka 10/2008 Wnosk Wynk przeprowadzonych badań pokazuą, że procesor ADSP21065L est mało przydatny w rozwązanu on-lne tak skomplkowanego problemu. Procesor ten rozwązue 5-sekundowy problem regulac w czase równym ok. 31 s. W praktyce ne nadae sę do zastosowana ako regulator dzałaący w czase rzeczywstym. Dużo lepsze wynk osągnął procesor ADSP21369. Ten sam problem rozwązywany est w czase ok. 2 s. Z danych techncznych opublkowanych przez producenta wynka, że stosunek mocy oblczenowe (w optymalnych warunkach) obu procesorów ma sę ak 1:12. W praktyczne aplkac relaca ta est gorsza wynos ok. 1:15. Wynka to z mnesze pamęc wewnętrzne procesora ADSP21065L w porównanu z procesorem ADSP21369. Program umeszczony w wewnętrzne pamęc wykonywany est dwa razy szybce nż program umeszczony w zewnętrzne pamęc. W testowanym probleme procesor ADSP21065L wększą część programu umeszczał w zewnętrzne pamęc, podczas gdy drug z badanych procesorów prawe cały program zmeścł w częśc wewnętrzne. Uzyskana w eksperymentach moc oblczenowa procesora AD- SP21369 stwarza szansę na zrealzowane w czase rzeczywstym strateg czasooptymalne nnych strateg sterowana optymalnego na baze schematu sterowana predykcynego. Sterowane predykcyne stanow obecne edną z newelu, a w pewnych przypadkach edyną, z unwersalnych metod sterowana systemam nelnowym w czase rzeczywstym [1, 3]. Bblografa 1. Bana P.: Czy sterowane predykcyne wymaga dokładne optymalzac. Automatyka, Wyd. AGH, Kraków, 2006. 2. Góreck H.: Optymalzaca systemów dynamcznych, Wydawnctwo Naukowe PWN, Warszawa, 1993. 3. Mayne D. Q., Rawlngs J. B., Rao C. V., Scokaert P. O.: Constraned model predctve control: Stablty and optmalty. Automatca 36, 2000. 4. Pauluk M.: Model matematyczny trówymarowe suwncy, Automatyka, tom 6, zeszyt 1, s. 69 102, Wyd. AGH, Kraków, 2002. 5. Pułaczewsk J., Szacka K., Mantus A.: Zasady automatyk, WNT, Warszawa, 1974. 6. Srsena H. R.: A gradent method for computng optmal bang-bang control. Int. J. Contr., 19, 1974, s. 257 264. 7. Szymkat M., Korytowsk A.: Evoluton of structure for drect control optmzaton. Dscussones Mathematcae Dfferental Inclusons, Control and Optmzaton 27, 2007, pp. 165 193. 8. Szymkat M., Korytowsk A., Turnau A.: Varable control parameterzaton for tme-optmal problems. IFAC CACSD 2000 Conference, Salford. 49