Главная страница Программы проектирования [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [ 40 ] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] с ПРОГРт» KRAS EXTERtW. PRA,OUT,FUN DIMENSION X(16>,U(1,1>,A(4,4>,B(4,1>,FI(4,4>,B<4,4>, » Hl(l,l),AA(256),E®(32),«(32),PI(5),XX(4),nXX<4), • AUX(32>,H6(1.4>,PR<5»,4>,BT(1,4>,HBT(1,4>,TIME(5»> COMMON /0/ А,Г1,В,Не COMMON /3/ H,L,PR,TIME С ВВОД УСХОДНЫХ AAHWX READ 2»,((A(I,J>,>1,4),1=1,4> READ 2»,B READ 2»,((rl(I,J>,>l,4>,I=l,4> READ 3*,P1 READ 2*,XX,I»« HI(1,1)=-1. №«. IT=5 CALL KTRA(B,BT,4,1,»> DO 1» 1=1,16 1» X(I)°1. РЕвЛС УРАВНЕНИЯ r»ftfAT»r=FI CM± SNES(X,16,RJN,».M,IT,AA,№,«,IER) CALL ARRAY(1,16,1,4,4,X,G) CALL 0tf>RD(HI,BT,(eT,l,l,4) CtU. 0tf>RD(HBT,B,HB,l,4,4> PRINT 4« PRINT 5»,не С РАСЧЕТ 01ГП««НиХ ТРАЕКТОРМИ CALL RKOS(Pl,XX,nXX,N,IH,PRA,0Ur,AUK) CtU. PL0T(PR,T1ME,5»,4> 2* ГаКИАТ<4Е12.4) 3* F0RHAT(5E12.4> 4« Г0Н>«Т(5Х,01ГГИН.ПЕРЕЯАТ0Ч(»Е ЧИСЛА АВПЛТЙЛОТА) 5» FORMATdX,4E12.4> STOP SUBROUriNE FUN(C,X) DIHEMSIOM X(16>,C(16>,A(4,4>,FI(4,4>,0(4,4), » AT(4,4),GA<4,4),ATG(4,4),GAG(4,4>,GC(4,4) COHHQN Д1/ A,FI CALL ARRAY(1,16,1,4,4,X,B) CALL GMPRD(G,A,GA,4,4,4) CALL ИТРА(А,АТ,4,4,») CALL 6MPRD(AT,G.ATG,4,4,4> CALL GrMDD(GA,ATG,GAS,4,4) CALL 0NSUB(GAe,FI,CC,4,4) CM± ARRAY(2,16,1,4,4,C,CC) RETURN END SUBROUTINE PRA(T,XX,DXX) DIMENSION XX(4),DXX(4),A(4,4),AX(4,t), » H0(1,4),U(1,1),B(4,1),BU<4,1),FI(4,4) COHHQN Д1/ A,FI,B,HB CALL GMPRD(A,XX,AX,4,4,1> CALL 6MPRD(He,XX,U,l,4,l) СШ. 0NPRD(B,U.BU,4,l,t) CALL GHSUB(BU,AX,DXX,4,1) RETURN SUBROUTINE OUr(T,)a,DXX,IH,N,PI> MHEMSiqN )a(4) ,DXX(4),PI(5) ,PR(5*,4> ,TIME(5») COHHON /S/ H,L,PR,TIME IF(T-H) 5»,10,1» 10 L-L+1 IF(L-51> 3*,2»,2» 00 TO SO 30 DO 40 1=1,4 40 PR(L,I>=XX(I) TIME<L)=T mm.2 50 RETURN END При выборе элементов весовых матриц Ф и К" можно воспользоваться рекомендациями, изложенными в § 5.2. Примем следующие значения: Ф=diag[0,5•10-2 О.ЫО- 0,1-ао- 0,1]; К-=1. В результате решения задачи по программе KRAS получены оптимальные значения коэффициентов передачи D=[- 0,63 -0,15 0,54 0,11]. На рис. 5.10 приведен график переходного процесса при отработке начального отклонения по таягажу &(0) =0,05 рад. ГЛАВА 6 РЕШЕНИЕ КЛАССИЧЕСКИХ ЗАДАЧ АНАЛИТИЧЕСКОГО КОНСТРУИРОВАНИЯ Изложена методика построения алгоритмов численного решения задач аналитического конструирования регуляторов в их классической постановке. Рассмотрены основные варианты постанонок задач, управления состоянием и выходом систем, одномерных и многомерных. Предполагается, что вычисление управляющих функций может выполняться в общем случае по иеполиой информации о векторе состояния. Указанные вопросы рассматриваются применительно к теории аналитического конструирования, начало которой положено в работах А. М. Летова и Р. Калмана. Рассматриваются возможности алгоритмизации конструирования законов управления на основе теории, развитой А. А. Красовским. Эта теория базируется на оптимизации систем по специальным функционалам - критериям обобщенной работы. При этом строится наиболее эффективный алгоритм управления, основанный на применении прогнозирующей модели. 6.1. ПОСТАНОВКА ЗАДАЧ АНАЛИТИЧЕСКОГО КОНСТРУИРОВАНИЯ ОДНОМЕРНЫХ СИСТЕМ (ЛЕТОВ-КАЛМАН) Приведем сначала формулировки задач аналитического конструирования, которые рассматриваются в теории оптимального управления, дадим их краткую характеристику и отметим особен- ности, в силу которых необходима разработка специальных алгоритмов решения задач такого типа с помощью ЭВМ. Уравнение математической модели управляемого объекта принимаем в виде x{t)=Ax{i)+bu{t), х(0)=Хо; y(0=qx(0, (6.1) где X - п-мерный вектор координат состояния; у - выходная переменная; и - управляющая функция. Матрица А и векторы Ь, q заданы. Предполагается, что система (6.1) управляема. В классической постановке (Летов - Калман) задача аналитического конструирования формулируется следующим образом: на движениях системы (6.1) задан функционал J (и) = f (х- (О Vx (t) + р (0) dt, Т е (о, оо), (6.2) где V - неотрицательно определенная матрица; р>0. В каждый момент времени известны координаты Xi, Х2.....Хп состояния. Требуется найти закон управления U = U(Xi, Х2..... Хп), (6.3) при котором движение системы (6.1) из точки хо в начало координат осуществляется таким образом, чтобы функционал (6.2) принимал минимальное значение. Сформулированным требованиям, как известно, удовлетворяет линейный закон управления и(х)=ах(0, a=(aia2... On). (6.4) Вектор параметров а определяется из матричного уравнения Риккати. Определение закона управления (6.4), минимизирующего функционал (6.2), составляет содержание задачи управления состоянием. Задача управления выходом системы формулируется следующим образом: на движениях системы (6.1) задан функционал J (и) = f iy (t) + Р (t)) dt, р > 0. (6.5) Требуется найти закон управления вида (6.3), при котором движение системы в начало координат осуществляется таким образом, чтобы функционал /(и) вида (6.5) принимал минимальное значение. В данном случае закон управления соответствует (6.4): и(х)-= ax(0,a = (aia2...a„). (6.6) Параметры а, также определяются из матричного уравнения Риккати. С вычислительной точки зрения обе задачи равноценны. Особенности их решения известны и многократно обсуждались в литературе по теории оптимального управления. Здесь мы обратим внимание на то обстоятельство, что известные методы решения задач используют условие полной степени наблюдаемости систе- [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [ 40 ] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] 0.0192 |