controlo preditivo híbrido de robôs móveis terrestres para ... · resultados obtidos permitem...
TRANSCRIPT
Junho de 2008
Controlo Preditivo Híbrido de Robôs Móveis
Terrestres para Seguimento de Pista
NUNO MIGUEL BAIÃO MESTRE
Dissertação para obtenção do Grau de Mestre em
ENGENHARIA MECÂNICA
Júri
Presidente: Professor José Manuel Gutierrez Sá da Costa
Orientador: Professor Miguel Sérgio Amaro Pedro Silva
Vogais: Professor Miguel Afonso Dias de Ayala Botto
Professor Carlos Baptista Cardeira
2 cm
2 cm
Resumo
Os principais objectivos deste trabalho são a construção de modelos de simulação e a síntese de controladores
para seguimento de pista no âmbito da robótica móvel.
O modelo matemático do robô móvel é não linear e sujeito a um conjunto de restrições tanto nas
entradas do sistema bem como nos seus estados. Embora existam um grande conjunto de metodologias
de controlo para lidar com não linearidades suaves, a introdução de restrições restringe grandemente as
metodologias elegíveis.
Logo, neste trabalho são utilizadas técnicas de controlo híbrido integradas numa estratégia de controlo
preditivo. Inicialmente, o sistema não linear é aproximado por um sistema afim por troços, ou seja um
sistema híbrido.
Embora o controlo preditivo consiga lidar com restrições, uma das grandes desvantagens da implementação
de controladores preditivos é o tempo de computação necessário para resolver, on-line, o problema de
optimização associado ao cálculo da acção de controlo óptima. De modo a ultrapassar este obstáculo,
utiliza-se uma técnica de optimização denominada programação multi-paramétrica, que permite calcular
off-line e explicitamente a lei de controlo, a qual é definida como uma lei de controlo híbrida. A
metodologia utilizada permite garantir o respeito das restrições e a estabilidade assimptótica do sistema
controlado.
Para validar os vários controladores obtidos, são apresentados um conjunto de resultados de simulação
para o seguimento de pista, sendo esta definida com trajectórias espaciais rectilíneas e sinusoidais. Os
resultados obtidos permitem concluir que a metodologia utilizada para a síntese dos controladores é
promissora e merecedora de desenvolvimentos futuros.
i
ii
Abstract
The main objectives of this work are the development of simulation models and the synthesis of controllers
for path following, in the scope of mobile robotics.
The mathematical model of the mobile robot is nonlinear and subject to a set of constraints at the
inputs of the system, as well as in its states. Although there are a large collection of control methodologies
to lead with soft nonlinearities, the introduction of constraints greatly restricts the eligible methodologies.
Therefore, hybrid control techniques integrated in a model predictive control strategy are proposed.
Initially, the nonlinear system is approximate to a piecewise-affine system, i.e., a hybrid system.
Although model predictive control can deal with constraints, a major disadvantage of the implementation
of predictive controllers is the computational time necessary to solve, on-line, the optimization problem
associated with the computation of the optimal control action. To overcome this obstacle, an optimization
technique called multi-parametric programming is used, which allows to calculate off-line and explicitly
the control law, defined as an hybrid control law. This methodology allows to respect the constraints
and guarantees the asymptotical stability of the controlled system.
In order to validate the various controllers obtained, a set of simulation results for path following are
presented, where the spatial references are straight lines and sinusoidal trajectories. The obtained results
allow to conclude that the methodology used for controller synthesis is promising and deserves future
development.
iii
iv
Palavras Chave
• Robótica móvel
• Controlo híbrido
• Sistema afim por troços
• Controlo preditivo
• Optimização multi-paramétrica
v
vi
Keywords
• Mobile robotics
• Hybrid control
• Piecewise affine systems
• Model predictive control
• Multi-parametric optimization
vii
viii
Agradecimentos
Antes de mais, eu gostaria de expressar a minha profunda gratidão ao Professor Miguel Sérgio Amaro
Pedro Silva e se não fosse a sua ajuda, dedicação e orientação dada neste trabalho, eu não teria sido
capaz de o terminar. Ao Professor desejo-lhe as melhores das felicidades e que continue com o óptimo
trabalho que tem realizado.
Eu gostaria de agradecer os meus colegas de laboratório pela criação de um bom ambiente de trabalho
e pela ajuda prestada nos momentos mais difíceis. A eles desejo-lhes muito boa sorte para o futuro.
Eu queria agradecer à minha família pelo apoio moral e financeiro que me deram, não só ao longo
destes meses da Dissertação de Mestrado, mas durante todo o curso. Se não fosse a ajuda dos meus
pais, eu não teria conseguido chegar onde cheguei hoje.
E não poderia esquecer dos meus amigos que sempre me deram apoio durante o curso, dando palavras
encorajadoras nos momentos mais complicados.
Nuno Mestre
ix
x
Índice
Resumo i
Abstract iii
Palavras Chave v
Keywords vii
Agradecimentos ix
Lista de Tabelas xv
Lista de Figuras xix
1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Controlo preditivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Definição de um sistema afim por troços . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Estratégias de modelação e controlo de robôs móveis para seguimento de pista . . . . . 8
1.5 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Plataforma e modelação do sistema 11
2.1 Plataforma utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Morfologia e motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Placa de aquisição de dados e controlo . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Modelação matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xi
xii ÍNDICE
2.2.1 Motor de corrente contínua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.3 Visão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 Caracterização dos parâmetros do sistema . . . . . . . . . . . . . . . . . . . . . 21
3 Modelos de simulação 25
3.1 Trajectória espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1 Trajectória sinusóide espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 Modelo cinemático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Modelo dinâmico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Seguimento da trajectória espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5 Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5.1 Bloco do subsistema primário . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.2 Subsistema da dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5.3 Subsistema do motor eléctrico . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5.4 Subsistema da câmara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5.5 Subsistema da trajectória espacial . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.5.6 Subsistema das coordenadas de erro . . . . . . . . . . . . . . . . . . . . . . . . 38
4 Síntese de Controladores 41
4.1 Aproximação de sistemas não lineares por sistemas afins por troços . . . . . . . . . . . . 41
4.1.1 Representação do sistema afim por troços . . . . . . . . . . . . . . . . . . . . . 42
4.1.2 Algoritmo de aproximação para um sistema afim por troços . . . . . . . . . . . . 44
4.2 Programação multi-paramétrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Definições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 Controlo óptimo para sistemas afins por troços . . . . . . . . . . . . . . . . . . . . . . 49
4.3.1 Controlo preditivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.2 Conjunto positivamente invariante . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.3 Controlador de tempo mínimo . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5 Apresentação de resultados 55
5.1 Controlo do modelo de simulação cinemático . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.1 Velocidade linear constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
ÍNDICE xiii
5.1.2 Referência na velocidade linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2 Controlo do modelo de simulação dinâmico . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2.1 Validação do modelo dinâmico . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2.2 Controlo de referência para os motores . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.3 Velocidade linear constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.4 Referência na velocidade linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6 Conclusões e trabalhos futuros 77
6.1 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Bibliografia 80
xiv ÍNDICE
Lista de Tabelas
2.1 Parâmetros a estimar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1 Resultados obtidos para vários caminhos sinusoidais para o modelo cinemático com velocidade
constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2 Resultados obtidos para o controlador projectado com referência na velocidade linear de
1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3 Parâmetros do sistema identificados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Resultados obtidos para vários caminhos sinusoidais para o modelo dinâmico com velocidade
constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.5 Resultados obtidos para vários caminhos sinusoidais para o modelo dinâmico com uma
referência na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
xv
xvi LISTA DE TABELAS
Lista de Figuras
1.1 Configuração de um controlador preditivo. . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Rasteirinho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Binário desenvolvido por um motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Circuito eléctrico equivalente ao motor DC . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Diagrama de blocos do sistema motor DC . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Parâmetros geométricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Modelo da câmara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 Ponto captado pela câmara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1 Referencial T tangente à trajectória . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Referenciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 Seguimento dum caminho com a câmara . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Modelo de simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 Bloco do subsistema primário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.6 Bloco da dinâmica do robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.7 Modelo do motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.8 Modelo do câmara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.9 Modelo da trajectória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.10 Bloco das coordenadas de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1 Células simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.1 Projecção no espaço de estados do controlador projectado . . . . . . . . . . . . . . . . 57
xvii
xviii LISTA DE FIGURAS
5.2 Seguimento de um caminho rectilíneo do modelo cinemático com velocidade linear constante
de 1m/s detalhado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3 Entrada e saída do modelo cinemático no seguimento de um caminho rectilíneo com uma
velocidade linear constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 Seguimento de um caminho sinusoidal e do modelo cinemático com velocidade linear
constante de 1m/s detalhado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.5 Entrada e saída do modelo cinemático no seguimento de um caminho sinusoidal com uma
velocidade linear constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.6 Projecção no espaço de estados do controlador projectado para referência na velocidade 61
5.7 Seguimento de um caminho rectilíneo do modelo cinemático com uma referência na
velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.8 Entrada do modelo cinemático no seguimento de um caminho rectilíneo com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.9 Saída do modelo cinemático no seguimento de um caminho rectilíneo com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.10 Seguimento de um caminho sinusoidal do modelo cinemático com uma referência na
velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.11 Entrada do modelo cinemático no seguimento de um caminho sinusoidal com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.12 Saída do modelo cinemático no seguimento de um caminho sinusoidal com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.13 Comparação dos dados experimentais e de simulação para uma tensão aplicada de 1,5 V
a cada um dos motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.14 Comparação dos dados experimentais e de simulação para uma tensão aplicada de 2 V a
cada um dos motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.15 Controlo de tensão aplicada aos motores para seguir determinada referência em velocidade
angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.16 Seguimento de um caminho rectilíneo do modelo dinâmico com velocidade linear constante
de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.17 Entrada do modelo dinâmico no seguimento de um caminho rectilíneo com uma velocidade
linear constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
LISTA DE FIGURAS xix
5.18 Saída do modelo dinâmico no seguimento de um caminho rectilíneo com uma velocidade
linear constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.19 Seguimento de um caminho sinusoidal do modelo dinâmico com velocidade linear constante
de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.20 Entrada do modelo dinâmico para seguimento de um caminho sinusoidal com velocidade
linear constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.21 Saída do modelo dinâmico para seguimento de um caminho sinusoidal com velocidade
linear constante de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.22 Seguimento de um caminho rectilíneo do modelo dinâmico com uma referência na velocidade
linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.23 Entrada do modelo dinâmico para seguimento de um caminho rectilíneo com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.24 Saída do modelo dinâmico para seguimento de um caminho rectilíneo com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.25 Seguimento de um caminho sinusoidal do modelo dinâmico com uma referência na velocidade
linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.26 Entrada do modelo dinâmico para seguimento de um caminho sinusoidal com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.27 Saída do modelo dinâmico para seguimento de um caminho sinusoidal com uma referência
na velocidade linear de 1m/s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
xx LISTA DE FIGURAS
Capítulo 1
Introdução
Este capítulo apresenta a motivação deste trabalho, os conceitos fundamentais associados às metodologias
de modelação e controlo que foram adoptadas, assim como um sumário da literatura relevante sobre
controlo de robôs para seguimento de trajectória espacial. Por fim, são apresentadas a estrutura e
principais contribuições desta tese.
1.1 Motivação
Os robôs utilizados neste trabalho foram projectados e construídos no laboratório de Automação e
Robótica, do Departamento de Engenharia Mecânica do Instituto Superior Técnico, tendo como principal
objectivo o ensino/aplicação dos conceitos fundamentais na área do controlo de sistemas, sendo por essa
razão plataformas fisicamente robustas mas de baixo custo (note-se que foram construídos cerca de uma
centena de robôs) [Cardeira & da Costa 2005] [Cardeira, Sousa, Pinto, Botto, Ramalho & da Costa 2006]
[Mestre, Silva, Cardeira & Botto 2007].
O número de aplicações para os robô móveis tem aumentado bastante nos últimos anos e portanto
este tipo de sistemas dinâmicos tem elevado interesse de estudo. Este trabalho foca-se no problema de
seguimento de pista, sendo esta captada por uma câmara fixa acoplada ao robô.
Dentro da classe dos robôs móveis terrestres (também denominados por veículos autónomos terrestres),
fazem parte os robôs que são movidos por duas rodas motrizes sobre um eixo que permite a utilização
de um sistema de tracção diferencial, os quais apresentam um desempenho superior sobre outros robôs
móveis de diferentes configurações [He 2005]. São robôs de fácil locomoção e a configuração das rodas é
simples. Devido a estas vantagens, este tipo de robô é utilizado em aplicações domésticas, militares e de
1
2 CAPÍTULO 1. INTRODUÇÃO
monitorização [Egerstedt, Hu & Stotsky 2001]. Apesar das suas vantagens, este tipo de robôs comporta
consigo a desvantagem de ser um sistema não-holonómico, em que a primeira derivada das variáveis do
sistema não é integrável. E por ser um sistema não linear, as técnicas de controlo linear não oferecem
um bom grau de desempenho (para todo o espaço de estados) e nem garantias de estabilidade, devido à
ausência das características de sobreposição e de escala de um sistema linear, sendo necessário recorrer
a estratégias de controlo que tomem em consideração as não-linearidades do sistema de modo a obter
desempenhos superiores para todo o espaço de estados e garantias de estabilidade.
Para além das não linearidades suaves associadas à dinâmica do robô, existem não linearidades duras
(por ex.: zonas mortas dos motores), bem como restrições nas variáveis de entrada do sistema (por
ex.: saturações) e nos seus estados (por ex.: erro máximo de posicionamento relativamente à pista),
o que implica que se tenha de adoptar técnicas de modelação/controlo capazes de expressar/lidar com
estes tipos de não linearidades e restrições. De facto, um dos objectivos de um modelo é representar de
um modo simplificado o objecto de estudo, com um grau de exactidão suficiente de forma a extrair as
propriedades fundamentais do objecto estudado, excluindo todas as características que não são relevantes
para o problema em estudo. Dependendo do seu objectivo, o nível de detalhe/complexidade destes
modelos vai diminuindo caso estes sejam desenvolvidos para simulação, análise ou então para a síntese
de controladores.
A teoria do controlo estuda a forma como manipular as variáveis do sistema de modo a obter
estabilidade, bom desempenho e robustez. Para atingir (alguma) autonomia, a estrutura de realimentação
é projectada tal que acções actuais ou futuras no sistema são determinadas com base em variáveis
mensuráveis ou estimadas. Do ponto de vista da teoria do controlo, os modelos dinâmicos foram muitas
vezes descritos com as equações lineares diferenciais ou às diferenças. Contudo, muitos processos físicos
não podem ser correctamente modelados por este tipo de equações, e assim técnicas de síntese de
controladores para sistemas descritos por equações diferenciais com não-linearidades suaves foram sendo
desenvolvidas, como por exemplo feedback linearization.
Com o advento dos microprocessadores e com a sua utilização generalizada nos produtos dos dias
de hoje (normalmente ditos, sistemas embebidos), os engenheiros e investigadores de controlo sentiram
a necessidade (também pressionados pela crescente competição do mercado), em desenvolver modelos
e técnicas que de uma forma sistemática se pudessem aplicar a sistemas descritos simultaneamente por
variáveis de valor contínuo e de valor discreto (em número finito). De facto, sistemas baseados em regras
if-then-else permitem a interacção ou acoplamento entre componentes contínuos e discretos. Esta fusão
é designada por sistemas híbridos.
1.2. CONTROLO PREDITIVO 3
A palavra híbrido reforça o facto de que esta classe de sistemas contém subsistemas com dinâmica
contínua e subsistemas com dinâmica discreta (eventos), e que interactuam entre si [Antsaklis 2000].
A teoria dos sistemas híbridos tem evoluído muito rapidamente e espera-se que o seu desenvolvimento
tenha grande impacto em aplicações tais como a industria automóvel, sistemas de produção flexíveis,
industria de processos químicos, redes de comunicação, etc.
De modo a obter um compromisso entre a capacidade de modelação e a capacidade de decisão foram
desenvolvidas um conjunto de técnicas de modelação para sistemas híbridos, entre os quais se destacam
as seguintes: sistemas afins por troços, [Sontag 1981], sistemas mistos de lógica e dinâmica [Bemporad
& Morari 1999], sistemas complementares lineares, etc. Embora as abordagens sejam diferentes, estes
modelos dinâmicos híbridos são equivalentes [Heemels, Schutter & Bemporad 2001], o que permite a
troca de ferramentas de análise e síntese entre os diferentes modelos.
Especificamente, os sistemas afins por troços permitem modelar o acoplamento entre processos físicos
com dinâmica linear, regras lógicas, dinâmica discreta e restrições lineares. Note-se que para além da
intrínseca não linearidade devido ao acoplamento entre dinâmicas, as restrições no estado e/ou nas
variáveis manipuladas podem também introduzir não linearidades no sistema em anel fechado.
Existem muito poucas técnicas de síntese para as quais se possa provar a estabilidade do sistema na
presença de não linearidades e restrições, e o controlo preditivo, o qual é uma estratégia baseada em
controlo óptimo, é um desses métodos [de Oliveira & Morari 2000].
Por estas razões, neste trabalho são utilizadas técnicas de controlo híbrido integradas numa estratégia
de controlo preditivo, em que a lei de controlo é explicitamente calculada off-line, utilizando para tal
programação multi-paramétrica. A metodologia utilizada neste trabalho permite garantir o respeito das
restrições e a estabilidade assimptótica do sistema controlado.
1.2 Controlo preditivo
Devido à sua capacidade de lidar com sistemas multi-variáveis de grandes dimensões, sujeitos a restrições,
a estratégia de controlo preditivo é muito utilizada na indústria [Richalet 1993, Camacho & Bordons 1999].
Uma vez que esta é a estratégia de controlo utilizada neste trabalho, apresenta-se de seguida, um breve
resumo sobre os seus conceitos fundamentais.
O principal conceito do controlo preditivo é obter uma acção de controlo, em cada instante de
amostragem, resolvendo repetidamente, e on-line, um problema de controlo óptimo, de horizonte finito,
baseado no modelo do sistema, utilizando o estado actual do sistema como estado inicial. O problema
de optimização fornece uma sequência de entradas óptimas e apenas a primeira entrada da sequência é
4 CAPÍTULO 1. INTRODUÇÃO
aplicada ao sistema [Mayne, Rawlings, Rao & Scokaert 2000]. No instante seguinte, o estado é lido e o
problema de problema de controlo óptimo, com base nesse estado, é novamente resolvido, conseguindo-se
assim um sistema de controlo com realimentação dos estados (medidos directamente ou por utilização
de um estimador de estados). Esta estratégia de controlo é muitas vezes denominada na literatura por
Receding Horizon Control.
A figura 1.1 apresenta a estrutura básica do controlador preditivo, sendo os componentes principais
o modelo de predição, a função de custo a minimizar, o optimizador para obtenção duma lei de controlo,
e as restrições operacionais a que o sistema controlado está sujeito.
Optimizador
Função de custo
Restrições operacionais
Modelo dinâmico
Sistema
Estimador de estado
Controlador Preditivo
yu
Figura 1.1: Configuração de um controlador preditivo.
De facto, o controlo preditivo possui um grande potencial, comparado com outras estratégias de
controlo, para lidar com restrições nos estados e entradas do sistemas, bem como não linearidades,
tal como referido em [Michalska & Mayne 1993]. Sumariamente, as principais vantagens do controlo
preditivo são as seguintes:
• Consegue lidar muito bem com problemas de controlo com muitas variáveis;
• Toma em consideração as limitações dos actuadores utilizados;
1.2. CONTROLO PREDITIVO 5
• Permite a operação do processo perto dos constrangimentos, de forma a melhor o desempenho;
• Sempre que os processos são lentos, existe tempo suficiente para o cálculo de optimização on-line;
• Consegue lidar com sistemas de fase não-miníma e instáveis;
• É robusto a perturbações no sistema.
De seguida, apresenta-se um breve sumário das principais definições e conceitos de estabilidade
relativos ao controlo preditivo, baseados em [Mayne et al. 2000].
Embora o sistema a controlar seja geralmente modelado por um conjunto de equações diferenciais,
o algoritmo de controlo preditivo é implementado num microprocessador o que implica a discretização
temporal do sistema, obtendo-se um conjunto de equações às diferenças:
x(k + 1) = f (x(k), u(k)) ,
y(k) = h (x(k)) ,(1.1)
tal que f(0, 0) = 0 (condição que não é limitativa uma vez que pode ser modificada com uma mudança
de coordenadas). De modo a facilitar a notação assume-se, no texto que se segue, que o sistema é
invariante no tempo.
O objectivo do controlo é, usualmente, dirigir o estado do sistema para a origem (ou para um estado
de equilíbrio xf , para o qual a saída é dada por yf = h(xf )). Se o estado do sistema, no tempo t for
conhecido e denominado por x(t) = xt, e o custo por passo L(., .) for invariante no tempo, o custo total
é definido por:
V (xt,ut) ,N−1∑
k=0
L (x(k|t), u(k|t)) + P (x(N |t)) (1.2)
onde u(k|t) e x(k|t) denotam, respectivamente, uma notação abreviada para u(k + t|t) e x(k + t|t), ou
seja, a acção de controlo e estado preditos para o tempo k + t, conhecendo o valor do estado no instante
t, ou seja conhecendo x(0|t) = xt. A sequência de entrada é definida vectorialmente por:
ut , (u′(0|t), u′(1|t), . . . , u′(N − 1|t))′.As sequências de controlo e estado devem também satisfazer as seguintes condições: u(k|t) ∈ U e
x(k|t) ∈ X, onde U é um subconjunto compacto e convexo Rnu e X e é um subconjunto fechado e
convexo de Rnx , e tal que a origem está contida no interior de ambos os subconjuntos. Por vezes uma
restrição terminal x(N |t) ∈ Xf ⊂ X é também imposta, e P (x(N |t)) é uma função que pondera o estado
terminal. Finalmente, o custo por passo deve satisfazer as seguintes condições: L(x, u) ≥ c(|(x, u)|)2,c > 0, e L(0, 0) = 0.
6 CAPÍTULO 1. INTRODUÇÃO
O problema de controlo óptimo associado à minimização de V (xt,ut), sujeito às restrições nas acções
de controlo e na trajectória de estado, é resolvida no tempo t, e proporciona uma sequência de controlo
óptima u∗t , sendo o custo óptimo definido por: V ∗(xt) = V (xt,u
∗t ).
Quando o sistema, o custo por passo e as restrições são invariantes no tempo, a sequência de controlo
óptima obtida no tempo t é apenas dependente do valor do estado nesse instante, ou seja, u∗t ≡ u
∗(xt).
Mediante a estratégia do controlo preditivo, apenas a primeira acção de controlo u∗(0|t) é aplicada
ao sistema no instante t.
Resumindo, o problema de controlo óptimo no instante temporal t, i.e. PN (xt) é definido por:
PN (xt) : V ∗N (xt) = min
u
VN (xt,u) |u ∈ UN (xt) , (1.3)
onde
VN (xt,u) ,N−1∑
k=0
L(x(k|t), u(k|t)) + P (x(N |t)), (1.4)
e tal que UN (xt) é o conjunto de sequências de controlo admissíveis que satisfazem as restrições nas
acções de controlo, nos estados intermédios e no estado final.
Em [Mayne et al. 2000], prova-se que quando o horizonte de predição N é finito, o mínimo de PN
existe se: f(.), L(.) e P (.) são funções contínuas, U é compacto, e X e Xf são conjuntos fechados.
Resolvendo PN (xt) obtém-se a sequência de controlo óptima u∗, a trajectória de estado óptima
associada x∗, e o valor do custo óptimo V ∗
N (xt) = VN (xt,u∗).
A contínua aplicação da primeira acção de controlo de u∗(xt) ao sistema, define implicitamente uma
lei de controlo invariante no tempo:
KN (xt) = u∗(0|t). (1.5)
O cálculo explícito desta lei de controlo, ou seja determinar KN (.), pode ser realizada off-line
utilizando uma ferramenta de optimização denominada programação multi-paramétrica [Bemporad, Morari,
Dua & Pistikopoulos 2002, Dua, Bozinis & Pistikopoulos 2002].
As propriedades inerentes ao controlo preditivo prendem-se com a utilização de um horizonte finito
de predição, contrapondo ao horizonte infinito que usualmente é utilizado na teoria do controlo óptimo.
O horizonte finito coloca problemas na prova de estabilidade dos sistemas controlados pela estratégia de
controlo preditivo. De modo a colmatar este problema foram apresentadas várias soluções na literatura,
das quais se referem as mais significativas:
a) Adição de um custo terminal: Para sistemas lineares sem restrições, e utilizando a norma quadrática,
a estabilidade pode ser garantida considerando P (x(N |t)) = x(N |t)′Pfx(N |t), onde a matriz simétrica
1.3. DEFINIÇÃO DE UM SISTEMA AFIM POR TROÇOS 7
Pf e a matriz de ganho Kf são obtidas pela resolução do problema clássico de LQR (Linear Quadratic
Regulator).
b) Restrição de igualdade no estado terminal: Em [Mayne & Michalska 1990], os autores forçam o
estado terminal a ser zero, ou seja x(N |t) = 0, garantido assim a estabilidade do sistema controlado.
A desvantagem deste método prende-se com a necessidade da origem ser alcançável em N passos de
tempo, e com a dificuldade de garantir, em termos computacionais, que o zero é exactamente obtido.
c) Restrição de desigualdade no estado terminal: Michalska & Mayne [1993] mostraram como garantir
a estabilidade para sistemas lineares e não lineares, restringindo o estado terminal a pertencer a um
conjunto final x(N |t) ∈ Xf , onde Xf contém a origem no seu interior. Como o controlo preditivo apenas
garante que o estado terminal pertence ao conjunto final, é também necessário projectar um controlador
local para Xf , tal que este torne o sistema controlado positivamente invariante dentro desse conjunto. Se
tal for possível o sistema controlado é globalmente estável, sendo esta estratégia geralmente denominada
por controlador de modo-dual.
1.3 Definição de um sistema afim por troços
Considere-se o seguinte sistema afim por troços, discreto no tempo:
x(k + 1) = Aix(k) + Biu(k) + ei , para[
x(k)u(k)
]∈ Ωi (1.6)
onde
Ωi ,[
x(k)u(k)
]: Fix(k) + Giu(k) ≤ hi
, (1.7)
u(k) ∈ U ⊂ Rnu , x(k) ∈ X ⊂ R
nx , onde os vectores representam, respectivamente, a entrada e o
estado no instante k. O estado inicial é conhecido (mensurável) e representado por x(0) = xt. O índice
i pertence a um conjunto finito, i.e. i ∈ 1, . . . , s, e representa o modo (dinâmica) do sistema ou a
partição activa. Cada partição Ωi é definida por uma intersecção limita de planos lineares no espaço
estado/entrada, e logo cada Ωi é um conjunto politópico (i.e. um poliedro limitado e fechado). Ai, Bi,
Fi e Gi são matrizes reais de dimensões apropriadas, hi é um vector real, e ei é o vector real afim, para
todo o i = 1, . . . , s. Assume-se também que,
Ω =
s⋃
i=1
Ωi ,
Ωi
⋂
Ωj= ∅ , ∀ i 6= j, (1.8)
8 CAPÍTULO 1. INTRODUÇÃO
onde
Ωi denota o interior do politopo Ωi. Logo assume-se que os interiores das várias partições são
disjuntos.
De modo a utilizar o sistema afim por troços (1.6)–(1.7) para efeitos de síntese de controladores, as
restrições operacionais (i.e. de segurança e/ou desempenho) têm que ser respeitadas.
Assim, considere-se o sistema também sujeito a um conjunto de restrições operacionais no espaço
estado+entrada, definidas do seguinte modo:
[x(k)u(k)
]∈ C ,
[x(k)u(k)
]: Kx(k) + Lu(k) ≤ n
(1.9)
onde K e L são matrizes reais e n é um vector real, todos com dimensões apropriadas.
Evidentemente, assume-se que:
C ⊆ Ω , (1.10)
o que significa que as restrições operacionais têm que estar contidas na região onde a dinâmica está
definida.
1.4 Estratégias de modelação e controlo de robôs móveis para
seguimento de pista
São várias as estratégias de modelação e controlo para seguimento de trajectória espacial existentes na
literatura.
Os autores de [Guerra, Alsina, Medeiros & Araújo 2004] apresentam uma modelação e um método
de identificação para robôs móveis, incluindo a dinâmica do robô. Em vez de abordar o problema da
modelação do robô móvel na forma clássica, onde as variáveis de estado são as coordenadas cartesianas
da posição do robô móvel que resulta num modelo não linear, os autores propõem um modelo discreto
baseado na distância percorrida num período de amostragem ∆l. O modelo resultante é linear e invariante
no tempo, podendo ser identificado por métodos clássicos. Os autores deste artigo afirmam que esta
metodologia para a modelação do robô móvel tem como desvantagem a incapacidade de medir a distância
∆l, mas esse problema é resolvido pela estimação de ∆l baseado na aproximação a uma curva de segunda
ordem.
No trabalho [Asensio & Montano 2002] é apresentado um modelo no qual os parâmetros da dinâmica
permitem ajustar, separadamente, os comportamentos translacionais e rotacionais do robô móvel. O
modelo apresentado toma em consideração a cinemática do robô e os constrangimentos dinâmicos,
1.5. CONTRIBUIÇÕES 9
fazendo com que as velocidades e acelerações sejam compatíveis com o que robô consegue realmente
fazer, evitando assim comportamentos irrealistas. Os autores afirmam que esta abordagem permite uma
fácil afinação dos parâmetros do controlador. Para saber como afinar os parâmetros do controlador, é
feita uma análise de estabilidade e de sensibilidade dos parâmetros.
Os autores [Fierro & Lewis 1998] apresentam uma estrutura de controlo para robôs móveis não
holonómicos em que é possível efectuar a integração de um controlador cinemático com um controlador
baseado em redes neuronais para o controlo de binário. O controlador combinado cinemático/redes
neuronais é desenvolvido utilizando backstepping e a estabilidade é garantida pela teoria de Lyapunov. O
controlador de redes neuronais projectado neste trabalho consegue lidar com incertezas e/ou perturbações
do sistema dinâmico.
Em [He 2005] é apresentado o projecto de um controlador utilizando, uma aproximação, à técnica de
feedback linearization. Por sua vez, em [Wada, Tagami & Saeki 2007] os autores propõem uma lei de
controlo baseada num encadeamento de funções de saturação.
1.5 Contribuições
O primeiro objectivo deste trabalho é a construção de modelos matemáticos e de simulação do robô
móvel, de modo a projectar e testar controladores para seguimento de trajectórias espaciais.
O segundo objectivo é obter uma abordagem sistemática para a síntese de controladores de seguimento
de trajectória espacial que demonstrem bons desempenhos e garantam a estabilidade do robô.
Relativamente à modelação do sistema são desenvolvidos modelos cinemáticos e dinâmicos do robô.
Em ambos os casos é considerado que o ponto de controlo da posição e de orientação não é o ponto
de centro de massa do próprio robô, mas sim de um ponto que é resultante da intersecção entre o
eixo óptico da câmara com o plano do chão, obtendo-se deste modo um modelo matemático que se
aproxima bastante do sistema real uma vez que a câmara, bem como a sua localização no robô, também
é modelada. De seguida, foram também caracterizados/identificados os vários parâmetros físicos dos
modelos.
Após a obtenção dos modelos matemáticos, estes foram implementados em Simulink, de modo a
testar a validade do modelo, bem como testar os vários controladores sintetizados.
A abordagem sistemática desenvolvida para a síntese e teste de controladores foi a seguinte:
a) Uma vez que o sistema do robô móvel é não linear (com linearidades suaves e duras) e sujeito a
restrições, procede-se à aproximação do sistema por sistemas afins por troços e o resultado é um sistema
híbrido, constituído por várias dinâmicas contínuas e por uma variável discreta correspondente ao modo
10 CAPÍTULO 1. INTRODUÇÃO
associado à dinâmica activa numa dada região do espaço de estados.
b) De seguida, o sistema afim por troços é discretizado, sendo o período de amostragem obtido com
base na dinâmica contínua mais "exigente", de modo a garantir o teorema da amostragem em todo o
espaço de estados. O método de discretização utilizado considera que existe um retentor de ordem zero
à entrada do sistema.
c) Após a obtenção do sistema afim por troços discreto no tempo, é aplicada a metodologia do
controlador preditivo de modo-dual. Ou seja, inicialmente é calculado o maior conjunto positivamente
invariante em torno da origem, bem como a lei de controlo a ele associada, estando associado a este
problema a minimização de uma função de custo quadrática. De seguida, e com o objectivo de aumentar
o conjunto de atractividade do sistema controlado, é projectado um controlador óptimo que minimiza os
instantes k necessários para alcançar o conjunto invariante. Por meio da programação multi-paramétrica,
a lei de controlo é obtida explicitamente, sendo esta uma lei afim por troços e contínua em todo o
subconjunto do espaço de estados em que o sistema controlado é convergente e estável. Note-se que
este controlador de modo-dual, garante a estabilidade para o sistema discretizado.
d) De modo a testar o desempenho dos vários controladores obtidos (velocidade linear constante e
referência na velocidade linear) utiliza-se o modelo do sistema contínuo implementado em Simulink r,
realizando-se um conjunto de testes para várias trajectórias espaciais.
1.6 Organização do trabalho
A dissertação está organizada na seguinte forma:
Capítulo 2 Descreve a plataforma dos robôs móveis denominados por Rasteirinhos e apresenta a sua
modelação matemática.
Capítulo 3 Descreve os modelos de simulação implementados em Simulink.
Capítulo 4 Apresenta a técnica da aproximação de sistemas não lineares por sistemas afins por troços e
do projecto de controladores preditivos, utilizando programação multi-paramétrica para obtenção
duma lei de controlo que seja função explícita dos estados.
Capítulo 5 Apresenta e analisa os resultados obtidos do seguimento de pista em simulação, para vários
controladores e referências espaciais.
Capítulo 6 Apresenta as conclusões retiradas neste trabalho e indica os trabalhos futuros a realizar.
Capítulo 2
Plataforma e modelação do
sistema
Este capítulo apresenta os robôs utilizados neste trabalho e sua modelação matemática.
2.1 Plataforma utilizada
Esta secção apresenta a plataforma utilizada do robô móvel denominado por “Rasteirinho”, onde será
descrita a morfologia do robô, o tipo de motores e a placa de aquisição de dados. A figura 2.1 mostra
o robô móvel utilizado neste trabalho. No artigo [Cardeira & da Costa 2005] é efectuada uma descrição
mais pormenorizada do robô móvel.
2.1.1 Morfologia e motores
Os robôs utilizados neste trabalho são constituídos por três rodas. Duas dessas rodas produzem binário
sobre a estrutura do robô, enquanto a terceira roda é livre e serve de apoio à estrutura. Este tipo
de morfologia admite uma grande mobilidade ao robô e a sua construção é simples. Este tipo de robô
necessita de dois motores, para permitir a condução do robô através do diferencial de velocidades angulares
de cada motor. Os motores são provenientes de aparafusadoras e são de corrente contínua. Cada motor
necessita de uma caixa de velocidades, de forma a diminuir a velocidade angular e aumentar o binário.
Para a utilização dos motores é necessário uma fonte eléctrica (bateria) para fornecer energia. Os motores
utilizados têm uma zona morta, sendo uma não linearidade dos motores. Esta zona é caracterizada por
11
12 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
Figura 2.1: Rasteirinho
este não responder com uma velocidade angular quando é imposta uma tensão diferente de zero à entrada.
O chassis do robô é constituído por uma chapa quadrada de alumínio de 255mm, onde todos os
componentes são assentes. As rodas utilizadas têm um raio de 0,035m e o peso do robô, sem o
computador portátil, é aproximadamente 2kg.
2.1.2 Placa de aquisição de dados e controlo
Normalmente, as placas de aquisição de dados e controlo são do tipo PCI. Como o robô móvel é controlado
a partir dum computador portátil, este tipo de placas não poderão ser utilizadas, pelo facto de que este
tipo de computador não suporta a instalação de novas placas PCI. Existem também placas de aquisição
de dados e controlo PCMCIA mas estas acarretam um valor monetário elevado e como um dos objectivos
principais da construção destes robôs é o baixo custo, este tipo de placas são deixadas de parte.
A solução é utilizar uma placa de aquisição de dados e controlo com entrada USB, sendo assim
possível ligá-la ao portátil de uma maneira simples. No mercado existem vários tipos de placas USB,
permitindo a transferência de dados entre o computador portátil e os actuadores do robô móvel.
Como interface entre a placa e os actuadores, foi desenvolvido um dispositivo com um microprocessador
capaz de transformar o sinal PWM proveniente da placa de aquisição de dados e controlo para um valor
de tensão aplicada ao motor. Como existem várias entradas e saídas por parte da placa de aquisição e
controlo é possível instalar diversos sensores no robô móvel, quer analógicos e/ou digitais.
A placa utilizada para aquisição de sinais e controlo é a USB-6008 da National Instruments e contém
os seguintes canais:
2.2. MODELAÇÃO MATEMÁTICA 13
• Oito entradas analógicas;
• Duas saídas analógicas;
• Doze entradas/saídas digitais;
• Um contador de 32-bit;
• Fonte de alimentação.
2.2 Modelação matemática
Nesta secção é apresentada a modelação matemática dos actuadores do robô móvel, o modelo cinemático,
o modelo dinâmico, e por fim o modelo da câmara fixa ao robô móvel.
2.2.1 Motor de corrente contínua
O motor de corrente contínua (motor DC) é um dispositivo capaz de transformar energia eléctrica em
energia mecânica. Este componente é constituído por três partes: rotor, estator e escovas.
O rotor é a parte móvel do motor DC. Este componente é montado sobre o eixo do motor e é
construído com um material ferromagnético. O rotor é envolvido por um enrolamento denominado por
enrolamento de armadura. Este enrolamento suporta intensidades de correntes elevadas.
O estator é a parte fixa do motor DC. Este componente é montado em redor do rotor de forma a não
tocar neste. O estator é construído com um material ferromagnético e é envolvido com um enrolamento
de baixa potência denominado por enrolamento de campo. Este enrolamento tem como função produzir
um campo magnético capaz de interagir com o campo da armadura.
As escovas têm como função conduzir energia eléctrica para o rotor.
Princípios básicos de operação do motor de corrente contínua
O motor DC é basicamente um transformador de binário que converte energia eléctrica em energia
mecânica. O binário desenvolvido pelo motor é directamente proporcional ao fluxo do campo magnético
e à intensidade de corrente da armadura. Como se pode observar na figura 2.2, a corrente que atravessa
o condutor (enrolamento de armadura) é estabelecida devido à criação do campo magnético com um
fluxo φ. O mesmo condutor está localizado a uma distância r do eixo de rotação.
A relação entre o binário desenvolvido, fluxo do campo magnético φ e corrente ia é dada por:
14 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
Figura 2.2: Binário desenvolvido por um motor DC
Tm = Kmφia (2.1)
onde Tm é o binário (Nm), φ é o fluxo do campo magnético (webers), ia é a corrente aplicada na
armadura (A) e Km é uma constante proporcional.
O condutor ao mover-se no campo magnético, gera uma diferença de potencial entre os terminais.
Esta diferença de potencial, força contra-electromotriz, que é proporcional à velocidade do veio, tende
a opôr-se ao sentido da corrente. A relação entre a força contra-electromotriz e a velocidade do veio é
dada por
eb = Kmφωm (2.2)
onde eb é a força contra-electromotriz (V) e ωm é a velocidade do veio (rad/s) do motor.
As equações 2.1 e 2.2 formam a base de operação do motor DC.
Modelo matemático do motor de corrente contínua
Uma vez que o robô será actuado por motores DC, a sua modelação matemática é essencial para uma
melhor compreensão dos fenómenos físicos subjacentes ao comportamento do sistema, bem como para
o projecto do(s) controlador(es).
2.2. MODELAÇÃO MATEMÁTICA 15
A figura 2.3 mostra um circuito eléctrico simplificado equivalente a um motor DC. A armadura é
modelada como um circuito em série com uma resistência Ra e uma bobine La. A fonte de diferença de
potencial eb representa a força contra-electromotriz da armadura quando o rotor roda.
Figura 2.3: Circuito eléctrico equivalente ao motor DC
Tomando como ponto de partida o circuito eléctrico representado na figura 2.3, a acção de controlo
do motor DC é aplicada nos terminais da armadura na forma de tensão ea(t). Desprezando a forma como
o campo magnético é estabelecido no campo da estrutura, assume-se que o fluxo φ(t) é constante e é
denominado por φ. Assume-se que o binário desenvolvido pelo motor é proporcional ao fluxo do campo
magnético e à corrente que atravessa a armadura. Assim sendo,
Tm(t) = Kmφia(t) = Kiia(t) (2.3)
onde Ki é a constante de binário (Nm/A).
As equações do sistema da figura 2.3 são
dia(t)
dt=
1
Laea(t) − Ra
Laia(t) − 1
Laeb(t) (2.4)
Tm(t) = Kiia(t) (2.5)
eb(t) = Kbdθm(t)
dt= Kbωm(t) (2.6)
d2θm(t)
dt2=
1
JmTm(t) − 1
JmTL(t) − Bm
Jm
dθm(t)
dt(2.7)
onde ea é a variável de controlo (tensão aplicada), La é a indutância da armadura (T), Ra é a resistência
da armadura (Ω), θm(t) é a posição do rotor (rad), Kb é a constante da força contra-electromotriz,
16 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
ωm(t) é a velocidade angular do rotor (rad/s), Jm é a inercia do rotor, Bm é o coeficiente de atrito
viscoso e por fim, TL(t) representa o binário de atrito.
A equação 2.4 considera que dia(t)/dt é um efeito imediato da aplicação de ea(t) e na equação 2.5,
ia(t) causa o binário desenvolvido Tm(t). Na equação 2.6 é definida a força contra-electromotriz e por
fim, a equação 2.7 considera que o binário desenvolvido provoca o deslocamento angular θm(t).
As variáveis de estado do sistema podem ser definidas como ia(t), ωm(t) e θm(t). Por substituição
directa e eliminando as variáveis que não representam os estados nas equações 2.4 – 2.7, as equações de
estado do sistema motor DC são
dia(t)dt
dωm(t)dt
dθm(t)dt
=
−Ra
La−Kb
La0
Ki
Jm−Bm
Jm0
0 1 0
ia(t)
ωm(t)
θm(t)
+
1La
0
0
ea(t) −
0
1Jm
0
TL(t) (2.8)
Neste caso, TL(t) é tratado como segunda entrada, um binário de carga, nas equações de estado.
A partir da equação 2.8 é possível obter a função de transferência entre o deslocamento angular do
motor e a tensão aplicada nos terminais
θm(s)
Ea(s)=
Ki
LaJms3 + (RaJm + BmLa)s2 + (KbKi + RaBm)s(2.9)
onde TL foi igualado a zero.
A função de transferência 2.9 mostra que o motor DC é basicamente um componente integrador entre
duas variáveis. Se ea for uma entrada do sistema constante, a saída do sistema, θm, irá comportar-se
como a saída dum integrador.
A figura 2.4 mostra a representação em diagrama de blocos do sistema motor DC.
Figura 2.4: Diagrama de blocos do sistema motor DC
Apesar do motor DC ser um sistema em anel aberto, o diagrama de blocos da figura 2.4 mostra
2.2. MODELAÇÃO MATEMÁTICA 17
que o motor, por construção, tem uma realimentação devido à força contra-electromotriz. Fisicamente,
a força contra-electromotriz representa uma realimentação do sinal que é negativamente proporcional à
velocidade do motor. Pela equação 2.9, a constante relativa à força contra-electromotriz Kb representa
um elemento adicional da resistência Ra e do coeficiente de atrito viscoso Bm. O efeito da força-electromotriz
é equivalente ao “atrito eléctrico”.
2.2.2 Robô móvel
Nesta secção são apresentados os modelos cinemático e dinâmico do robô móvel. O modelo cinemático
descreve a relação entre variações temporais da posição e orientação do robô com as velocidades lineares
e angulares do mesmo, sem tomar em consideração a dinâmica associada à existência de inércias e tempos
de resposta dos actuadores. O modelo cinemático apresentado é baseado em [Wahyudi 2004].
O modelo dinâmico é obtido através das leis da Física que governam os vários subsistemas do robô
móvel, tais como os actuadores (motores eléctricos), força de atrito e a própria dinâmica do robô. O
modelo dinâmico apresentado é baseado em [Asensio & Montano 2002].
A figura 2.5 mostra os parâmetros geométricos do modelo (r, b, s), o referencial global W e o
referencial M associado ao robô móvel.
Figura 2.5: Parâmetros geométricos
18 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
Modelo cinemático
Na literatura, a maioria dos modelos cinemáticos de robôs móveis assumem que não há escorregamento
nas rodas e que as entradas do sistema são Ωesq e Ωdir, que representam as velocidades angulares do
motor esquerdo e direito, respectivamente [Wahyudi 2004]. As equações que regem o movimento do
robô móvel são definidas como este sendo um corpo rígido. Por forma a determinar o movimento do
robô, define-se a posição e orientação do robô em relação a um referencial fixo global. Assumindo que
não há escorregamento das rodas, longitudinalmente e lateralmente, as velocidades lineares das rodas
são dadas pelas seguintes expressões,
vesq = rΩesq (2.10)
vdir = rΩdir (2.11)
em que r é o raio da roda, vesq e vdir são as velocidades lineares da roda esquerda e direita, respectivamente.
As equações do corpo rígido em relação a cada roda são dadas por
vesq = vm−→e x + wm
−→e y − θmb−→e x − θms−→e y (2.12)
vdir = vm−→e x + wm
−→e y + θmb−→e x − θms−→e y (2.13)
em que vm, wm e θm são as velocidades linear, lateral e angular do centro de massa do robô móvel,
respectivamente, s é a distância do eixo das rodas ao centro de massa e b é metade da distância entre
as duas rodas. Utilizando as equações 2.10–2.13 obtém-se o seguinte modelo cinemático
vm =r
2(Ωdir + Ωesq) (2.14)
θm =r
2b(Ωdir − Ωesq) (2.15)
wm =sr
2b(Ωdir − Ωesq) (2.16)
Com o modelo cinemático, é possível calcular a posição, orientação e componentes da velocidade
linear no sistema referencial global na seguinte forma
2.2. MODELAÇÃO MATEMÁTICA 19
θm =
∫θmdt (2.17)
xm = vm cos θm − wm sin θm (2.18)
ym = vm sin θm + wm cos θm (2.19)
xm =
∫xmdt (2.20)
ym =
∫ymdt (2.21)
onde xm e ym são as coordenadas cartesianas da posição do robô móvel no referencial global e θm é a
orientação do robô móvel, dada pelo ângulo entre o eixo das abcissas do referencial global e o vector da
velocidade linear do robô móvel (ver figura 2.5).
Modelo dinâmico
De forma a obter o modelo dinâmico do robô móvel, considera-se que as forças são aplicadas nas rodas
motrizes e que os momentos são calculados num determinado ponto do robô móvel, em que neste caso
esse mesmo ponto corresponde ao centro de massa do robô móvel. Aplicando as equações da dinâmica,
soma de forças e momentos, desprezando os efeitos de escorregamento nas rodas e assumindo que o robô
móvel roda apenas em torno do eixo z obtém-se as seguintes equações,
mvm + msθ2m + µmg = Fdir + Fesq (2.22)
(Izz + ms2
)θm − 2msvmθm = (Fdir − Fesq) b (2.23)
em que Fdir e Fesq são as forças exercidas pelos motores direito e esquerdo, respectivamente, m é a
massa do robô, Izz é o momento de inércia em torno do eixo z e µ é o coeficiente de atrito de Coulomb.
2.2.3 Visão
O robô móvel possui uma câmara fixa instalada, de modo a ser possível, por exemplo, fazer seguimento
de trajectória espacial ou seguimento de alvo. Assume-se que a câmara está instalada sobre o centro de
massa do robô.
A figura 2.6 mostra os parâmetros geométricos relacionados com a instalação da câmara, sendo eles
a altura da câmara h e a inclinação φ. O parâmetro α representa a abertura da lente da câmara e o
20 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
Figura 2.6: Modelo da câmara
Quadro é o segmento de recta onde são registadas as imagens obtidas pela câmara. Outro parâmetro
a identificar na câmara é a resolução utilizada para obter as imagens, em que nos indica o número de
pixeis utilizados na câmara em altura e comprimento.
A modelação da câmara é retirada do trabalho [Teodoro 2006], que se baseia na perspectiva cónica
com visão monocular. Nesta secção são apenas apresentados os resultados deste trabalho.
Em [Teodoro 2006] é feito o estudo da relação entre um pixel da imagem obtida em milímetros e
para qualquer ponto rebatido no Quadro (plano onde se processam as projecções e onde são registadas
as imagens captadas) a relação é dada pela seguinte expressão
p =h sin α
sin (φ + α)ny
2
(2.24)
em que ny é o número de linhas de resolução utilizadas na câmara (na vertical da imagem captada).
A figura 2.7 mostra um ponto captado pela câmara, em que Oi é o referencial da imagem captada
pela câmara e Oc é o referencial teórico que possibilita o cálculo da distância lateral e longitudinal do
ponto captado. Cx e Cy são as coordenadas do ponto captado relativamente ao referencial Oi, sendo as
coordenadas do mesmo ponto no referencial Oc dadas por,
X = Cx (2.25)
Y =ny
2− Cy (2.26)
Após a resolução de um problema geométrico, o seguinte sistemas de equações é obtido,
2.2. MODELAÇÃO MATEMÁTICA 21
Figura 2.7: Ponto captado pela câmara
dlat =
(X
ny
2 (tan φ + tan α)ny
2 (tanφ + tan α) − Y tan α
)p (2.27)
dlog =
(Y
ny
2
√1 + tan2 φ
ny
2 (tanφ + tanα) − Y tan α
)p +
h
tan (φ + α)(2.28)
em que dlat e dlog são as distâncias lateral e longitudinal do ponto captado em relação ao referencial Oc,
respectivamente, em unidades métricas.
2.2.4 Caracterização dos parâmetros do sistema
Motor
Por falta de informação de parte dos construtores dos motores, simplifica-se a função de transferência
2.9 para obter a relação entre a entrada (tensão aplicada) e a saída (velocidade angular). Assume-se que
a parte eléctrica do motor é muito mais rápida que a parte mecânica, assim sendo os pólos inerentes à
parte eléctrica são desprezados. A função de transferência simplificada do motor eléctrica é dada pela
seguinte expressão
Ωm(s)
Ea(s)=
Km
τms + 1(2.29)
22 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
Da expressão anterior, os parâmetros a estimar são o ganho Km e a constante de tempo τm. Outros
parâmetros importantes a estimar de cada actuador, é a zona morta e a zona de saturação. A zona
morta é caracterizada pela ausência de resposta por parte do motor embora este seja solicitado com uma
determinada entrada. Os vários parâmetros do motor são obtidos em carga, ou seja, a equação dinâmica
resultante contém, implicitamente, a contribuição da força de atrito estático.
Dinâmica do robô
Uma vez que as equações dinâmicas dos motores contêm a contribuição da força de atrito e assumindo
que a força exercida por cada motor é aplicada a metade da massa do robô e assumindo também que o
centro de massa do robô está localizado sobre o eixo das rodas, o modelo dinâmico resulta nas seguintes
expressões
vm =r
2
(Ωdir + Ωesq
)(2.30)
θm =mbr
2Izz
(Ωdir − Ωesq
)(2.31)
onde os parâmetros a estimar são: a massa do robô m, momento de inércia Izz e a distância da roda ao
centro do eixo b. As entradas deste modelo são as acelerações angulares de cada roda.
Câmara
O controlo do robô móvel não é efectuado a partir da informação da sua posição no referencial global, mas
sim do ponto de intersecção do eixo óptico da câmara com o plano do chão. Esta câmara é instalada no
robô móvel com uma determinada altura e inclinação. É necessário conhecer alguma das características
da câmara, tais como a resolução utilizada em pixels e abertura da lente. Para a modelação da câmara é
necessário identificar estes quatro parâmetros. A abertura da câmara é estimada com a toolbox Camera
Calibration [Strobl, Sepp, Fuchs, Paredes & Arbter 2004] desenvolvida para MATLAB r.
Em resumo, o modelo é dividido em três partes: motores, dinâmica do robô e câmara. Na tabela
seguinte, são enumerados as entradas, saídas e parâmetros de cada um dos subsistemas.
2.2. MODELAÇÃO MATEMÁTICA 23
Subsistema Entrada Saída Parâmetros
Motor Tensão aplicada Velocidade de rotação GanhoConstante de tempo
Zona mortaSaturação
Dinâmica Acelerações de Acelerações Raio da rodado robô cada um dos motores linear e angular Massa
do robô Distância entre rodas (eixo)Momento de inércia
Câmara Posição e ângulo Posição do Alturado robô ponto de controlo Inclinação
Abertura da lenteNúmero de linhas
Número de colunas
Tabela 2.1: Parâmetros a estimar
24 CAPÍTULO 2. PLATAFORMA E MODELAÇÃO DO SISTEMA
Capítulo 3
Modelos de simulação
Neste capítulo é apresentado uma forma de parametrizar uma trajectória espacial, baseado nos referenciais
de Frenet-Serret, bem como os modelos cinemático e dinâmico para o seguimento de pista. No final
deste capítulo são apresentados os blocos construídos em Simulink para a implementação dos modelos
de simulação.
3.1 Trajectória espacial
Seja p(ξ) uma curva pertencente ao espaço Euclidiano, representando a posição duma partícula em
função do parâmetro ξ. A mesma curva é mapeada continuamente por
p : [ξ0, ξ1] 7→ R3 : p(ξ) = [ x(ξ) y(ξ) z(ξ) ]T (3.1)
A figura seguinte apresenta o referencial ortogonal T , sendo este tangente a cada ponto da curva. O
referencial é composto pelo vector tangente t, vector normal n e vector binormal b.
Figura 3.1: Referencial T tangente à trajectória
25
26 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
Seja a curva p(ξ) suave (ou seja, diferenciável duas vezes) e a primeira derivada diferente de zero,
isto é, dpdξ (ξ) 6= 0, ∀ξ ∈ [ξ0, ξ1]. Com estas características, a curva pode ser definida pelas fórmulas de
Frenet-Serret.
Seja s o comprimento de arco da curva ao longo do domínio [ξ0, ξ] dado por
s(ξ) =
∫ ξ
ξ0
∥∥∥∥dp
dτ(τ)
∥∥∥∥ dτ (3.2)
Definindo o vector tangente t(ξ) como
t(ξ) =dp
ds(ξ) (3.3)
e sabendo que
dp
dξ(ξ) =
dp
ds(s(ξ))
ds
dξ(ξ) (3.4)
ds
dξ(ξ) =
∥∥∥∥dp
dξ(ξ)
∥∥∥∥ (3.5)
então o vector t(ξ) pode ser escrito como
t(ξ) =dp
dξ(ξ)
∥∥∥∥dp
dξ(ξ)
∥∥∥∥−1
(3.6)
sendo o vector t unitário e tangente à curva em cada ponto.
O vector normal n é definido de forma a satisfazer a seguinte igualdade
dt
ds(ξ) = κ(ξ)n(ξ) (3.7)
em que κ(ξ) ∈ R é a curvatura dada por
κ(ξ) = σ(ξ)
∥∥∥∥dt
ds(ξ)
∥∥∥∥ σ(ξ) ∈ −1, 1 (3.8)
As equações 3.7 e 3.8 não são suficientes para determinar o vector n(ξ) quando κ(ξ) = 0. Se fosse
considerada a definição utilizada nas fórmulas de Frenet-Serret, isto é, κ(ξ) = ‖ dtds (ξ)‖, o referencial que
seguiria a trajectória não seria contínuo. Como é pretendido que o referencial seja contínuo ao longo da
curva, assume-se que κ(ξ) = 0 apenas em pontos isolados e para um dado valor inicial σ(ξ0), o vector
3.1. TRAJECTÓRIA ESPACIAL 27
normal n(ξ) e o mapeamento σ : [ξ0, ξ1] 7→ −1, 1 podem ser definidos como
n(ξ) =
dtds (ξ) κ (ξ)
−1κ (ξ) 6= 0
limτ→ξ−
n (τ) κ (ξ) = 0(3.9)
σ(ξ) =
dσdξ (ξ) = 0 κ (ξ) 6= 0
n (ξ)T
(lim
τ→ξ+
dtds (τ)
∥∥ dtds (τ)
∥∥−1)
κ (ξ) = 0(3.10)
respectivamente. Utilizando as equações 3.8 e 3.9, é fácil demonstrar que o vector n é unitário. É
possível demonstrar que os vectores t e n são perpendiculares uma vez que t é um vector unitário e
t(ξ)T dtds (ξ) = 0. Dadas estas propriedades, o vector n pode ser escolhido como o segundo eixo do
referencial tangente à curva. Para definir um sistema de coordenadas ortogonal, falta o terceiro eixo que
corresponde ao vector binormal b(ξ) definido por
b(ξ) = t(ξ) × n(ξ) (3.11)
Calculando a derivada de b(ξ) e fazendo o produto externo com n(ξ) obtém-se
n(ξ) × db
ds(ξ) = n(ξ) ×
(t(ξ) × dn
ds(ξ)
)
=(t(ξ)n(ξ)T − t(ξ)T n(ξ)I3
) dn
ds(ξ) = 0 (3.12)
onde os resultados n(ξ) × dtds (ξ) = 0, t(ξ)T n(ξ) = 0 e n(ξ)T dn
ds (ξ) = 0 foram utilizados. Conclui-se que
os vectores n(ξ) e dbds (ξ) são colineares e podem ser relacionados pela equação
db
ds(ξ) = −τ(ξ)n(ξ) (3.13)
onde τ ∈ R define a torção da curva em ξ. Utilizando as equações 3.7 e 3.13, obtém-se
dn
ds(ξ) =
db
ds(ξ) × n(ξ) + b(ξ) × dt
ds(ξ) = τ(ξ)b(ξ) − κ(ξ)t(ξ) (3.14)
Recolhendo as equações 3.7, 3.13 e 3.14, estas podem ser organizadas na forma matricial e omitindo
28 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
a dependência de ξ
[dtds
dnds
dbds
]=[t n b
]
0 −κ 0
κ 0 −τ
0 τ 0
(3.15)
Este resultado corresponde às formulas Frenet-Serret, que governam o movimento de[t n b
]ao
longo da curva. De referir que a definição alternativa da curvatura não altera as expressões.
3.1.1 Trajectória sinusóide espacial
Considera-se uma curva suave sinusoidal, no plano, dada por
p(ξ) =[ξ A sin(ωξ) 0
]Tξ ∈ [ξ0, ξf ] (3.16)
em que A é a amplitude e ω é a frequência espacial.
O vector tangente t(ξ) e a sua derivada dtds (ξ) são dados por
t(ξ) =dp
dξ(ξ)
∥∥∥∥dp
dξ(ξ)
∥∥∥∥−1
=1√
1 + A2ω2 cos(ωξ)2
[1 Aω cos(ωξ) 0
]T(3.17)
edt
ds(ξ) =
dt
dξ(ξ)
∥∥∥∥dp
dξ(ξ)
∥∥∥∥−1
=Aω2 sin(ωξ)
(1 + A2ω2 cos(ωξ)2)2
[Aω cos(ωξ) −1 0
]T(3.18)
respectivamente. Segundo a equação 3.8, a curvatura pode ser escrita como
κ (ξ) = σ (ξ)Aω2 |sin (ωξ)|
(1 + A2ω2 cos (ωξ))3/2
(3.19)
implicando que κ(ξ) = 0 apenas quando ξ = 0. Dado um valor inicial para σ(ξ0) obtém-se
n (ξ) = σ (ξ)sign (sin (ωξ))√
1 + A2ω2 cos (ωξ)2
[Aω cos (ωξ) −1 0
]T(3.20)
e
σ(ξ) =
−1 se sign (sin (ωξ)) < 0
1 se sign (sin (ωξ)) > 0(3.21)
3.2. MODELO CINEMÁTICO 29
Para ξ = kπω em que k ∈ Z, obtém-se
n
(kπ
ω
)= lim
ξ→0−
n (ξ) = (−1)1√
1 + A2ω2
[−1 1 0
]T(3.22)
e
σ
(kπ
ω
)= n
(kπ
ω
)T lim
τ→0+
sign (sin (ωξ))√1 + A2ω2 cos (ωξ)
2
[Aω cos (ωξ) −1 0
]T = − (−1) (3.23)
As expressões 3.16 e 3.17 são utilizadas para calcular, em simulação, a posição do ponto da trajectória
espacial que a câmara capta para o seguimento de trajectória espacial. As restantes expressões garantem
que o referencial Frenet-Serret é bem definido.
3.2 Modelo cinemático
Considere-se um robô móvel em que as coordenadas (x, y, θ) estão relacionadas pelas seguintes equações
cinemáticas (ver Figura 2.5, página 17):
xm
ym
θm
=
vm cos θm
vm sin θm
ωm
(3.24)
em que xm, ym são as coordenadas do ponto M no espaço Cartesiano, θm é a orientação dada pelo
ângulo compreendido entre a abcissa do referencial global e a abcissa do referencial associado ao robô
móvel, vm e ωm são as velocidades linear e angular do robô, respectivamente. Considera-se um robô
móvel virtual que se desloca sobre a trajectória p em que as coordenadas (x, y, θ) estão relacionadas
pelas seguintes equações cinemáticas:
xt
yt
θt
=
vt cos θt
vt sin θt
ωt
(3.25)
em que xt, yt são as coordenadas do ponto T no espaço Cartesiano, θt é a orientação dada pelo ângulo
compreendido entre a abcissa do referencial global e a abcissa do referencial associado ao robô virtual,
vt e ωt são as velocidades linear e angular do robô virtual, respectivamente.
Considere-se que é instalada uma câmara no robô móvel com uma determinada altura h e inclinação
30 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
φ e é coincidente com o centro de massa do robô móvel. A intersecção do eixo óptico da câmara com
o plano do chão resulta no ponto C, com coordenadas cartesianas xc e yc. Assume-se que o referencial
com origem no ponto C tem a mesma orientação do referencial associado ao robô móvel real M . As
coordenadas do ponto C em relação ao ponto M são dadas por,
xc = xm + l cos θm
yc = ym + l sin θm (3.26)
em que l é a distância do ponto C ao ponto M e é dada por,
l =h
tan (φ)(3.27)
As equações da cinemática do ponto C são dadas por,
xc
yc
θc
=
xm − lθm sin θm
ym + lθm cos θm
ωc
(3.28)
em que θc = θm, o que implica θc = θm, uma vez que a câmara está fixa ao robô móvel.
Consideram-se as seguintes coordenadas de erro da posição do ponto T em relação ao ponto C,
xe
ye
θe
:=
cos θm sin θm 0
− sin θm cos θm 0
0 0 1
xt − xc
yt − yc
θt − θm
(3.29)
Derivando em ordem ao tempo o sistema de equações 3.29 e utilizando os sistemas de equações 3.25
e 3.28, obtém-se o seguinte sistema de equações para a variação das coordenadas de erro,
xe
ye
θe
=
θmye − vm + vt cos θe
−θm(xe + l) + vt sin θe
θt − θm
(3.30)
A figura 3.2 (página 31) mostra a posição dos pontos M , T e C acima referidos, tal como as
coordenadas de erro xe e ye.
3.3. MODELO DINÂMICO 31
Figura 3.2: Referenciais
3.3 Modelo dinâmico
Considere-se os modelos dinâmicos do robô móvel descrito pelas equações 2.30–2.31 e do motor eléctrico
simplificado descrito pela equação 2.29. A equação diferencial de cada motor eléctrico é dada por,
τiΩi(t) + Ωi(t) = Kiui(t) (3.31)
em que i ∈ esq, dir. τi, Ki, Ωi(t) e ui(t) são a constante de tempo, ganho, saída e entrada do motor
i, respectivamente. A entrada é dada em tensão e a saída é dada em velocidade angular.
Derivando em ordem ao tempo o sistema de equações 3.30,
xe
ye
θe
=
θmye + θmye − vm + vt cos θe − vtθe sin θe
−θm(xe + l) − θmxe + vt sin θe + vtθe cos θe
θt − θm
(3.32)
Introduzindo as expressões 2.30–2.31 e 3.31 no sistema de equações 3.32 e escrevendo a função de
transferência dos motores como Ωi
ui= Ki
s+ai, obtém-se o seguinte sistema de equações
32 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
xe =mbr
2Izz(Kdirudir − adirΩdir − Kesquesq + aesqΩesq) ye +
r
b(Ωdir − Ωesq) ye − (3.33)
− r
2(Kdirudir − adirΩdir + Kesquesq − aesqΩesq) + vt cos θe − vtθe sin θe (3.34)
ye = −mbr
2Izz(Kdirudir − adirΩdir − Kesquesq + aesqΩesq) (xe + l) − r
b(Ωdir − Ωesq) xe +
+ vt sin θe + vtθe cos θe (3.35)
θe = θt −mbr
2Izz(Kdirudir − adirΩdir − Kesquesq + aesqΩesq) (3.36)
em que
m massa do robô
b distância da roda ao centro do eixo do robô
r raio da roda
Izz momento de inércia do robô
Kdir ganho do motor direito
Kesq ganho do motor esquerdo
adir módulo da localização do pólo do motor direito
aesq módulo da localização do pólo do motor esquerdo
Ωdir velocidade angular do motor direito
Ωesq velocidade angular do motor esquerdo
udir tensão aplicada no motor direito
uesq tensão aplicada no motor esquerdo
3.4 Seguimento da trajectória espacial
Para simular o comportamento do robô móvel no seguimento de um dado caminho, assume-se que o valor
do erro de posição é a distância do ponto T ao ponto C e o erro de orientação é dado pela diferença entre
a orientação do robô móvel e a orientação do robô móvel. Assume-se também que o segmento de recta
CT é sempre perpendicular ao eixo óptico da câmara. A figura 3.4 (página 33) mostra as suposições
referidas anteriormente.
Devido à suposição de que o segmento de recta CT é sempre perpendicular ao eixo óptico da câmara, é
necessário definir as restrições xe = 0, xe = 0 e xe = 0. Com estas restrições, as equações da cinemática
e dinâmica são as seguintes,
3.4. SEGUIMENTO DA TRAJECTÓRIA ESPACIAL 33
Figura 3.3: Seguimento dum caminho com a câmara
0
ye
θe
=
θmye − vm + vt cos θe
−θml + vt sin θe
θt − θm
(3.37)
0
ye
θe
=
θmye + θmye − vm + vt cos θe − vtθe sin θe
−θml + vt sin θe + vtθe cos θe
θt − θm
(3.38)
Da primeira equação do sistema 3.37 retira-se a seguinte expressão
vt =1
cos θe
(vm − θmye
)(3.39)
que permite o cálculo da velocidade do robô virtual. Da primeira equação do sistema 3.38 é possível
obter a expressão que define a aceleração linear do robô virtual
vt =1
cos θe
(vm − θmye − θmye + vtθe sin θe
)(3.40)
Um passo importante no modelo de simulação é determinar a localização do ponto T , para que seja
possível o cálculo dos erros de posição e de orientação. Assim sendo, é necessário determinar a variação
temporal de ξ, termo que parametriza o caminho. Sabendo que dsdξ =
∥∥∥dpdξ
∥∥∥
34 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
vt =ds
dt=
ds
dξ
dξ
dt=
∥∥∥∥dp
dξ
∥∥∥∥dξ
dt(3.41)
o que resulta
dξ
dt=
∥∥∥∥dp
dξ
∥∥∥∥−1
vt (3.42)
Utilizando as equações 3.39 e 3.42, obtém-se
dξ
dt=
vm − θmye∥∥∥dpdξ
∥∥∥ cos θe
(3.43)
Tomando em consideração o sistema de equações 3.33–3.36 e a equação diferencial dos motores 3.31
obtém-se as seguintes equações de estado
ye
θe
ye
θe
Ωesq
Ωdir
=
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 −mbrlaesq
2Izz
mbrladir
2Izz
0 0 0 0 −mbraesq
2Izz
mbradir
2Izz
0 0 0 0 −aesq 0
0 0 0 0 0 −adir
ye
θe
ye
θe
Ωesq
Ωdir
+
0
0
f
0
0
0
+
+
0 0
0 0
mbrlKesq
2Izz−mbrlKdir
2Izz
mbrKesq
2Izz−mbrKdir
2Izz
Kesq 0
0 Kdir
uesq
udir
+
0
0
0
θt
0
0
(3.44)
em que
f = vt sin θe + vtθe cos θe (3.45)
Sabendo as expressões 3.39 e 3.40, a equação 3.45 pode ser escrita na seguinte forma
f = tan θe
(vm − θm − θmye
)+ sec2 θeθe
(vm − θmye
)(3.46)
3.5. SIMULINK 35
Sabendo a dinâmica do robô móvel e dos motores, a equação 3.46 pode ser escrita na seguinte forma
f = tan θeKdir
(r
2− mbr
2Izzye
)udir + tan θeKesq
(r
2+
mbr
2Izzye
)uesq +
+ tan θe
(−r
2adir +
mbr
2Izzadirye −
r
bye
)Ωdir + tan θe
(−r
2aesq −
mbr
2Izzaesqye +
r
bye
)Ωesq +
+ sec2 θeθe
(r
2− r
bye
)Ωdir + sec2 θeθe
(r
2+
r
bye
)Ωesq (3.47)
3.5 Simulink
O modelo de simulação está organizado em subsistemas, em que cada subsistema representa um determinado
componente do robô móvel real. Após o projecto de um controlador, este deverá ser testado em simulação
para averiguar se este cumpre os requisitos desejados. O sistema do robô real tem duas entradas e uma
saída. As entradas do sistema são as tensões aplicadas a cada um dos motores e a saída do sistema é a
imagem captada pela câmara. A partir da imagem captada é possível obter várias informações em redor
do robô, tais como, distância a uma determinada trajectória espacial ou alvo. Na verdade, o sistema
poderá ter várias saídas, dependo da informação necessária para a tarefa de controlo. A modelação do
robô real é efectuada com a ferramenta de software Simulink, sendo esta uma ferramenta poderosa para
o estudo de sistemas dinâmicos. O modelo de simulação com todos os subsistemas é apresentado na
figura seguinte.
Figura 3.4: Modelo de simulação
36 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
3.5.1 Bloco do subsistema primário
Tomando como ponto de partida o sistema do robô móvel real, este tem como entradas as tensões
aplicadas a cada um dos motores e como saída as informações retiradas de sensores instalados. Logo,
o bloco primário contém essas mesmas entradas e saídas, de forma a simular a utilização do robô o
mais realisticamente possível. No interior deste bloco, existem vários subsistemas que representam os
componentes e dinâmica do robô. A figura 3.5 (página 36) mostra o bloco em questão.
Figura 3.5: Bloco do subsistema primário
As entradas do sistema não poderão ser modificadas, uma vez que os motores eléctricos são os
únicos actuadores do robô móvel, o mesmo não sucede com as saídas do sistema. As saídas do sistema
dependem dos sensores instalados no robô móvel. No exemplo da figura 3.5, as saídas são provenientes
duma câmara, já que são efectuadas medidas de erros em relação a uma pista ou alvo. Caso o sistema
real seja provido de encoders nas rodas motrizes, as velocidades angulares de cada roda serão também
saídas do sistema.
3.5.2 Subsistema da dinâmica
O bloco da dinâmica simula o comportamento dinâmico do robô móvel. Possui como entradas as tensões
aplicadas a cada um dos motores e como saídas a posição cartesiana, orientação, velocidade linear e
angular do robô móvel. A figura 3.6 mostra o bloco correspondente.
No interior deste bloco, encontram-se os subsistemas correspondentes aos actuadores do robô móvel,
ou seja, os motores eléctricos instalados. A saída do subsistema motor eléctrico é a velocidade angular
da roda correspondente, que por sua vez são entradas num bloco para o cálculo da velocidade linear
e angular do robô móvel dadas pelas expressões 2.14 e 2.15. Pelas equações 2.17–2.21, calcula-se a
posição cartesiana e orientação do robô móvel.
3.5. SIMULINK 37
Figura 3.6: Bloco da dinâmica do robô móvel
Como os motores foram identificados em carga, não são utilizadas explicitamente as suas equações
da dinâmica, pois estas estão contidas nos sistemas dinâmicos de cada um dos motores.
3.5.3 Subsistema do motor eléctrico
Um bloco muito importante para o modelo de simulação é o do motor eléctrico, uma vez que este acarreta
consigo toda a informação da dinâmica própria do robô móvel e também por ser o actuador. Este tipo
de bloco tem como entrada tensão aplicada e como saída a velocidade angular da roda. A figura 3.7
mostra o bloco construído em Simulink.
Figura 3.7: Modelo do motor
38 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
O sistema motor eléctrico é não linear, pois contém três zonas de actuação diferentes: zona morta,
zona linear e zona de saturação. Todos estes comportamentos do motor são modelados no bloco, tendo
assim um modelo muito próximo do real.
3.5.4 Subsistema da câmara
Uma vez que o robô não é controlado do ponto correspondente ao seu centro de massa, mas sim do
ponto que é resultante da intersecção do eixo óptico da câmara com o plano do chão, este bloco calcula
a posição desse mesmo ponto dado pelo sistema de equações 3.26. A figura 3.8 apresenta o bloco em
Simulink deste subsistema.
Figura 3.8: Modelo do câmara
3.5.5 Subsistema da trajectória espacial
Este bloco determina o ponto da trajectória espacial para o qual são efectuados o cálculo dos erros de
posição e de orientação. Este bloco tem como entradas a velocidade linear e angular do robô móvel e os
erros de posição e de orientação. O mesmo bloco tem como saídas a posição cartesiana e orientação do
ponto da trajectória espacial. As equações 3.42 e 3.6 são implementadas neste bloco para determinar a
evolução do termo que parametriza a trajectória espacial. A figura 3.9 mostra o bloco em Simulink.
3.5.6 Subsistema das coordenadas de erro
Este bloco determina os erros de posição e de orientação do ponto da trajectória espacial em relação
ao ponto da câmara. O bloco tem como entrada as posições cartesianas e orientações do robô móvel e
3.5. SIMULINK 39
Figura 3.9: Modelo da trajectória
da trajectória e tem como saída os erros de posição e de orientação. A saída deste bloco é dada pelo
sistema de equações 3.29. O bloco tem duas saídas para o erro de posição, em que uma delas está em
metros e outra em pixel. A conversão de metros para pixel é dada pelas expressões 2.27 e 2.28. A figura
3.10 mostra o bloco que permite o cálculo dos erros de posição e de orientação.
40 CAPÍTULO 3. MODELOS DE SIMULAÇÃO
Figura 3.10: Bloco das coordenadas de erro
Capítulo 4
Síntese de Controladores
Este capítulo apresenta um método de aproximação de sistemas não lineares por sistemas afins por troços,
e uma metodologia para a síntese de controladores preditivos de modo-dual, em que a lei de controlo é
obtida explicitamente e off-line. Para a obtenção dos controladores é utilizada a toolbox de MATLAB
denominada por MPT [Kvasnica, Grieder & Baotić 2004, Kvasnica 2008].
4.1 Aproximação de sistemas não lineares por sistemas afins
por troços
Os sistemas híbridos incluem uma componente contínua e outra discreta e são uma classe de sistemas
com um potencial elevado para serem utilizados em diversas aplicações, como por exemplo aproximação
de um sistema não-linear por um sistema afim por troços. Os sistemas afins por troços são uma classe
especial de sistemas híbridos em que as dinâmicas contínuas afins correspondem a um determinado modo
discreto. A mudança de modo ocorre sempre em subconjuntos específicos do espaço de estados e estes
subconjuntos são conhecidos à priori. Os sistemas afins por troços são um ponto de partida importante
para o estudo de sistemas híbridos e não lineares.
A aproximação de sistemas não lineares por sistemas afins por troços apresentada neste capítulo é
baseada em [Johansson 1999] e [Rodrigues 2002].
Um conceito fundamental para este capítulo é a definição de simplex.
Definição 4.1. Um conjunto convexo fechado no conjunto S é o menor conjunto convexo que contém
S. Um conjunto simplex em Rn é definido como um conjunto convexo fechado com n + 1 pontos
41
42 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
independentes afim.
Intervalos em R ou triângulos em R2 são exemplos de simplexes. Com a independência afim na
definição de simplex é garantido que o interior de cada simplex é não vazio e não colapsa em nenhuma
direcção. Tendo a definição de simplex como ponto de partida, os seguintes pressupostos são utilizados
para a formulação do problema de aproximação de sistemas não lineares por sistemas afins por troços.
Pressuposto 4.1. Os sistemas não lineares neste capítulo são descritos por
x(t) = Ax(t) + a + f(x) + B(x)u(t)
y(t) = Cx(t) (4.1)
onde x ∈ Rn é o vector de estados, u ∈ R
m é o vector de entrada, y ∈ Rp é o vector de saída, a ∈ R
n é
um vector constante, A ∈ Rn×n, B ∈ R
n×m e C ∈ Rp×n são matrizes e f(x) é uma função não linear.
Pressuposto 4.2. O lado direito do sistema de equações 4.1 é localmente Lipschitz (garantido existência
e unicidade de soluções da equação diferencial) e a função f(x) é contínua.
Pressuposto 4.3. O suporte da função f(x) é um hipercubo compacto e uma grelha rectangular uniforme
é definida nesse mesmo hipercubo compacto.
4.1.1 Representação do sistema afim por troços
O sistema afim por troços tem duas componentes importantes: a partição Xi do espaço de estados
em regiões, e as equações que descrevem a dinâmica em cada uma das regiões. Para entender bem a
dinâmica global deste tipo de sistemas, é preciso ter em conta ambas as componentes. O termo sistema
afim por troços não impõe qualquer restrição na geometria nas regiões, mas é frequente impor restrições
de forma a obter resultados fiáveis.
Um sistema afim por troços consiste na divisão do espaço de estados e especificação duma dinâmica
válida em cada região. Logo, o sistema afim por troços pode ser descrito como um conjunto de pares
ordenados
(Σi,Xi)i∈I (4.2)
em que cada região Xi está associada uma dinâmica Σi. O conjunto dos índices é denominado por I.
A dinâmica do sistema é dada por
4.1. APROXIMAÇÃO DE SISTEMAS NÃO LINEARES POR SISTEMAS AFINS POR TROÇOS 43
Σi =
x(t) = Aix(t) + ai + B(xcheb)u(t)
y(t) = Cix(t)(4.3)
para todo x(t) ∈ Xi e xcheb representa o centro de Chebyshev da região Xi. As matrizes Ai, Bi e
Ci e o vector ai são invariantes no tempo e com dimensões compatíveis. Assume-se que os conjuntos
Xi ⊆ Rn são convexos fechados e possivelmente ilimitados. Assume-se que os vários pares ordenados
com a dinâmica afim do sistema e sua respectiva partição do espaço de estados nas células Xi, i ∈ I são
dados. Os conjuntos convexos Xi resultam da intersecção de um número finito de hiperplanos fechados,
implicando que para cada Xi, existe uma matriz Hi e um vector gi que
Xi =x | HT
i x − gi < 0
(4.4)
A partição X = Xii∈I cobre um subconjunto do espaço de estados, X ⊆ Rn tal que,
M⋃
i=1
X i = X (4.5)
sendo X i o subconjunto Xi fechado e M é o cardinal do conjunto I. Cada célula tem n + 1 vértices e
n + 1 faces. Os interiores das células são disjuntos, isto é
Xi ∩ Xj = ∅ (4.6)
para i 6= j, significando isto que duas células poderão ter apenas em comum a fronteira entre elas. Duas
células que partilhem uma face comum são denominadas por células vizinhas de nível-um. Um número
finito de células que partilhem o mesmo vértice são denominadas por células vizinhas de nível-dois. Seja
Ni o conjunto de células vizinhas do tipo nível-um da região Xi. Assume-se que um vector cij ∈ Rn e um
escalar dij existem por forma que a fronteira entre a célula Xi e Xj esteja contida no hiperplano descrito
porx ∈ R
n | cTijx − dij = 0
para i = 1, . . . ,M e j ∈ Ni. A descrição paramétrica das fronteiras pode
ser obtida por
X i ∩ X j ⊆lij + Fijs | s ∈ R
n−1
(4.7)
para i = 1, . . . ,M e j ∈ Ni, onde Fij ∈ Rn×(n−1) é a matriz cujas as colunas preenchem o espaço nulo
de cij e lij ∈ Rn é uma solução particular da equação cT
ijx = dij dada por lij = cij
(cTijcij
)−1dij .
É importante fazer uma análise dos resultados em termos do ponto de equilíbrio. Assume-se que o
ponto de equilíbrio do sistema está localizado em x = 0. Seja I0 ⊆ I o conjunto de indices das células
44 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
que contêm a origem e I1 ⊆ I o conjunto de índices das células que não contêm a origem. Assume-se
ai = 0 para i ∈ I0.
4.1.2 Algoritmo de aproximação para um sistema afim por troços
Assume-se que o objectivo de controlo é estabilizar o sistema num dado ponto de equilíbrio em anel
fechado xaf . Portanto o algoritmo de aproximação para um sistema afim por troços tem como entrada
o ponto de equilíbrio em anel fechado xaf , descrição do sistema e uma grelha rectangular uniforme para
o domínio da não linearidade existente no sistema dinâmico. Dadas estas entradas, o algoritmo retorna a
partição do espaço de estados em células simplex e a aproximação afim por troços da função não linear.
Dado um sistema não linear 4.1, os seguintes problemas são resolvidos,
1. Dada uma grelha rectangular uniforme para o domínio da não linearidade, atribuir um índice i ∈ Iaos vértices dessa mesma grelha;
2. Agrupar os vértices em células simplex;
3. Encontrar a descrição politópica de cada célula;
4. Encontrar a descrição paramétrica das fronteiras;
5. Encontrar as aproximações afim por troços da não linearidade e da matriz de entrada para cada
célula.
A aproximação afim por troços é efectuada pela toolbox PWACtrl desenvolvida em MATLAB rpor
[Samadi 2005] e nas secções seguintes é feita uma breve descrição de cada passo do algoritmo. Na
execução do algoritmo, a expressão 4.3 é reescrita na seguinte forma,
x = Aix + Biu (4.8)
onde x = [x 1]T . A dinâmica do sistema afim por troços é reescrita da forma 4.8 para facilitar os vários
cálculos efectuados pelo algoritmo. As variáveis de estado podem ser divididas em nx variáveis de estado
associadas à dinâmica afim e nz variáveis de estado associadas à dinâmica não linear.
Lista de vértices
Dado o domínio da não linearidade, constrói-se uma grelha com a função ndgrid, disponível no MATLAB
r. Esta função transforma os vectores que definem o domínio em matrizes que permite avaliar uma
4.1. APROXIMAÇÃO DE SISTEMAS NÃO LINEARES POR SISTEMAS AFINS POR TROÇOS 45
dada função em vários pontos. De seguida, utilizando a função reshape do MATLAB r, as colunas dos
matrizes obtidos são escritas num vector coluna. Como exemplo, considera-se a seguinte grelha
x1 = −1, 0, 1 (4.9)
x2 = −1, 0, 1 (4.10)
Utilizando a função ndgrid, obtém-se as seguintes matrizes
x1 =
−1 −1 −1
0 0 0
1 1 1
(4.11)
x2 =
−1 0 1
−1 0 1
−1 0 1
(4.12)
Utilizando a função reshape, lista de vértices desta grelha é a seguinte
(−1,−1) , (0,−1) , (1,−1) , (−1, 0) , (0, 0) , (1, 0) , (−1, 1) , (0, 1) , (1, 1) (4.13)
Agrupamento dos vértices em células
Define-se círculo circundante como o círculo que circunscreve um triângulo, isto é, o único círculo que
passa através dos três vértices do triângulo.
A triangulação de Delaunay para um conjunto de pontos P no plano é uma triangulação TD(P ) onde
nenhum ponto de P está no interior de um círculo circundante de qualquer outro triângulo em TD(P ).
Para obtenção dos triângulos, a toolbox utiliza a função do MATLAB rdelaunayn que executa
o algoritmo da triangulação de Delaunay. Voltando ao exemplo anterior, os triângulos resultantes são
apresentados na figura 4.1.
Descrição politópica das células
Utilizando uma partição para as variáveis de estados no domínio da não linearidade da classe de sistemas
descrito por 4.1, implica que o espaço de estados Rn será dividido num número finito de regiões
politópicas. As células politópicas são denominadas por Xi, i ∈ I, onde I é o conjunto finito de
46 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
Figura 4.1: Células simplex
indices das regiões. Se o número de hipercubos na grelha original é ngrelha, então a cardinalidade deste
conjunto é ngrelhan!, uma vez que cada hipercubo é dividido por n! células simplex. Baseada na expressão
4.4, a descrição politópica das células pode ser dada por:
Xi =x | Eix ≻ 0
(4.14)
onde Ei ∈ R(n−1)×(n+1). Para determinar a descrição politópica de cada célula, o objectivo é encontrar
as matrizes Ei.
Descrição paramétrica das fronteiras
Baseada na expressão 4.7, a descrição paramétrica das fronteiras pode ser escrita na seguinte forma
Xi ∩ Xj ⊆
F ijs | s ∈ R
n−1, s =
s
1
(4.15)
para i = 1, . . . , ngrelhan!, j ∈ Ni e para alguns F ij ∈ R(n+1)×n. Após a resolução do passo anterior, é
conhecida a descrição de cada uma das fronteiras de uma dada célula. Para obter a descrição paramétrica
da fronteira resolve-se a equação do hiperplano a uma variável de estado com um coeficiente diferente
4.2. PROGRAMAÇÃO MULTI-PARAMÉTRICA 47
de zero. O vector s apresentado na expressão 4.15 é formado por todas as variáveis de estado, excepto
esta variável referida. Apesar de serem encontradas as descrições paramétricas das fronteiras para cada
célula, é necessário encontrar as células vizinhas correspondentes, de forma a preencher correctamente
os índices associados à matriz F ij , isto é, se i = j ou as células Xi e Xj não são vizinhas, a matriz F ij
é vazia.
Aproximação afim por troços
Encontrar a aproximação afim por troços duma função não linear baseado nos seus valores dos vértices
da grelha é um problema de estimação. Dada uma função f : Rn → R
nz e n + 1 vértices pertencentes
a uma dada célula simplex i, o objectivo é encontrar a matriz Ai de forma que a aproximação afim por
troços de f na célula politópica i seja dada por f(x) ≃ Aix. Em cada vértice de cada célula i, a equação
linear f(ρ)T =[ρT | 1
]δ pode ser escrita, onde f(ρ) é um vector com dimensões nz × 1, δ é uma matriz
com dimensões (n + 1) × nz e ρ é um vector com dimensões n × 1 que representa as coordenadas do
vértice. Logo, a solução é dada por δ =[ρT | 1
]−1f(ρ)T .
4.2 Programação multi-paramétrica
Nesta secção são apresentadas as definições e propriedades referentes à programação multi-paramétrica.
4.2.1 Definições
Considera-se o seguinte problema de optimização
J∗N (x) = min
UN
V (x,UN ) (4.16)
sujeito a
GUN ≤ W + Ex (4.17)
onde UN ∈ RN é a variável de optimização e x ∈ R
n é o parâmetro com G ∈ Rq×N , W ∈ R
q e
E ∈ Rq×n. Em programação multi-paramétrica, o objectivo é obter U∗
N para todo o domínio de x,
isto é, obter U∗N (x) como uma função explícita do parâmetro de x. Dependendo da norma utilizada na
função de custo (linear ou quadrática) para optimização da variável UN , a terminologia Programação
Linear multi-paramétrica ou Programação Quadrática multi-paramétrica é utilizada. De seguida são
48 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
dadas definições básicas para o problema de Programação Quadrática multi-paramétrica e só depois são
apresentadas as propriedades para ambos os problemas de optimização acima referidos.
Considera-se o seguinte problema de optimização quadrático:
J∗N (x) = min
UN
UT
NHUN + xT Fx
(4.18)
sujeito a
GUN ≤ W + Ex (4.19)
H ≻ 0 (4.20)
onde o vector coluna UN ∈ RN é o vector de optimização. O número de constrangimentos q corresponde
ao número de linhas da matriz W , isto é, W ∈ Rq. U∗
N (x) é denominado pelo valor óptimo dado pelo
problema de optimização 4.18 para um dado parâmetro x. São agora apresentadas as seguintes definições
[Kvasnica 2008]:
Definição 4.2. Conjunto viável (feasible set) XN Define-se o conjunto viável XN ⊆ Rn como o
conjunto de estados x para o qual o problema de optimização 4.18 é viável
XN =x ∈ R
n | ∃UN ∈ RN , GUN ≤ W + Ex
(4.21)
Definição 4.3. Partição politópica Uma colecção de conjuntos politópicos PrRr=1 = P1, . . . ,PR
é uma partição politópica do conjunto politópico Θ se
• ⋃Rr=1 Pr = Θ;
• (Pr \ ∂Pr) ∩ (Pq \ ∂Pq) = ∅, ∀r 6= q, onde ∂ indica a fronteira.
Definição 4.4. Afim por troços e quadrático por troços Considere-se uma função f sobre um conjunto
politópico S
f : S → Rd com d ∈ N+ é afim por troços se a partição PrR
r=1 do conjunto S existir, de forma
que f(x) = Lrx + Cr se x ∈ Pr.
f : S → Rd com d ∈ N+ é quadrática por troços se a partição PrR
r=1 do conjunto S existir, de
forma que f(x) = xT Qrx + Lrx + Cr se x ∈ Pr.
4.3. CONTROLO ÓPTIMO PARA SISTEMAS AFINS POR TROÇOS 49
Definição 4.5. Constrangimentos activos AN (x) O conjunto de constrangimentos activos AN (x) no
ponto x do problema 4.18 é definido como
AN (x) =i ∈ I | G(i)U
∗N (x) − W(i) − E(i)x = 0
, I = 1, 2, . . . , q (4.22)
onde G(i), W(i) e E(i) indicam a i-ésima linha das matrizes G, W e E, respectivamente, e q é o número
de constrangimentos, isto é, W ∈ Rq.
4.2.2 Propriedades
É pretendido resolver o problema de optimização 4.18 para todo x que esteja contido no conjunto de
politopos para valores de XN , considerando o problema 4.18 como Programação Quadrática multi-paramétrica.
Teorema 4.1. [Kvasnica 2008] Considere-se um problema de optimização quadrático multi-paramétrico
4.18. Então, o conjunto de parâmetros viáveis XN é convexo, e o resultado da optimização U∗N (x) :
XN → RN é contínuo e afim por troços, ou seja,
U∗N (x) = Frx + Gr, se x ∈ Pr = x ∈ R
n | Hrx ≤ Kr , r = 1, . . . , R (4.23)
e o valor óptimo da função J∗ : XN → R é contínuo, convexo e quadrático por troços.
O problema de optimização 4.16 com a função objectivo linear pode ser formulado como um problema
de Programação Linear multi-paramétrica. As propriedades das soluções para este tipo de problemas são
formuladas no teorema seguinte.
Teorema 4.2. [Kvasnica 2008] Considere-se o problema de optimização 4.16 com a função objectivo
linear V (x,UN ) = xT cT1 UN + cT
2 UN . Então, o conjunto de parâmetros viáveis XN é convexo e o
resultado da optimização U∗N : XN → R
N é contínuo e afim por troços, ou seja,
U∗N (x) = Frx + Gr, se x ∈ Pr = x ∈ R
n | Hrx ≤ Kr , r = 1, . . . , R (4.24)
e o valor da função de custo J∗N : XN → R é contínuo, convexo e afim por troços.
4.3 Controlo óptimo para sistemas afins por troços
Considere-se o sistema dinâmico discreto afim por troços e invariante no tempo
50 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
x(k + 1) = Aix(k) + Biu(k) + fi (4.25)
Lix(k) + Eiu(k) ≤ Wi, i ∈ I (4.26)
se [x′(k) u′(k)]′ ∈ Di (4.27)
y(k) = Cix(k) + gi (4.28)
em que Ai ∈ Rn×n, Bi ∈ R
n×m, fi ∈ Rn, Ci ∈ R
p×n e gi ∈ Rp. Seja x(k) o estado medido no instante
de tempo k, xk o estado previsto no instante de tempo k, uk a entrada prevista no instante de tempo
k, para dado x(0). Assume-se que os estados e entradas do sistema 4.25 estão sujeitos aos seguintes
constrangimentos
x (k) ∈ X ⊂ Rn, u (k) ∈ U ⊂ R
m, ∀k ≥ 0 (4.29)
em que X e U são conjuntos politópicos contendo a origem no seu interior. Considera-se o problema de
controlo óptimo de tempo finito e constrangido
J∗N (x (0)) = min
u0,...,uN−1
‖QfxN‖l +N−1∑
k=0
‖Ruk‖l + ‖Qxk‖l (4.30)
sujeito a 1
Lixk + Eiuk ≤ Wi, se [xk uk]′ ∈ Di, i ∈ I, ∀k ∈ 0, . . . , N − 1 (4.31)
xN ∈ Xset (4.32)
xk+1 = fPWA (xk, uk) , x0 = x (0) , ∀k ∈ 0, . . . , N − 1 (4.33)
Q = Q′ 0, Qf = Q′f 0, R = R′ ≻ 0, se l = 2
rank(Q) = n, rank(R) = m se l ∈ 1,∞(4.34)
A expressão 4.32 é um constrangimento que define o conjunto final que pode ser utilizado para
garantir estabilidade. Como alternativa, a solução com horizonte infinito garante estabilidade.
1O acrónimo PWA denota PieceWise Afine, isto é um sistema com dinâmica afim por troços.
4.3. CONTROLO ÓPTIMO PARA SISTEMAS AFINS POR TROÇOS 51
4.3.1 Controlo preditivo
Se o problema de controlo óptimo 4.30, que é formulado para um determinado horizonte de predição
finito N , é resolvido on-line para uma condição inicial x0 = x(0), obtém-se a lei de controlo óptima U∗N
que é aplicada ao sistema em anel aberto de forma que os estados do sistema evoluem de x(0) para x(N).
Se x(N) não é igual ao valor do ponto desejado, o problema é de novo resolvido para x0 = x(N + 1) de
forma a obter nova lei de controlo. No entanto, não é garantido que o problema seja viável nesse ponto
e para ultrapassar esta limitação, define-se o horizonte de predição N para infinito, que leva ao tipo
de problema de optimização denominado controlo óptimo com tempo infinito. As desvantagens deste
tipo de controlo é o seu peso computacional e grande parte das soluções obtidas são complexas. Uma
alternativa, capaz de aproximar a solução com horizonte de predição infinito, é resolver um problema
de controlo óptimo com tempo finito em cada período de amostragem. Esta estratégia de controlo é
denominada por Receding Horizon Control (RHC) ou por controlo preditivo. Devido às diferenças entre
o modelo de predição e o sistema, aplicando a sequência completa em anel aberto pode levar a um
desempenho sub-óptimo, ou mesmo à violação de restrições.
A estratégia RHC é baseada na resolução de um problema de controlo óptimo com horizonte finito
em cada período de tempo para obter a lei de controlo óptimo U∗N . Assim sendo, apenas o primeiro
elemento do vector de entradas é aplicado ao sistema. No próximo período, são medidos de novo os
estados e o procedimento de cálculo é repetido para a nova condição inicial x0. A estratégia de RHC é
aplicado para problemas de optimização online mas também para casos em que a solução é obtida por
programação paramétrica.
No entanto, a execução do problema de optimização para todos os períodos não garante estabilidade
para todo o domínio temporal. Para garantir estabilidade, uma das possibilidades, é escolher um conjunto
final Xset apropriado.
Se o problema de optimização é resolvido por programação multi-paramétrica para obter uma função
explícita para uma dada condição inicial x0, a lei de controlo óptimo u∗ = f(x0) toma a forma de
uma tabela. A implementação on-line desta tabela é a procura do conjunto que contenha os estados
medidos. Apesar de a procura na tabela ser mais rápida que a resolução de um problema de optimização
on-line, é preciso tomar em consideração a complexidade da tabela, sendo esta limitada pelo período de
amostragem do sistema em anel fechado.
52 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
4.3.2 Conjunto positivamente invariante
Nesta secção é apresentado um método para obter controladores estáveis para sistemas afins por troços
em que o objectivo é calcular o conjunto positivamente invariante OPWA∞ com uma função de Lyapunov
associada de forma a garantir estabilidade. Assume-se que a origem é um ponto de equilíbrio para o
sistema afim por troços.
O primeiro passo é estabilização de cada dinâmica do sistema afim por troços que contenha a origem,
através de um controlador por realimentação Fi, em que a acção de controlo é dada por u = Fix se
x ∈ Di. Seja I0 o conjunto de índices das dinâmicas que contém a origem nos seus respectivos interiores,
I0 , i ∈ I | 0 ∈ Di (4.35)
A procura pela lei de controlo que estabilize o sistema afim por troços e função de Lyapunov associada
V (x) = xT Px pode ser formulada pela seguinte forma [Kvasnica 2008]
xT Px > 0, ∀x ∈ X
xT (Ai + BiFi)T
P (Ai + BiFi) x − xT Px 6 −xT Qx − xT FTi RFix, ∀x ∈ Di,∀i ∈ I0
(4.36)
Para obtenção da matriz P e do controlador Fi é resolvido um problema de LMI (Linear Matrix
Inequalities).
O segundo passo é o cálculo do conjunto positivamente invariante OPWA∞ para o sistema afim por
troços sujeito ao controlador Fi calculado no passo anterior.
Algoritmo 4.1. Cálculo do conjunto positivamente invariante OPWA∞
1. Identificar todas as dinâmicas i que contenham a origem, i.e. e ∈ I0 , i ∈ N+ | 0 ∈ Di.
2. Resolver o problema 4.36 para todo i ∈ I0, para obter Fi e P . Se o problema 4.36 for inexequível,
terminar o algoritmo.
3. Cálculo do conjunto positivamente invariante OPWA∞ correspondente ao sistema em anel fechado
x+ = (Ai + BiFi), se x ∈ Di.
4. Fornecer o conjunto OPWA∞ calculado e a lei de controlo Fi e a matriz P associados ao mesmo
conjunto.
4.3. CONTROLO ÓPTIMO PARA SISTEMAS AFINS POR TROÇOS 53
4.3.3 Controlador de tempo mínimo
O objectivo do controlador de tempo mínimo é dirigir os estados x(k) do sistema para um conjunto
positivamente invariante OPWA∞ no menor número de passos possível. Considere-se o seguinte problema
de optimização do controlador de tempo mínimo,
J∗N (x (0)) = min
u0,...,uN−1
N (4.37)
sujeito a
Lixk + Eiuk ≤ Wi, se [xk uk]′ ∈ Di, i ∈ I, ∀k ∈ 0, . . . , N − 1 (4.38)
xN ∈ OPWA∞ (4.39)
xk+1 = fPWA (xk, uk) , x0 = x (0) , ∀k ∈ 0, . . . , N − 1 (4.40)
A função de custo para este tipo de problema toma apenas valores inteiros, obtendo-se, geralmente,
partições óptimas maiores e em menor número do que na resolução de um problema de controlo óptimo
baseado na norma quadrática.
Quando o algoritmo de tempo-mínimo terminar, a lei de controlo associada vai ocupar o conjunto
estabilizável em N-passos KPWAN
(OPWA
∞
).
Definição 4.6. Conjunto estabilizável em N-passos KPWAN
(OPWA
∞
)O conjunto KPWA
N
(OPWA
∞
)
indica o conjunto estabilizável em N-passos para o sistema afim por troços, isto é, contém todos os
estados no qual pode ser conduzido para OPWA∞ em N passos. Mais especificamente,
KPWAN
(OPWA
∞
)=x (0) ∈ R
n | ∃u (k) ∈ Rm, sujeito a x (N) ∈ OPWA
∞ ,
x (k + 1) = fPWA (x (k) , u (k)) ,∀k ∈ 0, . . . , N − 1 (4.41)
O conjunto KPWA∞
(OPWA
∞
)indica o conjunto estabilizável máximo para N → ∞
Algoritmo do cálculo do controlador tempo mínimo
O cálculo do controlador tempo mínimo é baseado na resolução de vários problema de optimização
multi-paramétrica em cada iteração. O número de iterações corresponde ao número de passos para que
54 CAPÍTULO 4. SÍNTESE DE CONTROLADORES
o sistema possa alcançar o conjunto invariante. Em cada iteração, é calculada a partição do controlador
para o qual conduz os estados para essa partição obtidos na iteração anterior.
Inicialmente é calculado o conjunto invariante OPWA∞ em redor da origem, baseado numa minimização
de uma norma quadrática e formulando o problema com um conjunto de restrições LMI (Linear Matrix
Inequalities) [Kerrigan 2000, Kvasnica 2008], obtendo-se uma função de Lyapunov dada por
V (x) = xT Px e leis de controlo Fi afins por troços, neste conjunto.
Algoritmo 4.2. Cálculo do controlador tempo mínimo
1. Determinar o conjunto invariante OPWA∞ em redor da origem tal como a função de Lyapunov
V (x) = xT Px e a lei de controlo Fi associados, como descrito no algoritmo 4.1.
2. Inicialização da lista de conjuntos S0 = OPWA∞ e inicializar o contador de iterações iter a zero.
3. Cálculo de Siter+1 = Pre(Siter
)=⋃
j∈J iter+1 Siter+1j , resolvendo uma sequência de problemas
de optimização multi-paramétrica. De seguida a partição do controladorPiter+1
j,r
é associado a
cada conjunto obtido Siter+1j . O número de regiões R de cada partição é função de iter e j.
4. Para todo j∗ ∈ J iter+1: Se Siter+aj∗ ⊆
⋃j∈J iter+1j∗ Siter+1
j
∪⋃
i∈1,...,iter Si
, então
desprezar Siter+1J∗ do Siter+1 e definir J iter+1 = J iter+1 j∗.
5. Se Siter+1 6= ∅, definir iter = iter + 1 e ir ao passo 3.
6. Para todo o k ∈ 1, . . . , iter − 1 e r ∈ N+ desprezar todos as regiões do controlador Pk+1
j,r para o
qual Pk+1j,r ⊆ ⋃i∈1,...,k Si porque a lei de controlo associada não é óptima em termos temporais
e nunca será aplicada.
O índice iter corresponde ao número de passos para o qual a trajectória dos estados irão entrar no
conjunto invariante OPWA∞ se for utilizada a estratégia de controlo de horizonte recessivo. Se o algoritmo
terminar em tempo finito, então o conjunto Siter é o conjunto máximo de controlabilidade.
Capítulo 5
Apresentação de resultados
Neste capítulo são apresentados os resultados obtidos nos modelos de simulação cinemático e dinâmico.
5.1 Controlo do modelo de simulação cinemático
Nesta secção do trabalho são apresentados os resultados obtidos em simulação para seguimento de uma
trajectória espacial, utilizando o modelo cinemático do robô móvel. O objectivo de controlo é fazer com
que o robô móvel siga uma determinada trajectória espacial com o menor erro possível e com uma dada
velocidade linear. Para cumprir o objectivo, são projectados controladores preditivos em que a lei de
controlo é função explícita dos erros de posição e de orientação que coincidem com as variáveis de estado
do sistema.
São consideradas duas abordagens para a acção de controlo. Na primeira abordagem é definida uma
velocidade linear constante ao robô móvel e o controlador irá aplicar ao sistema uma velocidade angular
de forma que o robô móvel seja capaz de seguir uma determinada trajectória espacial. Na segunda
abordagem é dada uma referência à velocidade linear e o controlador projectado não irá apenas aplicar
uma velocidade angular de forma que o robô móvel seja capaz de seguir uma determinada trajectória
espacial mas também irá aplicar uma velocidade linear de forma que o robô móvel se possa deslocar com
uma velocidade linear igual à referência dada.
O projecto do controlador não toma em consideração os raios de curvatura da trajectória espacial a
seguir, portanto não é garantido que o modelo de simulação seja capaz de seguir um caminho diferente
de uma recta. Logo, o controlador é testado para o seguimento de uma trajectória rectilínea e de seguida
é testado a sua robustez no seguimento de um conjunto de trajectórias sinusoidais. No entanto, o tópico
55
56 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
da síntese de controladores intrinsecamente robustos será abordado na secção sobre o trabalho futuro.
Para o cálculo da acção de controlo em função explícita dos erros é utilizado o controlador preditivo
de modo-dual, em que primeiro é utilizado o algoritmo para calcular o conjunto positivamente invariante
considerando uma norma quadrática e de seguida é utilizado o algoritmo de tempo mínimo, de modo a
aumentar a região de atracção do sistema em anel fechado. Uma vez que a equação de estado do sistema
é não linear, procede-se à sua linearização em três troços ao estado correspondente ao erro de orientação
de modo a obter um sistema afim por troços simples (seis partições) e com um erro de aproximação da
função não linear baixo (acerca 10 porcento em relação ao sistema não-linear original). O período de
amostragem utilizado é de 0,05s tendo em conta o teorema da amostragem, em que os motores utilizados
são os sistemas dinâmicos dominantes no robô móvel.
Para o projecto dos controladores é necessário definir o peso dos estados Q e o peso das entradas R
para a função de custo. Os pesos utilizados são normalizados para a função de custo quadrática como é
possível observar nas equações seguintes,
Q = 1000kQ
12 (xmax − xmin)
2 (5.1)
R = 1000kR
12 (umax − umin)
2 (5.2)
em que xmin e xmax são os limites mínimo e máximo dos estados, respectivamente, umin e umax são
os limites mínimo e máximo das entradas, respectivamente, e as constantes kQ e kR são dadas.
5.1.1 Velocidade linear constante
Nesta secção são apresentados os resultados obtidos em simulação para o modelo de simulação cinemático
do robô móvel em que a entrada referente à velocidade linear é dada como constante. Os estados do
sistema são os erros de posição ye e o de orientação θe e são lidos directamente pelo sensor (câmara).
As entradas do sistema são as velocidades linear vm e angular θm. Considera-se uma velocidade linear
constante de 1m/s a aplicar no modelo cinemático. Considerem-se as constantes kQye= 5, kQθe
= 10
e kRθm= 1 e os limites para os estados de ye ∈ [−0, 2 0, 2] e θe ∈ [−π/3 π/3], o que resulta nos
seguintes pesos para a função de custo,
5.1. CONTROLO DO MODELO DE SIMULAÇÃO CINEMÁTICO 57
Q =
125000 0
0 9118, 9
(5.3)
R = 10 (5.4)
Os quais serão utilizados em 4.36.
As entradas da matriz Q correspondem aos pesos dos erros de posição e de orientação, respectivamente.
O peso R corresponde à velocidade angular a aplicar no modelo cinemático do robô móvel.
A figura 5.1 mostra a projecção da lei de controlo no espaço de estados. O estado x1 corresponde
ao estado ye e o estado x2 corresponde ao estado θe.
−0.2 −0.1 0 0.1 0.2
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
x1
x 2
Controller partition with 82 regions.
Figura 5.1: Projecção no espaço de estados do controlador projectado
Como é possível observar na figura 5.1, o controlador resultante não engloba todo o espaço de estados
definido pelos limites impostos, ou seja, para a velocidade linear constante de 1m/s, o controlador não
é capaz de controlar o modelo cinemático com uma determinada posição e orientação em relação à
trajectória espacial. Esta incapacidade em controlar o modelo cinemático para todo o espaço de estados
definido é devido à gama de valores do erro de posição ser reduzida, em que a câmara perde rapidamente
de vista o caminho a seguir. Para evitar esta situação pode-se diminuir a velocidade linear, aumentar a
gama de valores para o erro de posição e/ou alterar os parâmetros em relação à câmara, mais propriamente
a altura e inclinação da mesma.
A tabela 5.1 apresenta os resultados obtidos no seguimento de vários caminhos sinusoidais, todos eles
58 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
com diferentes amplitudes e frequências espaciais.
Amplitude Frequência Erro Quadrático médio (5 segundos) Módulo do Erro máximoespacial espacial Posição (m2) Orientação (rad2) Posição (m) Orientação (rad)
5 π/10 2,65E-05 0,006 0,012 0,1864 π/8 4,00E-05 0,009 0,015 0,2273 π/6 6,68E-05 0,016 0,018 0,291
2,5 π/5 9,09E-05 0,022 0,021 0,338
Tabela 5.1: Resultados obtidos para vários caminhos sinusoidais para o modelo cinemático com velocidadeconstante de 1m/s
Os caminhos sinusóides referidos na tabela 5.1 são da forma y(x) = A sin(
π2Ax
), em que A é a
amplitude espacial do caminho. São escolhidos caminhos com forma sinusoidal por este ser um caminho
exigente a seguir, devido às alterações de curvatura ao longo de x. O caminho torna-se cada vez mais
exigente à medida que a amplitude diminuí, que por sua vez aumenta a frequência espacial, por gerar
trajectórias espaciais com curvas cada vez mais apertadas (diminuição do raio de curvatura). Como se
pode observar da tabela 5.1, o erro médio quadrático e o erro máximo aumentam com a diminuição da
amplitude espacial do caminho, até chegar um certo valor no qual não é possível diminuir mais. Para o
caso presente, o controlador não consegue seguir caminhos sinusoidais com amplitudes inferiores a 2,5m,
devido à limitação do controlador não conseguir controlar o modelo cinemático do robô móvel para todo
o espaço de estados, e não pelos limites impostos para o projecto do mesmo porque o erro máximo obtido
é inferior a π/3.
A figura 5.2 apresenta o caminho percorrido pelo modelo de simulação a seguir um caminho rectilíneo,
com um erro de posição inicial de 0,1m.
−0.5 0 0.5 1 1.5 2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.2: Seguimento de um caminho rectilíneo do modelo cinemático com velocidade linear constantede 1m/s detalhado
5.1. CONTROLO DO MODELO DE SIMULAÇÃO CINEMÁTICO 59
Na figura 5.2, o triângulo vermelho representa o robô móvel com uma determinada posição e
orientação. O ponto em forma de estrela representa o ponto de intersecção entre o eixo óptico da
câmara e o plano do chão. O ponto em forma de cruz representa o ponto que a câmara observa da
pista. Esta descrição é válida para todas as figuras que apresentem o trajecto percorrido pelo modelo de
simulação.
A figura 5.3 apresenta as evoluções da entrada e da saída do modelo de simulação.
0 1 2 3 4 5−5
0
5Entrada
Tempo (s)
Ent
rada
(ra
d/s)
0 1 2 3 4 5−0.1
0
0.1Erro Posição
Tempo (s)
Err
o (m
)
0 1 2 3 4 5−0.4
−0.2
0Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.3: Entrada e saída do modelo cinemático no seguimento de um caminho rectilíneo com umavelocidade linear constante de 1m/s
A figura 5.4 apresenta o trajecto efectuado pelo modelo de simulação no seguimento de um caminho
sinusoidal com amplitude de 3m e frequência espacial de π6 .
0 1 2 3 4 5 6
−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
3
3.5
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.4: Seguimento de um caminho sinusoidal e do modelo cinemático com velocidade linear constantede 1m/s detalhado
60 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
A figura 5.5 apresenta as evoluções da entrada e saída do modelo de simulação.
0 2 4 6 8 10−1
0
1Entrada
Tempo (s)
Ent
rada
(ra
d/s)
0 2 4 6 8 10−0.05
0
0.05Erro Posição
Tempo (s)
Err
o (m
)
0 2 4 6 8 10−0.5
0
0.5Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.5: Entrada e saída do modelo cinemático no seguimento de um caminho sinusoidal com umavelocidade linear constante de 1m/s
5.1.2 Referência na velocidade linear
Nesta secção são apresentados os resultados obtidos pelo controlador projectado em que é dada uma
referência à velocidade linear para o modelo cinemático do robô móvel. Mais uma vez, os estados do
sistema são os erros de posição ye e o de orientação θe e as entradas são as velocidades linear vm e
angular θm do robô móvel. Considere-se uma velocidade linear de referência de 1m/s e são dadas as
seguintes constantes kQye= 5, kQθe
= 10, kRvm= 10 e kRθm
, o que resulta nos seguintes pesos para a
função de custo
Q =
125000 0
0 9118, 9
(5.5)
R =
4444, 4 0
0 100
(5.6)
em que são utilizados os limites para os estados de ye ∈ [−0, 2 0, 2] e θe ∈ [−π/3 π/3]. As entradas
da matriz Q correspondem aos pesos dos erros de posição e de orientação, respectivamente. As entradas
da matriz R correspondem aos pesos das velocidade linear e angular a aplicar no modelo cinemático do
robô móvel, respectivamente. Ambas as matrizes são utilizadas em 4.36.
5.1. CONTROLO DO MODELO DE SIMULAÇÃO CINEMÁTICO 61
A figura 5.6 mostra a projecção da lei de controlo no espaço de estados.
−0.2 −0.1 0 0.1 0.2−1
−0.5
0
0.5
1
x1
x 2
Controller partition with 43 regions.
Figura 5.6: Projecção no espaço de estados do controlador projectado para referência na velocidade
Fazendo a comparação com a figura 5.1, observa-se que neste caso o espaço de estados é mais
preenchido que no caso anterior, tornando o controlador mais robusto. A robustez é aumentada devido à
velocidade linear não ser restringida a um valor constante, podendo esta variar de forma que as restrições
impostas em relação aos limites de estado sejam mais bem aproveitados.
A tabela 5.2 apresenta os resultados obtidos para o seguimento de vários caminhos sinusoidais com
diferentes amplitudes e frequências espaciais.
Amplitude Frequência Erro Quadrático Médio (5 segundos) Módulo do Erro Máximoespacial espacial Posição (m2) Orientação (rad2) Posição (m) Orientação (rad)
5 π/10 1,22E-05 0,006 0,007 0,1884 π/8 1,45E-05 0,008 0,007 0,2313 π/6 1,61E-05 0,014 0,008 0,300
2,5 π/5 1,58E-05 0,019 0,008 0,3562 π/4 2,29E-05 0,027 0,014 0,448
1,5 π/3 2,20E-05 0,040 0,015 0,5301 π/2 1,13E-04 0,068 0,040 0,666
Tabela 5.2: Resultados obtidos para o controlador projectado com referência na velocidade linear de1m/s
Comparando com os resultados obtidos no caso em que é definida uma velocidade linear constante,
observa-se que este controlador é capaz de seguir caminhos mais exigentes. Comparando os resultados
obtidos para o mesmo caminho, este controlador consegue ter um menor erro em relação ao caso anterior,
62 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
quer no erro de posição quer no erro de orientação.
A figura 5.7 mostra o trajecto percorrido pelo modelo de simulação para o seguimento de um caminho
em linha recta.
0 0.5 1 1.5 2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.7: Seguimento de um caminho rectilíneo do modelo cinemático com uma referência na velocidadelinear de 1m/s
A figura 5.8 apresenta as evoluções das entradas ao modelo de simulação.
0 1 2 3 4 5
0.8
1
1.2
1.4Entrada Velocidade Linear
Tempo (s)
Ent
rada
(m
/s)
0 1 2 3 4 5−1
0
1
2Entrada Velocidade Angular
Tempo (s)
Ent
rada
(ra
d/s)
Figura 5.8: Entrada do modelo cinemático no seguimento de um caminho rectilíneo com uma referênciana velocidade linear de 1m/s
5.1. CONTROLO DO MODELO DE SIMULAÇÃO CINEMÁTICO 63
A figura 5.9 apresenta as evoluções dos erros de posição e de orientação.
0 1 2 3 4 50
0.02
0.04
0.06
0.08
0.1Erro Posição
Tempo (s)
Err
o (m
)
0 1 2 3 4 5−0.2
−0.15
−0.1
−0.05
0Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.9: Saída do modelo cinemático no seguimento de um caminho rectilíneo com uma referência navelocidade linear de 1m/s
A figura 5.10 mostra o seguimento de um caminho sinusoidal por parte do modelo de simulação.
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
−1.5
−1
−0.5
0
0.5
1
1.5
2
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.10: Seguimento de um caminho sinusoidal do modelo cinemático com uma referência navelocidade linear de 1m/s
64 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
A figura 5.11 apresenta as entradas aplicadas ao modelo de simulação.
0 2 4 6 8 100
1
2
3Entrada Velocidade Linear
Tempo (s)E
ntra
da (
m/s
)
0 2 4 6 8 10−10
−5
0
5
10Entrada Velocidade Angular
Tempo (s)
Ent
rada
(ra
d/s)
Figura 5.11: Entrada do modelo cinemático no seguimento de um caminho sinusoidal com uma referênciana velocidade linear de 1m/s
A figura 5.12 apresenta as evoluções dos erros de posição e de orientação do modelo de simulação.
0 2 4 6 8 10−0.05
0
0.05Erro Posição
Tempo (s)
Err
o (m
)
0 2 4 6 8 10−1
−0.5
0
0.5
1Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.12: Saída do modelo cinemático no seguimento de um caminho sinusoidal com uma referênciana velocidade linear de 1m/s
5.2. CONTROLO DO MODELO DE SIMULAÇÃO DINÂMICO 65
5.2 Controlo do modelo de simulação dinâmico
Nesta secção do trabalho são apresentados os resultados para o modelo de simulação dinâmico. Inicialmente
era pretendido projectar um controlador preditivo baseado nas equações de estado 3.44, mas tal tarefa
tem um peso computacional muito elevado (devido ao problema de optimização a resolver ser muito
complexo) e no final iria resultar numa lei de controlo com elevada complexidade no qual seria impossível
implementá-la no sistema dinâmico real, ou seja, não seria possível fazer uma procura a todas as
partições do espaço de estados dentro do período de amostragem pretendido. Para ultrapassar este
inconveniente, o problema é dividido em dois sub-problemas. Primeiro, projectam-se controladores para
cada um dos motores para seguir uma determinada referência em velocidade angular. Após o projecto
destes controladores, assume-se que a dinâmica do robô móvel é rápida e o seguimento de uma trajectória
espacial é resolvido considerando o modelo cinemático do robô móvel. Desta forma, o peso computacional
do projecto do controlador e implementação é menor em comparação com a primeira abordagem. Uma
vez que as equações da cinemática são não-lineares, procede-se à sua linearização por três troços (ver
capítulo 4). O período de amostragem utilizado é de 0,05s.
Para o projecto do controlador de seguimento de trajectória espacial é novamente utilizado o algoritmo
preditivo de modo-dual. No modelo dinâmico de simulação consideram-se que as entradas aplicadas ao
modelo são as velocidades angulares de referência para cada motor.
Os parâmetros do sistema são os seguintes:
Ganho 19,95Motor Esquerdo Constante de tempo 0,31
Zona morta (V) 0,54Ganho 16,50
Motor Direito Constante de tempo 0,20Zona morta (V) 0,60
Robô Raio da roda (m) 0,035b (m) 0,150
Tabela 5.3: Parâmetros do sistema identificados
5.2.1 Validação do modelo dinâmico
De forma a obter resultados fiáveis para o seguimento de pista em simulação, após a caracterização dos
vários parâmetros do robô móvel é necessário recorrer à validação do modelo dinâmico.
As figuras 5.13 e 5.14 apresentam os resultados obtidos em anel aberto do robô móvel real e do
modelo de simulação dinâmico. O objectivo destas figuras é validar o modelo de simulação.
66 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
0 0.5 1 1.5 2−20
0
20
40
60
80
100
120
140
160Validação do modelo com tensão aplicada aos motores de 1.5V
Tempo (s)
Err
o po
siçã
o(pi
xel)
ExperimentalSimulação
Figura 5.13: Comparação dos dados experimentais e de simulação para uma tensão aplicada de 1,5 V acada um dos motores
0 0.5 1 1.5 2−20
0
20
40
60
80
100
120
140
160Validação do modelo com tensão aplicada aos motores de 2V
Tempo (s)
Err
o po
siçã
o(pi
xel)
ExperimentalSimulação
Figura 5.14: Comparação dos dados experimentais e de simulação para uma tensão aplicada de 2 V acada um dos motores
5.2. CONTROLO DO MODELO DE SIMULAÇÃO DINÂMICO 67
Como é possível observar nas duas figuras anteriores, o sistema real tem um comportamento semelhante
a um sistema de fase não-mínima, devido ao undershoot. Este comportamento é devido à diferença dos
tempos de resposta de cada motor e dos ganhos de velocidade angular/tensão. Também é possível
observar pelas figuras que o robô móvel ao longo do tempo desvia-se cada vez mais do caminho de
referência e este comportamento deve-se à diferença de ganhos de cada motor.
5.2.2 Controlo de referência para os motores
Para o controlo dos motores, é projectado um controlador em que o objectivo é fazer com que o sistema
evolua para uma determinada referência em velocidade, sendo esta referência variável ao longo do tempo.
Os motores eléctricos são sistemas dinâmicos não lineares, devido à zona morta e saturação. Assim sendo,
é projectado um controlador preditivo recorrendo à programação multi-paramétrica de forma a controlar
a tensão aplicada ao motor para seguir uma determinada velocidade angular de referência. Para a função
de custo são escolhidos os pesos Q = 40000 e R = 0, 0016, onde o estado é a velocidade angular do
motor e a entrada é a tensão aplicada aos terminais do motor eléctrico. A norma escolhida para a função
de custo é a quadrática, o horizonte de predição escolhido é de três passos e o método de cálculo do
controlador é o óptimo para seguimento de referência variável no tempo.
Caso existam incertezas no modelo, o controlador projectado consegue seguir a velocidade angular
de referência mas com um erro estacionário associado, portanto adiciona-se uma acção de controlo
integradora por forma a eliminar o erro estacionário.
A figura 5.15 apresenta os resultados obtidos para o seguimento de uma referência para ambos os
motores.
5.2.3 Velocidade linear constante
De seguida são apresentados os resultados para o modelo de simulação dinâmico para o seguimento
de trajectória espacial. Considere-se uma velocidade constante a cada um dos motores de 30rad/s
(aproximadamente 1m/s) e são dadas as constantes kQye= 5, kQθe
= 10, kRuesq= 5 e kRudir
= 5.
São definidos os seguintes limites,
68 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
0 0.2 0.4 0.6 0.8 10
5
10
15
20Motor Direito
Tempo (s)
Vel
ocid
ade
angu
lar
(rad
/s)
0 0.2 0.4 0.6 0.8 10
5
10
15
20Motor Esquerdo
Tempo (s)
Vel
ocid
ade
angu
lar
(rad
/s)
ReferênciaSaída
ReferênciaSaída
Figura 5.15: Controlo de tensão aplicada aos motores para seguir determinada referência em velocidadeangular
ye ∈ [−0, 1772 0, 1772] (5.7)
θe ∈ [−π/3 π/3] (5.8)
uesq ∈ [−30 30] (5.9)
udir ∈ [−30 30] (5.10)
em que uesq e udir são as velocidade angulares de referência para os motores esquerdo e direito,
respectivamente, o que resulta nas seguintes matrizes de pesos para a função de optimização,
Q =
158520 0
0 9118, 9
(5.11)
R =
5, 5556 0
0 5, 5556
(5.12)
As entradas da matriz Q correspondem aos estados ye e θe, respectivamente. As entradas da matriz
5.2. CONTROLO DO MODELO DE SIMULAÇÃO DINÂMICO 69
R correspondem às velocidade angulares dos motores esquerdo e direito, respectivamente.
A tabela 5.4 apresenta os resultados obtidos pelo modelo dinâmico no seguimento de vários caminhos
sinusoidais, com diferentes amplitudes e frequências espaciais.
Amplitude Frequência Erro Quadrático Médio (5 segundos) Módulo do Erro Máximoespacial espacial Posição (m2) Orientação (rad2) Posição (m) Orientação (rad)
5 π/10 1,44E-05 0,006 0,014 0,1914 π/8 2,20E-05 0,010 0,014 0,2353 π/6 3,81E-05 0,017 0,015 0,305
Tabela 5.4: Resultados obtidos para vários caminhos sinusoidais para o modelo dinâmico com velocidadeconstante de 1m/s
À semelhança do caso do modelo cinemático, o controlador vai piorando o seu desempenho à medida
que o caminho fica mais exigente.
A figura 5.16 apresenta o seguimento do modelo dinâmico de uma pista rectilínea, com uma condição
inicial ye = 0, 1 e θe = 0.
−0.5 0 0.5 1 1.5 2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.16: Seguimento de um caminho rectilíneo do modelo dinâmico com velocidade linear constantede 1m/s
A figura 5.17 apresenta as entradas aplicadas ao modelo.
70 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
0 2 4 6 8 1020
25
30
35Entrada Velocidade Motor Esquerdo
Tempo (s)
Ent
rada
(ra
d/s)
0 2 4 6 8 1025
30
35
40Entrada Velocidade Motor Direito
Tempo (s)
Ent
rada
(ra
d/s)
Figura 5.17: Entrada do modelo dinâmico no seguimento de um caminho rectilíneo com uma velocidadelinear constante de 1m/s
A figura 5.18 mostra a evolução da saída do sistema.
0 2 4 6 8 10−10
0
10
20Erro Posição
Tempo (s)
Err
o (p
ixel
)
0 2 4 6 8 10−0.2
−0.1
0
0.1
0.2Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.18: Saída do modelo dinâmico no seguimento de um caminho rectilíneo com uma velocidadelinear constante de 1m/s
A figura 5.19 apresenta o seguimento do modelo dinâmico de uma pista sinusoidal com amplitude
0,25m e uma frequência espacial de π2 .
5.2. CONTROLO DO MODELO DE SIMULAÇÃO DINÂMICO 71
0 1 2 3 4
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.19: Seguimento de um caminho sinusoidal do modelo dinâmico com velocidade linear constantede 1m/s
A figura 5.20 apresenta a evolução das entradas ao modelo dinâmico.
0 2 4 6 8 1026
28
30
32
34Entrada Velocidade Motor Esquerdo
Tempo (s)
Ent
rada
(ra
d/s)
0 2 4 6 8 1026
28
30
32
34Entrada Velocidade Motor Direito
Tempo (s)
Ent
rada
(ra
d/s)
Figura 5.20: Entrada do modelo dinâmico para seguimento de um caminho sinusoidal com velocidadelinear constante de 1m/s
A figura 5.21 apresenta a evolução das saídas do modelo dinâmico.
72 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
0 2 4 6 8 10−3
−2
−1
0
1Erro Posição
Tempo (s)
Err
o (p
ixel
)
0 2 4 6 8 10−0.4
−0.2
0
0.2
0.4Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.21: Saída do modelo dinâmico para seguimento de um caminho sinusoidal com velocidade linearconstante de 1m/s
5.2.4 Referência na velocidade linear
Nesta secção são apresentados os resultados obtidos em simulação do modelo dinâmico, em que no
projecto do controlador é dada uma referência para as velocidades angulares de cada motor. Considere-se
uma referência em velocidade angular a cada um dos motores de 30rad/s (aproximadamente 1m/s) e
são dadas as constantes kQye= 5, kQθe
= 10, kRuesq= 15 e kRudir
= 15. São definidos os seguintes
limites,
ye ∈ [−0, 1772 0, 1772] (5.13)
θe ∈ [−π/3 π/3] (5.14)
uesq ∈ [0 70] (5.15)
udir ∈ [0 70] (5.16)
em que uesq e udir são as velocidade angulares de referência para os motores esquerdo e direito,
respectivamente, o que resulta nas seguintes matrizes de pesos para a função de optimização,
Q =
158520 0
0 9118, 9
(5.17)
R =
12, 245 0
0 12, 245
(5.18)
5.2. CONTROLO DO MODELO DE SIMULAÇÃO DINÂMICO 73
As entradas da matriz Q correspondem aos estados ye e θe, respectivamente. As entradas da matriz
R correspondem às velocidade angulares dos motores esquerdo e direito, respectivamente.
A tabela 5.5 apresenta os resultados obtidos do seguimento de pista para vários caminhos sinusoidais,
com diferentes amplitudes e frequências espaciais.
Amplitude Frequência Erro Quadrático Médio (5 segundos) Módulo do Erro Máximoespacial espacial Posição (m2) Orientação (rad2) Posição (m) Orientação (rad)
5 π/10 8,42E-05 0,006 0,023 0,1954 π/8 1,36E-04 0,010 0,030 0,2433 π/6 2,53E-04 0,017 0,041 0,3212 π/4 7,10E-04 0,035 0,078 0,4931 π/2 2,82E-03 0,119 0,178 0,887
Tabela 5.5: Resultados obtidos para vários caminhos sinusoidais para o modelo dinâmico com umareferência na velocidade linear de 1m/s
Como é possível observar pelos na tabela 5.5, em relação ao controlador anterior este é mais robusto
por conseguir seguir caminhos mais exigentes. Para o mesmo caminho, este controlador tem erros
associados maiores que no caso anterior, devido ao aumento do peso das entradas na função de custo.
A figura 5.22 mostra o modelo dinâmico controlado a seguir uma pista rectilínea, com as condições
iniciais ye = 0, 1 e θe = 0.
−0.5 0 0.5 1 1.5 2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.22: Seguimento de um caminho rectilíneo do modelo dinâmico com uma referência na velocidadelinear de 1m/s
A figura 5.23 mostra a evolução das entradas ao modelo dinâmico.
74 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
0 2 4 6 8 1020
25
30
35Entrada Velocidade Motor Esquerdo
Tempo (s)
Ent
rada
(ra
d/s)
0 2 4 6 8 1028
30
32
34
36Entrada Velocidade Motor Direito
Tempo (s)
Ent
rada
(ra
d/s)
Figura 5.23: Entrada do modelo dinâmico para seguimento de um caminho rectilíneo com uma referênciana velocidade linear de 1m/s
A figura 5.24 mostra a evolução das saídas do modelo dinâmico.
0 2 4 6 8 10−10
0
10
20Erro Posição
Tempo (s)
Err
o (p
ixel
)
0 2 4 6 8 10−0.15
−0.1
−0.05
0
0.05Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.24: Saída do modelo dinâmico para seguimento de um caminho rectilíneo com uma referênciana velocidade linear de 1m/s
A figura 5.25 mostra o seguimento de uma pista sinusoidal do modelo dinâmico.
5.2. CONTROLO DO MODELO DE SIMULAÇÃO DINÂMICO 75
−0.5 0 0.5 1 1.5 2 2.5 3 3.5
−1.5
−1
−0.5
0
0.5
1
1.5
Seguimento de um caminho
Coordenada X (m)
Coo
rden
ada
Y (
m)
Figura 5.25: Seguimento de um caminho sinusoidal do modelo dinâmico com uma referência na velocidadelinear de 1m/s
A figura 5.26 mostra a evolução das entradas ao modelo dinâmico.
0 2 4 6 8 1020
40
60
80Entrada Velocidade Motor Esquerdo
Tempo (s)
Ent
rada
(ra
d/s)
0 2 4 6 8 1020
40
60
80Entrada Velocidade Motor Direito
Tempo (s)
Ent
rada
(ra
d/s)
Figura 5.26: Entrada do modelo dinâmico para seguimento de um caminho sinusoidal com uma referênciana velocidade linear de 1m/s
A figura 5.27 mostra a evolução das saídas do modelo dinâmico.
76 CAPÍTULO 5. APRESENTAÇÃO DE RESULTADOS
0 2 4 6 8 10−40
−20
0
20
40Erro Posição
Tempo (s)
Err
o (p
ixel
)
0 2 4 6 8 10−1
−0.5
0
0.5
1Erro Orientação
Tempo (s)
Err
o (r
ad)
Figura 5.27: Saída do modelo dinâmico para seguimento de um caminho sinusoidal com uma referênciana velocidade linear de 1m/s
Capítulo 6
Conclusões e trabalhos futuros
Este capítulo apresenta as principais conclusões retiradas no desenvolvimento deste trabalho. Os dois
principais objectivos deste trabalho foram a modelação matemática e a construção de modelos de
simulação, bem como apresentar uma metodologia para projectar controladores para o seguimento de
pista de um robô móvel. As conclusões principais são as seguintes:
1. Para o projecto dos controladores baseado no modelo é necessário obter um modelo matemático que
traduza o sistema dinâmico real. Assumiu-se que o caminho a seguir seria percorrido por um robô
móvel virtual e foram estabelecidas as equações de erros da posição e orientação entre o robô móvel
e o robô virtual. A partir das equações de erro obtém-se as equações da cinemática e da dinâmica do
erro, no qual vão ser escritas como equações de espaço de estados para o projecto de controladores
para seguimento de pista. A construção deste modelo de simulação levou a maior conhecimento
do sistema dinâmico do robô móvel denominado “Rasteirinho”, em que foi dado a conhecer que
se um robô móvel tiver motores com tempos de resposta diferentes e ganhos diferentes, o sistema
global poderá ter um comportamento semelhante a um sistema de fase não-minima, o que dificulta
o projecto do controlador.
2. Após obter as equações não lineares de estado, baseados no erros de posição e orientação, procedeu-se
à sua linearização em redor de vários pontos de funcionamento, de forma a obter uma boa
aproximação do sistema dinâmico real. A aproximação utilizada neste trabalho é baseada em
[Rodrigues 2002], em que foi desenvolvida uma toolbox em MATLAB rpara o efeito. A toolbox é
de fácil utilização, e apenas é necessário fornecer as equações do sistema não linear, impor limites
nos estados e o número de partições pretendido. O resultado obtido desta toolbox é a divisão
77
78 CAPÍTULO 6. CONCLUSÕES E TRABALHOS FUTUROS
do espaço de estados em conjuntos politópicos, em que a cardinalidade do conjunto de índices
das partições politópicas é de ngrelhan!, em que ngrelha é o número de divisões escolhidas pelo
utilizador e n é a ordem do sistema.
3. Para o controlo do robô móvel foi escolhida a estratégia de controlo preditivo com o auxílio
da programação multi-paramétrica. À partida, a utilização do controlo preditivo não parece ser
viável, uma vez que esta estratégia implica a resolução de um problema de optimização em cada
instante de tempo mas lida bem com problemas multivariáveis e com restrições. Caso o sistema
dinâmico seja lento, não existem problemas em resolver um problema de optimização em cada
instante tempo, uma vez que o período de amostragem é suficientemente grande para tal, mas
este não é o caso do robô móvel. Portanto para ultrapassar esta dificuldade, com o auxílio da
programação multi-paramétrica é possível obter uma lei de controlo que é função explícita dos
estados, sendo assim desnecessário a resolução do problema de optimização em cada instante de
tempo. A desvantagem que esta estratégia pode trazer é o número de partições resultantes, uma
vez que a implementação não é mais que uma procura numa tabela da lei de controlo associada
aos estados. Se essa tabela comportar um número elevado de partições, a procura poderá ser
exaustiva, sendo impossível realizá-la dentro do período de amostragem. De modo a obviar este
problema adoptou-se a utilização de uma estratégia de controlo preditivo de modo-dual.
6.1 Trabalhos futuros
Ao longo do desenvolvimento do trabalho, deparou-se com várias situações que deverão ser resolvidas em
trabalhos futuros. As direcções propostas para continuação deste trabalho são:
1. Os resultados obtidos neste trabalho garantem a estabilidade para o sistema afim por troços e não
para o sistema não linear. Para garantir estabilidade do sistema não-linear deverá projectar-se um
controlador robusto que toma em consideração as incertezas no modelo.
2. Os controladores projectados neste trabalho assumem velocidade linear constante ou uma referência
para uma determinada velocidade linear. Um ponto interessante a estudar é a alteração da referência
da velocidade linear ao longo tempo. Por exemplo, se um robô móvel seguir outro e este indicar qual
a sua velocidade linear, o robô móvel perseguidor deverá alterar a sua velocidade de forma que o erro
longitudinal se mantenha constante. A solução proposta é o projecto de vários controladores para
várias referências na velocidade linear, criando assim um banco de controladores. Sendo necessário
6.1. TRABALHOS FUTUROS 79
construir também uma lei de controlo que faça a comutação entre esses mesmos controladores,
garantindo a estabilidade dessa lei de comutação.
3. Estudar o problema de seguimento de alvo, sendo este tipo de problema muito importante, por
exemplo, para manter uma determinada formação para vários robôs móveis. A diferença entre
este problema e o de seguimento de pista é a introdução dum novo estado xe, retirando assim a
restrição xe = 0. Para o problema de controlo de formações recomenda-se a leitura de [Dunbar &
Murray 2005], [Vidal, Shakernia & Sastry 2004], [Soria, Carelli, Kelly & Zannatha 2006], [Spletzer,
Das, Fierro, Taylor, Kumar & Ostrowski 2001] e [Ögren 2003].
80 CAPÍTULO 6. CONCLUSÕES E TRABALHOS FUTUROS
Bibliografia
Antsaklis, P. [2000], ‘A brief introduction to the theory and applications of hybrid systems’, Proceedings
of the IEEE, Special Issue on Hybrid Systems: Theory and Applications 88(7), 879–886.
Asensio, J. & Montano, L. [2002], ‘A kinematic and dynamics model-based motion controller for mobile
robots’, IFAC 15th Triennial World Congress, Barcelona, Spain .
Bemporad, A. & Morari, M. [1999], ‘Control of systems integrating logic, dynamics, and constraints’,
Automatica 35(3), 407–427.
Bemporad, A., Morari, M., Dua, V. & Pistikopoulos, E. [2002], ‘The explicit linear quadratic regulator
for constrained systems’, Automatica 38(1), 3–20.
Camacho, E. F. & Bordons, C. [1999], Model Predictive Control, Springer-Verlag, London.
Cardeira, C. & da Costa, J. S. [2005], ‘A low cost mobile robot for engineering education’, Proceedings
of IECON 2005, the 31st Annual Conference of the IEEE Industrial Electronics Society .
Cardeira, C., Sousa, J. M. C., Pinto, J. R. C., Botto, M. A., Ramalho, M. & da Costa, J. S. [2006],
‘Integrating mobile robots development and competitions in engineering curricula’, Proceedings of
INCOM 2006, the 12th IFAC Symposium on Information Control Problems in Manufacturing, Special
Session “e-Learning and innovative pedagogies” .
de Oliveira, S. L. & Morari, M. [2000], ‘Contractive model predictive control for constrained nonlinear
systems’, IEEE Transactions on Automatic Control 45(6), 1053–1071.
Dua, V., Bozinis, N. A. & Pistikopoulos, E. N. [2002], ‘A multiparametric programming
approach for mixed-integer quadratic engineering problems’, Computers and Chemical Engineering
26(4–5), 715–733.
81
82 BIBLIOGRAFIA
Dunbar, W. B. & Murray, R. M. [2005], ‘Distributed receding horizon control with application to
multi-vehicle formation stabilization’.
Egerstedt, M., Hu, X. & Stotsky, A. [2001], ‘Control of mobile platforms using a virtual vehicle approach’,
IEEE Transactions on Automatic Control 46(11), 1777–1782.
Fierro, R. & Lewis, F. L. [1998], ‘Control of a nonholonomic mobile robot using neural networks’, IEEE
Transactions on Neural Networks 9(4).
Guerra, P. N., Alsina, P. J., Medeiros, A. A. D. & Araújo, A. P. [2004], Linear modelling and identification
of a mobile robot with differential drive, in ‘1st International Conference on Informatics in Control,
Automation and Robotics’, Setúbal, Portugal.
He, S. [2005], Feedback control design of differential-drive wheeled mobile robots, in ‘Proceedings of the
12th International Conference on Advanced Robotics -ICAR ’05.’, pp. 135–140.
Heemels, W., Schutter, B. D. & Bemporad, A. [2001], ‘Equivalence of hybrid dynamical models’,
Automatica 37(7), 1085–1091.
Johansson, M. [1999], Piecewise Linear Control Systems, PhD thesis, Department of Automatic Control
Lund Institute of Technology.
Kerrigan, E. [2000], Robust Constraint Satisfaction: Invariant Sets and Predictive Control, PhD thesis,
University of Cambridge.
Kvasnica, M. [2008], Efficient Software Tools for Control and Analysis of Hybrid Systems, PhD thesis,
Swiss federal institute of technology Zurich.
Kvasnica, M., Grieder, P. & Baotić, M. [2004], ‘Multi-Parametric Toolbox (MPT)’.
*http://control.ee.ethz.ch/ mpt/
Mayne, D. & Michalska, H. [1990], ‘Receding horizon control of nonlinear systems’, IEEE Transactions
on Automatic Control 35(7), 814–824.
Mayne, D. Q., Rawlings, J. B., Rao, C. V. & Scokaert, P. O. M. [2000], ‘Constrained model predictive
control: Stability and optimality’, Automatica pp. 789–814.
Mestre, N., Silva, M. P., Cardeira, C. & Botto, M. A. [2007], ‘Identification and control of an
autonomous mobile robot’, Proceedings of Robótica 2007, the 7th Conference on Mobile Robots
and Competitions, Paderne, Algarve .
BIBLIOGRAFIA 83
Michalska, H. & Mayne, D. Q. [1993], ‘Robust receding horizon control of constrained nonlinear systems’,
IEEE Transactions on Automatic Control 38(11), 1623–1633.
Ögren, P. [2003], Formations and Obstacle Avoidance in Mobile Robot Control, PhD thesis, Royal
Institute Of Technology Stockholm, Sweden.
Richalet, J. [1993], ‘Industrial applications of model based predictive control’, Automatica
29(5), 1251–1274.
Rodrigues, L. [2002], Dynamic Output Feedback Controller Synthesis For Piecewise-Affine Systems, PhD
thesis, Stanford University.
Samadi, B. [2005], Pwactrl: A quick user guide, Technical report.
Sontag, E. D. [1981], ‘Nonlinear regulation: The piecewise linear approach’, IEEE Transactions on
Automatic Control 26(2), 346–358.
Soria, C. M., Carelli, R., Kelly, R. & Zannatha, J. M. I. [2006], ‘Coordinated control of mobile robots based
on artificial vision’, International Journal of Computers, Communications & Control 1(2), 85–94.
Spletzer, J., Das, A. K., Fierro, R., Taylor, C. J., Kumar, V. & Ostrowski, J. P. [2001], ‘Cooperative
localization and control for multi-robot manipulation’, Proceedings of IEEE/RSJ International
Conference on Intelligent Robots and Systems (IROS) .
Strobl, K., Sepp, W., Fuchs, S., Paredes, C. & Arbter, K. [2004], ‘Camera calibration toolbox for matlab’.
*http://www.vision.caltech.edu/
Teodoro, P. [2006], Perspectiva cónica como visão monocular, Technical report, Instituto Superior
Técnico.
Vidal, R., Shakernia, O. & Sastry, S. [2004], ‘Distributed formation control with omnidirectional
vision-based motion segmentation and visual servoing’, IEEE Robotics & Automation Magazine
.
Wada, N., Tagami, S. & Saeki, M. [2007], ‘Path-following control of a mobile robot in the presence of
actuactor constraints’, Advanced Robotics 21(5–6), 645–659.
Wahyudi, A. A. [2004], ‘Dynamic modelling and adaptive traction control for mobile robots’, International
Journal of Advanced Robotic Systems 1(3), 149–154.