IDENTIFICAÇÃO DE MODELOS POR SUBESPAÇOS, USANDO O MÉTODO N4SID, PARA A SIMULAÇÃO DO CONTROLE LQR EM UM MANIPULADOR ROBÓTICO ADEMAR G. COSTA JUNIOR*†, JOSE ANTÔNIO RIUL†, PAULO HENRIQUE M. MONTENEGRO† * Laboratório de Instrumentação, Sistemas de Controle e Automação (LINSCA) IFPB, campus João Pessoa † Programa de Pós-Graduação em Engenharia Mecânica (PPGEM) UFPB, campus João Pessoa E-mails: [email protected],{riul,paulo}@ct.ufpb.br Abstract Subspace identification is being researched and applied over the last decades, as an alternative to the estimation of mathematical models for multivariable systems. This paper describes the use of subspace identification techniques, in particular, the N4SID method applied to two links of an electromechanical robotic manipulator. With the estimated mathematical model, the design of a LQR regulator is used to control the position of these two links which the results through computer simulations are presented, which proves to be an efficient technique. Keywords LQR regulator, N4SID method, Robot control, Robotic manipulator, Subspace identification. Resumo A identificação por subespaços tem sido pesquisada e aplicada ao longo das últimas décadas, como uma alternativa para a estimação de modelos matemáticos para sistemas multivariáveis. Este artigo descreve o uso de técnicas de identificação por subespaço, em particular, o método N4SID, aplicado a dois elos de um robô manipulador. Com o modelo matemático estimado, o projeto de um regulador LQR é utilizado para o controle de posição desses dois elos, o qual os resultados através de simulações computacionais são apresentados, o que mostra ser uma técnica eficiente. Palavras-chave Controle de robôs, Identificação por subespaços, Manipulador robótico, Método N4SID, Regulador LQR. 1 Introdução Uma das atividades da engenharia consiste em obter modelos matemáticos que possam representar sistemas físicos. Para isso, existem duas áreas de estudo para a obtenção de tais modelos, que são: a modelagem pela física do sistema dinâmico – modelagem caixa branca (Ljung & Glad, 1994; Garcia, 2009); e a identificação de sistemas – modelagem caixa preta e caixa cinza (Ljung, 1999; Coelho & Coelho, 2004; Aguirre, 2007). Na primeira técnica, a modelagem consiste no equacionamento dos fenômenos envolvidos nos sistemas dinâmicos, usando as leis da física, onde nem sempre há viabilidade no procedimento de modelagem, por falta de conhecimento e de tempo, necessários à tarefa. Na segunda técnica, a identificação de sistemas estuda alternativas de modelagem matemática, o qual pouco, ou nenhum, conhecimento prévio do sistema é necessário. Para sistemas multivariáveis, a obtenção de modelos através do método de predição do erro (PEM – Prediction Error Methods) e pelo método por variáveis instrumentais (IVM – Instrumental Variable Methods) é um tanto complexa, e sua confiabilidade numérica pode ser inaceitável em problemas que tenham um grande número de entradas e de saídas (Viberg, 2002). O método SIM (Subspace Identification Methods) é uma alternativa ao PEM e ao IVM para obter modelos matemáticos, através dos dados de entrada e de saída, já que utiliza uma parametrização simples e generalista, para sistemas multivariáveis. Métodos por subespaço são baseados em ferramentas numéricas robustas, tais como, a fatoração QR e a decomposição em valores singulares (SVD – Singular Value Decompostion), onde sua teoria é derivada da álgebra linear, estimando matrizes de estado de forma rápida (Verhaegen, 1993, Van Overschee & De Moor, 1994, 1995; Verdult & Verhaegen, 2002; Viberg, 2002; Katayama, 2005; Qin, 2006). Segundo Viberg (2002), os algoritmos por subespaço são atraentes devido ao uso da representação em espaço de estados, conveniente para estimação, filtragem, predição e controle. Diversas aplicações com identificação por subespaço vêm sendo apresentadas na literatura (Sotomayor et al, 2003; Castaño et al, 2011; Costa Junior et al, 2014), e na área de manipuladores robóticos, Johansson et al (2000) apresentam uma proposta de uso do SIM, em específico, utilizando o método MOESP (Multivariable Output Error State Space), como alternativa à modelagem dinâmica analítica, que geralmente utiliza as equações de Newton-Euler ou Euler-Lagrange (Craig, 2013). A técnica do controle LQR (Linear Quadratic Regulator) tem sido bastante aplicada quando sistemas de modelo de espaço de esatdos são utilizados. O uso do regulador LQR tem como objetivo a determinação de um sinal de controle que seja capaz de minimizar uma função custo, dada pela ponderação quadrática dos erros dos estados, e dos esforços de controle, realizada pelas matrizes de ponderação e (Naidu, 2003; Lewis, 2012). O objetivo deste artigo é apresentar o projeto de um controle regulatório LQR, baseado em simulações computacionais, utilizando um modelo matemático estimado em espaço de estados, através de técnicas de identificação por subespaço usando o método N4SID (Numerical algorithms for Subspace State Space System Identification) para o caso puramente determinístico. Este modelo de espaço de estados permite estimar as posições angulares dos elos 1 (base) e 2 (braço) de um manipulador robótico eletromecânico de cinco graus de liberdade. Este artigo é organizado da seguinte maneira: na Seção 2 são apresentados os principais fundamentos teóricos da identificação por subespaço e do controle regulatório LQR; na Seção 3 é apresentada uma breve descrição da bancada de testes, e os sinais de testes para a identificação do sistema dinâmico, utilizando a modelagem caixa preta; na Seção 4 são apresentados os resultados experimentais obtidos para o modelamento matemático do manipulador robótico, e os resultados da simulação computacional do projeto do controle regulatório LQR. Por fim, na Seção 5 são apresentadas as considerações finais do trabalho. 2 Fundamentos Teóricos Esta seção provê os fundamentos teóricos sobre o método de identificação por subespaço (SIM) e o controle regulatório LQR. Considere o modelo linear, discreto e invariante no tempo, em espaço de estados, descrito por: = + = + × + (1) (2) + × × o qual, ∈ℝ , ∈ℝ , ∈ℝ , ∈ ∈ℝ e ∈ ℝ são as medidas ℝ × . Os vetores no intervalo de tempo discreto k, das respectivas entradas e saídas do sistema. O vetor ∈ℝ éo vetor de espaço de estados do sistema, no intervalo de tempo discreto , e contem os valores numéricos dos estados. Os vetores ∈ℝ e ∈ ℝ são vetores de sinais não medidos e denominados de ruído de medição e de ruído do sistema, respectivamente, assumindo que esses ruídos sejam brancos, estacionários e com média zero (Van Overschee & De Moor, 1994). O par de matrizes , é assumido ser observável, implicando que todos os modos no sistema , portanto, ser podem ser observados na saída , identificável. O par de matrizes é assumido ser controlável, implicando que todos os modos do sistema são excitados pela entrada determinística , e/ou pela entrada estocástica . A ideia básica dos algoritmos de subespaços é estimar as matrizes , , e de um modelo de espaço de estados discreto determinístico-estocástico (Eqs. 1-2), dado que seja disponibilizado o conjunto de dados de entrada e de saída de um sistema dinâmico. Existem três casos distintos, na teoria de SIM (Van Overschee & De Moor, 1994): • O caso puramente determinístico ( e = 0); • O caso puramente estocástico ( = 0); • O caso determinístico/estocástico, como apresentado nas Eqs. 1-2. Neste artigo serão apresentados resultados do caso puramente determinístico. Todos os métodos de identificação por subespaços consistem em duas etapas. Na primeira etapa, o algoritmo calcula uma determinada característica do subespaço de um conjunto de dados de entrada e de saída, o qual coincide com o subespaço gerado pelas colunas da matriz de observabilidade estendida (Γ% ). A dimensão deste subespaço é igual à ordem do sistema a ser identificado. Na segunda etapa, os algoritmos de identificação por subespaços aplicam uma das seguintes estratégias: • O MOESP (Multivariable Output Error State Space) determina duas matrizes ( , ) diretamente do subespaço da observabilidade estendida. Depois da determinação das matrizes e , estas são usadas para determinar as demais matrizes do sistema ( , ); • O CVA (Canonical Variate Analysis) e o N4SID usam a matriz de observabilidade estendida para, implicitamente, determinar duas sequências de estado. A partir das sequências de estado, combinadas com os dados originais de entrada e de saída, todas as matrizes do sistema podem ser determinadas diretamente pela resolução de um conjunto de equações pelo método dos mínimos quadrados. Pode ser observado que, a segunda estratégia utiliza um único passo, enquanto a primeira utiliza dois passos na determinação de todas as matrizes do sistema. Em ambos os grupos, antes da identificação das matrizes do sistema, para o cálculo da sequência de vetor de estados utiliza-se apenas os dados de entrada e de saída. No procedimento de identificação, o principal passo é calcular a SVD de uma matriz de um bloco de Hankel, construída a partir dos dados de entrada e de saída (Van Overschee & De Moor, 1994; Katayama, 2005). 2.1 O Problema de Identificação por Subespaços O problema de identificação requer que, por meio de dados de entrada-saída, aplicados a um sistema dinâmico, encontrem-se as matrizes , , e , de um modelo de espaço de estados discreto determinístico. As Eqs. 1-2 podem ser rearranjadas e, após algumas manipulações algébricas, fica estabelecido que (Van Overschee & De Moor, 1994; Katayama, 2005): &' = Γ% (' + )% *' (3) &+ = Γ% (+ + )% *+ (4) (+ = % (' + Δ% *' (5) os quais: &' e &+ são vetores de saídas passadas e futuras, respectivamente; *' e *+ são vetores de entradas passadas e futuras, respectivamente. Estes vetores formam o bloco de Hankel de entrada (*' e *+ ) e de saída (&' e &+ ). O índice - indica o uso de técnicas de subespaço para sistemas determinísticos, e o índice . denota o número de blocos linha (para Γ% ) e coluna(paraΔ% ), maiores que a ordem do sistema. As equações de saídas (3) e (4), são definidas como uma combinação linear de estados passados e futuros, multiplicados pela matriz de observabilidade estendida Γ% , e a combinação linear das entradas passadas e futuras, multiplicadas por sua resposta ao impulso )% , também denominada matriz Toeplitz. A Eq. 5 relaciona os estados futuros ((+ ) com os estados passados ((' ), sob a influência das entradas, o qual Δ% é a inversa da matriz de controlabilidade (Van Overschee & De Moor, 1994). Sendo a projeção oblíqua 1% , obtida pela decomposição SVD (Eq. 7) e particionada nos subespaços coluna (Γ% ) ou linha ((+ ), as matrizes do sistema podem ser estimadas a partir de qualquer dos dois subespaços indicados (Eqs. 8-9). No método N4SID, as matrizes do sistema , , e são estimadas em único passo, resolvendo o problema apresentado na Eq. 10, através dos mínimos quadrados (Van Overschee & De Moor, 1994; Katayama, 2005; Qin, 2006). 2.3 Estimação das Matrizes do Sistema > (% @=8 &%|% ( 9> % @ *%|% (10) Um fluxograma do algoritmo N4SID é ilustrado na Fig. 1. 2.2 Estimando os Subespaços Para que os subespaços da matriz de observabilidade estendida Γ% e da sequência de estados da matriz (+ sejam estimados, por meio dos dados de entrada-saída, é necessária a determinação da ordem n do sistema. A estimação Γ% (+ (Eq. 4) pode ser obtida por meio da projeção oblíqua de dados de entrada-saída do sistema, através de: 1% = Γ% (+ Para que a projeção oblíqua1% seja separada em Γ% e em (+ , para sistemas puramente determinísticos, o posto de Ο3 deverá ser igual à ordem n do sistema e, Γ% e (+ podem ser recuperados de forma precisa pela decomposição SVD (Van Overschee & De Moor, 1994; Katayama, 2005; Qin, 2006): 1% = * 4 5 6 = (* *7 ) 84 0 0 5; 9: < 0 57; (7) os quais, 4 é uma submatriz de 4 contendo os valores singulares não-nulos de 1% e, * e 5 ; são as partes correspondentes de * e 5 ; . A ordem do sistema das Eqs. 1-2 é igual ao número de valores singulares da Eq. 7, diferentes de zero. A matriz de observabilidade estendida Γ% compartilha o mesmo espaço coluna da projeção oqua1% , fazendo com que possa ser obtida por: /7 (8) Γ% = * 4 Como a sequência de estado (+ fica no espaço linha da projeção oblíqua1% , esta sequência pode ser obtida através de: (+ = 4 /7 5 Figura 1. Algoritmo N4SID. (6) ; (9) 2.2 Controle Regulatório LQR O projeto do controle regulatório por realimentação de estados pode ser realizado no contexto pela alocação de pólos, ou no contexto do LQR. Por alocação de pólos são especificados os autovalores desejados do sistema em malha fechada. O projeto do LQR minimiza uma função custo quadrático, pela ponderação quadrática dos estados e o esforço de controle. Para o projeto do controle regulatório LQR, é considerada a equação de estado do sistema (Eq. 1), e utilizando a lei de controle ótimo, com realimentação dos estados, dada por: = −B o qual B é a matriz de ganho ótimo, que minimiza um índice de desempenho, baseada em função custo quadrática discreta (Naidu, 2003; Lewis, 2012): E C = D( F ); +( (11) ); (12) os quais, e são matrizes de ponderação sobre o estado , e a entrada , respectivamente, sendo uma matriz semidefinida positiva e uma matriz definida positiva. Substituindo a Eq. 11 na Eq. 1, a equação de estado do sistema em malha fechada é: = + + em que − B) é a matriz de estados do + = ( sistema em malha fechada. A matriz de ganho ótimoB é calculada por: B=G + 4 H 4 + )I ; I (13) ; 4 Figura 2. Diagrama de blocos da bancada de testes. (14) através do uso da solução da equação algébrica de Riccati (Naidu, 2003; Lewis, 2012). 4= ; J4 − 4 ( ; ; 4K + (15) Desse modo, encontra-se a matriz positiva definida 4, que soluciona a equação algébrica de Riccati, garantindo que + seja estável. 3 O Manipulador Robótico de Cinco Graus de Liberdade O manipulador robótico em estudo é o modelo RD5NT, da empresa Didacta Itália, instalado no Laboratório de Dinâmica, do Departamento de Engenharia Mecânica, da Universidade Federal da Paraíba (UFPB). Os elementos que compõem a bancada de testes são: • Manipulador robótico eletromecânico de cinco graus de liberdade; • Fonte de alimentação; • Computador de mesa; • Sistema de aquisição de dados; • Circuito amplificador de potência. O manipulador robótico RD5NT, é um robô didático pesando aproximadamente 16 kg, composto por cinco juntas rotativas, quatro elos e uma garra. A transmissão de cada movimento é feita através do bloco moto-redutor, com dois estágios de redução, sendo utilizados os motores de corrente de contínua, fabricados pela Maxon Motor, com potência de 2,5 watts e com capacitor de longa vida. A tensão elétrica nominal dos motores CC é de 12 Volts, e a rotação máxima sem carga é de 6.480 rpm. Os potenciômetros rotativos lineares, modelo 78CSB502, fabricados pela Sfernice, com resistência de 5 kΩ, asseguram a reprodução dos deslocamentos angulares das juntas e do movimento da garra. O diagrama de blocos da bancada de testes é ilustrado na Fig. 2. Os dados de entrada são as tensões elétricas ae plicadas ao motor de cada elo, denominados de 7 , e os dados de saída são as tensões elétricas nos potenciômetros de cada elo, denominados de e 7, em que os subíndices 1 e 2, estão relacionados aos elos 1 e 2 do manipulador robótico, respectivamente. Estas tensões elétricas representam valores proporcionais de posições angulares desses elos. Na bancada de testes, os dados das entradas e das saídas são coletados por meio de uma placa de aquisição National Instruments, modelo NI USB6009. Foram colhidas 2.000 amostras em cada, com o tempo de amostragem de 50 ms. Para a identificação dos modelos, as 1.500 primeiras amostras foram separadas e as demais, utilizadas na validação dos modelos. 4. Resultados Obtidos para a Identificação SIMN4SID Com os dados do ensaio de excitação, o próximo passo é a realização da identificação por subespaço (SIM), usando o método N4SID, para os elos 1 e 2 do robô manipulador. Antes dos procedimentos para a identificação dos modelos, foram realizados prétratamentos nos sinais adquiridos de entrada e de saída obtidos: a remoção da média dos sinais; e a remoção de tendências. Aos dados de saída, foi aplicado um filtro linear passa-baixas, através da função idfilt, do Matlab® (frequências entre 0 e 2 rad/s). O conjunto de dados de entrada e de saída, após o prétratamento são ilustrados na Fig. 3. 3.1 Testes para a Identificação Para que fosse realizada a identificação em malha aberta, de um modelo de espaço de estados, para dois elos do manipulador robótico (base – elo 1, e braço – elo 2), foram aplicados, simultaneamente, sinais do tipo degrau aos motores, acrescidos de sinais PRBS com amplitude de 0,5 V de pico a pico. Figura 3. Conjunto de dados para a identificação dos elos 1 e 2 do robô manipulador. (a) sinal de entrada u , (b) sinal de entrada u7 , (c) sinal de saída y , (d) sinal de saída y7 , todos em volts. 4.1 Estimação da Ordem do Sistema Um método para a determinação da ordem do sistema é a utilização do número de valores singulares (SVD – Singular Value Decomposition) diferentes de zero, da projeção ortogonal ou oblíqua, da matriz em bloco de Hankel, dos dados de entrada e de saída do sistema. Em geral, a determinação da ordem é obtida detectando uma lacuna entre os valores singulares, o que muitas vezes, torna-se uma avaliação subjetiva. Para o sistema em questão, foi escolhida a ordem 2, de modo que o modelo matemático em espaço de estados fosse de ordem reduzida, evitando esforços computacionais. 4.2 Modelo e Validação dos Modelos Obtidos As matrizes do modelo de espaço de estados discreto, , , e , geradas pelo SIM-N4SID para o manipulador robótico eletromecânico são: 0,7161 0,1728 0,0103 = N 0,0060 6,1934 = N 8,3432 =N 0,0494 V 0,9668 0,0103 V −0,0060 10,9860 V 14,8440 (16) (17) (18) sendo 0,6857 e 0,9972 os autovalores da matriz , com a matriz de transmissão direta, nula. Os estados iniciais estimados são = −0,5390e 7 = 0,3394, e o sistema foi colocado na forma canônica modal. Uma das formas para validar os modelos obtidos é a comparação entre as saídas estimadas e as reais dos elos, muitas vezes denominados na literatura como validação dinâmica. A Fig. 4 ilustra a saída gerada pelos modelos obtidos pelo SIM-N4SID, de ordem 2, para os elos 1 e 2 do manipulador robótico. Por observação dos modelos, as saídas estimadas acompanham a saída medida, utilizando os dados de validação. A análise de resíduo é realizada e ilustrada na Fig. 5. Conforme pode ser observado o modelo estimado em espaço de estados apresenta um desempenho satisfatório nas avaliações efetuadas entre os sinais de entrada e os resíduos das saídas, com um pior resultado no elo 2. Figura 4. Validação dinâmica da resposta do sistema para modelos lineares: (a) – saída do elo 1. (b) 7 – saída do elo 2 (em preto, saída validada usando o N4SID, e em azul, sinal de saída após o filtro). Figura 5. Análise residual. (a) Entre a entrada e os resíduos da saída . (b) Entre a entrada 7 e os resíduos da saída 7 . Outra avaliação foi utilizada, para verificação dos modelos obtidos. Para isto, foi utilizado o índice MRSE (Mean Relative Squared Error) para a avaliação da qualidade do modelo, definido como: ∑` 1 aF ( % − _% ) Y 4Z(%) = 100 × D \] 7 b ∑` aF ( % ) %F 7 (19) os quais, % é o i-ésimo ponto da saída medida, c é a quantidade de dados utilizadas para a validação, é a quantidade de saídas do modelo, que neste caso específico são duas, e _% é o i-ésimo ponto da saída estimada pelo modelo obtido. O modelo foi avaliado para a ordem 2, o qual o índice é de 60,52% e 70,22%, para os elos 1 e 2, respectivamente, indicando que o modelo matemático teve um desempenho satisfatório, em termos de validação. 4.3 Resultados computacionais para o LQR Para o projeto do controle regulatório LQR para o manipulador robótico, é realizado a seguinte sequência para a simulação computacional. Com as matrizes do sistema estimadas (Eq. 16-18), as matrizes e são escolhidas. A equação de Riccati (Eq. 15) é resolvida, calculando-se a matriz de realimentação B (Eq. 14), e por fim, a lei de controle é montada (Eq. 11). A escolha dos valores das matrizes e foram escolhidas, com = ; , e = 10d, sendo d uma matriz identidade com tamanho da ordem do sistema (Naidu, 2003; Lewis, 2012). Na Fig. 6 são ilustradas as curvas dos estados do sistema dinâmico do robô manipulador, utilizado os valores estimados para o estado inicial (Seção 4.2). Como esperado os estados vão para zero. Figura 6. Comportamento dos estados do robô manipulador, em função do tempo simulado (em azul, e em verde, 7 ). Figura 7. Resposta da saída do regulador LQR. (a) elo 1. (b) 7 – saída do elo 2. – saída do Na Fig. 7 são ilustradas as respostas na saída do regulador LQR e observa-se que a saída converge rapidamente para zero. 5. Considerações Finais Este artigo mostrou a modelagem matemática através de técnicas de identificação de sistemas, baseadas no método N4SID com o uso de identificação por subespaços. Pode ser observado que é uma técnica bem interessante para ser usado na estimação de um modelo de espaço de estados de sistemas multivariáveis, como é o caso apresentado neste artigo. A simulação do projeto de um regulador LQR para controle de posição de dois elos deste manipulador apresenta bons resultados, demonstrando a viabilidade do projeto de controle com o modelo de espaço de estados estimado, minimizando o erro quadrático de estado e o esforço de controle. O próximo passo será a realização de ensaios experimentais para a verificação do comportamento do controle de posição dos elos estudados do manipulador robótico, além do uso de outras técnicas de controle. Agradecimentos Os autores agradecem a Universidade Federal da Paraíba (UFPB) e ao Instituto Federal da Paraíba (IFPB), pelo apoio financeiro para a realização deste trabalho. Também ao revisor deste artigo que contribui para o aprimoramento desse trabalho. Referências Bibliográficas Aguirre, L. A. (2007). Introdução à Identificação de Sistemas – Técnicas Lineares e Não-lineares Aplicadas a Sistemas Reais, 3ª edição. Belo Horizonte (Brasil): UFMG. Castaño, J. E. et al. (2011). Model Identification for Control of a Distillation Column. In: IX Latin American and IEEE Colombian Conference on Automatic Control and Industry Applications (LARC). Coelho, A. A. R. & Coelho, L. D. S. (2004). Identificação de Sistemas Dinâmicos Lineares. Florianópolis (Brasil): EDUFSC. Costa Junior, A. G. et al. (2014). Utilização da Identificação por Subespaços pelo Método MOESP, em um Manipulador Robótico. In: XVI Congreso Latinoamericano de Control Automático (CLCA 2014), p. 678-683. Craig, J. J. (2013). Robótica. São Paulo: Pearson. Garcia, C. (2009). Modelagem e Simulação de Processos Industriais e de Sistemas Eletromecânicos. São Paulo: USP. Johansson, R. et al. (2000). State-space system Identification of Robot Manipulator Dynamics. Mechatronics, 10, p. 403-418. Katayama, T. (2005). Subspace Methods for System Identification - A Realization Approach. Germany: Springer. Lewis, F. L. (2012). Optimal Control. Wiley. Ljung, L. (1999). System Identification: Theory for the User. Englewood Cliffs (United States): Prentice-Hall. Ljung, L. & Glad, T. (1994). Modeling of Dynamic Systems. Englewood Cliffs (United States): Prentice Hall. Naidu, D. S. (2003). Optimal Control System. CRC Press. Qin, S. J. (2006). An Overview of Subspace Identification. Computers and Chemical Engineering. 30. p. 1502-1513. Sotomayor, O. A. Z. et al (2003). Model Reduction and Identification of Wastewater Treatment Plants – a subspace approach. Latin American Applied Research, 33, p. 135-140. Van Overschee P. & De Moor, B. (1994). N4SID – Subspace Algorithms for the Identification of Combined Deterministic-stochastic Systems. Automatica. 30 (01), p. 75-93. Van Overschee P. & De Moor, B. (1995). A Unifying Theorem for Three Subspace System Identification Algorithms. Automatica. 31 (12), p. 1853-1864. Van Overschee P. & De Moor, B. (1996). Subspace Identification for Linear System – Theory, Implementation, Applications. Doordrecht (Netherlands): Kluwer. Verdult, V. & Verhaegen, M. (2002). Subspace Identification of Multivariable Linear Parametervarying systems. Automatica. 38 (05), p. 805814. Verhaegen, M. (1993). Identification of the Deterministic Part of MIMO State Space Models Given in Innovation Form from Input-output Data. Automatica. 30 (01), p. 61-74. Viberg, M. (2002). Subspace-based State-space System Identification. Circuits Systems Signal Processing. 21 (01), p. 23-37.