aplicac˘ao de mpc robusto com waysets para um helic~ optero com tr^es graus de … ·...

8
APLICA ¸ C ˜ AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC ´ OPTERO COM TR ˆ ES GRAUS DE LIBERDADE Rog´ erio Hong Hui Chung * , Rubens Junqueira Magalh˜ aes Afonso * * ITA - Instituto Tecnol´ogico de Aeron´autica Divis˜aodeEngenhariaEletrˆonica Departamento de Sistemas e Controle Pra¸ ca Marechal Eduardo Gomes, 50, 12228-900, Vila das Ac´acias, S˜ao Jos´ e dos Campos, SP, Brasil Emails: [email protected], [email protected] Abstract— Model Predictive Control based methods for trajectory planning have been widely applied on vehicle manuever problems due to its capability of obtaining control actions explicitly considering operational constraints. However, the high computational time required to calculate the optimal solution makes the method difficult to apply on systems more complex than double integrators. The present work describes and applies a method of robust manuever control with guaranteed finite-time arrival and constraint satisfaction to a Quanser 3DOF helicopter. In order to reduce the computational time required, multiple target sets are placed along a collision-free path as opposed to a single one as is usually observed in the literature. Simulation results evidence a significant reduction on the computational time with a small compromise of the performance. Keywords— Model Predictive Control, Trajectory Planning, Robustness. Resumo— Os m´ etodos baseados em Controle Preditivo para planejamento de trajet´ oria tˆ em sido amplamente aplicados em problemas de manobra de ve´ ıculos devido `a sua capacidade de obter a¸c˜oes de controle considerando explicitamenterestri¸c˜oesoperacionais. No entanto, o elevado tempo computacional necess´ario para calcular a solu¸c˜ ao ´otima torna o m´ etodo dif´ ıcil de aplicar em sistemas mais complexos do que um duplo integrador. O presente trabalho descreve e aplica um m´ etodo de controle de manobra robusto com chegada garantida de tempo finitoesatisfa¸c˜ ao de restri¸ c˜ao para um modelo de helic´optero Quanser 3DOF. Para reduzir o tempo computacional requerido, m´ ultiplos conjuntos alvo s˜ao colocados ao longo de um caminho sem colis˜ oes em oposi¸ c˜aoaum´ unico como ´ e normalmente observado na literatura. Os resultados da simula¸c˜ao evidenciam uma redu¸c˜ ao significativa no tempo computacional com um pequeno comprometimento do desempenho. Palavras-chave— Controle Preditivo, Planejamento de Trajet´ oria, Robustez. 1 Introdu¸c˜ ao Uma dificuldade em se utilizar t´ ecnicas de plane- jamento de trajet´ oria consiste na incapacidade de o ve´ ıculo seguir a trajet´ oria planejada devido a diversos fatores, end´ ogenos e ex´ ogenos. Fatores end´ ogenos podem ser satura¸c˜ ao de atuadores e li- mita¸c˜ ao de excurs˜ ao de vari´ aveis de estado. Entre os fatores ex´ ogenos podemos considerar as pertur- ba¸c˜ oes. Dentre as t´ ecnicas utilizadas para planeja- mento de trajet´ oria, o controle preditivo (Model- based Predictive Control - MPC) tem-se demons- trado atrativo, uma vez que as restri¸c˜ oes opera- cionais s˜ ao explicitamente consideradas na gera- ¸c˜ ao das a¸ oes de controle, permitindo que os sis- temas controlados operem pr´ oximos ` asrestri¸c˜ oes sem viol´ a-las, o que lhes confere um melhor de- sempenho ( Maciejowski (2000)). Em Richards e How (2006) foi proposto um problema de minimiza¸c˜ ao do horizonte e o gasto de combust´ ıvel 1 resultando em um problema de programa¸ ao linear com vari´ aveis reais e inteiras (Mixed-Integer Linear Programming - MILP) que tipicamente possui complexidade NP-completo, i.e. no pior cen´ ario o tempo necess´ ario para se ob- 1 O termo combust´ ıvel ´ e um termo usualmente encon- trado na literatura de Controle ´ Otimo e se tornou sinˆ onimo de |u(t)| (Athans e Falb (2007)). ter a solu¸c˜ ao do problema de otimiza¸c˜ ao aumenta exponencialmente com o dimens˜ ao do problema ( Bemporad e Morari (1999)). Dessa forma, a im- plementa¸c˜ ao da t´ ecnica de controle MPC MILP em plantas de maior complexidade (sistemas de dimens˜ oes maiores) e de dinˆ amica r´ apida (menor tempo de amostragem) fica inviabilizada. Para so- lucionar este problema, algumas abordagens s˜ ao encontradas na literatura. Uma das abordagens poss´ ıveis ´ e a de imple- mentar um circuito digital em Field Programmable Gate Array (FPGA) dedicado ` asolu¸c˜ ao do pro- blema de otimiza¸c˜ ao, aproveitando-se assim o pa- ralelismo inerente aos circuitos digitais integrados, o qual permite que v´ ariasopera¸c˜ oes aritm´ eticas sejam executadas em um ´ unico ciclo de proces- samento ( Hartley e Maciejowski (2014)). Essa solu¸c˜ ao, entretanto, acrescenta complexidade na implementa¸ ao e integra¸c˜ ao do circuito dedicado com o sistema a ser controlado. Em Shekhar et al. (2014) ´ e proposta uma abordagem de se realizar o pr´ e-planejamento offline de trajet´ oria para se ob- ter conjuntos alvos intermedi´ arios (waysets ) po- sicionados ao longo de um caminho livre de obs- aculos com garantias de trajet´ orias admiss´ ıveis entre os waysets. O objetivo dessa etapa ´ e redu- zir tamanho do horizonte no problema de otimiza- ¸c˜ ao online, diminuindo consequentemente o tempo de processamento, uma vez que as dimens˜ oes do XIII Simp´osio Brasileiro de Automa¸ ao Inteligente Porto Alegre – RS, 1 o – 4 de Outubro de 2017 ISSN 2175 8905 636

Upload: others

Post on 01-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

APLICACAO DE MPC ROBUSTO COM WAYSETS PARA UM HELICOPTERO COMTRES GRAUS DE LIBERDADE

Rogerio Hong Hui Chung∗, Rubens Junqueira Magalhaes Afonso∗

∗ITA - Instituto Tecnologico de AeronauticaDivisao de Engenharia Eletronica

Departamento de Sistemas e ControlePraca Marechal Eduardo Gomes, 50, 12228-900, Vila das Acacias, Sao Jose dos Campos, SP, Brasil

Emails: [email protected], [email protected]

Abstract— Model Predictive Control based methods for trajectory planning have been widely applied onvehicle manuever problems due to its capability of obtaining control actions explicitly considering operationalconstraints. However, the high computational time required to calculate the optimal solution makes the methoddifficult to apply on systems more complex than double integrators. The present work describes and applies amethod of robust manuever control with guaranteed finite-time arrival and constraint satisfaction to a Quanser3DOF helicopter. In order to reduce the computational time required, multiple target sets are placed along acollision-free path as opposed to a single one as is usually observed in the literature. Simulation results evidencea significant reduction on the computational time with a small compromise of the performance.

Keywords— Model Predictive Control, Trajectory Planning, Robustness.

Resumo— Os metodos baseados em Controle Preditivo para planejamento de trajetoria tem sido amplamenteaplicados em problemas de manobra de veıculos devido a sua capacidade de obter acoes de controle considerandoexplicitamente restricoes operacionais. No entanto, o elevado tempo computacional necessario para calcular asolucao otima torna o metodo difıcil de aplicar em sistemas mais complexos do que um duplo integrador. Opresente trabalho descreve e aplica um metodo de controle de manobra robusto com chegada garantida de tempofinito e satisfacao de restricao para um modelo de helicoptero Quanser 3DOF. Para reduzir o tempo computacionalrequerido, multiplos conjuntos alvo sao colocados ao longo de um caminho sem colisoes em oposicao a um unicocomo e normalmente observado na literatura. Os resultados da simulacao evidenciam uma reducao significativano tempo computacional com um pequeno comprometimento do desempenho.

Palavras-chave— Controle Preditivo, Planejamento de Trajetoria, Robustez.

1 Introducao

Uma dificuldade em se utilizar tecnicas de plane-jamento de trajetoria consiste na incapacidade deo veıculo seguir a trajetoria planejada devido adiversos fatores, endogenos e exogenos. Fatoresendogenos podem ser saturacao de atuadores e li-mitacao de excursao de variaveis de estado. Entreos fatores exogenos podemos considerar as pertur-bacoes.

Dentre as tecnicas utilizadas para planeja-mento de trajetoria, o controle preditivo (Model-based Predictive Control - MPC) tem-se demons-trado atrativo, uma vez que as restricoes opera-cionais sao explicitamente consideradas na gera-cao das acoes de controle, permitindo que os sis-temas controlados operem proximos as restricoessem viola-las, o que lhes confere um melhor de-sempenho ( Maciejowski (2000)).

Em Richards e How (2006) foi proposto umproblema de minimizacao do horizonte e o gastode combustıvel1 resultando em um problema deprogramacao linear com variaveis reais e inteiras(Mixed-Integer Linear Programming - MILP) quetipicamente possui complexidade NP-completo,i.e. no pior cenario o tempo necessario para se ob-

1O termo combustıvel e um termo usualmente encon-trado na literatura de Controle Otimo e se tornou sinonimode |u(t)| (Athans e Falb (2007)).

ter a solucao do problema de otimizacao aumentaexponencialmente com o dimensao do problema( Bemporad e Morari (1999)). Dessa forma, a im-plementacao da tecnica de controle MPC MILPem plantas de maior complexidade (sistemas dedimensoes maiores) e de dinamica rapida (menortempo de amostragem) fica inviabilizada. Para so-lucionar este problema, algumas abordagens saoencontradas na literatura.

Uma das abordagens possıveis e a de imple-mentar um circuito digital em Field ProgrammableGate Array (FPGA) dedicado a solucao do pro-blema de otimizacao, aproveitando-se assim o pa-ralelismo inerente aos circuitos digitais integrados,o qual permite que varias operacoes aritmeticassejam executadas em um unico ciclo de proces-samento ( Hartley e Maciejowski (2014)). Essasolucao, entretanto, acrescenta complexidade naimplementacao e integracao do circuito dedicadocom o sistema a ser controlado. Em Shekhar et al.(2014) e proposta uma abordagem de se realizar opre-planejamento offline de trajetoria para se ob-ter conjuntos alvos intermediarios (waysets) po-sicionados ao longo de um caminho livre de obs-taculos com garantias de trajetorias admissıveisentre os waysets. O objetivo dessa etapa e redu-zir tamanho do horizonte no problema de otimiza-cao online, diminuindo consequentemente o tempode processamento, uma vez que as dimensoes do

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

ISSN 2175 8905 636

Page 2: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

problema aumentam significativamente com o au-mento do horizonte. Contudo, neste trabalho,bem como no restante da literatura de planeja-mento usando MPC MILP, a dinamica do sistemae simplificada para dois duplos integradores desa-coplados, um em cada eixo ( Michael Hoy et al.(2014)). Dinamicas mais complexas, inerentes aveıculos reais, nao foram usadas.

Nesse contexto, o presente trabalho visa apli-car uma tecnica de planejamento robusto a ummodelo de helicoptero de laboratorio com tresgraus de liberdade (3 Degrees of Freedom - 3DOF)considerando a sua dinamica completa. A fim depoder empregar a tecnica em malha fechada emtempo real, faz-se necessario dividir a trajetoriapor meio de waysets. Para avaliar a viabilidade epotenciais benefıcios de aplicar esta tecnica, nesteartigo o posicionamento de waysets e feito ma-nualmente, como solucao pratica e de rapida im-plementacao. Para obter a lei de controle, e ado-tada a formulacao apresentada em Richards e How(2006) com um pequena alteracao da funcao decusto. Um modelo linear a tempo discreto do he-licoptero 3DOF da Quanser foi utilizado para ilus-trar a aplicacao desta tecnica.

O restante do artigo e dividido como segue:na secao 2 e apresentada a formulacao matematicado problema de planejamento de trajetorias comrobustez; na secao 3 e mostrado como o problemaformulado pode ser reescrito em forma de um pro-blema MILP. Na secao 4, apresenta-se o modelo li-near a tempo discreto do helicoptero adotado paraeste trabalho seguido dos cenarios de simulacao nasecao 5. Por fim, os resultados e conclusoes saodiscutidos nas secoes 6 e 7, respectivamente.

2 Formulacao do Problema

Neste trabalho, deseja-se controlar um sistema li-near a tempo discreto, sob acao de perturbacoespersistentes e limitadas, com a seguinte dinamica:

x[k + 1] = Ax[k] +Bu[k] +Dw[k], k ∈ N (1)

sujeito a restricoes:

x[k] ∈ X ⊂ Rn, k ∈ N (2)

u[k] ∈ U ⊂ Rm, k ∈ N (3)

w[k] ∈ W ⊂ Rp, k ∈ N (4)

em que X , U e W sao politopos convexos, com Ue W compactos contendo a origem.

Adicionalmente, admite-se a existencia deobstaculos politopicos a serem evitados pelas tra-jetorias x[k] do sistema e portanto:

x[k] /∈ O ⊂ Rn, k ∈ N (5)

Por fim, assume-se que o par (A,B) seja con-trolavel e que todos os elementos do vetor de es-tados sejam acessıveis.

Neste trabalho, deseja-se utilizar a tecnica deplanejamento de trajetoria proposto em Richardse How (2006) para conduzir o estado x[0] do sis-tema (1) a um estado final pertencente ao con-junto alvo Q, enquanto se minimiza uma funcaode custo que envolve o horizonte e combustıvel eque esta sujeita as restricoes (2), (3), (4) e (5).

O problema de minimizacao proposto e:

2.1 Problema de horizonte e combustıvel mınimosujeito a perturbacoes e na presenca de obs-taculos

Problema 1

minx,u,N

J ′(x[k]) =

N [k]+1∑j=1

(1+γ‖u[k+j−1|k]‖1) (6)

sujeito a, ∀j ∈ 1,...,N [k] + 1:

x[k + j|k] = Ax[k + j − 1|k] +Bu[k + j − 1|k](7a)

x[k|k] = x[k] (7b)

x[k +N [k] + 1|k] ∈ Q[N [k] + 1] (7c)

x[k + j|k] ∈ X [j] (7d)

u[k + j − 1|k] ∈ U [j − 1] (7e)

x[k + j|k] /∈ O[j] (7f)

Na funcao de custo

0 ≤ γ <

[maxw∈W

∞∑i=0

‖KL[i]w‖1 > 0

]−1

. (8)

Segundo o metodo de endurecimento de restri-coes, os politopos de estado, controle e conjuntoalvo, respectivamente, X [j], U [j] e Q[j], variamno tempo de modo a contabilizar os efeitos dasperturbacoes persistentes que geram um descasa-mento, ao longo do horizonte de predicao, entre omodelo de predicao (7a) e o modelo da dinamicado veıculo (1). Estes politopos sao calculadas apartir da seguinte recursao:

X [0] = X (9a)

X [j] = X [j − 1] ∼ L[j − 1]DW, 1 ≤ j ≤ N [k] + 1(9b)

U [0] = U (9c)

U [j] = U [j − 1] ∼ KL[j − 1]DW, 1 ≤ j ≤ N [k](9d)

Q[0] = Q (9e)

Q[j] = Q[j] ∼ L[j − 1]DW, 1 ≤ j ≤ N [k] + 1(9f)

A operacao ∼ denota a diferenca de Pontrya-gin:

Ψ ∼ Ω = ψ | ψ + ω ∈ Ψ,∀ ω ∈ Ω (10)

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

637

Page 3: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

e L[j] e uma polıtica de endurecimento de restri-coes:

L[0] = I (11a)

L[j] = (A+BK)L[j − 1] (11b)

O ganho K e obtido a partir de um con-trolador candidato a solucao que deve ser capazde estabilizar o sistema nominal em malha fe-chada por meio de realimentacao de estados, i.e.u[j−1] = K ·x[j−1]. Para tanto, qualquer tecnicade projeto que obtenha K pode ser utilizada.

O politopo O[j] e expandido da seguinteforma:

O[0] = O (12a)

O[j] = O[j − 1]⊕ L[j − 1]DWS , 1 ≤ j ≤ N [k] + 1(12b)

sendo ⊕ a Soma de Minkowski:

Ψ⊕ Ω = φ | ∃ ψ ∈ Ψ, ω ∈ Ω, φ = ψ + ω (13)

eWS = w ∈ Rp| − w ∈ W (14)

Para assegurar a convergencia do estado xao conjunto alvo Q em tempo finito, o hori-zonte N [k] e uma variavel a ser otimizada. Acada iteracao a funcao de custo (6) e minimizadae obtem-se uma sequencia de controle U∗[k] =u∗[k|k],....,u∗[k +N |k]. Aplica-se o primeiroelemento da sequencia, i.e. u[k] = u∗[k|k]. Casox[k + 1] ∈ Q[0], interrompe-se a tarefa de con-trole. Caso contrario, resolve-se novamente o pro-blema de otimizacao, a partir de k+1, i.e. fazendox[k + 1|k + 1] = x[k + 1]. Este procedimento econhecido como horizonte retrocedente ( Rossiter(2003)).

2.2 Inclusao de termo que penaliza o erro de ras-treamento no custo

Uma das desvantagens apresentadas pelo contro-lador proposto por Richards e How (2006) e apossibilidade de existir mais de uma solucao queminimiza a funcao de custo (6), i.e., partindo deuma mesma condicao inicial e possıvel obter maisde uma trajetoria otima. Uma vez que o proce-dimento de posicionamento manual de conjuntoalvo nao oferece garantias de que existam traje-torias admissıveis entre os waysets, o estado finalcom o qual o veıculo chega ao conjunto alvo e cru-cial para que se possa obter trajetorias admissıveispara os conjuntos alvos seguintes.

Nesse contexto, decidiu-se incluir uma parcelaa funcao de custo (6) para penalizar trajetoriascujo estado final esteja distante do centro do way-set.

A parcela de custo JE(x[k]) pode ser definidada seguinte forma:

JE(x[k]) = µ‖C · x[k + j|k]− yref [Nw]‖1 (15)

em que C ∈ Rq×n e uma matriz que extrai a po-sicao do vetor de estados, yref [Nw] e o centro doconjunto alvo Q[Nw], Nw e o numero do wayset eµ e o peso ajustavel pelo projetista.

Acrescentando a parcela (15) a funcao decusto (6), obtem-se:

J(x[k]) =

N [k]+1∑j=1

(1 + γ‖u[k + j − 1|k]‖1

+µ‖C · x[k + j|k]− yref [Nw]‖1)(16)

com γ e µ escolhidos pelo projetista.

3 Implementacao do MPC MILPModificado

A implementacao do problema de otimizacao Pro-blema 1 como um MILP e fundamental para ob-ter a solucao em tempo razoavel para aplicacaoem tempo real, pois dispoe-se de algoritmos efici-entes para a solucao de problemas MILP imple-mentados em pacotes comerciais como Gurobi eCPLEX. A seguir descreve-se como se pode escre-ver um problema MILP cuja solucao e equivalentea do problema original.

3.1 Minimizacao do tempo

E possıvel reescrever um problema de hori-zonte variavel em termos de um horizonte fixocomo um problema MILP. Admitindo-se queNmin = N∗[k = 0] seja o horizonte de predicaootimo obtido atraves da minimizacao de (6),pode-se escolher um horizonte fixo N ≥ Nmin demodo a garantir que o estado x[k + j|k] ∈ Q[j]em algum instante j ∈

1,2,...,N + 1

.

Assumindo que o conjunto alvo seja definidopelo politopo variante no tempo:

Q[j] =x|SQ · x ≤ BQ[j]

(17)

com SQ ∈ RNQ×n e BQ[j] ∈ RNQ , em que NQ

corresponde ao numero de lados do conjunto alvo.

Pode-se escrever a seguinte restricao:

sQi · x[k + j|k] ≤ bQi [j] +M(1− b[j]),1 ≤ i ≤ NQ, 1 ≤ j ≤ N + 1

(18)

com sQi e bQi [j] correspondendo a linha i da matrizSQ e ao i-esimo elemento do vetor BQ[j] respec-tivamente.

O vetor BQi [j] variante no tempo decorre do

endurecimento da restricao referente ao conjuntoalvo com o passar do tempo, conforme descritopelas equacoes (9e) e (9f). Na inequacao (18), Me um escalar suficientemente grande que, em con-junto com a variavel binaria b[j], possui o objetivo

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

638

Page 4: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

de impor ou relaxar a restricao de desigualdade(18). Isto e:

M > max |sQi · x− bQi |, 1 ≤ i ≤ NQ (19)

Enquanto x[k + j|k] /∈ Q[j], somente b[j] = 0satisfaz a inequacao (18). Por outro lado, quandox[k+ j|k] ∈ Q[j], b[j] = 1 passa a ser uma solucaoadmissıvel.

Para garantir que a variavel binaria b assumao valor unitario uma unica vez ao longo do hori-zonte de predicao N + 1, define-se a restricao:

N+1∑j=1

b[j] = 1 (20)

A funcao de custo (6) de horizonte variavelpode ser entao reformulada em termos do hori-zonte fixo N com o auxılio da variavel binaria b,da seguinte forma:

J(x[k]) =

N+1∑j=1

(j · b[j] + γ‖u[k + j − 1|k]‖1

+µ‖C · x[k + j|k]− yref [Nw]‖1)(21)

3.2 Minimizacao da norma 1 das variaveis

Pode-se reescrever a norma ‖ • [k + j|k]‖1utilizando-se uma variavel auxiliar a fim de se ob-ter um custo linear. Definindo variaveis auxiliaresα•[k + j] satisfazendo:

•i[k + v•|k] ≤ α•i [k + v•]

− •i [k + v•|k] ≤ α•i [k + v•](22)

em que o ındice indica a i-esima componente dovetor. Logo, substituindo-se as variaveis auxili-ares αu[k + vu] com vu = j − 1 e αy[k + vy]com vy = j, no lugar de ‖u[k + j − 1|k]‖1 e‖C · [k+j|k]−yref [Nw]‖1, respectivamente, a fun-cao de custo (21) pode ser reescrita como:

J(x[k]) =

N+1∑j=1

j · b[j] + γ

m∑i=1

αui [k + j − 1] +

q∑i=1

αyi [k + j]

(23)

3.3 Desvio de obstaculo

Assumindo que o obstaculo seja definido pelo po-litopo:

O =x|SOb · x ≤ BOb

(24)

com SOb ∈ RNL×n e BOb ∈ RNL , sendo NL onumero de lados do obstaculo.

Da equacao (5), segue que para evitar a coli-sao com obstaculos, deve-se ter:

sObi · x[k + j|k] > bOb

i +mi[j] + di − M · ci[j]1 ≤ i ≤ NL, 1 ≤ j ≤ N + 1

(25)em que sOb

i e bObi correspondem a linha i da ma-

triz SOb e ao i-esimo elemento do vetor BOb res-pectivamente. O escalar di corresponde a umadistancia de seguranca entre o veıculo e o lado ido obstaculo.

A variavel mi[j] e uma margem acrescentadaao lado direito da inequacao (25) para torna-lamais restritiva. Ela e calculada a partir da se-guinte recursao em que se levam em consideracaoos efeitos da perturbacao:

mi[0] = 0

mi[j] = mi[j − 1]− minw∈W

(sObi L[j − 1]Dw),

1 ≤ j ≤ N + 1

(26)

Analogamente ao caso do conjunto terminal, oescalar M deve ser escolhido adequadamente, i.e:

M >max |sObi .x−bOb

i −di−mi[N+1]|, 1 ≤ i ≤ NL

(27)Ao assumir o valor nulo, a variavel binaria

ci[j] impoe que a posicao esteja fora do obsta-culo, impondo o complemento da desigualdadeque define um semiplano do obstaculo politopico.Quando ci[j] = 1, a restricao e relaxada. Paragarantir que ao menos um dos complementos dossemiplanos do obtaculo contenham a posicao doveıculo a cada instante em (25), evitando assimadentrar no obstaculo, deve-se impor:

NL∑i=1

ci[j] ≤ NL − 1, 1 ≤ j ≤ N + 1 (28)

A cada obstaculo adicional, variaveis binariasassociadas devem ser definidas respeitando-se asrestricoes (25) a (28) concomitantemente com asrestricoes ja presentes.

3.4 Relaxamento de Restricoes

Uma vez que o problema de minimizacao (6) foireformulado utilizando-se um horizonte fixo N ≥N [k], deve-se garantir que a solucao u[k+j−1|k] =0 seja admissıvel para N [k] < j ≤ N . Portanto,devem-se relaxar as restricoes impostas ao estadoe a variavel binaria ci para este intervalo de j.As restricoes de estado podem ser relaxadas fa-zendo uso da variavel binaria b e o escalar M (de-finido em (19)), da seguinte forma:

xp[k + j|k] ≤ xmaxp [j] +

j−1∑r=1

b[r] ·M

−xp[k + j|k] ≤ −xminp [j] +

j−1∑r=1

b[r] ·M

(29)

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

639

Page 5: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

para p = 1,2, . . . , n, ∀j ∈

1,2,..,N + 1

,em que xmin

p [j] e xmaxp [j] sao valores escalares

mınimos e maximos de excursao impostos a cadavariavel do vetor de estados. Estes limites saovariantes no tempo, dado que o politopo deestado e endurecido segundo (9a) e (9b).Adicionalmente, deve-se relaxar a restricao deigualdade relacionada a dinamica do sistema(7a) apos a chegada do veıculo no conjuntoalvo. Esta restricao de igualdade pode serreescrita como uma restricao de desigualdadeutilizando variavel binaria e M da seguinte forma:

xp[k+j|k]−Ajp ·x[k|k]−

j∑i=1

Ai−1p ·B ·u[k+j−i|k]

−j−1∑r=1

b[r]·M ≤ 0

(30)

xp[k+j|k]−Ajp ·x[k|k]−

j∑i=1

Ai−1p ·B ·u[k+j−i|k]

+

j−1∑r=1

b[r]·M ≥ 0

(31)para p = 1,2...,n, a p-esima linha do ve-tor/matriz indicado.

Por fim, a restricao imposta a variavel binariaci pode ser relaxada da seguinte forma:

NL∑v=1

cv[j] ≤ NL − 1 +

j−1∑i=1

b[i] (32)

4 Helicoptero 3DOF da Quanser

O helicoptero 3DOF da Quanser pode ser visto naFig. 1, com seus quatro componentes principais:corpo, base, braco principal e braco secundario.

a

c

e

d

b

f

Figura 1: Helicoptero 3DOF da Quanser. a) Mo-tor Dianteiro, b) Motor Traseiro, c) Braco Princi-pal, d) Base, e) Braco Secundario, f) Contrapeso.

O corpo do helicoptero contem uma haste emcujas extremidades encontram-se acoplados umpar formado por helices e um motor DC cuja ten-sao e restrita ao intervalo de 0 a 5V (tensao apli-cada a entrada de amplificadores). Se houver dife-renca entre as tensoes aplicadas em cada um dosmotores, o conjunto rotaciona em torno do eixodo braco principal, movimento este denominadoarfagem. A base esta ligada ao braco principale o fixa a bancada por meio de uma junta quelhe fornece dois graus de liberdade, a rotacao emtorno do eixo horizontal (movimento de elevacao)e em torno do eixo vertical (movimento de deslo-camento). A Fig. 2 ilustra cada um dos movimen-tos e a seta indica o sentido positivo do respectivoangulo.

Ângulo de Arfagem

CP

CPMD

MT

MD

Ângulo de Elevação

MD

MT

Ângulo de Deslocamento

Figura 2: Tres graus de liberdade do Helicoptero.MD = Motor Dianteiro, MT = Motor Traseiro,CP = Contrapeso.

O contrapeso tem a funcao de reduzir o em-puxo necessario para manter o helicoptero pai-rando.

4.1 Modelo Linear a Tempo Discreto do Helicop-tero 3DOF

Utiliza-se um modelo linear a tempo discretodesenvolvido em Maia (2008) para o heli-coptero 3DOF. O vetor de estados e xT =[P P E E T T

], em que P e o an-

gulo de arfagem, E, o angulo de elevacaoe T , o angulo de deslocamento. O modelofoi linearizado em torno do ponto de equilı-brio xT =

[0 0 −7 0 0 0

], uT =[

2,804 2,804]V e discretizado assumindo o

tempo de amostragem de 40ms, resultando:

A =

1 0,04 0 0 0 00 1 0 0 0 00 0 0,999 0,04 0 00 0 −0,048 0,999 0 0

−0,001 0 0 0 1 0,04−0,05 −0,001 0 0 0 1

(33)

B =

0,002 −0,0020,112 −0,112

0 00,016 0,016

0 00 0

(34)

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

640

Page 6: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

Admitem-se os seguintes valores maximos emınimos de excursao para as variaveis:

−10 ≤ x1[k]− x1 ≤ 10 (35a)

−15 ≤ x3[k]− x3 ≤ 15 (35b)

0 ≤ ui[k] + ui ≤ 5, i = 1,2 (35c)

Neste trabalho, admite-se uma perturbacaode entrada a semelhanca de Maia (2008) e, por-tanto, escolhe-se D = B.

No problema de planejamento para o helicop-tero 3DOF, o obstaculo e o conjunto alvo sao defi-nidos em termos dos angulos E e P . Dessa forma,a saıda e dada por:

y[k] = C · x[k], (36)

com

C =

[0 0 1 0 0 00 0 0 0 1 0

]. (37)

Como o helicoptero e um corpo extenso e oproblema de planejamento considera apenas umamassa pontual, e necessario expandir o obstaculoadequadamente para evitar colisoes. Isso podeser feito determinando as dimensoes do helicop-tero em cada direcao, assumindo para isso o casomais extremo de angulo de arfagem, e adicionandomargens de seguranca ao obstaculo nas restricoes(25). A deducao do valor das margens de segu-ranca nao sera detalhada neste artigo.

5 Cenario de simulacao

Para as simulacoes deste trabalho, foi criado umcenario de voo definido no R2, com o eixo hori-zontal representando o angulo de deslocamentoe o eixo vertical, o angulo de elevacao. Par-tindo de (24), define-se um obstaculo centrado em(TOb,EOb) = (30,− 4):

[C−C

]x ≤

EOb − δbOb − dEmax − εTOb − δeOb − dTmax − ε−EOb − δcOb − dEmax − ε−TOb − δdOb − dTmax − ε

(38)

com δObb = 27,δOb

c = 0,δObd = δOb

e = 2 deli-mitando o obstaculo. O valor ε = 10−5 foi defi-nido para contornar erros numericos. Os escala-res dEmax e dTmax se referem as margens de se-guranca adicionadas para contabilizar a dimensaofısica do corpo do helicoptero nas direcoes de ele-vacao e arfagem, respectivamente. Estes valoresforam obtidos considerando-se o cenario de piorcaso que ocorre quando P = 10.

Utilizando-se a inequacao (17), define-se umconjunto-alvo em forma de politopo retangular

centrado em (TQ,EQ):

[C−C

]x ≤

EQ + δc

Q

TQ + δdQ

−EQ + δbQ

−TQ + δeQ

, (39)

sendo δQb = δQc = δQd = δQe = δ, valores que,somados ao centro (TQ,EQ), delimitam o politopo.

Os cenarios para comparacao sao:

1. Voo direto para o conjunto alvo final, semdivisao em conjuntos intermediarios, denomi-nado de “1 Conjunto”;

2. Voo com divisao usando quatro conjuntos in-termediarios antes do mesmo conjunto alvodo cenario 1, denominado de “5 Conjuntos”.Quando o conjunto alvo intermediario e atin-gido, comuta-se para o proximo conjunto,resolvendo-se um novo problema de otimiza-cao com um mesmo horizonte fixo.

A tabela 1, contem os valores definidos para osconjuntos alvo das simulacoes realizadas.

Tabela 1: Valores definidos para conjunto alvo.Numero

do ConjuntoCoordenadado Centro

Tamanhoδ

1 Conjunto 1 (TQ,EQ) = (60,0) 2

1 (TQ,EQ) = (3,6) 2

2 (TQ,EQ) = (14,9) 2

5 Conjuntos 3 (TQ,EQ) = (30,9) 2

4 (TQ,EQ) = (45,8) 2

5 (TQ,EQ) = (60,0) 2

Por fim, definem-se, para ambos os cenarios,um peso de controle ρ = 0,1 e um peso de desvioda trajetoria com relacao ao centro do conjuntoalvo µ = 1. Foi definida tambem uma perturba-cao com distribuicao uniforme e media nula queage sobre a entrada do sistema: −wmin ≤ w[k] ≤wmax, k =

0,1,...,N

. Embora se tenha adotado

uma distribuicao uniforme neste trabalho, qual-quer outra distribuicao definida em um domınioconvexo, fechado e com a origem sendo um pontointerior a W pode ser utilizada.

Em um cenario real, a perturbacao de entradadefinida pode representar uma tensao exogena quese soma a tensao comandada pelos atuadores, pro-duzindo como efeito um descasamento entre o mo-delo de predicao e o modelo do helicoptero. Amagnitude da perturbacao admissıvel esta vincu-lada ao horizonte fixo N necessario para resolvero Problema 1. Para problemas em que sao ne-cessarios horizontes N elevados, magnitude ele-vadas para o politopo de perturbacao admissıvelpode resultar em politopos X [j], U [j], Q[j] vaziose, consequentemente, nao haver nenhuma solucaofactıvel.

A escolha do horizonte fixo N , por sua vez,deve atender a dois requisitos: ser grande o sufici-ente para resolver o Problema 1 e resultar em umcusto que seja otimo.

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

641

Page 7: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

Para o cenario “1 Conjunto”, o horizonte Najustado foi N = 81 com uma magnitude de per-turbacao admissıvel de wmin = wmax = 0,01 V .Por outro lado, para o cenario “5 Conjuntos”, de-vido ao fato do Problema 1 ser resolvido repeti-damente utilizando um mesmo horizonte fixo, Ne limitada inferiormente pelo trecho da trajeto-ria que exige maior N . Neste caso, obteve-se umN = 24 e, para fins de comparacao de desempe-nho, manteve-se wmin = wmax = 0,01 V .

Os resultados de simulacao foram obtidosusando o Gurobi (Gurobi Optimization, 2016)para resolver o problema de otimizacao em umcomputador pessoal com processador CoreTM i7-6700K com 24GB de memoria RAM. As opera-coes de diferencas de Pontryagin foram efetuadasutilizando-se o pacote MPT para Matlab (Herceget al., 2013).

6 Resultados

As trajetorias obtidas para ambos os cenariosapresentados na secao 5 sao ilustradas pelas Fig.3 e Fig. 4.

A

Figura 3: Trajetoria do helicoptero considerandoum unico conjunto alvo. A = (61,93; 1,99).

Ambas as trajetorias obtidas para o centrogeometrico do helicoptero (curva azul) evitamcom sucesso a colisao do corpo extenso (retan-gulos em amarelo) do veıculo com o obstaculo(retangulo em vermelho), conforme se constatapelo detalhamento das figuras.

Contudo, a abordagem utilizando multi-plos conjuntos alvos reduziu significativamente otempo computacional necessario para a obtencaode solucao do problema de otimizacao como sepode verificar atraves da Fig. 5. Enquanto otempo medio requerido para obter a solucao doproblema de otimizacao no Cenario 1 foi de 10,84s, no Cenario 2 este tempo caiu para 0,084 s, oque corresponde a uma reducao de 99,22 %.

A

Figura 4: Trajetoria do helicoptero considerandoconjuntos alvo intermediarios. A = (61,72; 1,99).

Figura 5: Comparacao entre os tempos computa-cionais.

Tabela 2: Comparacao de desempenhoConjunto

AlvoIntervalo

(em iteracoes)Gasto deControle

Erro deRastream.

Custo doEstagio

1 Conjunto 1 0 - 81 78,35 V 64,33 154,16Total 82 iteracoes 78,35 V 64,33 154,16

1 0 - 13 14,46 V 1,75 17,192 14 - 38 4,05 V 4,46 29,86

5 Conjuntos 3 39 - 57 4,72 V 3,61 23,084 58 - 69 4,84 V 2,10 14,585 70 - 82 48,53 V 2,90 20,76

Total 83 iteracoes 76,59 V 14,81 105,47

Com o intuito de comparar o desempenho ob-tido das duas abordagens, construiu-se a tabela 2.A tabela e preenchida com o conjunto alvo e asparcelas de custo associadas ao voo ate o referidoconjunto e foi calculada a partir da equacao (40):

J =

N+1∑k=1

k · b[k] + γ

m∑i=1

αui [k − 1] + µ

q∑i=1

αyi [k]

(40)

Uma analise inicial dos ındices de desempe-nho induz a concluir que a abordagem por divisaoem waysets produz um controlador de melhor de-sempenho em relacao a abordagem de um unicoconjunto alvo. No entanto, neste caso os custosassociados ao dois cenarios nao refletem adequa-damente o desempenho do controlador, uma vez

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

642

Page 8: APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS DE … · 2017-09-27 · APLICAC˘AO DE MPC ROBUSTO COM WAYSETS PARA UM HELIC~ OPTERO COM TR^ES GRAUS

que os problemas de otimizacao resolvidos nos doiscenarios sao diferentes. Enquanto no Cenario 1, oobjetivo de controle e atingir o conjunto alvo finaldiretamente, no Cenario 2 este conjunto alvo e umwayset intermediario.

Apesar deste fato, uma comparacao pode serrealizada desprezando-se as parcelas de custo as-sociadas ao erro de rastreamento. Neste caso, oscustos atualizados J1 e J2 correspondentes aos ce-narios 1 e 2, respectivamente, sao: J1 = 89,83 eJ2 = 90,66. Como era de se esperar, a abordagempor waysets resultou em uma solucao sub-otimacomparada aquela em que se define um unico Con-junto Alvo, ilustrando uma relacao de compro-misso existente entre a reducao do horizonte ne-cessario para resolver o problema de otimizacao ea perda da otimalidade da solucao.

7 Conclusoes

Neste artigo se propos a aplicacao de uma tec-nica de planejamento de trajetorias com robusteza perturbacoes a um modelo de helicoptero de la-boratorio com tres graus de liberdade. Tal usopara uma planta de dinamica mais complexa euma lacuna na literatura, mas foi demonstradopor meio de simulacoes ser possıvel aplicar estatecnica com sucesso.

Contudo, os tempos computacionais deman-dados pela tarefa de planejamento foram excessi-vamente grandes, comprometendo qualquer possi-bilidade de usar a tecnica em tempo real. Visandolidar com esse problema, foi proposta a divisao datarefa de planejamento em tarefas que demandemmenos tempo computacional, por meio do uso deconjuntos alvo intermediarios (waysets). Isso foicapaz de reduzir o tempo computacional signifi-cativamente, tornando palpavel a possibilidade deaplicar a tecnica ao helicoptero em tempo real,tendo sido notada apenas uma pequena perda dedesempenho.

Como trabalhos futuros propoem-se: 1) rea-lizacao da selecao dos waysets de maneira auto-matica, com garantia de que se possa atingir oproximo a partir do anterior a despeito das per-turbacoes e 2) realizacao de ensaios experimentaispara validar a proposta.

8 Agradecimentos

Os autores agradecem a FAPESP (Auxılio Regu-lar proc. 2016/03647-3). Rogerio Chung agradeceao CNPq pela bolsa de mestrado.

Referencias

Athans, M. e Falb, P. L. (2007). Optimal Con-trol - An Introduction to the Theory and ItsApplications, Dover Publications.

Bemporad, A. e Morari, M. (1999). Control of sys-tems integrating logic, dynamics, and cons-traints, Automatica 35(3): 407–427.

Gurobi Optimization, Inc. (2016). Gu-robi optimizer reference manual.http://www.gurobi.com.

Hartley, E. N. e Maciejowski, J. M. (2014). FPGA-based predictive control system for spacecraftrendezvous in elliptical orbits, Optimal Con-trol Applications and Methods 36(5): 585–607.

Hoy, M., Matveev, A. S., e Savkin, A. V. (2015).Algorithms for collision-free navigation ofmobile robots in complex cluttered environ-ments: a survey, Robotica 33: 467–497.

Herceg, M., Kvasnica, M., Jones, C. e Mo-rari, M. (2013). Multi-Parametric Toolbox3.0, Proc. of the European Control Con-ference, Zurich, Switzerland, pp. 502–510.http://control.ee.ethz.ch/∼mpt.

Maciejowski, J. (2000). Predictive Control withConstraints, Prentice Hall.

Maia, M. H. (2008). Controle preditivo robusto deum helicoptero com tres graus de liberdadesujeito a perturbacoes externas, Dissertacaode Mestrado, Instituto Tecnologico da Aero-nautica.

Richards, A. e How, J. P. (2006). Robust variablehorizon model predictive control for vehiclemaneuvering, International Journal of Ro-bust and Nonlinear Control 16(7): 333–351.

Rossiter, D. J. A. (2003). Model-Based Predic-tive Control - A Practical Approach, CRCPRESS.

Shekhar, R. C., Kearney, M. e Shames, I.(2014). Robust model predictive controlof unmanned aerial vehicles using waysets,Journal of Guidance, Control and Dynamics38(10): 1898–1907.

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

643