Συστήματα Ελέγχου με Μικροϋπολογιστές (h9p://courseware.mech.ntua.gr/ml23259/) Κων/νος Ι. Κυριακόπουλος Καθηγητής ΕΜΠ (h9p://users.ntua.gr/kkyria/) Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 1
Δομή της Ύλης του Μαθήματος Θεωρία (7) Βέλτιστος Έλεγχος (6) Εκτίμηση Κατάστασης το Φίλτρο KALMAN (1) Εισαγωγή στην Υλοποίηση Συστημάτων Ελέγχου (7) Ενσωματωμένα Συστήματα (2) Γλώσσα C (4) Προγραμματισμός Ενσωματωμένων Συστημάτων & Εργαστήριο (1) Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 2
Βέλτιστος Έλεγχος Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 3
Εισαγωγή στο Βέλτιστο Έλεγχο Παρουσίαση της δοµής ενός γενικευµένου προβλήµατος βελτίστου ελέγχου Εξειδίκευση στο πρόβληµα τετραγωνικού ρυθµιστή για ΓΧΑΣ Εισαγωγή στο Λογισµό των µεταβολών Η στατική βελτιστοποίηση ως πρόβληµα βελτιστοποπίηση πεπερασµένης διάστασης Λογισµός των µεταβολών Το πρόβληµα ελάχιστης ενέργειας. Ο Γραµµικός Τετραγωνικός Ρυθµιστής. Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 4
Παράδειγμα Βελτίστου Ελέγχου Οριζόντια Κίνηση «Πυραύλου» hrust: u mass: x 3 velocity: x 2 posi)on: x 1 Ανισοτικός Περιορισμός: H ώθηση είναι φραγμένη Ισοτικός Περιορισμός: Το μοντέλλο κίνησης του!x πυραύλου 1 x 2!x 2!x 3 = Αρχικές Τελικές Συνθήκες:!s!υ!m = 1 u 1 x 3 2 Aρc x 2 w 2 α u [ ] u Ω = 0,F max = s a υ a m a x 0 Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 5 x t f = s b υ b free
Παράδειγμα Βελτίστου Ελέγχου Οριζόντια Κίνηση «Πυραύλου» mass: x 3 hrust: u velocity: x2 posi)on: x1 Το πρόβλημα του Βελτίστου Ελέγχου: Να ευρεθεί η (κατά τμήματα συνεχής) συνάρτηση της ώθησης u : 0,t f [ 0, F max ] που ικανοποιεί όλους τους περιορισμούς, ισοτικούς- ανισοτικούς- αρχικούς- τελικούς, και ελαχιστοποιεί την κατανάλωση t καυσίμου: J (u ) = u (t ) dt f 0 Εναλλακτικά, αλλά ισοδύναμα, θα μπορούσε να χρησιμοποιηθεί Γιατί το J εξαρτάται μόνο το απο το κριτήριο J ( u ) = x 3 ( t f ) x= s υ m το u ενώ εμπεριέχει μόνο το x3(tf)? Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 6
Το Πρόβλημα του Βελτίστου Ελέγχου Στην πιο γενική περίπτωση, θεωρούµε τη ΔΕ που περιγράφει την δυναµική της εγκατάστασης Εισάγουµε την έννοια του Δείκτη Απόδωσης (performance index) ή Συνάρτησης Κόστους (cost function) ή Αντικειµενικής Συνάρτησης (objective function) η οποία πρέπει να ελαχιστοποιηθεί: Η «Συνάρτηση Απώλειας» (Loss Function) αντιπροσωπεύει κάποια ποινή που: Εξαρτάται από τη κατάσταση, την είσοδο ή από συνδυασµό τους, και Αναφορικα µε το χρόνο, είναι στατική ή χρονικά εξαρτώµενη. Παραδείγµατα: L x( t),u( t),t = 1 : ελαχιστοποίηση χρόνου, L x( t),u( t),t = u 2 ( t) : ελαχιστοποίηση ενέργειας, L x( t),u( t),t = u( t) : ελαχιστοποίηση καυσίµου Μπορεί να υπάρχουν και περιορισµοί (constraints) που συνδέουν είτε τη κατάσταση, είτε την είσοδο ή και τις 2, συνδυασµένα. Μπορεί να είναι : Ισοτικοί D( x( t), u( t), t) = 0 t t0, t f Ανισοτικοί C x( t) u( t) t t t t 0,, 0, f L x t, u t, t Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 7
Το Πρόβλημα του Βελτίστου Ελέγχου Κατά συνέπεια, το πρόβληµα βελτιστοποιήσεως έγγυται στην ανεύρεση εκείνης της συνάρτησης εισόδου u(t) t [t 0,t f ] η οποία : u * (t) Ελαχιστοποιεί (min) την αντικειµενική συνάρτηση J(u) και Υπόκειται (subject to s.t.) σε περιορισµούς : τόσο κατάστασης-εισόδου (ισοτικοί/ανισοτικοί) όσο και αυτούς που εισάγει η ΔΕ της δυναµικής του συστήµατος Αυτό το πρόβληµα βελτιστοποίησης εφράζεται µαθηµατικά ως min u J u Η προκύπτουσα ελαχιστοποιούσα συνάρτηση συµβολίζεται ως u (t) t [t 0,t f ] Προφανώς αυτή η βέλτιστη συνάρτηση εισόδου u (t) t [t 0,t f ], όταν εισαχθεί στη ΔΕ της δυναµικής του συστήµατος και αυτή συνεπώς επιλυθεί, οδηγεί στη βέλτιστη πορεία x (t) t [t 0,t f ], x (t 0 )=x 0 του συστήµατος! = 0 = 0 x 0 st.. x f x, u, t x t x D x t, u t, t = 0 C x t, u t, t 0 x * (t) Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 8
Το Πρόβλημα του Βελτίστου Ελέγχου Το προηγούµενο γενικευµένο πρόβληµα µπορεί να αναχθεί σε απλούστερες µορφές όπου π.χ. το σύστηµα είναι γραµµικό ή οι ισοτικοί /ανισοτικοί περιορισµοί είναι απλά φράγµατα της κατάστασης ή της εισόδου κλπ. Σε αυτό το µάθηµα θα δοθεί έµφαση (αλλά όχι αποκλειστικότητα) σε µία από τις απλούστερες δυνατές µορφές, όπου: Το σύστηµα είναι ΓΧΑΣ Δεν υπάρχουν ισοτικοί / ανισοτικοί περιορισµοί εισόδων-καταστάσεων, και Η αντικειµενική συνάρτηση είναι τετραγωνική Ό όρος τεραγωνική πηγάζει από το ότι τόσο η Loss Function όσο και το τελικό κόστος είναι τετραγωνικοί όροι Παρατηρούµε ότι: Η Loss Function επιβαρύνει «µεγάλες καταστάσεις» και µεγάλη «κατανάλωση ενέργειας» Το τελικό κόστος επιβαρύνει την απόκλιση από τη µηδενική κατάσταση Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 9
min X s.t. = 0 0 J X Εισαγωγή στο Λογισμό των Μεταβολών Βελτιστοποίηση Βελτιστοποίηση πεπερασµένης διάστασης άπειρης διάστασης G X (δηλ. Χ R d ) (δηλ. u(t) t [t 0,t f ] ) F X Η επίλυση των διατυπωθέντων προβληµάτων βελτίστου ελέγχου απαιτεί τη χρήση εννοιών πέρα της κλασσικής θεωρίας (στατικής) βελτιστοποίησης. Θα εισαχθούν έννοιες από τη περιοχή του Λογισµού των Μεταβολών (Calculus of Variations). Προφανώς, δεδοµένου ότι η εδώ παρουσίαση θα είναι εισαγωγική ( light ) θα την δούµε απλοποιηµένα θεωρώντας τα εξης: Όλες οι συναρτήσεις που ορίζονται εδώ έχουν συνεχείς µερικές παραγώγους, σε όλο το πεδίο ορισµού τους, ως πρός όλες τις µεταβλητές τους (εκτός αν ξεκάθαρα ορίζεται το αντίθετο), και Το πρόβληµα βελτιστοποίσης ορίζεται εδώ στην συνολική (global) µορφή του και δεν υπάρχουν ανισοτικοί περιορισµοί που το περιορίζουν. min u J u st.. x! = f x, u, t x t = x D x t, u t, t = 0 C x t, u t, t 0 0 0 Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 10
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις d Θεωρούµε τη συνάρτηση f :!! την οποία θέλουµε να d ελαχιστοποιήσουµε σε όλο το πεδίο ορισµού της z!, δηλαδή ψάχνουµε : Την ελάχιστη τιµή της συνάρτησης : min d f ( z), και z! Το σηµείο του πεδίου ορισµού που επιτυγχάνεται η ελαχιστοποίηση: z = arg min d f ( z) z! Αναζητούµε τις αναγκαίες συνθήκες ώστε το z* να ελαχιστοπoιεί την f (z). Προφανώς: ( ) f ( z ) υ! d, υ 0 f z + υ > Δηλαδή η κατευθυνόµενη πάραγωγος (directional derivative) της f (z) στο z*, ώς προς την κατεύθυνση του υ, είναι µηδενική που σηµαίνει ότι... f(z * +υ) f(z * f(z ) * +υ) f(z * ) z * +υ z * +υ z Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ * z * 11
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις ( + ε υ) f z f z f ( z ) υ = lim 0 + ε f ( z ± ε υ) > f ( z ) ε > 0 f ( z f ( z ε υ) f ( z ) f ( z ) ( υ) = f ( z ) υ = lim 0 + ε 0 ε Τ f ( z + ε υ) f ( z ) f ( z ) υ = lim 0 + ε 0 ε f ( z ) υ = 0 Τ Τ f ( z ε υ) f ( z ) f ( z ) ( υ) = f ( z ) υ = lim 0 + ε 0 ε ε 0 ) z + ε υ f z 0 ε f ( z ) υ 0 Τ f ( z ) υ = 0 f ( z ε υ f ) f( z( z) υ 0 ) = lim 0 + ε 0 ε f(z * +υ) f(z * ) z * +υ z * 0 Επειδή αυτό ισχύει για κάθε υ, τότε f z = Όλα τα σηµεία z* που ικανοποιούν αυτή τη σχέση λέγοντα «κρίσιµα σηµεία». Αν ένα σηµείο z* ελαχιστοπoιεί την f (z) τότε είναι και κρίσιµο σηµείο της. o «αντίστροφο»? Θέλει συζήτηση... Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 12
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις Ένα κρίσιµο σηµείο µίας συνάρτησης ΔΕΝ την ελαχιστοποιεί όµως αναγκαστικά π.χ.: [ ] [ ] 2 2 ü f. z = z1 + z2 2 f z = z1 z2 z = 0 0 το µοναδικό κρίσιµο σηµείο ΔΕΝ ελαχιστοποιεί τη συνάρτηση ΑΛΛΑ... την µεγιστοποιεί. z * [ ] [ ] 2 2 ü f. z = z1 z2 2 f z = z1 z 2 z = 0 0 το µοναδικό κρίσιµο σηµείο ΔΕΝ ελαχιστοποιεί τη συνάρτηση ΑΛΛΑ είναι «σηµείο σάγµατος». Η εξαγωγή συµπερασµάτων για το είδος του κρίσιµου σηµείου απαιτεί την θεώριση της 2 ης παραγώγου (Hessian). z * Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 13
Μιά Ειδική Περίπτωση Έστω η συνάρτηση f ( z) = 1 όπου,, 2 z Qz + S z z R 2 Q = Q = q 12 q 22 και S = s 1 s 2. Για τα κρίσιμα σημεία f ( z) = 0 Qz + S = 0 z = Q 1 S H Hessian είναι 2 f z = Q. Άρα για τα κρίσιμα σημεία z * έχουμε: Αντιστοιχούν σε ελάχιστα αν: 2 f(z) > 0 Q > 0 (o πίνακας Q είναι θετικά ορισμένος (Posi ve Definite - pd) Αντιστοιχούν σε μεγιστα άν: 2 f(z) < 0 Q < 0 (o πίνακας Q είναι αρνητικά ορισμένος (Nega ve Definite - nd) q 11 q 12 Αντιστοιχούν σε σημεία σάγματος αν: 2 f(z) (δηλ. ο πίνακας Q) είναι ακαθόριστος (Indefinite id). Αντιστοιχούν σε ιδιόμορφα σημεία αν: 2 f(z) =0 (δηλ. Q = 0) χρήζει περαιτέρω ανάλυσης για να καθορισθεί η «φύση» του κρίσιμου σημείου). Αν δέν έχουμε περίπτωση ιδιομορφίας τότε μπορούμε να έχουμε = 1 2 z Qz + S z f z z = Q 1 S Q( Q 1 S) + S ( Q 1 S) = 1 2 S QS Γιατί? = 1 2 Q 1 S Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 14
Παράδειγμα Έστω η περίπτωση όπου Q = Q = 1 2 Τότε επειδή Q > 0 (γιατί?) το ακρότατο z = Q 1 S = 1 1 1 2 αντιστοιχεί σε ελάχιστο, = 1 2 και f z Οι ισοϋψείς της f(z) έχουν τη 1 1 μορφή ελλείψεων. Τα «βέλη» δείχνουν την κατεύθυνση 1 της κλισης f ( z) = Qz + S στο αντιστοιχο σημείο και είναι κάθετα στις ισοϋψείς. 0 1 = 0 1 S = 0 1 Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 15
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις Όπως είδαµε από τα προηγούµενα παραδείγµατα, η εξαγωγή συµπεράσµατος για το είδος του κρίσιµου σηµείου έγινε µέσω της 2 ης παραγώγου (Hessian). d Εναλλακτικά: Μιά συνάρτηση f :!! λέµε ότι είναι : d κυρτή (convex) άν f ( z+ υ) f ( z) f ( z) υ z, υ! αυστηρά κυρτή (strictly convex) άν είναι κυρτή και ισχύει f ( z υ) f ( z) f ( z) υ υ 0 + = =! d f(z)+ f(z) υ f(z+υ) f(z) z+υ υ z f(z ) υ z z +υ f(z +υ )=f(z )+ f(z ) υ f(z ) 0 Έστω z* κρίσιµο σηµείο της αυστηρά κυρτής f (z) δηλαδή f z =. d Εποµένως f z υ f z f z υ υ f z υ f z υ + > = 0 0! + > 0! Συµπέρασµα: Ένα κρίσιµο σηµείο z* µιάς αυστηρά κυρτής συνάρτησης f (z) την ελαχιστοποιεί, δηλαδή z = arg min d f ( z) z! d 16
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις & Ισοτικοί Περιορισμοί Τι θα γίνει όμως αν μας ζητηθεί να ελαχιστοποιήσουμε ως προς το z R 2 την f ( z) = 1 2 z Qz + S z Q = Q 1 1 = 1 2 S = 0 1 με ταυτόχρονη ικανοποίηση της g( z) = c z b = 0 c = 1 0 b = 3 Δηλαδή, αν στο πρόβλημα της βελτιστοποίησης μιάς συνάρτησης f (z) συμπεριληφθούν και n ισοτικοί περιορισμοί της μορφής g i (z)=0 i=1,,n τότε το μαθηματικό πρόβλημα βελτιστοποίησης γίνεται: min f ( z) gn ( z) Προφανως ο αριθμός των περιορισμών πρέπει να είμαι μικρότερος από αυτόν της διάστασης του προβηματος ( n < d ) γιατί αλλοιώς το πρόβλημα υπερπεριορίζεται, επειδή ο δυνατός χώρος (feasible space), δηλ. o χώρος που ικανοποιεί την G(z)=0, εκφυλίζεται σε ένα ή και κανένα σημείο. Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 17 z st g1 g! ( z) ( z) 2. G z = = 0
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις & Ισοτικοί Περιορισμοί Αντιµετωπίζουµε το πρόβληµα : min z st ως εξής: gn ( z) Εισάγουµε διάνυσµα πολλαπλασιαστών Lagrange λ = [ λ διαστάσεως 1 λ2! λ n ] n, ίδιας δηλαδή µε του G(z), του διανύσµατος ισοτικών περιορισµών. Σχηµατίζουµε τη συνάρτηση! f ( z) = f ( z) + λ G( z) = f ( z) + λ1g1( z) + " λngn( z) Έστω ότι ελαχιστοποιήσουµε την!f z δηλαδή βρούµε Έστω z z* που ικανοποιεί τους ισοτικούς περιορισµούς, δηλαδή : G(z) = G(z*) τότε λ R n ισχύει: ( z) ( z) ( z) 2. G z = = 0 f g1 g! " " " z = arg min d f z f z > f z z z z! = + λ = f ( z) λ G( z) f ( z ) λ G( z ) f z f z f z f z G z G z! = + + = =! f z! f z > 0 Αν το z* ελαχιστοποιεί την f z, τότε ελαχιστοποιεί και την f z για αυτά τα z που ανήκουν στο σύνολο των σημείων z όπου ισχύει G(z) = G(z*). Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 18
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις & Ισοτικοί Περιορισμοί Αν το z* ελαχιστοποιεί την! d f ( z) τότε f z =.. Το αντίστροφο ισχύει µόνο αν η! f ( z) είναι κυρτή, κάτι που εξαρτάται και από το λ! n. n Επίσης, για να ισχύει η εξίσωση ισοτικών περιορισµών, πρέπει G z =!. Αυτές οι d+n εξισώσεις οδηγούν στην λύση ( z, λ ) των d+n αγνώστων. Επιστροφή στο παράδειγµα: ελαχιστοποίηση της f ( z) = ( 1 2)z Qz + S z όπου Q = Q 1 1 = και 1 2 S = 0 1 g( z) = c z b = 0 c = 1 0 b = 3 Σχηµατίζουµε την!f ( z) = f ( z) + λ Τ g( z) = 1 και µε 2 z Qz + S z + λ ( c z b) µερική παραγώγιση λαµβάνουµε τις: d εξισώσεις:! z f ( z) = Qz + S + c λ = 0 z = Q 1 S + c λ n εξισώσεις:! λ f z Οπότε z = 3 2 = c z b = 0 0! " z = Q 1 S c c c 0 1 ( c Q 1 S + b) c Q 1 ( S + c λ ) b = 0 λ = ( c c ) 1 ( c Q 1 S + b) Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 19
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις & Ισοτικοί Περιορισμοί Οι ισοϋψείς είναι μορφής ελλειπτικής. Ο ισοτικός περιορισμός είναι η κατα κόρυφη γραμμή... Το κρίσιμο σημείο z* είναι το σημειο επαφής. Γενικά, για να εξασφαλιστεί η ελαχιστοποίση η! f ( z) πρέπει να είναι κυρτή για λ = λ Πως ελέγχεται όμως αυτό? Γενικά, το βασικό εργαλείο είναι η χρήση παραγώγων 2 ης Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 20 τάξης (Hessian). Όμως
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις & Ισοτικοί Περιορισμοί Ανάλυση Κυρτότητας ( Convexity Analysis) σε ειδικές περιπτώσεις: Αν ο ισοτικός περιορισμός είναι γραμμικός, δηλαδή : G( z) = C z e= 0 τότε η παραγώγιση της! f ( z) ως προς z οδηγεί στην G! f ( z) = f ( z) + λ ( z) = f ( z) + λ C z Αν λοιπόν η f (z) είναι «αυστηρά κυρτή» τότε : { }! f z+ υ! f z = f z+ υ + λ C z+ υ e f z + λ C z e = = f z+ υ f z + λ C υ f z υ+ λ C υ =!( ) = f z + λ C υ = f z υ Ισότητα µόνο όταν υ =0 Επειδή η f (z) είναι «αυστηρά κυρτή», η ανισότητα ισχύει σαν ισότητα μόνο όταν υ = 0 : αυστηρά κυρτή Η γενικώτερη ανάλυση με χρήση Hessian είναι πέραν αυτού του μαθήματος.. Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 21
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις Τετραγωνικός Προγραμματισμός Έστω το πρόβληµα ελαχιστοποίησης: Είναι η f (z) αυστηρά κυρτή? min z 1 2 z Qz + S z s.t. G z = C z b = 0 Q = Q > 0 R d d C R n d, n < d, rank C = n f ( z +υ) f ( z) = 1 2 z +υ Q z +υ + S ( z +υ) 1 2 z Qz + S z = z Qυ + S υ + 1 2 υ Qυ = z f ( z) υ + 1 2 υ Qυ z f ( z) υ = f ( z) + λ Τ G( z) f (z) : Αυστηρά Κυρτή Άρα, συµφωνα µε προηγ. σελ. και η!f z αυστηρά κυρτή. Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 22
Εισαγωγή στο Λογισμό των Μεταβολών : Βελτιστοποίηση σε Πεπερασμένες Διαστάσεις Τετραγωνικός Προγραμματισμός Εποµένως, τα ακρότατα θα ελαχιστοποιούν την f(z). Έτσι, σύµφωνα µε τα προηγούµενα, αναζητούµε τη λύση z, λ των! z f ( z) = 0 R d Qz + S + c λ = 0 z = Q 1 S + c λ z = Q 1 S c ( c c ) 1 ( c Q 1 S + b)! λ f ( z) = G( z) R n c z b = 0 c Q 1 ( S + c λ ) b = 0 λ = ( c c ) 1 ( c Q 1 S + b) Η 1 η εξίσωση έχει νόηµα γιατί Q > 0, άρα µη-ιδιόµορφος. Η 2 η εξίσωση έχει νόηµα γιατί Q > 0 Q -1 > 0 και C: full rank, rank(c) = n C Q -1 C > 0, άρα η λύση λ * έχει νόηµα. Εποµένως η λύση z = Q 1 S c c c 1 ( c Q 1 S + b) ελαχιστοποιεί την f ( z) = 1 2 z Qz + S z Kostas J. Kyriakopoulos - Σ.Α.Ε. ΙΙ 23