OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o...

150
PASSAROLA DIRIGÍVEL AUTÓNOMO PARA OPERAÇÕES DE SALVAMENTO (PARTE ROBÓTICA) Ricardo Jorge Costa Alcácer Dissertação para a obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores Júri Presidente: Doutor Carlos Jorge Ferreira Silvestre Orientador: Doutor Pedro Manuel Urbano de Almeida Lima Co-Orientador: Doutor Francisco André Corrêa Alegria Vogal: Doutor José Alberto Rosado dos Santos Victor Setembro 2008

Transcript of OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o...

Page 1: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

PASSAROLA – DIRIGÍVEL AUTÓNOMO PARA

OPERAÇÕES DE SALVAMENTO (PARTE ROBÓTICA)

Ricardo Jorge Costa Alcácer

Dissertação para a obtenção do Grau de Mestre em

Engenharia Electrotécnica e de Computadores

Júri Presidente: Doutor Carlos Jorge Ferreira Silvestre

Orientador: Doutor Pedro Manuel Urbano de Almeida Lima

Co-Orientador: Doutor Francisco André Corrêa Alegria

Vogal: Doutor José Alberto Rosado dos Santos Victor

Setembro 2008

Page 2: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação
Page 3: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

aos meus pais

Page 4: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação
Page 5: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

i

Agradecimentos A todos os que me fizeram crescer como pessoa e como engenheiro.

Ao professor Francisco Alegria pela sua disponibilidade e empenho para o nosso projecto do dirigível, pela sua

boa disposição e irremediável motivação para a engenharia.

Ao professor Pedro Lima pela oportunidade de realizar investigação no ISR com o dirigível Passarola.

À AEIST (Associação de Estudantes do IST) pela disponibilização do pavilhão para os testes com o dirigível.

Aos meus pais por todo o apoio e compreensão prestados durante todos estes anos em que me aturaram e em

particular nesta fase da minha vida onde nem sempre manifestei o meu bom humor.

À minha irmã e ao meu cunhado pelo carinho que sempre tiveram por mim e pelos vários momentos de alegria.

À minha namorada pela longa espera por uma viagem a dois para bem longe de todas as obrigações e por todo

o amor com que sempre me amparou.

À Turma 8, meus amigos e companheiros de muitas noitadas, em particular ao David, pelas cabeçadas dadas

em conjunto neste projecto. Sabem que ISTo sem vocês não tinha ido muito longe.

A D. Irene, às minhas afilhadas Margarida e Joana, a todos os meus amigos e familiares que sempre me

apoiaram e como não podia deixar de ser ao meu cão, o Goofy.

Page 6: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

ii

Page 7: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

iii

Resumo

No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para

implementação e desenvolvimento do sistema autónomo de controlo desta aeronave, construído em colaboração

com o colega da Parte Electrónica deste projecto. Pretende-se mostrar aqui a capacidade de construção de um

sistema funcional para controlo autónomo de um veículo aéreo, capaz de garantir o domínio sobre os seus

comportamentos durante o seguimento de uma trajectória não pré-definida, fornecida pelo movimento de um

robô terrestre ou pela configuração de linhas marcadas no solo. É realizada a correcção e melhoramento do

modelo matemático da dinâmica do dirigível, deduzida em trabalhos anteriores, e são identificadas as respostas

impulsivas dos três subsistemas da aeronave: translação em x, translação em z e rotação, recorrendo ao veículo

real. Um controlador PD foi projectado e implementado com base no esquema de controlo proposto para o robô

Passarola, com emprego de visual servoing para a realimentação da malha de controlo. A definição do erro de

seguimento é efectuada para dois casos de estudo: Seguimento do Robô ATRVJr e Seguimento de Linhas,

realizando-se a obtenção dos vectores de erro por processamento de imagem, em estreita ligação com a Parte

Electrónica do projecto. Ajustados teoricamente os controladores, são efectuados ensaios do controlo do

dirigível, em dois formatos distintos de simulação: simulação teórica em Matlab e simulação 3D realista em

USARSim, com utilização do sistema de controlo real. Este último formato de simulação, tendo sido adaptado de

raiz durante este projecto, para a simulação do protótipo Passarola, foi configurado para a fiel representação da

atitude do Passarola, proporcionando a estruturação de uma poderosa ferramenta de investigação para este

robô. Por fim é validado o sistema de controlo desenvolvido no robô real, discutindo-se sobre a robustez dos

métodos utilizados.

Palavras-chave: Condução de robô móvel, Controlo baseado em imagem, Dirigível autónomo, Simulação

dinâmica 3D.

Page 8: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

iv

Abstract

In this thesis is presented the theoretical study of blimp’s control, developed in Passarola robot, for the design and

implementation of the autonomous control system of this aircraft. The work shows the capability to build an

operational guidance system for the aerial vehicle, fed by a non-pre-determined trajectory, resulting from tracking

the motion of a ground vehicle or following lines painted on the ground. The mathematical model of the blimp

dynamics is improved with respect to prior work, and the impulsive responses of the three aircraft subsystems are

identified: translation in X, translation in Z, and rotation about Z. The study of the PD controller is done concerning

the visual feedback control scheme proposed for the Passarola robot. The closed loop control error is defined for

both cases (ground robot tracking and lines following) and determined by image processing techniques. The

blimp controller was tested in two different types of simulators: theoretical simulation in Matlab and 3D realistic

simulation in USARSim, with the use of the real control setup. The latter, adapted from the beginning of the

project to the Passarola robot simulation, was carefully configured to represent Passarola attitude, turning it into a

powerful investigation tool for this robot. The autonomous control system was then applied to the real robot, with

very satisfactory results.

Key Words: Mobile robot navigation, image-based control, autonomous blimp, 3D dynamic simulation.

Page 9: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

v

Conteúdo

1 Introdução ........................................................................................................................................................... 1

1.1 – Motivação para o Projecto .......................................................................................................................... 1

1.2 – Trabalhos Anteriores .................................................................................................................................. 2

1.3 – Objectivos propostos .................................................................................................................................. 3

1.4 – Estrutura da Dissertação ............................................................................................................................ 5

2 Modelação do Dirigível Passarola ..................................................................................................................... 7

2.1 – Descrição do Robô e dos seus Actuadores................................................................................................ 7

2.2 – O Modelo Não-Linear do Dirigível .............................................................................................................. 8

2.2.1 – Cinemática........................................................................................................................................... 8

2.2.2 – Dinâmica............................................................................................................................................ 11

2.3 – Actuação................................................................................................................................................... 16

2.4 – Linearização ............................................................................................................................................. 17

2.5 – Definição de Subsistemas ........................................................................................................................ 20

2.5.1 – Definição do Subsistema XZ ............................................................................................................. 21

2.5.2 – Definição do Subsistema de Direcção............................................................................................... 22

3 Identificação de Sistemas ................................................................................................................................ 23

3.1 – Definição da Função de Transferência G(s) ............................................................................................. 23

3.1.1 – Função de transferência do Subsistema XZ – Parte X...................................................................... 25

3.1.2 – Função de transferência do Subsistema XZ – Parte Z ...................................................................... 25

3.1.3 – Função de Transferência do Subsistema de Direcção ...................................................................... 26

3.2 – Determinação dos Parâmetros de GX(s) e GD(s)...................................................................................... 27

3.2.1 – Determinação Manual........................................................................................................................ 27

3.2.2 – Determinação com a toolbox Ident, do MatLab ................................................................................. 30

4 Estudo do Controlador ..................................................................................................................................... 33

4.1 – Esquema de Controlo do Robô ................................................................................................................ 33

4.2 – Definição do Controlador .......................................................................................................................... 34

4.2.1 – Controlador PD digital........................................................................................................................ 36

4.3 – Controlo 1: Seguimento do ATRVJr ......................................................................................................... 38

4.3.1 – Definição do Erro............................................................................................................................... 38

4.3.2 – Aplicação da Lei de Controlo............................................................................................................. 39

4.3.3 – Ajuste dos Parâmetros dos Controladores ........................................................................................ 40

4.4 – Controlo 2: Seguimento de Linhas ........................................................................................................... 44

4.4.1 – Definição do Erro............................................................................................................................... 44

4.4.2 – Aplicação da Lei de Controlo............................................................................................................. 45

4.4.3 – Ajuste de Parâmetros dos Controladores .......................................................................................... 46

Page 10: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

vi

5 Simulação Teórica, em Matlab ........................................................................................................................ 47

5.1 – Ensaio Teórico do Controlo, em Simulink (Matlab)................................................................................... 47

5.2 – Resultados do Ensaio Teórico do Controlo .............................................................................................. 50

5.3 – Verificação do Desempenho do Controlador ............................................................................................ 53

5.4 – Resultados do Ensaio com os Controladores PD..................................................................................... 55

6 Sistema Autónomo de Controlo ...................................................................................................................... 59

6.1 – Sistema de Trabalho, em Laboratório....................................................................................................... 59

6.2 – Sistema de Trabalho, no Terreno ............................................................................................................. 61

6.3 – Computador de Bordo DSP...................................................................................................................... 62

6.3.1 – Processamento de Imagem............................................................................................................... 63

6.4 – LabView.................................................................................................................................................... 67

6.4.1 – Placa de Aquisição e Conversão ADC .............................................................................................. 70

7 Resultados ........................................................................................................................................................ 71

7.1 – Ajuste Prévio do Sistema de Controlo ...................................................................................................... 71

7.2 – Resultados em Simulação 3D Realista – USARSim................................................................................. 72

7.2.1 – Controlo 1: Seguimento do ATRVJr................................................................................................... 72

7.2.2 – Controlo 2: Seguimento de Linhas .................................................................................................... 79

7.3 – Resultados no Robô Real – Passarola ..................................................................................................... 82

7.3.1 – Controlo 1: Seguimento do ATRVJr................................................................................................... 83

7.3.2 – Controlo 2: Seguimento de Linhas .................................................................................................... 84

8 Conclusões e Trabalho Futuro ........................................................................................................................ 87

8.1 – Conclusões............................................................................................................................................... 87

8.2 – Trabalho Futuro ........................................................................................................................................ 89

Bibliografia ........................................................................................................................................................... 91

Anexos ................................................................................................................................................................. 95

Anexos A – Cálculos auxiliares ......................................................................................................................... 95

Anexos B – USARSim ..................................................................................................................................... 107

Page 11: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

vii

Lista de Figuras

1.1 – a) Dirigível Passarola; b) Robô terrestre ATRVJr. ...........................................................................................1

1.2 – Esquema do controlador a ser implementado em Simulink (Matlab). ..............................................................4

1.3 – Esquema de controlo a ser implementado com o novo simulador 3D realista – USARSim.............................4

1.4 – Diagrama de blocos do sistema de controlo real final......................................................................................5

2.1 – Dirigível Passarola. ..........................................................................................................................................7

2.2 – Dimensões do dirigível Passarola....................................................................................................................7

2.3 – Definição dos referenciais f e b, reproduzido de [2]. ...................................................................................9

2.4 – Representação das forças de restituição que actuam no corpo do dirigível. .................................................15

2.5 – Esquema da posição dos actuadores no corpo do dirigível. ..........................................................................16

3.1 – Representação gráfica do comportamento do dirigível Passarola após aplicação de um escalão no

ciclo de trabalho (duty cycle) do sinal PWM (f = 48Hz) de estímulo dos actuadores: ....................................27

3.2 – Gráficos comparativos entre as respostas dos sistemas simulados e as respostas reais: ............................28

3.3 – Diagrama de blocos simulink de teste dos sistemas simulados, em unidades eléctricas: .............................29

3.4 – Respostas dos sistemas simulados, do robô Passarola, em unidades eléctricas:.........................................29

3.5 – Comparação entre as respostas dos sistemas identificados e a resposta real, para os dois

subsistemas em estudo. ................................................................................................................................31

4.1 – Esquema teórico de controlo do dirigível Passarola. .....................................................................................33

4.2 – Diagrama de blocos do controlador PD obtido para o controlo do dirigível Passarola...................................37

4.3 – Exemplo do processamento de imagem realizado no controlo do seguimento do ATRVJr:..........................38

4.4 – Diagrama de blocos do Subsistema XZ – Parte X, desenhado em simulink..................................................41

4.5 – Gráficos das respostas da simulação do sistema da Figura 4.4. ...................................................................42

4.6 – Diagrama de blocos do Subsistema de Direcção, desenhado em simulink. ..................................................43

4.7 – Gráficos das respostas da simulação do sistema da Figura 4.6. ...................................................................43

4.8 – Exemplo do processamento de imagem realizado no controlo do seguimento de linhas: .............................44

5.1 – Diagrama de blocos do simulador Simulink do sistema de controlo do Passarola. .......................................49

5.2 – a) Posição 3D da formação de robôs, no referencial do mundo; b) Posição e orientação da formação

em função do tempo; c) Erro temporal de posição e de orientação do Passarola em relação à

referência. ......................................................................................................................................................50

5.3 – a) Posição 3D da formação de robôs; b) Posição e orientação da formação em função do tempo; c)

Erro temporal de posição e de orientação do Passarola em relação à referência. ........................................51

5.4 – Valores temporais da força aplicada no modelo matemático do Passarola durante o seguimento. ..............52

5.5 – Diagrama de blocos do simulador Simulink adaptado para teste do controlador real....................................54

5.6 – a) Posição 3D dos robôs, no referencial do mundo; b) Posição e orientação temporal dos robôs. ...............55

5.7 – a) Emulação da imagem da câmara com a referência de seguimento; b) Erro temporal de posição e

de orientação do Passarola em relação à referência, na imagem da câmara emulada no simulador. ..........55

5.8 – a) Posição 3D dos robôs, no referencial do mundo; b) Posição e orientação temporal dos robôs. ...............56

5.9 – a) Emulação da imagem da câmara com a referência de seguimento; b) Erro temporal de posição e

de orientação do Passarola em relação à referência, na imagem da câmara emulada no simulador. ..........56

5.10 – Valores temporais da força aplicada no modelo do Passarola durante o seguimento do 8. ........................56

6.1 – Bancada de trabalho, em laboratório. ............................................................................................................59

Page 12: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

viii

6.2 – Esquema de trabalho, em laboratório, construído para o desenvolvimento deste projecto. ..........................60

6.3 – Esquema do sistema de trabalho, utilizado no terreno, durante os testes com o robô Passarola. ................61

6.4 – Esquema das ligações eléctricas do Dirigível. ...............................................................................................61

6.5 – Fotografia da placa de processamento do DSP, utilizada para a construção do computador de bordo

do robô Passarola..........................................................................................................................................62

6.6 – a) Imagem com várias amostras de vermelho; b) Gráfico com o valor das três componentes YUV..............64

6.7 – a) Imagem original obtida pelo DSP; b) imagem processada (em UVYV) com detecção de vermelho. ........64

6.8 – Processamento de imagem do seguimento do ATRVJr.................................................................................65

6.9 – Esquema de detecção de linhas na imagem de contornos............................................................................66

6.10 – Janela de interface do programa LabView. .................................................................................................68

6.11 – a) Gráfico da velocidade linear do Passarola em função do duty cycle do sinal PWM aplicado nos

seus motores dianteiros...............................................................................................................................69

6.12 – a) Gráfico da velocidade angular do Passarola em função do duty cycle do sinal PWM aplicado no

seu motor traseiro........................................................................................................................................69

6.13 – Aproximação de polinómios às tabelas de conversão Duty Cycle – Velocidade. ........................................70

6.14 – Placa USB de conversão e aquisição de sinais – ADC. ..............................................................................70

7.1 – Comparação de trajectórias no controlo do dirigível, a uma altitude de 6m: a) sem compensação de

comportamento; b) com compensação de comportamento. ..........................................................................71

7.2 – Experiência 1: Trajectória em forma de U, realizada com V = 0,58m/s. ........................................................73

7.3 – Experiência 2 e 3: a) Trajectória em forma de escalão no eixo dos xx, com V = 0,58m/s; b) Trajectória

em forma de U, realizada com V = 0,78m/s, a 12m de altitude. ....................................................................74

7.4 – Experiência 4: Trajectória de inversão de marcha, realizada com V = 0,58m/s.............................................75

7.5 – Experiência 5: Trajectória em forma de 8, realizada com V = 0,58m/s. .........................................................76

7.6 – Experiência 6: a) Trajectória em forma de 8, realizada com V = 1m/s e altitude 6m; b) Trajectória em

forma de 8, realizada com V = 1m/s e altitude 12m. ......................................................................................76

7.7 – Experiência 7: Circuito de longa distância, realizado a 6m altitude e com V = 0,78m/s.................................78

7.8 – Experiência 1: a) Trajectória em forma de 8, realizada a 6m de altitude; b) Trajectória em forma de 8,

realizada a 10m de altitude. ...........................................................................................................................79

7.9 – Experiência 2: Trajectória em forma de quadrado, realizada a 6m de altitude. .............................................80

7.10 – Experiência 3: Seguimento de linhas num circuito de longa distância. Altitude = 6m e Vmed ≈ 0,8m/s........81

7.11 – Sequencia de imagens de um teste do seguimento do ATRVJr, com o robô Passarola, numa

trajectória em forma de Quadrado...............................................................................................................84

7.12 – Sequencia de imagens de um teste de Seguimento de Linhas, realizado com o robô Passarola...............85

Page 13: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

ix

Lista de Tabelas

2.1 – Síntese das componentes do movimento para veículos com 6 graus de liberdade e variáveis utilizadas. .. 9

3.1 – Valores dos parâmetros determinados para os subsistemas do robô Passarola. ...................................... 28

4.1 – Valores dos parâmetros do controlador do Subsistema XZ – Parte X........................................................ 42

4.2 – Valores dos parâmetros dos controladores do Subsistema de Direcção.................................................... 43

4.3 – Valores dos parâmetros do controlador do Subsistema XZ – Parte X e do Subsistema de Direcção ........ 46

5.1 – Valores experimentais de alguns dos coeficientes das matrizes do modelo da dinâmica (2.43)................ 47

6.1 – Valores limites dos eixos verticais dos gráficos das variáveis de controlo. ................................................ 65

Page 14: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

x

Page 15: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

1

1 Introdução

1.1 – Motivação para o Projecto

A coordenação de tarefas em larga escala em ambientes desconhecidos, perigosos e em luta contra

o tempo estão a tornar-se cada vez mais importantes em operações militares, de resgate e de

incêndio. Substituir robôs por pessoas nas actividades mais perigosas poderia reduzir em grande

escala o risco para a vida humana neste tipo de missões. Porque tais emergências são relativamente

raras e exigem total concentração nos problemas mais imediatos existe muito pouca oportunidade

para inserir e experimentar a utilização de robôs.

O projecto RESCUE, Navegação Cooperativa para Robôs de Salvamento, levado a cabo no Instituto

de Sistemas e Robótica (ISR) do Instituto Superior Técnico (IST) propõe-se a preparar uma equipa de

robôs capaz de navegar em ambientes exteriores, demonstrando a sua aptidão para agir individual e

cooperativamente em operações de busca e salvamento (BES) num ambiente semelhante a cenários

de catástrofe. O uso de robôs em operações de BES é um desafio aliciante, uma vez que, devido à

natureza do problema, promove de uma forma natural avanços do conhecimento em áreas como a

Visão Artificial, a Navegação em ambientes exteriores não estruturados, a Inteligência Artificial

Distribuída e o Controlo Inteligente. No âmbito da investigação deste projecto foi construída uma

equipa de dois robôs, composta por um robô terrestre, ATRVJr, e um robô aéreo, dirigível Passarola

(Figura 1.1).

Figura 1.1 – a) Dirigível Passarola; b) Robô terrestre ATRVJr.

O robô aéreo deverá ser capaz de desempenhar várias tarefas, tais como construção de um mapa

topológico da zona destruída, com informações relevantes sobre as áreas mapeadas, no que diz

respeito ao grau de destruição, presença de vítimas, etc, assim como a dificuldade em atravessar as

a) b)

Page 16: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

2

diversas zonas, devido à presença de escombros ou caminhos sem saída. O mapa será armazenado

como um gráfico e será utilizado na escolha do melhor caminho para o robô terrestre atingir uma

determinada posição desejada (p. ex., uma das vitimas do desastre). Este mapa poderá ainda ser

utilizado para ajudar o robô aéreo durante a sua navegação.

O robô terrestre utilizando diversos sensores (GPS, inercial, visão e sonares) conseguirá navegar

rumo ao seu objectivo, lidando com os detalhes associados ao caminho (p.ex., escombros, árvores,

pessoas no caminho, etc.). Enquanto o robô terrestre executa a sua tarefa, o robô aéreo poderá ainda

segui-lo usando um algoritmo de controlo de formações, de modo a que seja mantida uma

comunicação fiável entre os robôs, servindo este ainda de retransmissor de informações entre o robô

terrestre e as estações de base mais distantes. A utilidade desta teoria de controlo de formações

pode ainda ser alargada para outros sistemas, noutro tipo de utilizações, como por exemplo em

missões espaciais para a exploração de novos planetas.

Numa era em que se assiste a uma constante transformação tecnológica, é continuamente colocado

ao dispor, e a baixo custo, variados utensílios de captura, processamento e controlo de sinais em

tempo-real que permitem a construção de sistemas electrónicos robustos e autónomos. É por isso

urgente o papel do investigador no nosso dia-a-dia para a rápida canalização destas novas

capacidades para aplicações de utilidade social, como contributo para a evolução positiva das

sociedades.

1.2 – Trabalhos Anteriores

Uma vez que o dirigível Passarola já tinha sido utilizado em dois projectos anteriores, alguns estudos

relevantes foram realizados no âmbito desses projectos. Em [3] foi estudado o controlo de formações

entre o dirigível Passarola e o robô terrestre ATRVJr, onde foi implementado um controlador SBC

(Separation-Bearing Control) para a construção de uma trajectória de seguimento em formação com o

robô terrestre para referência de controlo do dirigível Passarola. Foi ainda abordada a questão da

modelação da dinâmica do dirigível, resolvendo-se os cálculos da cinemática e da dinâmica num

modelo matemático em espaço de estados.

Num primeiro projecto com o dirigível [5], foi também realizado algum estudo sobre o seu controlo,

nomeadamente a nível de problemas de navegação devido ao posicionamento dos motores e da sua

baixa potência. Nesse projecto, os cálculos de controlo eram efectuados numa estação terrestre com

base na imagem de vídeo captada por uma micro câmara a bordo do dirigível, sendo a

comunicação/controlo do mesmo realizada por RF (rádio frequência).

No âmbito do processamento de imagem, foram estudados em [6], algoritmos para obtenção da

atitude do robô (posição e orientação) e as suas velocidades, a partir da homografia e da geometria

de projecção de imagens obtidas por uma câmara de vídeo a bordo de um pequeno dirigível em

laboratório, com o conhecimento à priori do mapa de navegação. Vários tipos de controlo linear e não

linear foram utilizados para controlar a velocidade do veículo, assim como a sua condução no espaço

Page 17: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

3

3D. O trabalho desenvolvido considerou ainda a modelação do sistema e a identificação de

parâmetros, assim como o teste do controlador e do processamento de imagem num simulador

Simulink. Foram ainda realizadas experiências no robô real com os algoritmos implementados a

correr em tempo real, para seguimento de trajectórias e Station Keeping.

Existindo desde cedo a intenção de desenvolver um trabalho com um dirigível, em conjunto com o

autor de [4], salienta-se ainda a realização de um trabalho, na cadeira de Sensores e Actuadores,

como contribuindo para o desenvolvimento antecipado do projecto Passarola, onde se implementou

uma pequena aplicação de navegação, com um Sistema de Posicionamento Global (GPS) e um

Processador Digital de Sinais (DSP), para futura implementação no dirigível Passarola em aplicações

de navegação no exterior. Aqui, desenvolveram-se protocolos de comunicação e avaliaram-se as

capacidades do DSP para construção de um computador de bordo para o dirigível.

1.3 – Objectivos propostos

O presente trabalho é realizado no âmbito do projecto RESCUE e debruça-se totalmente na

automação do dirigível Passarola, desenvolvendo-se e implementando-se todo o sistema autónomo

de controlo do mesmo, de forma a alcançar o objectivo final de seguimento de linhas no solo ou o

seguimento de um robô terrestre (o robô ATRVJr). Para tal foi necessário redesenhar todo o circuito

electrónico do dirigível de forma a incluir um computador de bordo (DSP), responsável pela aquisição

e processamento de imagem do sensor de visão do dirigível (câmara de vídeo) e implementar o

algoritmo de controlo e condução do mesmo por actuação dos seus actuadores. No desenvolvimento

do projecto foram ainda considerados outros sistemas electrónicos, utilizados para alcançar os fins

propostos. Para o teste e ajuste dos algoritmos de controlos e visão é oportunamente desenvolvido

um simulador do dirigível no simulador USARSim, num ambiente gráfico 3D realista, realizado à

imagem do protótipo real que se revelou uma ferramenta de trabalho de importantíssima utilidade

durante o desenvolvimento dos algoritmos de seguimento, pois dispensa a utilização do robô real na

fase de desenvolvimento.

Para a condução deste projecto foram inicialmente propostos três passos de implementação do

sistema de controlo, divididos em duas etapas, com vista a um desenvolvimento sólido do projecto:

Etapa 1a (simulação em Matlab):

Estudo do simulador Simulink do Passarola do projecto anterior [3], inclusão da transformação de

velocidades das hélices para velocidades no referencial do dirigível e respectivo ajuste do controlador

tendo em conta os novos ganhos introduzidos (Figura 1.2).

Page 18: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

4

Figura 1.2 – Esquema do controlador a ser implementado em Simulink (Matlab).

Etapa 1b (simulação em USARSim):

Passagem para a linguagem C do código do controlador e substituição do simulador Simulink do

Passarola, pelo novo simulador USARSim (a desenvolver), onde é incluída a simulação da câmara de

vídeo do dirigível. Segue-se ainda o desenvolvimento do processamento de imagem e construção de

algoritmos de controlo com base nas imagens recebidas pela referida simulação da câmara (Figura

1.3).

Figura 1.3 – Esquema de controlo a ser implementado com o novo simulador 3D realista – USARSim.

Etapa 2 (Realidade):

Passagem de todo o código para a unidade de processamento real – DSP. Avaliação da

possibilidade de manter o USARSim a correr no PC ligado ao DSP, podendo desta forma usar o

simulador 3D realista na cadeia de controlo (“Hardware in the loop”), em substituição do dirigível real,

com todas as facilidades que isso pode permitir. Realização de experiências no seguimento de

trajectórias. Aplicação do sensor GPS no DSP. Realização de testes no robô Passarola real (Figura

1.4).

Controlador (simulnk)

Transformação de referenciais

Simulador de [3]

(Simulink)

Distância e ângulo ao(s) veículos a seguir

w1

w2

w3

Vx

Vz

W

Controlador (com o PC)

Transformação de referenciais

Simulador USARSiml

(3D/ realista)

Estimativa de distância e ângulo ao(s) veículo(s) a seguir

w1

w2

w3

Vx

Vz

W

Processamento de imagem

Simul. câmara

Page 19: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

5

Figura 1.4 – Diagrama de blocos do sistema de controlo real final.

1.4 – Estrutura da Dissertação

Em seguida apresenta-se a estrutura da presente Dissertação, organizada em 8 capítulos, com a

descrição de todos os passos desenvolvidos para a construção do sistema autónomo de controlo do

Passarola, assim como os resultados finais obtidos no protótipo real:

− No Capítulo 2 é melhorado o estudo teórico do modelo físico do dirigível, anteriormente

realizado para o robô Passarola [3]. São deduzidas as equações matemáticas da cinemática

e da dinâmica do dirigível e dos seus actuadores, que permitem efectuar a modelação da

dinâmica do robô;

− No Capítulo 3 é efectuada a determinação e identificação dos subsistemas que definem o

movimento do dirigível, utilizando como suporte experiências realizadas com o robô real, para

o estudo teórico do controlador com base nos métodos de projecto de controlo linear;

− No Capítulo 4 é apresentada a dedução da lei de controlo com base no esquema de controlo

definido para este projecto, cuja realimentação é dada por image servoing. Para cada uma

das situações de controlo (seguimento do ATRVJr e seguimento de Linhas) é efectuada a

definição do erro de seguimento, é aplicada a lei de controlo ao sistema e realiza-se por

último o ajuste dos parâmetros dos controladores;

− No Capítulo 5 são apresentados alguns resultados intermédios do controlador na medida em

que é demonstrada a funcionalidade da lei de controlo num ensaio teórico realizado em

Matlab, no simulador Simulink, com o modelo da dinâmica do robô Passarola. É ainda testado

o esquema de controlo real utilizando os controladores PD digital afinados no Capítulo 4;

− No Capítulo 6 é apresentada a base de trabalho deste projecto com a descrição de todos os

sistemas físicos desenvolvidos para a construção do sistema autónomo de controlo do

dirigível Passarola, entre os quais a sua unidade de processamento (DSP);

− Os resultados obtidos em simulação e no robô real são finalmente apresentados e discutidos

no Capítulo 7, com a apresentação de gráficos de posição/orientação em função do tempo,

para a avaliação do desempenho dos comportamentos obtidos;

Controlador (com o DSP)

Dirigível real (Passarola)

w1

w2

w3

Processamento de imagem

GPS Câmara

DSP

Imagens

Dados do GPS

Page 20: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

6

− No Capítulo 8 são apresentadas as conclusões desta dissertação e são sugeridos alguns

trabalhos futuros.

No final deste relatório encontram-se ainda uma série de anexos onde são apresentados cálculos

auxiliares ao projecto e é apresentado o simulador USARSim utilizado para o desenvolvimento deste

projecto. Neste último, é ainda realizada a descrição de todos os passos envolvidos na construção do

modelo USARSim do Passarola, na optimização dos seus comandos de controlo e por fim a afinação

dos seus parâmetros físicos com base no dirigível real.

Page 21: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

7

2 Modelação do Dirigível Passarola

2.1 – Descrição do Robô e dos seus Actuadores

A presente investigação foi realizada no dirigível Passarola, protótipo aéreo para missões de busca e

salvamento, da propriedade do ISR – Lisboa (Instituto de Sistemas e Robótica), do Instituto Superior

Técnico (Figura 2.1).

Figura 2.1 – Dirigível Passarola.

Os sistemas de controlo disponíveis no dirigível são constituídos por dois motores dianteiros, um

motor traseiro e uma barra transversal de suporte e rotação dos motores dianteiros. A barra

transversal está encastrada na gôndola e possui servomecanismos que lhe permite girar 360 graus,

possibilitando o controlo do dirigível no plano XZ1. Os motores dianteiros são os actuadores

responsáveis pela impulsão do dirigível no plano vertical, no sentido positivo ou sentido negativo, uma

vez que possuem reversão. Por fim, o motor traseiro localizado na cauda do dirigível, faculta o

controlo da sua orientação, através da rotação do hélice no sentido directo ou no sentido inverso,

criando um binário positivo ou negativo em torno do eixo z. As dimensões do dirigível estão

representadas na figura 1.2.

Figura 2.2 – Dimensões do dirigível Passarola.

1 X = direcção longitudinal; Z = direcção vertical

Page 22: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

8

2.2 – O Modelo Não-Linear do Dirigível

Nas próximas secções, será realizada a repetição e o melhoramento da modelação da dinâmica do

robô Passarola, apresentada em [3], onde se assumem novas convenções para as equações

cinemáticas e para as equações da dinâmica que descrevem o comportamento do sistema, baseadas

no estudo de [2].

O estudo da dinâmica pode ser dividido em duas partes: estudo da cinemática, que trata apenas dos

aspectos geométricos do movimento, e estudo da dinâmica, que é a análise das forças causadoras

do movimento do veículo.

De acordo com [2], as equações de movimento dos veículos marítimos pode ser escrito numa forma

vectorial do tipo (2.1) e (2.2), descritas nas secções que se seguem:

vJ )(ηη =&

wggvvDvvCvM ++=+++ 0)()()( τη& .

Tendo em conta que os veículos aéreos, como os dirigíveis, são nada mais do que uma massa que

se desloca dentro de um fluido – ar, embora com menor densidade que a água, conclui-se que estas

equações também podem ser aplicadas em veículos aéreos da mesma forma que é feito nos veículos

submarinos, apresentado na bibliografia.

2.2.1 – Cinemática

Nesta secção será apresentada a cinemática do dirigível em estudo.

Definição dos referenciais

No caso geral de um deslocamento no espaço de um corpo rígido, este fica completamente definido

por um conjunto finito de rotações num dado sistema de eixos, e um número finito de translações ao

longo de um dado vector. A descrição da cinemática de um veículo é baseada na existência de dois

referenciais: um referencial inercial – referencial f, onde as leis de Newton do movimento podem ser

aplicadas e um referencial móvel, fixo ao corpo do veículo – referencial b.

No caso do sistema em estudo do dirigível, definiu-se o referencial inercial f como sendo o

referencial que está contido no plano do solo, que se assume ser localmente plano (negligenciando a

curvatura da Terra), e definiu-se o referencial móvel b solidário com o corpo do dirigível, com origem

no seu centro de gravidade e com os eixos x, y e z coincidentes com os seus principais eixos de

inércia, tal como representado na Figura 2.3.

(2.1)

(2.2)

Page 23: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

9

Figura 2.3 – Definição dos referenciais f e b, reproduzido de [2].

No caso dos veículos com 6 graus de liberdade (DOF), são necessárias 6 coordenadas

independentes para determinar a sua posição e orientação. As primeiras três coordenadas e as suas

derivadas temporais correspondem à posição e movimento translacional do veículo, ao longo do

eixos x, y e z, enquanto que as ultimas três coordenadas, e as suas derivadas temporais, são

utilizadas para descrever a sua orientação e o seu movimento de rotação.

O dirigível em questão faz parte da classe dos sistemas que são sub-actuados, ou seja, possui

menos entradas de controlo do que graus de liberdade, limitando o controlo do veículo.

Por conseguinte, no caso de qualquer veículo que se movimente no espaço 3D, as variáveis

utilizadas para descrever o modelo cinemático do sistema encontram-se sintetizadas na Tabela 2.1.

Tabela 2.1 – Síntese das componentes do movimento para veículos com 6 graus de liberdade e variáveis utilizadas.

DOF Forças e momentos

Velocidades linear e angular

Posição e ângulos de Euler

1 Movimento no eixo x (surge) X u x

2 Movimento no eixo y (sway) Y v y

3 Movimento no eixo z (heave) Z w z

4 Rotação em torno x (roll) K p φ

5 Rotação em torno y (pitch) M q θ

6 Rotação em torno z (yaw) N r ψ

Os sistemas de eixos de rotação e translação não necessitam de ser os mesmos, tal como no

presente caso, uma vez que é muito mais fácil descrever o movimento quando estes se encontram

desacoplados. Uma rotação finita não obedece necessariamente às leis de adição vectorial, e como

tal, por integração directa da velocidade angular do corpo não se pode obter a atitude do mesmo.

Existem várias formas de descrever rotações finitas. A representação mínima mais usual no mundo

aeronáutico é dada pelos três ângulos de Euler Θ (ângulo de rolamento (roll) - φ , ângulo de picada

Page 24: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

10

(pitch) - θ, e ângulo de guinada (yaw) - ψ). Em conjunto com as três coordenadas de posição p, o

corpo fica completamente descrito em cada momento. A posição e orientação do veículo devem ser

expressas relativamente ao sistema de coordenadas inercial, enquanto que as velocidades linear e

angular são de mais fácil expressão no referencial fixo ao corpo.

Desta forma, definem-se para o veículo em estudo os seguintes vectores:

O vector η contêm as coordenadas do referencial b no referencial f, enquanto que ν e τ

representam as velocidades e forças aplicadas, descritas no referencial b.

É necessário agora conhecer a relação entre as variáveis de cada um dos referenciais, de forma a

passar de um referencial para o outro. A matriz de rotação e a matriz de transformação que

descrevem esta relação são apresentadas nas equações (2.4) e (2.6).

VRp )(Θ=& ;

−+−+

++−=Θ

φθφθθφψθφψψθφφψθψ

θφψφψφθψφψθψ

ccscs

cssscssscccs

sccssssccscc

R )(

;)( ΩΘ=Θ T&

−−−

=Θ−

φθφφθφ

θ

ccs

scc

s

T

0

0

01

)(1 ,

−=Θθφθφ

φφθφθφ

cccs

sc

tcts

T

//0

0

1

)(

onde s ⋅ = sin( ⋅ ), c ⋅ = cos( ⋅ ) e t ⋅ = tan( ⋅ ).

A matriz de rotação ortogonal R especifica a orientação do referencial b relativamente ao referencial

inercial f em coordenadas deste último, fornecendo uma relação de coordenadas entre os

referenciais.

Quanto às coordenadas angulares, pelo facto de não existir interpretação física imediata da

integração do vector de velocidade angular Ω para obtenção directa do vector de coordenadas

angulares Θ, relacionam-se estes vectores pela matriz de transformação da velocidade angular T,

equação (2.7), para obtenção das coordenadas angulares generalizadas. Esta matriz é singular para

Ζ∈±= kK ,2/ ππθ . Esta descrição é válida desde que 2/2/ πθπ <<− o que é suficiente

[ ]ΤΘ= ,pη ; [ ]Τ= zyxp ,, ; [ ]Τ=Θ ψθφ ,, ;

[ ]ΤΩ= ,Vν ; [ ]Τ= wvuV ,, ; [ ]Τ=Ω rqp ,, ;

[ ]Τ= mf ,τ ; [ ]Τ= ZYXf ,, ; [ ]Τ= NMKm ,, ;

(2.7)

(2.6)

(2.5)

(2.4)

(2.3)

Page 25: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

11

para o dirigível em questão, uma vez que, valores de picada superiores a estes, não são aceitáveis

para um dirigível.

A cinemática do dirigível vem, por fim, dada por (2.8), de acordo com a equação (2.1):

νηη )(J=&

Ω

ΘΘ

=

Θ⇔

×

× V

T

Rp

)(0

0)(

33

33

&

&

2.2.2 – Dinâmica

Para a descrição matemática da dinâmica de voo do dirigível é necessário que esta contenha a

informação necessária relativamente aos efeitos aerodinâmicos, estruturais, dinâmica dos actuadores

e dos motores, etc. É vantajoso formular as equações do movimento no sistema de eixos fixo ao

corpo, por forma a tirar alguma vantagem das propriedades geométricas do dirigível. O modelo

dinâmico, deduzido pela aplicação das leis da mecânica de Newton e de Lagrange às forças e

momentos aplicados num corpo rígido, realizado em [1], permitiu por conseguinte obter as equações

do movimento do protótipo em estudo, para os seis graus de liberdade (movimento translacional e

rotacional), como será mostrado neste capítulo.

A dinâmica do dirigível pode ser convenientemente escrita na forma da equação (2.2), como referido,

cujas variáveis se encontram descritas no referencial b, embora sejam ainda assumidas algumas

simplificações por conveniência de análise do modelo. Desprezando o vector de perturbações

externas – w (p.ex. vento), e o vector de forças de contrapeso – g0 (p.ex. utilização de lastro),

alcançou-se a equação final que será utilizada no estudo da dinâmica do dirigível (2.9):

τηννννν =+++ )()()( gDCM & ,

com

[ ][ ][ ]

===

Τ

Τ

Τ

NMKZYX

rqpwvu

zyx

,,,,,

,,,,,

,,,,,

τν

ψθφη, onde as matrizes representam:

M = MRB + MA matriz de inércia do sistema de corpo rígido (incluindo os termos de massa virtuais)

C(ν) = CRB+ CA(ν) matriz das forças de Coriolis e forças centrípetas (incluindo os termos de massa virtuais)

D(ν) matriz de amortecimento aerodinâmico (aerodynamic damping)

g(η) vector de forças e momentos gravitacionais/sustentação estática

τ vector de entradas de controlo

(2.9)

(2.8)

Page 26: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

12

O modelo não linear apresentado neste capítulo é principalmente direccionado para o desenho de

sistemas de controlo em combinação com identificação do sistema e da estimação de parâmetros.

As matrizes que modelam a dinâmica do dirigível serão agora apresentadas, e a equação final em

espaço-de-estados será então obtida para caracterização do modelo do sistema em estudo.

São ainda consideradas algumas simplificações, relativamente à constituição do robô. O dirigível é

considerado um corpo rígido, pois é suposto que este se encontre perfeitamente insuflado. As

gôndolas e os deflectores são desprezados tendo em conta a reduzida velocidade de operação do

robô e as suas reduzidas dimensões em relação ao balão. O envelope do dirigível é ainda assumido

como sendo simétrico.

Devido ao volume não desprezável do dirigível não é possível ignorar as suas características de

inércia e os termos de massa virtual. Estes últimos surgem como um mecanismo de incorporar à

dinâmica do dirigível o efeito devido à sua imersão no fluido circundante. Ao mover-se no ar o dirigível

desloca uma quantidade de fluido, que por sua vez induz forças e momentos neste que não podem

ser desprezáveis face à sua massa e dimensões. Estes efeitos podem ser modelados como se a

massa do dirigível fosse superior à que é na realidade.

Passemos agora à definição das matrizes e vectores envolvidos na equação da dinâmica (2.9).

A matriz de inércia M RB, é única e satisfaz 0>= ΤRBRB MM e 660 ×=RBM& e é dada por (2.10):

−−−−−−−−−

−−

=

−= ×

zzzyzxgg

yzyyyxgg

xzxyxxgg

gg

gg

gg

RB

IIImxmy

IIImxmz

IIImymz

mxmym

mxmzm

mymzm

ImS

rmSmIM

0

0

0

000

000

000

))(

0

33 ,

sabendo que, I3x3 é a matriz identidade, r é o vector com a localização do centro de gravidade em

relação à origem do referencial b dado por (2.11), S(r) é a matriz de enviezamento (skew-symmetric

matrix) dada por (2.12), m é a massa do veículo e I0 é a matriz de inércia (2.13).

[ ]Τ= gggg zyxr ,,

−−

−=⇔−= Τ

0

0

0

)()()(

gg

gg

gg

ggg

xy

xz

yz

rSrSrS

(2.10)

(2.11)

(2.12)

Page 27: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

13

−−−−−−

=

zzzyzx

yzyyyx

xzxyxx

III

III

III

I 0 .

Tendo agora em conta a convenção assumida para a localização do referencial b, que diz que a

origem de b coincide com o centro de gravidade C.G. do dirigível, de onde resulta (2.14), e que os

eixos de b são concordantes com os principais eixos de inércia deste veículo, pode-se escrever

(2.15):

[ ]Τ= 0,0,0gr ;

zyxGC IIIdiagII ,,..0 == ,

concluindo-se que, para o dirigível, teremos MRB na forma simplificada dada por (2.16):

zyxGC

RB IIImmmdiagI

mIM ,,,,,

0

0

..33

3333 =

=

×

××.

A matriz CRB, representa os termos do vector de Coriolis ϖ x ν e os termos do vector Centrípeto

ϖ x (ϖ x r) para corpos rígidos, mas ao contrário de MRB, podem existir várias representações da

matriz CRB. A representação de CRB utilizada, correspondente à dedução adoptada em [1], e é dada

por (2.17):

=

−+−−−

=−= ×Τ

)()()()(

)()()(0)()(

0

33

ϖϖϖ

ννISSrmSVmS

rSmSVmSCC RBRB

−++−−+−−++−−−+++−−−++−−−++−

++−−−−−++−+−−−+

=

0)()()(

0)()()(

0)()()(

)()()(000

)()()(000

)()()(000

pIqIrIqIpIrIqypxmurymvrxm

pIqIrIrIpIqIuqzmpxrzmwqxm

qIpIrIrIIqIvpzmwpymrzqym

qypxmuqzmvpzm

urympxrzmwpym

vrxmwqxmrzqym

xxxyxzyyxyyzgggg

xxxyxzzzxzyzgggg

yyxyyzzzxzyzgggg

gggg

gggg

gggg

Neste caso também se abreviam os termos da matriz devido a (2.14) e (2.15), obtendo-se para CRB a

matriz simplificada (2.18).

(2.13)

(2.17)

(2.15)

(2.16)

(2.14)

Page 28: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

14

−−−−

−−−

−−

=

00

00

00

0000

0000

0000

pIqImumv

pIrImumw

qIrImvmw

mumv

mumw

mvmw

C

xxyy

xxzz

yyzzRB

A matriz de adição de massas surge devido à inércia do fluido circundante, que imprime no veículo

movente forças de pressão induzidas e momentos, que o forçam a um movimento harmónico forçado.

No caso de o veículo possuir três planos de simetria, os elementos da matriz de massas virtuais MA,

fora da diagonal, podem ser desprezados obtendo-se para MA e CA as matrizes (2.19) e (2.20),

respectivamente.

[ ],,,,,, rqpwvuAA NMKZYXdiagMM &&&&&&−== Τ

onde cada um dos elementos da matriz são constantes e significam a derivada parcial da força

aerodinâmica da massa virtual, criada devido a uma aceleração, em ordem à respectiva aceleração

aplicada, isto é, por exemplo νν && ∂∂= YY : .

−−−−

−−−

−−

=−= Τ

00

00

00

0000

0000

0000

)()(

pKqMuXvY

pKrNuXwZ

qMrNvYwZ

uXvY

uXwZ

vYwZ

CC

pquv

pruw

qrvw

uv

uw

vw

AA

&&&&

&&&&

&&&&

&&

&&

&&

νν

Esta aproximação da matriz MA a uma estrutura diagonal verifica-se ser, na prática, bastante aceitável

para muitas aplicações, uma vez que os elementos fora da diagonal são muito mais pequenos que os

elementos da diagonal, pelo facto da matriz MA gozar da propriedade 0>= AT

A MM .

O amortecimento aerodinâmico D(νννν) surge do efeito da fricção do corpo do veículo com o fluido

exterior e também devido ao efeito de turbilhão (vortex shedding) criado no ar, aquando da sua

deslocação do corpo do veículo pelo ar, criando zonas de menor pressão que sugam o veículo e

criam resistência à sua passagem. A matriz de amortecimento aerodinâmico é dada por (2.21):

)()( νν nDDD += ,

(2.20)

(2.19)

(2.18)

(2.21)

Page 29: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

15

onde D é a matriz de amortecimento aerodinâmico linear (2.22) e Dn(ν) é a matriz de amortecimento

aerodinâmico não-linear (2.23):

rqpwvu NMKZYXdiagD ,,,,,−=

rNqMpKwZvYuXdiagD rrqqppwwvvuun ,,,,,)( ||||||−=ν

Além da massa e de forças de amortecimento, o dirigível também é afectado por forças gravíticas e

por forças de sustentação estática (buoyancy forces), denominadas por forças de restituição

(restoring forces).

Figura 2.4 – Representação das forças de restituição que actuam no corpo do dirigível.

Tal como representado na Figura 2.4, a força gravítica fg é aplicada no Centro de Gravidade do

dirigível (C.G.), definido por rg = [xg, yg, zg]T, e a força de sustentação estática fb é aplicada no Centro

de Sustentação Estática (C.B.), no centro do corpo do dirigível, definido por rb = [xb, yb, zb]T. É

desejável que o centro de gravidade se encontre logo abaixo do centro de Sustentação Estática, de

forma a garantir que o Dirigível não adquire ângulo de picada (pitch), e se mantenha estaticamente

nivelado. Esta situação corresponde a se ter sempre a distribuição de massas equilibrada dentro da

gôndola.

Realizando a dedução correspondente à representação dos ângulos de Euler das forças e momentos

aerostáticos obtém-se, para g(η), o vector indicado em (2.24):

−−−−−+−

−+−−−−−−−

=

θφθφθθ

φθφθφθφθ

θ

η

sfyfyscfxfx

ccfxfxsfzfz

scfzfzccfyfy

ccff

scff

sff

g

bbggbbgg

bbggbbgg

bbggbbgg

bg

bg

bg

)()(

)()(

)()(

)(

)(

)(

)( ,

(2.23)

(2.24)

(2.22)

Page 30: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

16

com:

mgf g = e ∇= gf arb ρ ,

onde ∇ é o volume de fluido ocupado pelo corpo do veículo, g é a aceleração da gravidade e ρar é a

densidade do respectivo fluido, e onde s ⋅ = sin( ⋅ ), c ⋅ = cos( ⋅ ) e t ⋅ = tan( ⋅ ).

Para veículos neutralmente flutuantes2 fg = fb, com o centro de gravidade e o centro de sustentação

estática localizados verticalmente, ao longo do eixo dos zz (xg = xb e yg = yb), como é o caso da

aeronave em estudo, e sabendo que zg = 0 o vector (2.24) simplifica-se, ficando:

[ ]Τ−−= 0,,,0,0,0)( θφθη smgzscmgzg bb

2.3 – Actuação

Definidas as equações cinemáticas e dinâmicas do dirigível torna-se agora necessário definir também

estas equações para a actuação do dirigível.

Os efeitos das forças geradas pelos actuadores dependem da sua localização no referencial fixo ao

corpo b. Considere-se então a Figura 2.5, que representa, de uma forma esquemática, a localização

dos motores no corpo da aeronave.

Figura 2.5 – Esquema da posição dos actuadores no corpo do dirigível.

2 Propriedade característica dos dirigíveis, veículo flutuante naturalmente estável, cujo volume de hélio presente no seu envelope deve ser o suficiente para manter o valor da sustentação estática próxima do peso da aeronave, sendo que os ganhos ou perdas de altitude são conseguidos com recurso à motorização.

(2.25)

(2.26)

Page 31: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

17

Pode-se então, decompor as forças dos motores nas suas componentes fundamentais, no referencial

b, obtendo-se as equações (2.27):

+==

+=

α

α

sin)(

0

cos)(

MDEMDD

MDEMDD

FFZ

Y

FFX

Os respectivos momentos angulares são dados por (2.28):

−=+−=

−=

MTMT

MDMD

MTMT

XFN

ZXXZM

ZFK

.

..

.

2.4 – Linearização

Tal como já tinha sido referido na equação (2.2), o veículo em estudo pode ser modelado por um

conjunto de equações predominantemente não lineares de alguma complexidade. No entanto, para

efectuar o estudo do controlador para este sistema torna-se necessário recorrer a várias

simplificações. Estas facilitam a análise do sistema, o uso de métodos de controlo conhecido e a

escolha de variáveis de estado para controlar cada um dos actuadores.

Uma das principais características deste tipo de veículos é a sua estabilidade inerente, como foi

demonstrado em [3], permitindo portanto que o controlo da aeronave não seja focado na sua

estabilização, mas sim no seguimento de referências.

Análise e simplificação do modelo teórico

Para a dedução do modelo linearizado do dirigível considera-se por simplificação que os seus

ângulos de rolamento e picada serão sempre desprezáveis, o que se verifica ser uma boa

aproximação uma vez que em aplicações de baixa velocidade, tal como é considerado para o veículo

em causa, estes ângulos são muito reduzidos:

0== θφ

De forma a obter as equações do movimento linearizadas, segundo [2], é conveniente criar um

sistema de coordenadas paralelo ao veículo , fixo ao seu corpo, com os eixos paralelos ao

(2.29)

(2.27)

(2.28)

Page 32: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

18

referencial f fixo à Terra, tornando este processo mais directo. Simplificando a equação da

cinemática (2.8) com base em (2.29), obtém-se:

νψνηηθφ

)()(0

PJ==

≈=& ,

onde:

=

××

×

3333

33

0

0)()(

I

RP

ψψ ,

onde R(ψ) representa a matriz de rotação R apenas em função do ângulo de guinada (yaw) ψ.

Daqui define-se que, o sistema de coordenadas paralelo ao dirigível é dado por:

ηψη )(Τ= Pp

onde ηp é a posição/atitude do referencial inercial f decomposto nas coordenadas do referencial do

corpo b e 66)()( ×Τ = IPP ψψ .

Para aplicações de baixa velocidade, usando a definição (2.32) e recorrendo à teoria linear, pode

então escrever-se para as equações cinemáticas do movimento que:

νηνψψηψψ

ηψηψη

+=

+=

+=ΤΤ

ΤΤ

p

p

p

rS

PPPP

PP

)()()()(

)()(

&

&&&

onde ψ&=r e

−=××

×

4323

42

00

001

10S .

Como neste tipo de aplicações 0≈r a equação da cinemática (2.33) reduz-se a 6 integradores

puros e é dada por (2.35), tornando este modelo linear em ν:

νη ≈p&

Para as forças de restituição também se pode utilizar a definição (2.32) para a sua linearização.

Atendendo à simplificação (2.29) pode escrever-se que:

pp GGPPGPg ηηψψηψηθφ

==≈ ΤΤ==

)()()()(0

,

onde:

0,,,0,0,0 mgzmgzdiagG bb −−= ,

a qual é independente do ângulo de guinada (yaw) ψ.

(2.30)

(2.31)

(2.32)

(2.33)

(2.34)

(2.35)

(2.36)

(2.37)

Page 33: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

19

A simplificação (2.29) para aplicações de baixa velocidade 0≈ν implica que as forças e momentos

não lineares de Coriolis, de amortecimento e de restituição, podem ser linearizados em torno de

0=ν e 0== θφ . Uma vez que 0)0( =C e 0)0( =nD , faz sentido que se possa fazer a

aproximação:

τηννννν

η

=++++pGD

n gDDCM )()]([)(0

43421321& ,

que pode ser escrita na forma final linearizada:

νη =&

τηνν =++ pGDM & .

Definindo as varáveis de estado como:

=

=⇒

=

=

νη

νη

&

&

&

&& pp

x

xx

x

xx

2

1

2

1 e τ=Bu ,

sendo u o vector das variáveis de controlo disponíveis para cada um dos três graus de liberdade

sujeitos a actuação, dado por [ ]Τ= ZFXu MT ,, . A solução da dinâmica do dirigível será obtida a

partir das suas equações de estado do modelo. Fazendo as substituições e resolvendo as equações

(2.39) e (2.40) em ordem a 1x& e a 2x& respectivamente, vem:

21 xx =&

BuMGxMDxMx 11

12

12

−−− +−−=&

Na expressão (2.41) não é representada a dependência temporal das variáveis para facilitar a

notação.

Este sistema corresponde, por fim, ao modelo em espaço de estados linear e invariante no tempo

pretendido e pode reescrever-se na forma:

buAxxuBMx

x

DMGM

I

x

x+=⇔

+

−−=

−×

−−×× &

&

&136

2

111

6666

2

1 00.

As respectivas matrizes para o sistema linearizado são dadas por (2.22) para a matriz de

amortecimento linear D, por (2.37) para a matriz de forças de restituição G, por (2.44) para a matriz de

inércia do sistema M e por (2.45) para a matriz de transformação de entradas de controlo B:

rzzqyypxxwvu NIMIKIZmYmXmdiagM &&&&&& −−−−−−= ,,,,, .

(2.38)

(2.39)

(2.40)

(2.42)

(2.43)

(2.44)

(2.41)

Page 34: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

20

A matriz B é obtida da decomposição matricial do vector τ, já calculado, onde são separadas as

variáveis de controlo que constituem o vector u, ficando:

−−

=

00

0

00

100

000

001

MT

MDMD

MT

X

XZ

ZB .

Como simplificação pode-se considerar que o motor de cauda se encontra no plano XY do referencial

b, que corresponde a considerar na Figura 2.5 que zMT = 0. Esta simplificação, apesar de grosseira,

não possui grandes implicações no resultado final, uma vez que o Dirigível possui um ângulo de

rolamento naturalmente nulo e a actuação deste motor não é demasiado significativa quando

comparada com os motores dianteiros.

De notar ainda que as posições da aeronave no referencial f terão que ser calculadas a partir de ηp

usando a expressão (2.46), para apresentação da sua posição η ao operador humano,

permanecendo a realimentação do sistema de controlo baseado nas variáveis de estado (ηp,ν):

pP ηψη )(=

2.5 – Definição de Subsistemas

Observando o modelo obtido com mais atenção fica claro que este pode ser separado em dois

sistemas inteiramente desacoplados efectuando apenas algumas trocas nas linhas e nas colunas das

matrizes do modelo linearizado, tal como se apresenta nesta secção. Estamos por conseguinte na

presença de dois subsistemas independentes, um que descreve o comportamento do dirigível no

plano vertical (Subsistema XZ) e outro q modela o comportamento rotacional em torno do eixo dos zz

(Subsistema de Direcção).

Finalmente, pode ser observado que o acoplamento real entre estes dois subsistemas, presente no

sistema total não linear, é o resultado da estrutura inerente da matriz de coriolis. Mas tendo em conta

que o seu efeito a baixa velocidade é reduzido, C(ν) pode ser negligenciado mesmo no modelo não

linear, deixando-nos igualmente com os dois subsistemas desacoplados. Pode-se ainda incluir a

dinâmica total não linear dos efeitos gravíticos g(η) e da matriz de amortecimento D(ν), situação na

qual se iria incorrer em vários erros pois o acoplamento está presente no veículo, no entanto, este

acoplamento pode simplesmente ser considerado como uma perturbação externa, com a qual o

controlador terá que lidar.

(2.45)

(2.46)

Page 35: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

21

2.5.1 – Definição do Subsistema XZ

Neste caso, as variáveis de estado correspondentes são [ ]Τ= qwuzxx ,,,,, θ , sendo a

actuação exercida por [ ]Τ= ZXu , . De notar que X e Z são consideradas desacopladas por

simplificação, pois na realidade a magnitude destas duas forças dependem ambas da orientação α

dos actuadores de propulsão. Na realidade tem-se que as forças de propulsão são dadas por:

αα

sin

cos

MD

MD

FZ

FX

==

, 2MD

MDDMDE

FFF == .

O subsistema pode ser descrito pelo seguinte modelo de espaço de estados:

uBM

xDMGM

Ix

+

−−= −

×−−

××123

113333 00

& ,

onde as matrizes M, D e G são construídas pelos elementos já apresentados, correspondentes às

variáveis de estado definidas para o subsistema, tal como é representado em (2.49):

−−

−=

qyy

w

u

MI

Zm

Xm

M

&

&

&

00

00

00

−−

−=

q

w

u

D

D

D

D

00

00

00

−=

mgz

G

b00

000

000

.

A matriz B depende da localização dos motores propulsores no referencial b. As suas localizações

são assumidas como sendo simétricas em relação ao centro de gravidade da aeronave, resultando

na matriz expressa por:

−=

MDMD xz

B 1

0

0

1

.

(2.47)

(2.48)

(2.49)

(2.50)

Page 36: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

22

2.5.2 – Definição do Subsistema de Direcção

As variáveis de estado definidas para este subsistema são dadas por [ ]Τ= rpvyx ,,,,, ψφ ,

com actuação exercida apenas pelo motor traseiro MTFu = . O sistema é descrito pelo modelo de

espaço de estados da equação (2.51):

uBM

xDMGM

Ix

+

−−= −

×−−

××113

113333 00

& ,

onde as matrizes M, D e G são construídas pelos elementos já apresentados, correspondentes às

variáveis de estado escolhidas para o sistema, tal como se apresenta em (2.52).

−−

−=

rzz

pxx

v

NI

KI

Ym

M

&

&

&

00

00

00

−−

−=

r

p

v

D

D

D

D

00

00

00

−=000

00

000

mgzG b .

A matriz B depende da localização do motor traseiro no referencial b e é expressa por:

−=

MT

MT

X

ZB

0

.

(2.51)

(2.52)

(2.53)

Page 37: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

23

3 Identificação de Sistemas

3.1 – Definição da Função de Transferência G(s) Considere-se a expressão genérica do modelo em espaço de estados:

=+=

)()(

)()()(

tCxty

tbutAxtx&

Pela teoria em espaço de estados, tendo-se o sistema definido na forma (3.1) é possível obter-se a

função de transferência equivalente H(s) = Y(s) / U(s), para a variável de estado pretendida (dada

pela matriz C), através da aplicação da transformada de Laplace ao sistema, de onde resulta:

)det(

).(.)(

AsI

bAsIadjCsG

−−= ,

onde )(Madj e )det(M são a matriz adjunta e o determinante respectivamente, da matriz M

genérica.

Tal como foi entendido no Capítulo 2, o robô em estudo tem os movimentos de translação e de

rotação desacoplados3. Nesta fase de projecto, com o objectivo de procurar uma base teórica para a

definição dos controladores em estudo, procurou-se conhecer as funções de transferencia que regem

os respectivos movimentos do dirigível para depois se proceder à sua identificação no sistema real e,

com base neste conhecimento, fazer o estudo dos controladores em simulação.

Sabendo a definição de cada um dos vectores de estado Tpx ],[ νη= e as respectivas matrizes que

compõem cada um dos dois modelos em espaço de estados do dirigível, designadamente:

− «Subsistema XZ», com [ ]Τ= qwuzxx ,,,,, θ ;

− «Subsistema de Direcção», com [ ]Τ= rpvyx ,,,,, ψφ ,

falta apenas definir qual o vector C desejado para cada um dos casos, para que se apresentem as

funções de transferência em causa.

3 A aproximação é válida, bastando para tal observar as características da actuação do robô, onde a separação de movimentos acontece de forma visível.

(3.2)

(3.1)

Page 38: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

24

Definindo o vector C como:

[ ]Τ= 654321 ,,,,, ccccccC ,

e pretendendo-se conhecer para o movimento de translação do robô no plano XZ as suas posições

temporais x e z, obtém-se naturalmente:

Posição x na saída do modelo (2.48):

[ ]0,0,0,0,0,1=xC ;

Posição z na saída do modelo (2.48):

[ ]0,0,0,0,1,0=zC .

Para o movimento rotacional do robô, pretendendo-se conhecer a sua orientação temporal em torno

de z, obtém-se para o vector C do subsistema:

Posição ψ na saída do modelo (2.51):

[ ]0,0,0,1,0,0=ψC .

Sejam agora consideradas os modelos em espaço de estados de cada um dos subsistemas de um

dirigível não-holonómico do tipo do Passarola (Subsistema XZ – Parte X e Subsistema de Direcção,

respectivamente), obtidos na Secção 2.5 e escritos de uma forma genérica por:

+

=

Z

X

bb

b

b

q

w

u

z

x

aa

a

a

q

w

u

z

x

3,111,11

3,9

1,7

11,115,11

9,9

7,7

0

0

00

00

00

0000

00000

00000

100000

010000

001000

θθ

&

&

&

&

&

&

,

[ ]MTF

br

p

v

y

a

aa

a

r

p

v

y

+

=

2,1212,12

10,104,10

88

0

0

0

0

0

00000

0000

00000

100000

010000

001000

ψφ

ψφ

&

&

&

&

&

&

.

Obtenham-se, por conseguinte, as funções de transferência desejadas, para cada subsistema, nas

secções que se seguem.

(3.3)

(3.4)

(3.6)

(3.7)

(3.8)

(3.5)

Page 39: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

25

3.1.1 – Função de transferência do Subsistema XZ – Parte X

Escreva-se de uma forma genérica para o Subsistema XZ – parte X (Z=0), a matriz XZAsI − e o

vector bX, correspondente à anulação da força Z na matriz bXZ, para efeitos do cálculo da função de

transferência, relativa ao movimento linear rectilíneo uniformemente acelerado do dirigível, ao longo

do eixo dos xx:

−−−

−−

−−

=−

11,115,11

9,9

7,7

0000

00000

00000

10000

01000

00100

asa

as

as

s

s

s

AsI XZ,

[ ]Τ= 1,111,7 ,0,,0,0,0 bbbX .

Desenvolvendo a matriz adjunta de XZAsI − e multiplicando esta pelos vectores CX e bx, fica-se com:

1,711,119,92 ).)(().(. basassbAsIadjC XXZX −−=− .

Calculando agora o determinante da matriz XZAsI − temos por fim a função de transferência do

dirigível para a variável de estado x:

)())()((

).)((

)det(

).(.)(

7,7

1,7

11,119,97,73

1,711,119,92

ass

b

asasass

basass

AsI

bAsIadjCsG

XZ

XXZxX −

=−−−

−−=

−−

= .

3.1.2 – Função de transferência do Subsistema XZ – Parte Z

Escrevendo de uma forma genérica o vector bZ, correspondente a anulação da primeira coluna da

matriz bXZ do Sistema XZ, temos:

[ ]Τ= 3,113,9 ,,0,0,0,0 bbbZ .

Desenvolvendo a matriz adjunta de XZAsI − e multiplicando esta pelo vector CZ e bZ fica-se com:

3,911,117,72 ).)(().(. basassbAsIadjC ZXZz −−=− .

(3.9)

(3.10)

(3.11)

(3.12)

(3.13)

(3.14)

Page 40: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

26

Calculando o determinante da matriz XZAsI − , temos por fim, a função de transferência do dirigível,

para a variável de estado z:

)())()((

).)((

)det(

).(.)(

9,9

3,9

11,119,97,73

3,911,117,72

ass

b

asasass

basass

AsI

bAsIadjCsG

XZ

ZXZzZ −

=−−−

−−=

−−

= .

3.1.3 – Função de Transferência do Subsistema de Direcção

Escrevendo de uma forma genérica, para o Subsistema de Direcção, a matriz DAsI − e o vector bD,

para efeitos do cálculo da função de transferência, relativa ao movimento circular uniformemente

acelerado do dirigível, em torno do eixo dos zz, temos:

−−−

−−

−−

=−

12,12

10,104,10

8,8

00000

0000

00000

10000

01000

00100

as

asa

as

s

s

s

AsI D,

[ ]Τ= 2,12,0,0,0,0,0 bbD .

Desenvolvendo a matriz adjunta de DAsI − e multiplicando esta pelo vector Cψ e bψ fica-se com:

2,1210,108,82 ).)(().(. basassbAsIadjC D −−=− ψψ .

Calculando o determinante da matriz DAsI − temos por fim a função de transferência do dirigível

para a variável de estado ψ:

)())()((

).)((

)det(

).(.)(

12,12

2,12

12,1210,108,83

2,1210,108,82

ass

b

asasass

basass

AsI

bAsIadjCsG

D

DDD −

=−−−

−−=

−−

= ψ .

Note-se que as funções de transferência obtidas para os três graus de liberdade do dirigível sujeitos a

actuação são sistemas de segundo grau e são compostos por um integrador puro, isto é, possuem

um dos pólos em zero.

(3.15)

(3.16)

(3.17)

(3.18)

(3.19)

Page 41: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

27

3.2 – Determinação dos Parâmetros de GX(s) e GD(s)

3.2.1 – Determinação Manual

Para a determinação dos ganhos e dos pólos das funções de transferência que modelam o

comportamento do dirigível no plano XY, foram realizadas várias experiências de identificação no

dirigível Passarola, na sua forma de sistema final para controlo, ou seja, com o sistema autónomo

desenvolvido já a funcionar a bordo.

As experiências realizadas foram divididas nos dois subsistemas em estudo. Para tal, com o robô em

repouso, foi aplicado um escalão na respectiva entrada de cada subsistema correspondente a uma

variação brusca no valor do PWM de alimentação dos motores no instante t = 0s, de valor equivalente

a um escalão de força com amplitude aproximada a 2N, em ambos os casos, mas no sentido

negativo no caso do Subsistema de Direcção. Para cada caso, foi realizada a captura em vídeo da

respectiva resposta apresentada pelo robô (ver Anexo A), tendo-se analisado posteriormente os

dados recolhidos com vista à medição das sucessivas posições lineares e angulares do movimento

apresentado, obtendo-se por fim os dados, representados de forma esclarecedora nos gráficos da

Figura 3.1:

Figura 3.1 – Representação gráfica do comportamento do dirigível Passarola após aplicação de um escalão no

ciclo de trabalho (duty cycle) do sinal PWM (f = 48Hz) de estímulo dos actuadores:

a) Estimulo dos motores dianteiros com um sinal PWM com duty cycle = 7,0% + 1,0% (com α = 0);

b) Estimulo do motor traseiro com um sinal PWM com duty cycle = 7,3% + 1,7% (valor de repouso + escalão).

O sistema GZ(s) não será considerado neste trabalho, pois para efeitos deste projecto foi considerado

que o dirigível iria operar indiscriminadamente a uma altitude fixa, sem consequências para os

objectivos finais do controlo, pois o controlador deste sistema poderá ser implementado

posteriormente de forma independente. Esta opção foi tomada pelo facto de não existir nenhum

altímetro a bordo do dirigível, mas principalmente por não se conseguir efectuar essa medição por

incompatibilidade com as dimensões físicas do espaço de trabalho, nomeadamente a nível de altura

do pavilhão onde se executam as experiências com o Passarola.

a) b)

Posição X versus Tempo Posição ψ versus Tempo

Page 42: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

28

Conhecendo-se a resposta dos dois subsistemas do robô a um escalão prosseguiu-se com a

determinação dos parâmetros de GX(S) e GD(S) através do ajuste manual dos valores do ganho (b7,1

ou b12,2) e do pólo (a7,7 ou a12,12), com base na comparação visual entre as respostas dos sistemas

simulados em simulink e as respectivas respostas reais, numa tentativa de as tornar coincidentes. Por

fim, reduzido visualmente ao mínimo o erro entre as duas respostas, foram obtidas as funções de

transferência finais (3.20), com os valores dos ganhos e dos pólo sintetizados na Tabela 3.1. As

respectivas comparações entre as respostas dos sistemas reais e os modelos encontram-se

representadas na Figura 3.2.

))1.0((

075.0)(

−−=

sssGX

; ))3.0((

119.0)(

−−−=ss

sGD .

Tabela 3.1 – Valores dos parâmetros determinados para os subsistemas do robô Passarola.

Valor do ganho Valor do pólo b7,1 0.075 ---

Subsistema XZ – parte X variável de estado x a7,7 --- -0.1

b12,2 -0.119 --- Subsistema Direcção variável de estado ψψψψ

a12,12 --- -0.3

Figura 3.2 – Gráficos comparativos entre as respostas dos sistemas simulados e as respostas reais:

a) Subsistema XZ – Parte X

b) Subsistema de Direcção

Torna-se necessário esclarecer que as grandezas das leis de controlo devem ser traduzidas nas

grandezas eléctricas correspondentes, para o correcto funcionamento do controlo no sistema real.

Deste modo, para a realização das experiências de identificação já descritas, foi necessária a

conversão dos sinais de controlo em estudo, em unidades de força (Newton), para as unidades

eléctricas dos sinais PWM (Pulse Width Modulation) de alimentação dos motores. Assim, a partir de

[3], calculou-se qual a percentagem do ciclo de trabalho (duty cycle) do sinal PWM de cada actuador,

que produz a força de impulsão equivalente à força pretendida e programou-se o seu respectivo valor

no computador de bordo do Passarola, para a realização da identificação.

(3.20)

a) b)

Posição X versus Tempo Posição ψ versus Tempo

Resposta Real

Resposta Simulada

Resposta Real

Resposta Simulada

Page 43: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

29

O valor do escalão programado no DSP, que representa a aplicação de uma força de 2N nos

sistemas, no caso do Subsistema XZ – Parte X, tem o valor de 10 unidades e, no caso do

Subsistema de Direcção, tem o valor de 17 unidades. Estes valores representam uma modificação no

ciclo de trabalho do referido sinal PWM, usando a quantificação de tempo de impulso do sinal PWM

em permilagem do período do sinal, em vez da quantificação mais usual, dada em percentagem do

período do sinal, por razões de simplificação da programação do DSP, tal como é esclarecido em [4].

Este aspecto do sistema de controlo denuncia um novo factor a ser tido em conta na calibração dos

controladores, pois na verdade, para que a saída dos controladores esteja em concordância com a

entrada do sistema real, os seus parâmetros deverão ser determinados com base nesses mesmos

aspectos do sistema. Por conseguinte, é agora necessário realizar a conversão dos sistemas

determinados, para que possam receber o novo tipo de entrada desejada em vez dos sinais de força,

em Newtons. A conversão é facilmente realizada mediante a multiplicação do sinal de entrada dos

sistemas pelo factor de conversão respectivo – permilagem do duty cycle do sinal PWM para

Newtons, utilizando-se de igual forma os sistemas determinados em (3.15). O valor do factor de

conversão, correspondente a cada sistema, é obtido pela divisão do escalão, em Newtons, utilizado

na identificação, pelo respectivo valor do escalão em permilagem, tal como demonstrado nos

sistemas da Figura 3.3, obtendo-se as respectivas respostas representadas na Figura 3.4, que

ilustram correctamente as experiências de identificação realizadas.

Figura 3.3 – Diagrama de blocos simulink de teste dos sistemas simulados, em unidades eléctricas:

a) Subsistema XZ – Parte X: escalão de entrada = 10‰, conversor de entrada = 2/10 = 1/5 (N.s-1)

b) Subsistema de Direcção: escalão de entrada = 17‰, conversor de entrada = -2/17 = -1/8,5 (N.s-1)

Figura 3.4 – Respostas dos sistemas simulados, do robô Passarola, em unidades eléctricas:

a) Subsistema XZ – Parte X; b) Subsistema de Direcção

a) b)

a) b)

Posição linear versus Tempo Posição angular versus Tempo

Page 44: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

30

3.2.2 – Determinação com a toolbox Ident, do MatLab

Como garantia dos resultados da secção anterior utilizou-se ainda a toolbox Ident do Matlab para

realizar a identificação dos dois subsistemas em estudo e comparar os resultados obtidos com os

sistemas agora determinados. Para tal, forneceu-se ao Ident a respectiva resposta ao escalão de

cada subsistema (escalão de entrada de 2N e sinais de saída da Figura 3.1), amostrada à frequência

de amostragem do controlador determinada no Capítulo 6 – fa = 0.02s, realizando-se em seguida

vários testes de identificação paramétrica do conjunto entrada/saída fornecidos. O modelo utilizado

neste processo corresponde ao modelo paramétrico ARX, dado pelo sistema G(q):

)(

)(.)(

qA

qBqqG nk−= ;

onde A e B são polinómios, representados no operador de atraso -1q , dados por:

nanaqaqaqA −− +++= ......1)( 1

1 ,

1121 ......)( +−− +++= nb

nbqbqbbqB ,

onde na e nb representam a ordem dos respectivos polinómios e, nk é o valor do atraso da entrada

para a saída. Escrevendo o modelo na sua forma mais comum ficamos com:

)()()()()( tenktuqBtyqA +−= ,

onde e(t) é ruído branco.

Em conclusão, para cada um dos subsistemas, foi obtido um modelo paramétrico ARX com na=2,

nb=1 e nk=1, seguidamente traduzidos nas funções de transferência de segunda ordem

correspondentes, que confirmam os sistemas já determinados manualmente, conferindo maior

certeza à solução encontrada.

A função de transferência obtida para o Subsistema XZ – Parte X é dada por:

)09.0(

071.0

)0855.0)(003986.0(

)100(00070847.0)(

+≈

+++=

ssss

ssGX .

A função de transferência obtida para o Subsistema de Direcção é dada por:

)26.0(

109.0

)2616.0)(0001704.0(

)1.100(0010898.0)(

+−≈

+++−

=ssss

ssGD .

(3.21)

(3.22)

(3.23)

(3.24)

(3.25)

Page 45: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

31

Em seguida, encontram-se representados dois gráficos comparativos entre as respostas ao escalão

dos sistemas identificados e as respostas reais obtidas pelos sistemas originais. Tal como no sistema

real, o Subsistema XZ – Parte X foi sujeito a um escalão de 2N, enquanto que o Subsistema de

Direcção foi sujeito a um escalão de -2N (por questões de sentidos do respectivo referencial b). Aqui

é possível confirmar a precisão dos modelos identificados, com os modelos reais verificando-se que

estão ambos correctos.

Figura 3.5 – Comparação entre as respostas dos sistemas identificados e a resposta real, para os dois

subsistemas em estudo.

Posição linear versus Tempo Posição angular versus Tempo

Page 46: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

32

Page 47: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

33

4 Estudo do Controlador

4.1 – Esquema de Controlo do Robô

Analisando o sistema autónomo de controlo do dirigível Passarola, desenvolvido neste projecto em

conjunto com [4], é sabido que o sinal de actuação que dirige os motores/hélices do dirigível é

produzido pela unidade de processamento a bordo do dirigível, onde se encontra implementado o

controlador do sistema. De forma a encerrar a malha de controlo com a realimentação dos dados de

saída do sistema é também sabido que se utilizam os dados de uma câmara de vídeo, também ela a

bordo do dirigível, que capta a atitude deste em relação ao mundo. Através do correcto

processamento de imagem, realizado na unidade de processamento, é calculado o vector de erro do

sistema, actuando-se em seguida o controlador, para que este anule o vector de erro pelos seus

próprios meios. Desta forma se permite que o dirigível possa percorrer uma trajectória de seguimento,

de um veículo ou de linhas marcadas no solo, usando os seus próprios “olhos”, pensando com o seu

“cérebro” e agindo com os seus “membros”.

Teoricamente, pode se afirmar que o esquema de controlo implementado tem a forma da Figura 4.1:

Figura 4.1 – Esquema teórico de controlo do dirigível Passarola.

onde C(s) é o controlador, G(s) é o sistema a controlar e H(s) é o sensor do sistema – câmara de

vídeo. Sendo o controlo do dirigível efectuado através da imagem da câmara, o objectivo aqui

proposto é detectar a posição do objecto de seguimento na imagem de vídeo e com essa informação

indicar ao controlador qual o erro de posição em pixels, no referencial da imagem, entre a referência r

e o centro de massa, ou ponto de contorno do objecto (ver Secção 6.3.1). Por conseguinte, obriga-se

aqui a que o dirigível acompanhe o movimento do objecto ou a linha enquanto procura posicionar a

localização medida do objecto em seguimento sobre a referencia r, isto é, tenta reduzir o erro na

imagem para zero (ver Secção 4.3.1 e Secção 4.4.1). A entrada p é uma perturbação no sistema de

controlo do robô e simula a mudança de atitude do objecto de seguimento em relação ao mundo,

Page 48: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

34

provocando uma deslocação extraordinária na posição do objecto na imagem de vídeo do robô, que o

controlador deverá compensar.

O movimento do robô Passarola é descrito por três subsistemas, já analisados no Capítulo 3. Pelas

razões já apresentadas e agora reforçadas pela compreensão do sistema de controlo do dirigível, não

será estudado o Subsistema XZ – Parte Z neste projecto, restringindo-nos apenas ao controlo do

dirigível no plano paralelo ao solo. Os dois subsistemas resultantes (Subsistema XZ – Parte X e

Subsistema de Direcção) são independentes entre si, assumindo o desacoplamento entre sistemas

considerado no Capítulo 2, e são os responsáveis pela descrição do movimento não-holonómico do

dirigível. Deste modo, para a realização do seu controlo através da imagem do solo, foi considerada a

estratégia de associar a cada um dos dois subsistemas em análise, o grau de liberdade da imagem

mais conveniente para a sua representação. Assim, ao Subsistema XZ – Parte X apenas diz respeito

as alterações no eixo dos xx da imagem, isto é, o erro de posição da trajectória em x, e ao

Subsistema de Direcção, interessa todo o restante espaço da imagem, ou seja, o erro de orientação

da trajectória e a sua distância no eixo dos yy. Daqui se pode concluir que deverão ser dois, os

sistemas de controlo do tipo do sistema representado na Figura 4.1, cada um com o seu controlador,

coexistindo e operando de forma independente.

4.2 – Definição do Controlador

Deriva-se de seguida a lei de controlo que permite ao dirigível seguir uma trajectória, proveniente das

linhas captadas do chão, ou de uma trajectória resultante do movimento do robô ATRVJr. Assuma-se

a dinâmica do dirigível dada por:

unM =+ ),()( ηηηη &&& ,

com ],[ Ω= Vη& e ],[ Ω= &&&& Vη , e seja a lei de controlo (Inverse Dynamics Control) dada por:

),()( ηηη &nyMu += ,

então conclui-se que:

y=η&& .

Escolhendo

rKKy dp +−−= ηη & ,

onde, KP e KD são as matrizes de ganhos do controlador PD e r é a referencia. De (4.3) e (4.4) vem:

rKK PD =++ ηηη &&& .

Se a referencia r for dada por:

(4.3)

(4.2)

(4.1)

(4.4)

(4.5)

Page 49: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

35

dPdDd KKr ηηη ++= &&& ,

ficamos com:

0~~~ =++ ηηη PD KK &&& .

Tendo em conta (4.3), pode-se por fim, escrever a equação final de controlo (4.8):

),()~~( ηηηηη &&&& nKKKMu dDP +++= ,

onde ηηη −= D~ , uma vez que o controlo do dirigível é alimentado por processamento de imagem,

vindo da câmara de vídeo de bordo (image servoing) e a matriz K representa a conversão de

unidades de força para os sinais eléctricos digitais de controlo dos actuadores do robô.

A estabilidade do controlador é necessária para o seu bom funcionamento e será garantida se KD e

KP forem escolhidos tal que os seus pólos estejam no Semi-plano Complexo Esquerdo (SPCE). Para

a aplicação da lei de controlo é necessário conhecer os valores de dη&& , dη& e dη , e medir em tempo

real o vector η e η& .

O inconveniente de utilização da lei de controlo, tal como é apresentada, prende-se com a dificuldade

em conhecer a referência dη&& e em determinar com precisão os parâmetros não lineares reais da

equação da dinâmica ),( ηη &n . Desta forma se se assumir apenas que:

yMu )(η= ,

em vez da expressão (4.7) ficamos com:

dPD KK ηυηηη &&&&& −−=++−~~ ,

onde ),(1 ηηυ &nM −= . Considerando agora que υ e dη&& são perturbações do sistema, com as quais

o controlador tem que conviver e deverá corrigir, surge a equação reduzida do controlador, na forma

matricial reduzida:

)~~( 16661666666313 xxDxxPxxx KKMku ηη &+= ,

computacionalmente mais leve para implementação em hardware e de determinação mais simples,

embora se tenha aumentado a dificuldade em encontrar um controlador robusto às perturbações

relativas ao sistema real. A solução para determinar o melhor controlador, passa por determinar as

matrizes de ganho KP e KD, com maior cuidado, tal como é descrito na Secção 4.3.3 e na Secção

4.4.3. Estas matrizes de ganhos podem ser matrizes diagonais, pesando apenas o valor da variável

de controlo em causa, ou ainda, ter em conta o valor de outras variáveis de estado para o controlo da

variável de estado em questão. Em resumo, pode constatar-se para este controlador que η

(4.6)

(4.7)

(4.8)

(4.11)

(4.10)

(4.9)

Page 50: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

36

corresponde à variável de controlo do sistema, η~ é a variável controlada na imagem da câmara e

Dη é a referência de seguimento, definida em pixels na referida imagem da câmara.

4.2.1 – Controlador PD digital

O controlador PD digital pensado para o controlo do dirigível Passarola foi inicialmente obtido a partir

da função de transferência )()()( sEsUsC = do controlador PD, resultante da transformada de

Laplace da lei de controlo no domínio do tempo, originando:

( )sKKsC DP .)( += .

No entanto, uma derivada pura não pode, por questões de causalidade, nem deve, por questões de

amplificação do ruído, ser implementada. Portanto, aproximou-se o termo D da expressão à função

de transferência (4.13) que, ao acrescentar um termo passa-baixo adicional, introduz um pólo

ajustável no bloco derivativo, tornando o controlador mais realista (números de pólos igual ao número

de zeros):

NsK

sKsK

D

DD +

≈1

,

Esta função aproxima bem a derivada a baixas frequências mas limita o ganho a N nas altas-

frequências. Os valores típicos de N estão no intervalo [3, 20], de acordo com [16].

Daqui resulta a função de transferência C(s) final:

)(

)(..)(...

1)(

c

cc

D

DPD

D

D

DPD

D

DP ps

zsK

K

Ns

KKNK

NKs

K

KKNKsC

N

sKsK

KsC++

=

+

++

+=⇔⇔+

+= .

Realizando a discretização de C(s) pelo método de Tustin e, colocando C(z) na forma de equação de

diferenças, recorrendo à transformada inversa de Z, obteve-se a expressão da saída do controlador

em tempo discreto kh, em que h é o período de amostragem:

)(..)(.)(.)( hkhezKkheKhkhypkhy cccc −′′−′+−′= ,

a qual se implementou e testou no sistema de simulação, com o modelo USARSim do Passarola.

Durante a afinação dos parâmetros da equação no sistema de simulação, foi verificado que este

controlador mantinha um elevado erro do ganho estático, em ambos os sistemas do dirigível,

revelando um desempenho insatisfatório durante o seguimento de trajectórias. Este comportamento

está directamente relacionado com o facto do sistema de controlo ser do tipo 1, pois apenas possui

(4.12)

(4.13)

(4.14)

(4.15)

Page 51: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

37

um pólo na origem, em malha aberta, tendo um erro estático constante para referências em

velocidade. Por este facto procurou-se ainda testar modelos alternativos do PD, ou ainda

reconsiderar um PID para eliminação do referido erro. Por conseguinte, encontrou-se uma solução

mais eficiente para o controlador, num modelo alternativo do controlador PD, alcançado a partir de

um controlador PID digital retirado de [17]. Este modelo, deduzido por emulação do seu equivalente

continuo, tem algumas melhorias a nível de aspectos práticos, tais como a separação do termo

derivativo do sinal de erro, para evitar picos na actuação devido a variações bruscas da referência e

redução da contribuição da referência no termo proporcional, de onde surge a nova função de

transferência:

+++−= )(

1)(

1)()()( sY

NsT

sTsE

sTsYsbUKsU

D

D

ic ,

com )()()( sYsUsE c −= , onde )(sU c é a referência e )(sY é a saída, K é o ganho proporcional,

iT é o tempo de integração e dT é o tempo derivativo.

O controlador PID discreto é obtido utilizando uma regra ad-hoc em que os termos proporcionais,

integrais e derivativos são obtidos de forma simples e independente, pelas equações:

Proporcional: ))()(()( khykhbuKkhP c −=

Integral: )()()( hkheT

KhhkhIkhI

i

−+−=

Derivativo: ( ))()()()( hkhykhyNhT

NKThkhD

NhT

TkhD

d

d

d

d −−+

−−+

=

Adoptando a equação do termo proporcional e do termo derivativo é possível construir o diagrama de

bloco simulink do controlador PD, utilizado para o controlo do dirigível Passarola, e afinar os seus

parâmetros por meio da construção de sistemas de controlo teóricos do robô (ver Secções 4.3.3 e

4.4.3) – Figura 4.2:

Figura 4.2 – Diagrama de blocos do controlador PD obtido para o controlo do dirigível Passarola.

P

D

(4.16)

(4.17)

Page 52: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

38

4.3 – Controlo 1: Seguimento do ATRVJr

Pretende-se agora, apresentar a investigação desenvolvida no controlo do dirigível Passarola para o

seguimento do robô terrestre de direcção diferencial (diferencial drive) ATRVJr, no âmbito do projecto

RESCUE [30].

4.3.1 – Definição do Erro

A imagem captada pela câmara de vídeo do Passarola, único sensor a bordo, encerra a malha de

controlo do presente sistema. Defina-se a resolução desta imagem como sendo yx nPixelsnPixels × .

Tomando o centro da imagem )0,0(),( =yx CC como a referência ),( imgd

imgd

img yxr = do sistema, e

como sua saída ),( imgimgimg yxo = a posição em pixels do centro de massa ),( yx CMCM da mancha

vermelha (robô ATRVJr), detectada em cada imagem no sistema de coordenadas do dirigível b,

então teremos um vector de erro:

)~,~( imgimg yxE = ,

diferente de zero sempre que o centro de massa do ATRVJr ( imgo ) não se encontre no centro da

imagem ( imgr ), com imgimgd

img xxx −=~ e imgimgd

img yyy −=~ (Figura 4.3).

Figura 4.3 – Exemplo do processamento de imagem realizado no controlo do seguimento do ATRVJr:

a) Imagem original obtida no simulador USARSim;

b) Imagem processada com representação dos vectores de erro do seguimento (vector a verde e vector a azul).

Inicialmente, como primeira abordagem para o controlo do sistema, assumiu-se directamente que a

magnitude desse vector seria o valor do erro para o Subsistema XZ – Parte X, e que o ângulo

formado entre o eixo dos xx (eixo vertical da imagem) e o vector de erro E, seria o valor de erro do

Subsistema de Direcção. Mas, rapidamente se compreendeu que estes erros não funcionavam

correctamente pois o sistema revelou-se instável.

Entendeu-se então que, para o Subsistema XZ – Parte X, o erro teria que ser dado por imgx~ (vector

de cor verde na Figura 4.3 b), pois é apenas sobre o eixo dos xx que este subsistema exerce

actuação, não existindo razão para considerar aqui a dimensão y do vector de erro:

(4.18)

a) b)

Page 53: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

39

imgimgimgimgd

img xxxxx −=−=−= 0~ , [ ]2;2 xx nPixelsnPixels−∈ .

Também para o Subsistema de Direcção foi necessário modificar o cálculo do erro, uma vez que

junto à referência, tal como o erro é dado, não é possível estabilizar o sistema pois a referencia é um

ponto de sela4. Para a resolução deste problema e aperfeiçoamento do sistema de controlo, concluiu-

se que seria útil avaliar aqui dois tipos de erro distintos. Por um lado, foi novamente escolhido o erro

de orientação do dirigível em relação ao robô terrestre imgψ~ , através do cálculo do ângulo formado

entre o eixo dos xx e o vector de erro, sendo agora considerado um novo vector de erro Eψ. Este

vector passa agora a ter origem vários pixels abaixo da referência (vector de cor azul na Figura 4.3

b), transformando assim a referência num ponto estável para o sistema:

ψψ EPIimg −= 2~ , [ ]PIPI ;−∈ .

Por outro lado, revelou-se importante, a introdução do termo do erro que indica a distância a que o

objecto se encontra da referência, no eixo dos yy – imgy~ , para complementar a informação do

controlador e auxiliar este na decisão da rapidez de resposta, em cada situação:

imgimgimgimgd

img yyyyy −=−=−= 0~ , [ ]2;2 yy nPixelsnPixels−∈ .

Desta forma o dirigível irá virar suavemente quando o ATRVJr estiver, perto da referência ( imgr ) e

com Eψ reduzido, e será mais rápido a virar quando o ATRVJr estiver longe da referência e com Eψ

perto de ±PI/2.

4.3.2 – Aplicação da Lei de Controlo

Com base na lei de controlo (4.11) e tendo em consideração a Secção 4.3.1, é possível escrever:

+

=

ψθφ

ψθφ

&

&

&

&

&

&

~

~

~~

~

~

0000

000000

000000

00000

000000

00000

~

~

~~

~

~

0000

000000

000000

00000

000000

00000

6622

33

11

6662

33

11

6663

z

y

x

KK

K

K

z

y

x

KK

K

K

MK

Z

F

X

DD

D

D

PP

P

P

xxMT

,

onde foi omitindo o índice superior “img” nas variáveis de estado, relativo à conversão da lei de

controlo para o referencial da câmara, por questões de simplificação da notação. Conhecendo a

matriz de inércia do sistema M e sabendo que K é a matriz dada pelo sistema real:

4 Devido a uma pequena oscilação na posição dos robôs o erro de orientação do dirigível pode passar de 0 a ±180º, o que impede a aeronave de estabilizar em posição angular sobre a referência.

(4.20)

(4.19)

(4.22)

(4.21)

Page 54: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

40

+

+

+

=

ψψ &&

&

&

~~0

0

~0

~

~~0

0

~0

~

00000

00000

00000

00000

00000

00000

00000

00000

00000

6662

33

11

6662

33

11

33

26

11

DD

D

D

PP

P

P

zz

yy

xxMT

KyK

zK

xK

KyK

zK

xK

I

I

I

m

m

m

K

K

K

Z

F

X,

alcançam-se as expressões finais para o controlo do sistema:

( )( )

( )

+=+++=

+=

zKzKmKZ

KyKKyKIKF

xKxKmKX

DP

DDPPzzMT

DP

&

&&

&

~~

~~~~

~~

333333

6662666266

111111

ψψ .

Tendo-se já abordado e esclarecido o esquema de controlo em análise, e sendo já conhecidas as

equações dos controladores, falta agora ajustar os seus parâmetros para que se possa validar o

método de controlo estudado, em simulação.

4.3.3 – Ajuste dos Parâmetros dos Controladores

De modo a afinar os parâmetros correspondentes a cada um dos controladores em análise foi

desenhado em simulink um sistema de controlo, para cada subsistema do robô, que tenta simular o

sistema real envolvido no controlo do dirigível, na sua situação mais crítica (Figura 4.4). Este sistema

é baseado na captura e processamento da imagem, sobre a qual é realizado todo o estudo do

comportamento do dirigível Passarola.

Uma forma de realizar o ajuste dos parâmetros de cada um dos controladores PD seria com base no

estudo do root-locus do sistema em malha fechada, através da toolbox sisotool da ferramenta de

software Matlab, obtendo-se assim uma primeira aproximação dos valores de controlo desejados.

Mas, uma vez que o sistema real de controlo, sendo um pouco mais complexo que as malhas de

controlo mais gerais, já não permite a utilização desta ferramenta, optou-se por realizar a afinação

manual iterativa dos parâmetros K, Td e N dos controladores PD ad-hoc, pela visualização da

resposta ao escalão do sistema em malha fechada, com base no conhecimento dos pólos do sistema.

Esta calibração manual foi realizada nos sistemas teóricos simulink referidos, com base no princípio

do pior caso para que o controlador responda com a maior rapidez possível, mas de uma forma

suave. Isto é, quando o objecto a seguir se encontra na eminência de desaparecer do raio de visão

do dirigível (extremidades da imagem de vídeo), o controlador deverá permitir que os actuadores

respondam com as suas capacidades máximas, para que o robô volte a capturar o seu objecto de

seguimento rapidamente, produzindo no entanto movimentos suaves.

(4.23)

(4.24)

Page 55: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

41

Sistema de controlo do Subsistema XZ – Parte X

No caso do Subsistema XZ – Parte X, com o sistema dirigível + ATRVJr em repouso, foi aplicada uma

perturbação na sua saída, através da aplicação de um escalão de 3m, correspondente a um salto da

posição do ATRVJr do centro para o topo da imagem. Desta forma, o sistema deixa de estar estável,

com um valor de erro igual a zero (por se encontrar posicionado na referência) para passar a ter um

erro imprevisto no eixo dos xx. Para a escolha do valor do escalão foi considerado que o dirigível se

encontrava a baixa altitude, de forma a simular o ambiente experimental real do Passarola,

assumindo-se o valor de 6m para o valor do alcance do campo de visão da câmara de vídeo. Assim,

para a geração do erro máximo admitido para o sistema XZ – Parte X, foi escolhido para o valor do

escalão o valor da distância que simula a deslocação brusca do ATRVJr do centro da imagem para a

sua extremidade superior, correspondente a metade do alcance do campo de visão (3m), efectuando-

se a conversão de metros para pixels através do ganho Kx5. Perante a reprodução desta situação no

presente sistema Simulink (Figura 4.4), restou ajustar-se iterativamente os parâmetros deste

controlador, com vista à reposição imediata da estabilidade do dirigível em torno da referência,

obtendo-se a resposta representada no gráfico da Figura 4.5.

Figura 4.4 – Diagrama de blocos do Subsistema XZ – Parte X, desenhado em simulink.

No modelo Simulink do controlo deste subsistema foi incluído um bloco de saturação do sinal que

simula a saturação física real dos actuadores do dirigível, limitando o sinal de controlo no intervalo

[-16; 16]‰. Uma outra restrição imposta pelos actuadores é o facto de só aceitarem variações

mínimas de 1‰ no ciclo de trabalho do seu sinal PWM de alimentação, simulando-se essa limitação

no sistema através da inclusão de um bloco quantizador com níveis de 1 unidade no sinal de

comando. O valor de conversão Kx de metros para pixels, que simula a imagem da câmara, tem o

valor multiplicativo de 40 pixels/m, tendo em conta que o campo de visão (FOV) da câmara, durante

os testes com o robô real, possuía um alcance de 6m, e a imagem processada é devolvida com uma

dimensão segundo x de 288pixels.

5 Assume-se, por simplificação de implementação e computação, que a imagem obtida pela câmara está calibrada, sendo linear a relação entre os pixels da imagem e as distâncias correspondentes, no mundo real. Na prática, não é importante que se conheça com precisão a posição do objecto de seguimento no mundo, uma vez que, neste projecto não será utilizada homografia. A calibração da posição e orientação do referencial da câmara em relação ao referencial do dirigível também é desprezada, assumindo-se que a câmara se encontra alinhada verticalmente com o centro de gravidade do dirigível e o plano de imagem é paralelo ao plano do solo, orientado horizontalmente com os eixos x e y do dirigível.

k=1/5

Page 56: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

42

Figura 4.5 – Gráficos das respostas da simulação do sistema da Figura 4.4.

Afinado manualmente o controlo do Subsistema através de um processo iterativo de ajuste e

visualização dos sinais de controlo, os valores dos parâmetros obtidos para este controlador PD são

os valores representados na Tabela 4.1:

Tabela 4.1 – Valores dos parâmetros do controlador do Subsistema XZ – Parte X.

K Td N B h

Controlador PD_X 0.1 4 10 1 0.02

Sistema de controlo do Subsistema de Direcção

No caso do controlo do Subsistema de Direcção, com o sistema em repouso na posição zero (relativo

ao ATRVJr em repouso no centro da imagem), foi aplicada uma perturbação na saída do sistema, do

tipo escalão, com o valor -1,5rad, significando uma variação da posição do ATRVJr, do centro da

imagem para o seu lado esquerdo (Figura 4.6). Tendo em atenção que neste sistema, assim

apresentado, não está envolvida nenhuma distância, é clara a independência da localização do

ATRVJr ao longo do eixo dos yy, na imagem. Este é o motivo pelo qual foi conjugada a acção de dois

controladores para este sistema: controlo em ângulo + controlo em distância lateral, pois é esperado

do dirigível, no seguimento de um corpo, que possua um atitude adequada perante a situação de

estar longe da referencia ou perto da mesma, embora com igual ângulo de desvio. Desta forma,

sabendo que a situação critica para este sistema acontece quando o objecto de seguimento se

encontra num extremo lateral da imagem, foi imposto no presente sistema que a perturbação aplicada

corresponderia a essa situação.

Para o ajuste dos parâmetros dos controladores foi testada individualmente cada uma das malhas de

controlo e afinados iterativamente cada um dos parâmetros dos controladores PD, com base na

evolução da resposta do sistema, com o entendimento de que cada controlador deve ter uma

importância relativa para o controlo global do subsistema. O sistema desenvolvido em Simulink para a

Output Output 1

Page 57: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

43

simulação do subsistema encontra-se representado na Figura 4.6, estando a sua resposta final,

obtida após afinação do controlador PD, representada na Figura 4.7.

Figura 4.6 – Diagrama de blocos do Subsistema de Direcção, desenhado em simulink.

Figura 4.7 – Gráficos das respostas da simulação do sistema da Figura 4.6.

No sistema de controlo da Figura 4.6 é possível encontrar duas malhas de controlo, correspondentes

ao controlo de cada uma das variáveis de estado em análise. É repetida a utilização dos blocos de

saturação e o bloco de quantização pelas mesmas razões que são utilizados no sistema da Figura

4.4 e é utilizado como conversor rad para pixels Ky o valor 350, que representa metade do valor dos

pixels da imagem segundo y, como é referido em [4]. Afinado o controlo deste Subsistema, os valores

dos parâmetros obtidos para os controladores PD são os valores representados na Tabela 4.2:

Tabela 4.2 – Valores dos parâmetros dos controladores do Subsistema de Direcção.

K Td N b H

Controlador PD_Yaw 3 3 10 1 0.02

Controlador PD_Y 0.02 3 10 1 0.02

Output Output 1

Page 58: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

44

4.4 – Controlo 2: Seguimento de Linhas

Pretende-se agora, apresentar a investigação realizada no controlo do dirigível Passarola no

seguimento de trajectórias marcadas no solo através de linhas.

4.4.1 – Definição do Erro

Utilizando o «algoritmo de Sobel» para obtenção de uma imagem de contornos e aplicado um

segundo algoritmo para detecção de rectas – «algoritmo de Hough», foi possível indicar ao

controlador qual a atitude do dirigível em relação à trajectória, fornecendo a posição e orientação que

o dirigível deve seguir.

Para o correcto reconhecimento da linha que se deseja seguir, elaborou-se uma estratégia de

seguimento que filtra apenas as rectas de interesse na imagem, seleccionando como saída do

sistema apenas a recta do conjunto que tem menor erro em relação ao eixo vertical (eixo dos xx),

tendo ainda em consideração a saída do sistema na iteração anterior. Essa estratégia é baseada no

cruzamento de cada uma das rectas detectadas na imagem com uma semicircunferência de raio R,

situada no hemisfério superior da imagem, com centro no centro da imagem, onde a

semicircunferência examinada significa o raio de busca de trajectórias para seguimento. Desta forma,

obtidas as rectas no raio de alcance, é escolhida para linha de seguimento a linha cujo ponto de

intersecção com o raio de busca se encontre mais próximo da vertical da imagem, isto é, esteja mais

próxima do alinhamento com a direcção de deslocação do dirigível (Figura 4.8).

Figura 4.8 – Exemplo do processamento de imagem realizado no controlo do seguimento de linhas:

a) Imagem original obtida no simulador USARSim;

b) Imagem processada: a vermelho – o vector de erro de orientação; a azul – o raio de busca de trajectórias.

Finalmente, para essa linha é calculado o erro de orientação imgψ~ entre o vector de erro ψE , que

une o centro da circunferência ao ponto de intersecção da linha escolhida, e o eixo vertical (eixo dos

xx), de onde resulta:

ψψ EPIimg −= 2/~ , [ ]2;2 PIPI−∈ . (4.25)

a) b)

Page 59: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

45

Em relação à velocidade de deslocação do dirigível, optou-se por se estabelecer uma velocidade

constante de valor intermédio, uma vez que neste estudo não existe um objectivo temporal manifesto

a cumprir durante o seguimento da trajectória. De modo a praticar no dirigível o controlo da

velocidade de seguimento, foi instituída uma relação simétrica entre o módulo do erro de orientação

| imgψ~ | e a velocidade de deslocação do mesmo, fazendo com que o robô abrande em situações de

desorientação na trajectória, nomeadamente em curvas.

4.4.2 – Aplicação da Lei de Controlo

Com base na lei de controlo (4.11) e tendo em consideração a Secção 4.4.1, é possível escrever:

+

=

ψθφ

ψθφ

&

&

&

&

&

&

~

~

~~

~

~

00000

000000

000000

00000

000000

000000

~

~

~~

~

~

00000

000000

000000

00000

000000

00000

66

33

66

33

16

6663

z

y

x

K

Kz

y

x

K

K

K

MK

Z

F

X

D

D

P

P

P

xxMT

,

onde foi omitindo o índice superior “img” nas variáveis de estado, relativo à conversão da lei de

controlo para o referencial da câmara do dirigível, por questões de simplificação da notação.

Conhecendo a matriz de inércia do sistema M, e sabendo que K é a matriz dada pelo sistema real:

+

=

ψψ

ψ

&

&

~0

0

~0

0

~0

0

~0

~

00000

00000

00000

00000

00000

00000

00000

00000

00000

66

33

62

33

16

33

26

11

D

D

P

P

P

zz

yy

xxMT

K

zK

K

zK

K

I

I

I

m

m

m

K

K

K

Z

F

X,

alcançam-se as expressões finais para o controlo do sistema:

( )( )

( )

+=+=

=

zKzKmKZ

KKIKF

KmKX

DP

DPzzMT

P

&

&

~~

~~

~

333333

666666

1611

ψψψ

Note-se que a equação de controlo do Subsistema XZ – Parte X, é um controlador simples do tipo

Proporcional, cuja retroacção é a variável de estado ψ, pois para este sistema de controlo apenas se

(4.27)

(4.28)

(4.26)

Page 60: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

46

pretende realizar uma redução sustentada da velocidade em função do erro de orientação, não se

exigindo o seguimento de uma referencia de posição linear imgdx durante a trajectória.

Uma vez modificado o modelo de controlo anteriormente adoptado para este subsistema, da forma

agora descrita, pode então reescrever-se a equação de controlo X de forma mais esclarecedora

conforme:

( )ψ~16111 Pcte KmKXX −= ,

onde cteX1 é uma força constante, de valor intermédio, que permite ao robô deslocar-se ao longo da

trajectória. Como 11K e m são constantes do sistema, a sua influência para o controlo pode ser

representada parcial ou totalmente pelo ganho do controlador P, pelo que não é fundamental que se

conheçam aqui os seus valores reais.

Conhecidas as equações dos controladores assim como os esquemas de controlo a implementar,

falta apenas ajustar os parâmetros dos controladores e validar os métodos de controlo estudado para

o dirigível Passarola, no simulador USARSim, com base no hardware de controlo real, e realizar por

último, após correcta implementação do sistema autónomo, o teste final no robô real.

4.4.3 – Ajuste de Parâmetros dos Controladores

Para este sistema de controlo, o ajuste dos parâmetros dos controladores de ambos os subsistemas

foi efectuado manualmente, de forma iterativa, com o modelo USARSim do Passarola, uma vez que o

modelo de controlo adoptado é simples e permite realizar o ajuste no simulador de uma forma

metódica.

Os parâmetros dos controladores digitais PD ajustados para este sistema de controlo são agora

apresentados na Tabela 4.3.

Tabela 4.3 – Valores dos parâmetros do controlador do Subsistema XZ – Parte X e do Subsistema de Direcção

K Td N b H

Controlador P_X 3 -- -- -- --

Controlador PD_Yaw 2 1,5 10 1 0.02

(4.29)

Page 61: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

47

5 Simulação Teórica, em Matlab

5.1 – Ensaio Teórico do Controlo, em Simulink (Matlab)

Realizada a correcção do modelo da dinâmica do dirigível e reutilizando o simulador construído no

âmbito de [3], foi possível desenvolver e testar teoricamente o controlo do dirigível Passarola, em

Matlab, no seguimento de uma trajectória descrita pelo robô ATRVJr, tendo sido incluída a cinemática

dos actuadores e a sua função não-linear real, de modo a permitir uma maior proximidade com o

sistema real.

A intenção da criação deste simulador passou também pela vontade de construção de uma

plataforma simples e prática que estimule a progressão na investigação e desenvolvimento do

controlo de robôs do tipo dirigíveis, para sua posterior integração em equipas robóticas de busca e

salvamento [30].

Após a determinação teórica simplificada dos valores das matrizes A e b do modelo em espaço de

estados (2.43), realizada no Capítulo 2, tornou-se possível a obtenção da descrição do movimento

geral de um dirigível do tipo do dirigível Passarola, depois de ter sido aplicada uma determinada força

no sistema. Sabe-se no entanto que, o comportamento descrito por estas matrizes pode não

corresponder fielmente ao comportamento do dirigível Passarola, por não se conhecer com clareza

os vários elementos das matrizes da dinâmica envolvidas no cálculo do modelo. Mas, tendo aqui em

consideração a identificação de subsistemas já realizada no dirigível Passarola, apresentada no

Capítulo 3, é ainda possível realizar um ajuste em alguns dos valores mais importantes das matrizes

A e b deste modelo, proporcionando até mesmo, a desejada aproximação do modelo teórico ao

modelo real. Sejam então relembrados os valores da Tabela 3.1, obtida para os subsistemas do robô

Passarola:

Tabela 5.1 – Valores experimentais de alguns dos coeficientes das matrizes do modelo da dinâmica (2.43).

A7,7 -0.1

A12,12 -0.3

b7,1 0.075

b12,2 0.119

Tendo em conta a dedução teórica realizada para estes parâmetros, no Capítulo 2, é evidente a

identificação destes valores com os valores dos respectivos parâmetros das matrizes A e b. Deste

modo, assumem-se estes valores experimentais como sendo os valores reais dos coeficientes das

Page 62: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

48

matrizes do modelo da dinâmica do Passarola (2.43), implementando-se este modelo no simulador

simulink através do bloco azul representado no diagrama de blocos da Figura 5.1.

Perante esta situação favorável e para que fique registado, pode-se ainda ajustar de forma oportuna

alguns dos valores das matrizes da dinâmica do dirigível, nomeadamente da matriz de amortecimento

aerodinâmico linear D e da matriz de inércia do sistema M, tendo para tal, o conhecimento das

expressões que originam os elementos da matriz A e b do modelo, dados por (2.43). O cálculo dos

coeficientes das matrizes e os respectivos resultados são apresentados no Anexo A.

Para desencadear o funcionamento deste simulador, em cada instante de tempo é gerada uma

referência tridimensional de posição (x,y,z) para seguimento, com base num controlador do tipo SBC

(Separation- Bearing Control), desenvolvido em [3], que estabelece regras de formação entre robôs,

levando o robô seguidor (dado pelo modelo cinemático do dirigível) a cumprir durante o seguimento,

as especificações de distância e orientação em relação ao robô líder (dado pelo modelo cinemático

do ATRVJr). A trajectória desejada, dada pelo bloco vermelho «gerador de referencia 3D» do

simulador (Figura 5.1), é descrita no referencial do mundo f, e como tal, a saída do sistema de

controlo também deverá ser dada no referencial f para que se possa efectuar o cálculo correcto do

erro de realimentação e ainda para fácil compreensão dos resultados da simulação, por parte do

utilizador. Estando o modelo da dinâmica do Passarola descrito no sistema de coordenadas paralelo

ao veículo, apresentado no Capítulo 2, a conversão da variável de estado ηp para o referencial do

mundo f é realizada com base na integração do vector η& dado por (2.30). A implementação desta

transformação de referenciais no sistema desenvolvido é representada pelo bloco amarelo R(yaw). O

controlador do modelo do robô, por sua vez realizado no sistema de coordenadas paralelo do veículo,

impõe novamente a reconversão do vector de erro η~ para o vector de erro pη&~ , dada pela expressão

(2.32), implementada na malha de controlo do sistema pelo bloco amarelo R’(yaw).

Finalizada a construção em Simulink do sistema de controlo, passou-se ao ensaio do controlo do

modelo teórico do dirigível Passarola, realizando a afinação manual dos parâmetros dos

controladores PD (blocos a verde), com base no comportamento do sinal de saída e do sinal de erro,

para cada uma das malhas de controlo de seguimento.

Seja agora comprovada a lei de controlo apresentada na Secção 4.2 com base nos resultados agora

apresentados, para a resposta do sistema a um escalão e para o seguimento de uma trajectória do

ATRVJr em forma de oito, onde se conclui que o sistema de controlo adoptado é válido e permite aos

robôs do tipo dirigíveis não-holonómicos o seguimento de referencias de uma forma simples e eficaz.

Page 63: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

49

Figura 5.1 – Diagrama de blocos do simulador Simulink do sistema de controlo do Passarola.

Page 64: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

50

5.2 – Resultados do Ensaio Teórico do Controlo

Em seguida apresentam-se os resultados das experiências realizadas com o simulador Simulink para

o ensaio teórico do controlo do dirigível Passarola, utilizando o modelo matemático da sua dinâmica.

Ensaio 1: Resposta a um escalão de 3 metros na posição do robô líder ATRVJr. Inicialmente ambos

os robôs se encontram em repouso, orientados a -PI/2rad e a altitude do robô Passarola é constante

em z = 10m. Em t = 0s é aplicado um escalão de velocidade no robô ATRVJr de valor V = 0,5m/s.

Figura 5.2 – a) Posição 3D da formação de robôs, no referencial do mundo; b) Posição e orientação da formação

em função do tempo; c) Erro temporal de posição e de orientação do Passarola em relação à referência.

Erro de Posição e Erro de Orientação versus tempo

a)

b)

c)

Posição e Orientação versus tempo

Gráfico Posição 3D (x,y,z)

Page 65: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

51

Ensaio 2: Seguimento de uma trajectória em forma de 8, traçada pelo robô terrestre ATRVJr. Ambos

os robôs partem da situação de repouso, orientados a –PI/3rad. No plano do solo os robôs distam de

3m no eixo x, operando o dirigível a uma altitude constante em z = 10m. Para t > 0s, V = 0,5m/s.

Figura 5.3 – a) Posição 3D da formação de robôs; b) Posição e orientação da formação em função do tempo;

c) Erro temporal de posição e de orientação do Passarola em relação à referência.

Gráfico Posição 3D (x,y,z)

Erro de Posição e Erro de Orientação versus tempo

a)

b)

Posição e Orientação versus tempo

c)

Page 66: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

52

Figura 5.4 – Valores temporais da força aplicada no modelo matemático do Passarola durante o seguimento.

Nos ensaios 1 e 2 agora apresentados, é possível confirmar a reprodução em simulação dos

movimentos mais gerais do robô líder ATRVJr, representados na Figura 5.2 a) e Figura 5.3 a). Aqui

também é possível observar, além da trajectória descrita pelo ATRVJr, a trajectória SBC de referência

para o dirigível e por fim, o movimento simulado para o dirigível Passarola. Verifica-se por

conseguinte que dada a referencia de seguimento SBC, obtida pelo sucessivo movimento do robô

líder, o sistema de controlo executa correctamente o comando de controlo do dirigível para o seu

seguimento, concluindo-se com uma trajectória de seguimento do robô líder suave.

Para a calibração manual dos controladores PD dos três subsistemas do dirigível foi fundamental a

observação cuidada dos vários gráficos agora apresentados, verificando-se para cada iteração qual a

alteração provocada nos respectivos sinais temporais de Erro e de Posição/Orientação. Pela

facilidade deste método é possível rapidamente acelerar ou atrasar a velocidade de resposta do

dirigível modificando-se os parâmetros do controlador, se assim se desejar, com os limites impostos

pela saturação.

Na Figura 5.2 c) e Figura 5.3 c) é possível verificar que o sistema consegue rapidamente estabilizar o

erro de seguimento mantendo-o constante num valor próximo de zero ou em torno de zero.

Verifica-se também a correcta utilização dos sinais de saída dos controladores no controlo do

sistema, uma vez que estes valores têm unidades de força (Newtons) e encontram-se dentro dos

limites de actuação, com correcta saturação física, compensação derivativa e comutação de sinal

algébrico consoante o sentido em que devem actuar em b.

Em conclusão, obtidos os controladores PD dos subsistemas do dirigível, demonstra-se através dos

ensaios agora apresentados que a lei de controlo implementada permite a obtenção de resultados

satisfatórios na navegação do dirigível Passarola em tarefas de seguimento de referencias, sendo

visível a actuação da dinâmica na simulação do seu modelo matemático, de onde se comprova a

correcta funcionalidade do esquema de controlo em estudo.

Força versus Tempo

Page 67: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

53

5.3 – Verificação do Desempenho do Controlador

Nesta fase em que já foi afinado um controlador PD digital, baseado no sistema de controlo real, e

tendo sido já verificada a controlabilidade do dirigível Passarola, em simulação matemática, pode-se

realizar uma verificação final, onde se testam os controladores PD do sistema real no simulador

teórico Simulink.

De modo a proceder com a realização desta experiência foi necessária a adaptação da estrutura do

simulador da Figura 5.1 de modo a ensaiar o modelo de controlo real descrito na Secção 4.1,

ficando-se com o simulador da Figura 5.5.

Nesta modificação, adicionou-se na saída do modelo do Passarola, a transformação da câmara de

vídeo, com base na conversão linear metros para pixels, para os eixos horizontal e vertical da

imagem da câmara, permitindo assim que se obtenham os vectores de erro pretendidos para

controlo, no referencial da imagem. Esta transformação simplificada para o modelo da câmara,

assumida como aproximação do modelo real para baixas altitudes, determina o alcance do campo de

visão da imagem a partir da altitude a que se encontra o dirigível, assumindo-se que têm uma relação

linear e são de igual valor. Assim a relação matemática que realiza o cálculo do factor de conversão

metros para pixels (desprezando a inclinação da câmara) é simples e é dada por:

xemalcance

pixelsK x

x = ; yemalcance

pixelsK y

y = .

O modo de utilização da referência SBC para seguimento foi também modificado para que o novo

objectivo de controlo fosse correctamente aplicado. Assim a nova referência a cumprir corresponde à

estabilização do sistema no centro da imagem, tal como foi referido na Secção 4.3.1, sendo por isso a

nova referencia em (0,0), para o controlo no plano do solo. No caso do controlo em altitude, iniciou-se

o dirigível a uma altura de valor z0_blimp, e determinou-se essa altura como sendo o valor de

referência, pelo que o dirigível se manteve a uma altitude fixa durante todas as experiências. Sendo o

seguimento efectuado por seguimento visual colocou-se por conseguinte, a referência SBC como

perturbação de saída do sistema, conseguindo assim fornecer o vector de erro de posição e

orientação à transformação da câmara, simulando a imagem da câmara de vídeo.

Para o funcionamento do controlador PD duplo do Subsistema de Direcção foi também convertida a

saída do simulador (imagem da câmara) na malha de controlo do motor de cauda FMT, utilizando a

função trigonométrica atan2() para que o ângulo da posição medida do ATRVJr fosse correctamente

calculado de acordo com o referencial da imagem, tal como se sucede no processamento de imagem

do sistema real.

Realizados alguns ensaios com o sistema de controlo real foram obtidos os resultados apresentados

na próxima secção, onde se prova que o desempenho dos controladores PD digitais desenvolvidos

para o sistema real é concordante com o sistema teórico.

(4.1)

Page 68: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

54

Figura 5.5 – Diagrama de blocos do simulador Simulink adaptado para teste do controlador real.

Tra

nsfo

rmaç

ão d

a câ

mar

a

Page 69: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

55

5.4 – Resultados do Ensaio com os Controladores PD

Ensaio 1: Resposta a um escalão de 3 metros na posição do robô líder ATRVJr. Inicialmente ambos

os robôs se encontram em repouso, orientados a -PI/2rad e a altitude do robô Passarola é constante

em z = 6m. Em t = 0s é aplicada uma velocidade constante no robô ATRVJr de valor V = 0,5m/s.

Figura 5.6 – a) Posição 3D dos robôs, no referencial do mundo; b) Posição e orientação temporal dos robôs.

Figura 5.7 – a) Emulação da imagem da câmara com a referência de seguimento; b) Erro temporal de posição e

de orientação do Passarola em relação à referência, na imagem da câmara emulada no simulador.

Após este primeiro ensaio já é possível verificar que o controlador real do sistema não é tão suave na

sua resposta como o controlador do ensaio teórico calculado da Secção 5.2, pois este controlador foi

ajustado individualmente, através de um processo isolado do comportamento de cada subsistema do

dirigível, não tendo sido tomado em conta o comportamento global do robô ao contrario do que se fez

para o controlador do ensaio teórico. Por outro lado, o esquema de controlo também foi alterado para

que fosse aqui ensaiado o sistema real, sendo a posição do robô agora calculada e controlada no

referencial da imagem, pelo que surgem daqui modificações relevantes no controlo do sistema que

implicam alguma perda de capacidades deste controlador. No entanto, é possível observar que o

controlador realiza o seguimento correctamente, estabilizando num intervalo de tempo aceitável, pelo

que se pode concluir que o controlador construído cumpre os objectivos propostos.

Gráfico (x, y) da referência SBC Posição e Orientação versus tempo

Gráfico Posição 3D (x,y,z) Posição e Orientação versus tempo

a) b)

a) b)

Page 70: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

56

Ensaio 2: Seguimento de uma trajectória em forma de oito, traçada pelo robô terrestre ATRVJr.

Ambos os robôs partem da situação de repouso, orientados a 0rad. No plano do solo os robôs distam

de 3m no eixo x, operando o dirigível a uma altitude constante em z = 10m. Para t > 0s, V = 0,5m/s.

Figura 5.8 – a) Posição 3D dos robôs, no referencial do mundo; b) Posição e orientação temporal dos robôs.

Figura 5.9 – a) Emulação da imagem da câmara com a referência de seguimento; b) Erro temporal de posição e

de orientação do Passarola em relação à referência, na imagem da câmara emulada no simulador.

Figura 5.10 – Valores temporais da força aplicada no modelo do Passarola durante o seguimento do 8.

Gráfico Posição 3D (x,y,z) Posição e Orientação versus tempo

Gráfico (x, y) da referência SBC Posição e Orientação versus tempo

a) b)

a) b)

Força gerada pelos controladores versus Tempo

Page 71: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

57

Findo este último ensaio do sistema dá-se então por concluído o processo de avaliação do sistema

de controlo em desenvolvimento, podendo verificar-se claramente a competência deste método de

controlo para o controlo do dirigível Passarola em missões de seguimento de trajectórias.

Observando a Figura 5.8 com a representação do comportamento dos dois robôs da formação

verifica-se tal como no ensaio teórico que, o controlo de seguimento aqui simulado é bem sucedido,

cumprindo-se o seguimento do robô ATRVJr pelo dirigível de forma muito próxima à situação

desejada, realçando-se o aspecto de se estar a executar controlo por seguimento visual. Na Figura

5.9 a) pode ser observada uma imagem com a representação da sequência de movimentos do robô

ATRVJr, obtida no referencial da imagem para todo ensaio. Aqui é possível compreender o método

de controlo em estudo, notando-se o esforço do sistema em manter o robô líder no centro da imagem

(referência do sistema). Neste caso o erro de seguimento é dado em pixels através da imagem

captada e pode ser observado que também aqui o controlador limita o erro num intervalo próximo de

zero estabilizando-o assim que possível. O maior valor do erro de seguimento é verificado no inicio do

ensaio e deve-se à iniciação dos dois robôs com um afastamento de 1m no eixo x e 1m no eixo y. De

notar que esta perturbação é reduzida ao valor do erro estático ao fim de 25s, em ambas as

coordenadas, já durante o seguimento, pelo que se conclui que o sistema responde correctamente às

exigências de um ambiente real, onde pode ser pedido o inicio de um seguimento com quaisquer

condições iniciais.

Analisando por fim o gráfico da Figura 5.10, verifica-se que também para este controlador é garantido

o controlo do dirigível utilizando sinais de força legítimos. Estes sinais encontram-se dentro dos seus

limites físicos reais e realizam correctamente a compensação derivativa e a comutação de sinal

algébrico segundo b. Observa-se ainda que este sinal possui uma forma quadrada devido à anterior

quantização do sinal de controlo para níveis de actuação bem definidos. Esta quantização, tal como

referido no início do capítulo, deve-se às características de funcionamento do sistema físico e é

essencial a sua simulação em teoria para a correcta avaliação das verdadeiras habilidades do

controlador.

Page 72: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

58

Page 73: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

59

6 Sistema Autónomo de Controlo

6.1 – Sistema de Trabalho, em Laboratório

Para o estudo e desenvolvimento do sistema autónomo de controlo do robô Passarola, foi montado

um sistema de teste e simulação do processamento de imagem, do desempenho do controlador e do

funcionamento dos actuadores, que permite a validação de todo o sistema real de controlo antes da

sua aplicação no robô real (Figura 6.1). Com a construção deste sistema de trabalho tornou-se

possível analisar em laboratório, o comportamento do dirigível, através de simulação 3D realista,

utilizando o computador de bordo real (DSP). Desta forma, depois de calibrado o controlador através

dos testes em simulação, apenas se tem que desligar o DSP deste sistema de trabalho e ligá-lo ao

robô real para ficar todo o controlo a funcionar, sem necessidade de novas calibrações ou ajuste dos

valores dos actuadores.

Figura 6.1 – Bancada de trabalho, em laboratório.

O sistema é constituído por:

− dois computadores de uso geral – o Computador de Trabalho e o Computador do Simulador,

(embora sejam utilizados três computadores para facilitar as tarefas);

− uma placa USB de aquisição e conversão de sinais analógicos para sinais digitais – ADC;

− as duas Gôndolas do dirigível Passarola, com o Computador de Bordo, a Câmara de Vídeo e

os Actuadores do dirigível.

Em relação ao Computador de Trabalho (Pentium IV 3,0 GHz, com 1Gbyte de RAM e WinXP), foi

necessária a instalação de uma placa de aquisição de imagem (placa de TV), cuja função é receber a

Page 74: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

60

imagem de saída do DSP, para visualização do funcionamento dos algoritmos de processamento de

imagem e de controlo e para fins de debug. Foi instalado o software VisualDSP++, com os drivers

para programação e comunicação com o DSP, e foi ainda instalado o software LabView, com os

drivers para o ADC, para interligação do computador com os sinais de controlo do DSP.

Neste computador é efectuado todo o processo de programação e execução dos algoritmos na

unidade de processamento DSP e é realizada a ponte entre o controlador DSP e simulador

USARSim, para o controlo do robô virtual Passarola.

O Computador do simulador UsarSim (pentium IV 2,4GHz, com 1GHz de RAM, placa gráfica ATI

de 512MHz de RAM e WinXP), é o computador responsável pela simulação 3D realista do dirigível

Passarola, utilizado para testar os algoritmos implementados no DSP, através da simulação das

condições de teste reais. Este simulador, pelo facto de realizar uma simulação física e gráfica de todo

o ambiente de simulação, consome muitos recursos da unidade de processamento, necessitando por

este motivo de ser utilizado um computador independente para a realização da simulação em tempo

real. A comunicação com o servidor é realizada por ligação TCP/IP para efeitos de controlo dos

objectos do ambiente de simulação, e como saída do sistema é utilizada a imagem fornecida pelo

simulador, enviada pela saída S-video da placa gráfica, que emula a imagem capturada pela câmara

do dirigível.

O DSP, unidade de processamento real do robô , é o centro deste sistema de trabalho e actua

neste ambiente exactamente como se do sistema real de controlo se tratasse. De tal forma que, capta

a imagem enviada pelo simulador por vídeo composto, através da ligação BNC da sua placa

electrónica, tal como acontece com a câmara de vídeo real, e actua no sinal de controlo de igual

modo como faria com os actuadores reais, por meio das suas saídas de sinal analógico, no formato

PWM.

O esquema do sistema de trabalho construído é apresentado na Figura 6.2:

Figura 6.2 – Esquema de trabalho, em laboratório, construído para o desenvolvimento deste projecto.

Page 75: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

61

6.2 – Sistema de Trabalho, no Terreno

De forma a tornar todo o sistema de trabalho portátil, durante a transição dos testes de controlo para

o robô real, preparou-se um Portátil de Trabalho com o software VisualDSP++ de programação do

DSP, e adquiriu-se uma placa externa de captura de vídeo, para visualização da imagem de saída do

DSP, transmitida a partir do dirigível através de um sistema de transmissão de vídeo por rádio

frequência, para debug do controlador. Na Figura 6.3 encontra-se representado o esquema do

sistema de trabalho real utilizado no terreno para o teste do robô Passarola (Figura 6.4).

Figura 6.3 – Esquema do sistema de trabalho, utilizado no terreno, durante os testes com o robô Passarola.

A captura da imagem de saída com o processamento realizado no DSP, incluindo o sistema de

gravação dos sinais de erro e de controlo em gráficos de tempo, foi muito vantajosa para o

desenvolvimento do projecto, principalmente durante a calibração dos controladores, pois é a única

forma de visualização de informações/dados vindos dos cálculos do controlo, por se tratar de um

computador DSP programável e de memória do tipo RAM (o que implica a perda dos dados quando

se desliga a alimentação). Esta funcionalidade oferece ainda uma forma rápida de compreensão das

atitudes do dirigível, através da observação da imagem processada, recebida no computador.

Figura 6.4 – Esquema das ligações eléctricas do Dirigível.

Page 76: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

62

6.3 – Computador de Bordo DSP

Para a realização autónoma do controlo do dirigível através da imagem capturada por uma câmara,

foi essencial incorporar a bordo do robô uma placa de processamento que se responsabilizasse pela

aquisição e processamento de imagem, pela decisão de comportamentos através da realização dos

cálculos de controlo e pela produção e envio de sinais de controlo para os motores. Para tal, adquiriu-

se uma placa electrónica de processamento de sinais (Figura 6.5), conhecida por «EZ-KIT Lite

Evaluation Kit for ADSP-BF561 Blackfin Processor» (da Analog Devices), especializada em

processamento de áudio e vídeo, pois é fundamental que o controlo seja efectuado em tempo-real,

isto é, o tempo entre a aquisição das imagens pela câmara e a transmissão de comandos para os

actuadores, seja mínima em relação à largura de banda do sistema real.

Digital Signal Processor (DSP) é um microprocessador programável, com uma arquitectura

especializada capaz de operar em tempo real no processamento digital de sinais, com velocidades

muito superiores aos microprocessadores para aplicações genéricas.

Este microchip é o cérebro da placa de processamento utilizada e é composta, para além do

microprocessador DSP, por diversos outros componentes necessários para o seu funcionamento

como memórias externas, unidades de DMA (Direct Memory Access), leds, pushbuttons, codecs de

áudio e vídeo, portas externas (porta série RS-232 e USB, portas RCA, portas para módulos de

extensão), entre outros.

Figura 6.5 – Fotografia da placa de processamento do DSP, utilizada para a construção do computador de bordo

do robô Passarola.

A programação no DSP do projecto de controlo do dirigível foi conseguida com base na modificação e

de dois projectos de exemplo independentes, fornecidos com o software da Analog Devices6, com a

programação básica para captura e processamento de imagem, com os codecs de vídeo, e para

manipulação de sinais analógicos para os actuadores, com os codecs de áudio. Para a construção do

desejado sistema autónomo de controlo do Passarola foi necessária a criação de um projecto de

grupo, com a união destes dois projectos multimédia para o seu funcionamento em paralelo no DSP.

Formou-se assim um projecto de grupo constituído pelo projecto «core A», projecto «core B», e

6 http://www.analog.com

Page 77: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

63

projecto «sml2», onde o primeiro é o projecto de processamento de imagem, o segundo é o projecto

do controlador e da actuação dos motores e o terceiro é o projecto da memória partilhada, para a

troca de dados entre os dois cores.

6.3.1 – Processamento de Imagem

A frequência de aquisição de imagem do DSP é de 15fps (imagens por segundo), estimando-se que

este valor baixe para cerca de 8fps após a aplicação de processamento sobre a imagem. Este valor é

aceitável para a aplicação em causa, sabendo que se trata de um robô inerentemente lento, para

operação em alturas, onde os movimentos captados pela câmara têm uma dinâmica lenta, permitindo

uma menor sensibilidade na tarefa de seguimento.

Sejam agora apresentadas as tarefas de processamento de imagem realizadas no DSP.

Controlo 1 – Seguimento do ATRVJr

A imagem capturada pelo o DSP encontra-se no formato UYVY e pode ser apresentada quer no

sistema NTSC quer no sistema Pal. Este formato é provavelmente o formato mais popular das

variações 4:2:2 do formato YCbCr ou YUV (luminância, crominância azul e crominância vermelha),

utilizado normalmente em sistemas de vídeo profissionais para efeitos de compressão do sinal de

vídeo, tornando o pré-processamento mais rápido.

Sendo o objectivo deste projecto de controlo o seguimento do ATRVJr e sendo este robô vermelho, a

melhor forma de o detectar numa imagem será pela detecção da sua cor vermelha. Assim

pretende-se aqui, descobrir como se identifica a cor vermelha numa imagem descrita no formato

YCbCr. Embora este formato não fosse o melhor formato para tratamento de cores numa imagem,

optou-se pela sua utilização em detrimento, p. ex. do formato HSV, pois a conversão de formatos

torna-se computacionalmente pesada na aplicação desenvolvida em DSP, perdendo-se a capacidade

de tempo real pretendida.

Consultada a bibliografia sobre a relação entre os formatos de imagem [31] e estudada a estrutura e

significado dos diferentes pixels deste formato, concluiu-se que a detecção de pixels através da cor

só era possível pela observação da gama de valores das três componentes do pixel (Y, Cb e Cr), à

semelhança do que acontece no RGB. De maneira a determinar as gamas de valores a que

corresponde a cor vermelha e, para posterior calibração destes limites de forma prática e fiável (p.ex.

numa mudança de luz ou de ambiente do robô), foi elaborado um programa em Matlab, que simula o

formato de imagem UVYV do DSP a partir de uma imagem em RGB, para análise do conjunto de

valores dos pixels da imagem.

Assim, para estudo da cor vermelha neste formato, foram capturadas várias imagens de objectos

vermelhos com a câmara real e o DSP, com diferentes níveis de luminosidade, de onde se retiraram

Page 78: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

64

amostras de pixels para a construção da imagem da Figura 6.6 a), analisando os seus valores de Y,

Cb e Cr em função de Cr, com base programa Matlab citado, obtendo-se a distribuição de valores

apresentada na Figura 6.6 b).

Figura 6.6 – a) Imagem com várias amostras de vermelho; b) Gráfico com o valor das três componentes YUV.

Assim este programa, baseado nas formulas de conversão RGB para YCbCr e na organização de

pixels na memória do DSP, permite a observação das características da imagem descritas no formato

UVYV, possibilitando o estudo e avaliação da combinação das componentes. Por conseguinte, depois

de analisadas as gamas de valores dos pixels na região vermelha da imagem, foram definidos os

limites desejados para cada uma das componentes do formato, resultando no processamento de

imagem, realizado em UVYV, da Figura 6.7.

Figura 6.7 – a) Imagem original obtida pelo DSP; b) imagem processada (em UVYV) com detecção de vermelho.

Obtida a região vermelha na imagem, correspondente ao robô ATRVJr, é determinado o seu centro

de massa e calculado por fim, o ângulo e a posição desse ponto em relação ao referencial

apresentado na Figura 6.8, de modo a calcular os vectores de erro dos subsistemas do dirigível,

representados a verde e a azul, convenientemente convertidos para o referencial de corpo b para o

controlo do robô.

Para o calculo da posição e orientação do centro de massa na próxima imagem é realizada uma

técnica de procura, baseada na continuidade do movimento dos robô, onde é utilizada uma região de

a)

b)

Page 79: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

65

procura, de raio programável, centrada na ultima posição conhecida para o robô, de forma a

concentrar o seguimento unicamente no robô pretendido, descartando a detecção de falsos robôs.

Figura 6.8 – Processamento de imagem do seguimento do ATRVJr.

Como referido, foram ainda elaborados cinco gráficos na imagem de saída do DSP, para a

monitorização em tempo real dos valores das variáveis intervenientes no controlo. Estes valores são

armazenados em vectores de inteiros e vão sendo actualizados em cada iteração de imagens com os

novos valores utilizados no controlador. Estes gráficos fornecem informações sobre o desempenho

do seguimento ao longo do tempo, permitindo assim confirmar a funcionalidade dos controladores

durante o acerto da referência. Os gráficos representados são, por ordem de cima para baixo e da

esquerda para a direita, dutycycle do PWM do motor traseiro, dutycycle do PWM dos motores

dianteiros, erro de posição no eixo Y, erro de posição no eixo X e erro de rotação θ. As escalas,

sendo difíceis de marcar na imagem, são entendidas a partir dos limites do eixo vertical, que marca o

valor máximo e o valor mínimo possível para cada sinal, apresentados na Tabela 6.1. O eixo

horizontal de cada gráfico, cruza com o eixo vertical no zero da sua escala e representa um tempo de

sinal de 13s.

Tabela 6.1 – Valores limites dos eixos verticais dos gráficos das variáveis de controlo.

Eixo vertical Gráfico Limite inferior Limite superior

Duty Cycle M. Traseiro -20‰ 20‰ Duty Cycle M. Dianteiros -20‰ 20‰

Erro eixo X -288pixels 288pixels Erro eixo Y -360pixels 360pixels

Erro rotação θθθθ -180º 180º

Page 80: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

66

Controlo 2 – Seguimento de Linhas

Para a implementação do algoritmo de Sobel em tempo real, foi utilizado um projecto de exemplo de

vídeo com este algoritmo de processamento de imagem já implementado em Assembly, produzindo

directamente na saída uma imagem a preto e branco, com os contornos das imagens. Em seguida

implementou-se o algoritmo de detecção de rectas, algoritmo de Hough, com base na análise dos

pixels brancos desta imagem (recta amarela da Figura 6.9 orientada com um ângulo θ e localizada a

uma distância d do centro), realizando-se o cálculo matemático do cruzamento das rectas obtidas

com uma semicircunferência de raio programável, para concretização do algoritmo de seguimento de

linhas, descrito no Capítulo 4 (linhas cor-de-laranja da Figura 6.9).

Depois de encontrada a linha de seguimento, efectua-se o seguimento dessa linha nas imagens

seguintes com o fundamento da continuidade do movimento do robô, durante o seguimento. Quer isto

dizer que, o cálculo da localização da recta na próxima imagem será efectuado com base na

informação do ângulo α adquirido pela recta de seguimento na última imagem, pois esta deverá estar

orientada de forma semelhante à última forma detectada, conseguindo-se assim controlar as

perturbações no seguimento causadas pelo cruzamento indesejado de outra rectas na

semicircunferência.

Figura 6.9 – Esquema de detecção de linhas na imagem de contornos.

Para a elaboração do processamento de imagem foi definido o referencial representado na Figura 6.9

com linhas azuis, tendo-se convertido posteriormente o sinal de controlo para o referencial de corpo

do dirigível b, descrito no Capítulo 2, para a realização da lei de controlo.

Com o intuito de melhorar o esquema de seguimento de linhas de uma imagem para a outra seria

ainda boa estratégia controlar a informação da distância d e orientação θ da recta de seguimento,

fornecida pelo algoritmo de Hough, com a mesma linha de raciocínio da continuidade de movimento

do robô, mas uma vez que não se teve a oportunidade de experimentar a implementação desta nova

Page 81: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

67

estratégia, regista-se aqui esta ideia, como sugestão de melhoramento do processamento de imagem

para trabalho futuro.

Controlo e actuação dos motores

A construção do sinal PWM e a realização dos cálculos do controlador PD que determina o valor do

seu duty cycle, foi obtida com recurso a uma rotina de interrupção do processador, que utiliza o codec

de áudio para a geração de um sinal analógico com a forma pretendida. Esta rotina, com grande

velocidade de execução, constrói um sinal PWM contínuo com uma frequência de 48Hz (período de

20,8ms), realizando os cálculos de controlo apenas no fim de cada período do sinal.

A divisão de tarefas entre os dois processadores mostrou-se uma opção muito vantajosa para a

realização deste sistema autónomo de controlo, uma vez que são realizadas em simultâneo tarefas

de aquisição e construção de sinais em tempo real, tendo-se verificado durante uma tentativa de

junção dos projectos apenas num core do DSP, que estas seriam tarefas muito pesadas para

realização com um único processador, faltando ainda a realização dos cálculos de controlo. Por sua

vez, a implementação do controlador PD no segundo processador, permitiu uma divisão equilibrada

dos recursos disponíveis, optimizando a rapidez de cálculo dos algoritmos, e permitiu ainda a

realização dos cálculos do controlo digital a uma frequência de amostragem constante, conferindo

estabilidade ao sistema. A única limitação detectada para esta estratégia passou pela necessidade de

construção de um espaço de memória partilhado entre cores, a partir do qual são trocadas os dados

do processamento de imagem para o controlador e vice-versa.

6.4 – LabView

Durante a transição da Etapa 1a (simulação Matlab) para a Etapa 1b (simulação USARSim), proposta

no inicio do projecto, numa apreciação da próxima etapa de implementação do controlador, que

indicava a tradução e teste do controlador para a linguagem de programação C, a partir de um

computador de uso geral, surgiu uma nova estratégia para o desenvolvimento do sistema de controlo.

Com o objectivo de reduzir alguns passos na execução do projecto e para minimizar as

incompatibilidades e erros provenientes da transição do sistema simulado para o sistema real,

considerou-se a viabilidade de utilização do DSP, já a partir desta etapa, para implementação e teste

do sistema de controlo com o novo simulador 3D realista – USARSim. Arriscando na dificuldade de

ligação entre o controlador real e o simulador, mas criando novas capacidades por outro lado, foi

conseguida a ligação entre o DSP e o USARSim com a ajuda de um programa realizado em

LabView7, com comunicação de rede TCP/IP e tratamento conveniente de sinais de controlo do DSP,

7 Software de programação gráfica, para instrumentação e medida, da National Instruments.

Page 82: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

68

para conversão e adaptação dos comandos entre os sistemas. A conexão do DSP ao computador

com o programa LabView é efectuada através de uma placa de aquisição e conversão de sinais

analógicos para digital – ADC. Deste modo, são traduzidos de forma transparente os sinais de

controlo reais do DSP para os comandos de controlo do simulador USARSim, enviando-os

posteriormente, por ligação TCP/IP, para o computador de simulação para controlo idêntico do robô

virtual Passarola, simulando-se assim a utilização do sistema real, através de uma ponte para o robô

virtual.

Este sistema, permitindo a utilização da mesma unidade de controlo do robô real, possibilitou o teste

e validação de todos os algoritmos desenvolvido e implementado no DSP antes de se passar para o

dirigível real, utilizando para tal uma simulação fiel da física do dirigível Passarola, tal como

demonstrado no Anexo B, eliminando quase na totalidade a dificuldade de transição do controlador

para o real, tal como desejado.

A Figura 6.10 mostra a interface gráfica do programa elaborado em LabView, onde é visível, em cima,

a ligação TCP/IP do simulador e os controlos manuais de comando do robô Passarola virtual, em

baixo, os sinais PWM captados do DSP e, no meio da janela, o comando automático de controlo do

simulador, cujos valores de controlo foram traduzidos de unidades de duty cycle para unidades de

velocidades e de ângulos.

Figura 6.10 – Janela de interface do programa LabView.

Para a adaptação dos sinais de controlo entre os sistemas partiu-se da relação entre o valor do duty

cycle do sinal PWM e o valor de velocidade/ângulo produzido pelo mesmo, no modelo real. Assim,

Page 83: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

69

foram realizados vários testes de correspondência entre o duty cycle aplicado e a velocidade atingida

pelo robô Passarola, para a construção dos polinómios de conversão dos comandos de controlo,

mantendo assim a correspondência de comportamentos entre o modelo simulado e o modelo real.

As experiências de medição de velocidades em função do duty cycle foram efectuadas em separado

para cada um dos subsistemas do dirigível, em estudo. Em cada subsistema, para cada um dos

valores do duty cycle testados, apresentados na tabela da Figura 6.11 e Figura 6.12, foram

efectuadas duas ou mais experiências de medição de velocidade, tendo-se gravado em vídeo o

respectivo movimento do dirigível Passarola, para cada experiência. Conhecidas as distâncias das

linhas marcadas no chão do pavilhão onde foram filmadas as experiências e depois de analisadas as

imagens gravadas, foi calculado o valor médio das velocidades medidas para cada valor de duty

cycle testado, elaborando-se os respectivos gráficos de tradução de unidades, apresentados na

Figura 6.11 e Figura 6.12.

Duty Cycle Dianteiro (‰)

Velocidade em X (m/s)

50 -1,03 60 -0,62

68 0 70 0 72 0

77 1,02 80 1,26 82 1,47

88 1,90 95 2,33

Figura 6.11 – a) Gráfico da velocidade linear do Passarola em função do duty cycle do sinal PWM aplicado nos

seus motores dianteiros.

Dutycycle traseiro (‰)

Velocidade rotação (rad/s)

60 -0,87

65 -0,67

70 -0,42

72 0

73 0

74 0

77 0,31

84 0,56

90 0,71

Figura 6.12 – a) Gráfico da velocidade angular do Passarola em função do duty cycle do sinal PWM aplicado no

seu motor traseiro.

Com base nos dados obtidos experimentalmente foi realizada a determinação das funções que

aproximavam as características não-lineares das tabelas de conversão construídas, através da

toolbox Curve fitting do Matlab, tendo-se obtido os polinómios da Figura 6.13. Estes polinómios foram

Velocidade linear versus Duty Cycle

Duty Cycle (‰)

Vel

ocid

ade

linea

r (m

/s)

Vel

ocid

ade

angu

lar

(rad

/s)

Velocidade angular versus Duty Cycle

Duty Cycle (‰)

Page 84: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

70

posteriormente implementados no programa LabView e utilizados para traduzir os comandos reais de

controlo para os seus correspondentes do simulador, possibilitando assim o teste dos algoritmos de

controlo desenvolvidos no DSP no simulador USARSim, de forma ainda mais realista.

Fit 1: f(x) = -0,004184x2 + 0,8007x - 36,03 Fit 3: f(x) = -0,00298x2 + 0,5341x - 23,24

Fit 2: f(x) = 0,002798x2 - 0,2668x + 5,315 Fit 4: f(x) = 0,005924x2 - 0,7162x + 20,8

Figura 6.13 – Aproximação de polinómios às tabelas de conversão Duty Cycle – Velocidade.

6.4.1 – Placa de Aquisição e Conversão ADC

Esta placa USB de conversão e aquisição de sinais (Figura 6.14) tem o importante papel de captura e

conversão instantânea dos sinais PWM analógicos, emitidos pelo DSP para actuação dos actuadores

do dirigível real, em sinais digitais passíveis de manipulação digital pela ferramenta LabView. É assim

estabelecida a ponte entre o computador de bordo real do Passarola e o robô Passarola virtual em

simulação, possibilitando o desenvolvimento do sistema autónomo de controlo em ambiente de

laboratório, até à situação em que todo o sistema é testado no robô Passarola real, sem necessidade

de qualquer adaptação prévia.

Figura 6.14 – Placa USB de conversão e aquisição de sinais – ADC.

Page 85: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

71

7 Resultados

7.1 – Ajuste Prévio do Sistema de Controlo

Depois de programado no DSP o controlador de cada subsistema do robô, apresentados no Capítulo

4, e testado o controlo do robô no simulador USARSim, verificou-se durante o seguimento do robô

ATRVJr, na execução das trajectórias, que o dirigível demonstrava desempenhos diferentes entre a

realização de curvas para a esquerda e a realização de curvas para direita, onde se notava um

alargamento prejudicial da sua trajectória em curvas para a direita. Este facto pode ser demonstrado

pela diferença entre as trajectórias da Figura 7.1, realizadas a uma velocidade de seguimento de

1m/s, que compara o desempenho do dirigível no seguimento do robô ATRVJr, numa fase inicial, sem

compensação do sinal de controlo e numa fase posterior, já com compensação do sinal de controlo.

Figura 7.1 – Comparação de trajectórias no controlo do dirigível, a uma altitude de 6m: a) sem compensação de

comportamento; b) com compensação de comportamento.

É possível observar na Figura 7.1 a) que o dirigível se perde, já no fim da trajectória, devido a uma

curva mais acentuada do ATRVJr para a direita. Esta situação acontece devido às assimetrias na

propulsão dos hélices dos actuadores do dirigível, que faz com que sejam produzidas forças

diferentes na rotação do robô quando se faz rodar os hélices no sentido directo ou no sentido inverso,

para iguais velocidades de rotação dos actuadores. Este facto faz com que a calibração dos

parâmetros dos controladores, realizada no Capítulo 4, apenas funcione correctamente para um dos

lados, sendo preciso compensar a assimetria para o lado oposto. Assim, para a solução deste

problema, optou-se numa fase inicial por se realizar o cálculo do sinal de controlo com recurso a

parâmetros variáveis, conforme se tratasse de um ou de outro sentido de rotação dos hélices. Mas

após análise das tabelas de força dos actuadores (Figura 6.11 e Figura 6.12), percebeu-se que a

a) b)

Page 86: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

72

relação de perda de força dos hélices, entre a rotação no sentido directo e a rotação no sentido

inverso, é na proporção de 2:1, tendo em conta igual valor do escalão no duty cycle do sinal PWM do

actuador (em valor absoluto). Por conseguinte, como para obter a força pretendida no sentido inverso

é necessário aplicar o dobro da velocidade de rotação, solucionou-se esta questão analisando o valor

dos escalões dos sinais de controlo antes da sua aplicação nos actuadores, decidindo pela sua

multiplicação por 2, ou não, consoante os seus valores sejam negativos, ou não.

Os resultados obtidos com esta compensação dos actuadores são mostrados, para o mesmo

exemplo, na Figura 7.1 b).

7.2 – Resultados em Simulação 3D Realista – USARSim

Após a conclusão de todo o sistema de controlo do dirigível Passarola é agora altura de apresentar

os resultados conseguidos neste projecto, para o desempenho do sistema durante o seguimento de

trajectórias, retirados de experiências realizadas no simulador USARSim e realizadas no robô real.

Para tal utilizou-se, em ambas as situações, o sistema real de controlo desenvolvido para a

navegação autónoma do dirigível (modelo simulado e modelo real), apresentado no Capítulo 6.

7.2.1 – Controlo 1: Seguimento do ATRVJr

Nos testes que se seguem, fez-se variar a velocidade de seguimento do ATRVJr e a altitude de

operação do dirigível, assim como o teste do sistema em vários tipos de trajectórias. A altitude

comum de operação do dirigível nos testes realizados com o simulador é 6m de altura, aproximando-

se da situação real de testes com o robô Passarola, para o qual os controladores foram ajustados,

tendo-se avaliado também o presumível desempenho do sistema de controlo para 12m de altura. A

modificação da velocidade de seguimento do dirigível é realizada pela variação da velocidade de

deslocação do robô ATRVJr, tendo-se utilizado V = 0,58m/s, V = 0,78m/s e V = 1m/s nas experiências

agora apresentadas.

Page 87: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

73

Figura 7.2 – Experiência 1: Trajectória em forma de U, realizada com V = 0,58m/s.

Experiência 1: Na Figura 7.2 é apresentada uma experiência de seguimento do robô ATRVJr numa

trajectória em forma de U, onde ambos os robôs partem do repouso no instante t = 0s. A velocidade

de seguimento é 0,58m/s e o dirigível opera a uma altitude de 6m. São apresentados os gráficos de

Posição 3D e Posição/Orientação versus Tempo, onde se pode observar um seguimento muito

próximo do robô líder por parte do robô Passarola. São percorridos cerca de 240m em 400 segundos,

notando-se em todo o percurso um pequeno atraso temporal do robô Passarola em relação ao seu

líder, que se pode explicar pelo facto do controlo no dirigível ser efectuado em relação ao referencial

da câmara e não em relação ao seu centro de massa (onde é efectuada a medida da sua posição no

simulador). Uma outra causa para este facto deve-se às características do seguimento de um objecto

em movimento, que naturalmente se afasta do seu seguidor em cada instante, conservando na

situação de equilíbrio um erro estático de seguimento. Este problema surge devido à simplificação da

lei de controlo, realizada no Capítulo 4, onde se desprezou o termo de aceleração desejada dx&& no

controlador PD deduzido, cuja função é a supressão deste tipo de erros, somando um termo adicional

ao sinal de controlo. Caso se justifique, esta situação pode ser facilmente ultrapassada com a

modificação do controlador adoptado para o controlador original, mas nesse caso terá que se lidar

com a determinação de dx&& em cada instante, o que pode não ser trivial. Além deste facto sabe-se

que os motores possuem uma zona morta na sua característica que impede a actuação eficiente do

robô junto à referência, bem visível no gráfico Orientação versus Tempo. Estando a característica dos

actuadores modelada no programa LabView (Secção 6.4) este problema do modelo real é

representado no simulador durante as experiências, para uma simulação realista.

A realização destas experiências foi realizada com recurso a um programa em Matlab para controlo

do robô ATRVJr, utilizando as suas funcionalidades de comunicação TCP/IP, uma vez que se

pretendia conhecer as posições temporais do robô ao longo das experiências, efectuando a

descodificação das mensagens de resposta do simulador com este conteúdo. Para o dirigível

Passarola também foi efectuada uma modificação no programa LabView para que também fosse

possível receber e armazenar as mensagens de resposta do simulador com as sucessivas posições

dentro da arena, para posterior descodificação e comparação com as posições do robô ATRVJr.

Page 88: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

74

Figura 7.3 – Experiência 2 e 3: a) Trajectória em forma de escalão no eixo dos xx, com V = 0,58m/s;

b) Trajectória em forma de U, realizada com V = 0,78m/s, a 12m de altitude.

Experiência 2 e 3: Na Figura 7.3 são apresentadas duas experiências realizadas no âmbito do teste

do sistema de controlo, onde foram avaliadas as capacidades do sistema numa situação extrema de

seguimento durante uma mudança brusca de direcção e foi ainda avaliada a capacidade de

adaptação do sistema a novas condições de operação, realizando-se um teste de seguimento com o

dirigível a 12m de altura. Ambos os robôs partem da situação de repouso, orientados segundo o

sentido positivo de x, e são iniciados com 3m de distância em x, para que o robô ATRVJr coincidisse

com o centro da imagem da câmara do dirigível no inicio das experiências.

Verifica-se que o seguimento é efectuado sem perturbações, não existindo sobre-elevações

preocupantes durante a trajectória descrita pelo dirigível que coloquem em causa a continuidade do

seguimento. Destes resultados pode-se pressupor que o sistema de controlo é robusto a alterações

na trajectória e nas condições de operação, dentro dos limites de velocidade e das modificações

impostas.

Experiência 4: Na experiência que se segue realizou-se ainda uma inversão de marcha do robô

ATRVJr, a meio da realização de uma trajectória rectilínea segundo x, com V = 0,58m/s. Ambos os

robôs iniciam a experiência em t = 0s com V = 0m/s. A atitude de operação do dirigível é 6m e a

distância entre os robôs é 3m no eixo dos xx, para que o erro de seguimento seja inicialmente nulo

(colocação do robô ATRVJr na origem da imagem de vídeo da visão do robô Passarola).

Também nesta experiência é possível verificar um bom desempenho do sistema de controlo, visto

que o controlador executou o procedimento necessário para efectuar a inversão de marcha em

simultâneo com o robô terrestre, notando-se inclusive a acção de travagem em t = 40s dos motores

propulsores do dirigível quando este alcançou repentinamente o robô ATRVJr. Embora o dirigível

sofra ainda alguns efeitos da sua inércia na execução da inversão, conclui-se, tendo em conta a

escala da trajectória, que o sistema inverte eficazmente a marcha enquanto prossegue com o

seguimento do robô terrestre como pretendido, adquirindo a estabilidade assim que possível.

a) b)

Page 89: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

75

Figura 7.4 – Experiência 4: Trajectória de inversão de marcha, realizada com V = 0,58m/s.

Experiência 5: Na próxima experiência pretende-se demonstrar o desempenho do sistema

desenvolvido, no seguimento do robô terrestre, durante a execução de uma trajectória curvilínea em

forma de 8. As condições iniciais mantêm-se idênticas às experiências anteriores, assim como todo o

processamento de controlo, realizado de forma autónoma com o computador de bordo do dirigível.

Page 90: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

76

Figura 7.5 – Experiência 5: Trajectória em forma de 8, realizada com V = 0,58m/s.

A uma velocidade de seguimento de 0,58m/s é possível observar na Figura 7.5 que o sistema

descreve uma trajectória muito próxima da trajectória do robô líder, mantendo um erro de seguimento

baixo e de valor constante nas duas fases da trajectória em oito, onde se nota ainda um

comportamento aproximadamente simétrico em relação ao centro da trajectória. Este facto indica-nos

que o sistema está a responder de igual forma, tanto para curvas para o lado direito como para

curvas para o lado esquerdo, tal como era desejado, graças à manipulação do sinal de controlo para

compensação das assimetrias do sistema de actuação, apresentada no inicio deste capítulo.

Vejamos agora o que acontece quando se modifica a velocidade e a altitude de operação do dirigível.

Experiência 6: Repetição da experiência anterior com a modificação da velocidade de seguimento e

a altitude de operação do dirigível, para o dobro dos seus valores iniciais. Numa primeira experiência

é testado o seguimento modificando apenas a velocidade para V = 1m/s. Numa segunda experiência,

além da velocidade de seguimento é modificada ainda a altitude de operação do dirigível para 12m.

Figura 7.6 – Experiência 6: a) Trajectória em forma de 8, realizada com V = 1m/s e altitude 6m;

b) Trajectória em forma de 8, realizada com V = 1m/s e altitude 12m.

a) b)

Page 91: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

77

Observando a Figura 7.6 a) verifica-se que o aumento da velocidade de seguimento provoca um

aumento do erro entre as trajectórias dos dois robôs, especialmente visível nas curvas, tal como seria

de esperar, pois uma maior velocidade tangencial à curva provoca um maior afastamento do dirigível

ao robô líder, quando este inicia as curvas. No entanto o sistema de controlo consegue manter esse

erro constante durante toda a curva, de forma eficaz e, tal como desejado, segue de forma tranquila o

robô ATRVJr. Observando a Figura 7.6 b) conclui-se que o aumento da altitude do dirigível provoca

no seguimento, tal como o aumento da velocidade, um crescimento no erro entre as trajectórias dos

dois robôs. Uma vez mais, também neste caso, este resultado corresponde ao comportamento

esperado, pois um aumento de altitude do dirigível provoca directamente um aumento do campo de

visão da sua câmara de vídeo, modificando-se as condições de operação para as quais se calibrou o

controlador, resultando num cálculo de controlo menos eficaz. No entanto o controlador executa,

ainda sem problemas de maior, o desejado seguimento do robô líder, confirmando-se a correcta

funcionalidade do sistema de controlo.

Experiência 7: Para finalizar esta série de testes, realizou-se por último uma experiência de

seguimento do robô ATRVJr num circuito de longa distância, com 700m de comprimento, a uma

velocidade V = 0,78m/s. Os robôs partem da situação de repouso e estão orientados segundo o

sentido positivo de x. O dirigível é iniciado a 6m de altura e a experiência decorre em t = [0, 900]s.

Várias perspectivas do seguimento obtido na experiência 7, tais como as Posições 3D e a

Posição/Orientação versus Tempo dos dois robôs podem ser observadas na Figura 7.7. A título de

exemplo, é ainda apresentada uma imagem de saída da unidade de processamento do dirigível,

retirada durante a realização da experiência, representativa da visão do robô Passarola. Nesta

imagem, obtida no instante t = 271s, nota-se que o robô ATRVJr está a iniciar a quarta curva do

circuito, pois começa a afastar-se do eixo vertical da imagem. Observando ainda com mais pormenor,

os gráficos de controlo impressos nesta imagem (ver Secção 6.3.1), verifica-se que o Subsistema de

Direcção do dirigível, encontrando-se já estabilizado na referencia antes da curva, começa já a reagir

devido ao crescimento do erro em y e do erro em yaw, confirmando-se o seu correcto funcionamento.

Com esta experiência é possível confirmar a autonomia do sistema de controlo do robô Passarola,

verificando-se também a existência de robustez na lei de controlo desenvolvida.

Page 92: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

78

Figura 7.7 – Experiência 7: Circuito de longa distância, realizado a 6m altitude e com V = 0,78m/s.

Sinal controlo FMT Sinal controlo FMD

Erro em x Erro em y Erro em yaw

Processamento de imagem em t = 271s

Page 93: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

79

7.2.2 – Controlo 2: Seguimento de Linhas

Seguem-se agora as experiências realizadas no âmbito do controlo de seguimento de linhas. Os

parâmetros de controlo utilizados são os parâmetros já apresentados no Capítulo 4, ajustados para

uma altitude de operação do dirigível de 6m. É testado o seguimento com o robô a uma velocidade de

ponta em rectas de 0,9m/s e é testado o funcionamento do sistema para uma altitude de 6m e 10m.

Experiência 1: Nesta primeira experiência testou-se o sistema de controlo no seguimento de uma

linha delimitadora de uma trajectória em forma de 8, para a altitude de 6m e 12m, para posterior

comparação do desempenho do controlador. O dirigível é iniciado em t = 0s com V = 0m/s, orientado

segundo o sentido positivo de x.

Figura 7.8 – Experiência 1: a) Trajectória em forma de 8, realizada a 6m de altitude;

b) Trajectória em forma de 8, realizada a 10m de altitude.

A trajectória em forma de 8 é uma boa trajectória para o teste do sistema de controlo de um robô uma

vez que resume nela muitas das trajectórias comuns exigidas a um veículo móvel, abrangendo os

comportamentos mais básicos dos veículos. Se um controlador não for capaz de executar

correctamente esta trajectória não será, com certeza, bem sucedido no desempenho das tarefas

principais de navegação de um robô. Observando os gráficos de Posição 3D da Figura 7.8 verifica-se

que o sistema de controlo desenvolvido para esta situação de controlo resolve com facilidade este

tipo de trajectórias, pois apresenta um baixo erro de seguimento em toda a trajectória, demonstrando

ainda uma boa capacidade de adaptação a novas condições de operação. Comparadas as duas

trajectórias desta experiência é possível concluir que o sistema de controlo implementado é robusto a

variações de altitude, funcionado como desejado, uma vez que o seguimento apresentado na Figura

7.8 b) apresenta um baixo erro de seguimento à trajectória, sendo muito semelhante ao desempenho

apresentado na Figura 7.8 a). Por último pode justificar-se ainda que o sistema executa o seguimento

com rapidez pois realiza esta tarefa num tempo de 365s, com Vmed = 0,7m/s.

a) b)

Page 94: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

80

Experiência 2: Para o teste do comportamento do sistema de controlo em mudanças de direcção

bruscas, realizou-se uma experiência prática de seguimento de linhas numa trajectória em forma de

quadrado, acompanhando-se esta experiência com uma avaliação da velocidade instantânea

adquirida pelo robô durante todo o seguimento. A posição inicial do dirigível é em (70, 62)m e o

dirigível encontra-se orientado segundo o sentido positivo de x, tal como em experiências anteriores.

Figura 7.9 – Experiência 2: Trajectória em forma de quadrado, realizada a 6m de altitude.

Na Figura 7.9, observa-se durante a experiência que o sistema de controlo leva o robô a descrever

uma sobre-elevação na resposta às mudanças bruscas de direcção da trajectória. Esta situação é

manipulável e faz parte da pretensão para este controlador em ser eficaz no seu objectivo de alcance

de uma meta, no fim da trajectória. Modificando um pouco o ganho do controlador P do Subsistema

XZ – Parte X, é possível garantir um seguimento mais próximo da trajectória para estas situações,

mas esse decréscimo da sobre-elevação será paga com um aumento do tempo de realização da

trajectória. No gráfico Velocidade versus Tempo é possível verificar que o sistema abranda

bruscamente na chegada às várias curvas do circuito, estando essa descida directamente

relacionada com o erro de orientação à trajectória. À medida que esse erro de orientação é eliminado

pelo controlador do Subsistema de Direcção o robô recupera a velocidade prosseguindo o seu

trajecto de forma autónoma e robusta, tal como desejado, enfrentado as variações da trajectória com

a tranquilidade necessária.

Page 95: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

81

Figura 7.10 – Experiência 3: Seguimento de linhas num circuito de longa distância. Altitude = 6m e Vmed ≈ 0,8m/s.

Processamento de imagem em t = 215s

Page 96: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

82

Experiência 3: Por fim efectuou-se uma última experiência de seguimento de linhas num circuito de

longa distância, com 600m de comprimento, a uma velocidade média Vmed = 0,73m/s. O dirigível é

iniciado a 6m de altura, parte da situação de repouso e está orientado segundo o sentido positivo de

x. A experiência decorre no intervalo t = [0, 860]s.

Várias perspectivas do seguimento obtido na experiência 3, tais como as Posições 3D e a

Posição/Orientação versus Tempo do dirigível podem ser observadas na Figura 7.10. A título de

exemplo, é ainda apresentada uma imagem de saída da unidade de processamento do dirigível,

retirada durante a realização da experiência, representativa da visão do robô Passarola para esta

situação de controlo. Nesta imagem, obtida no instante t = 215s, é possível observar que o dirigível

está a iniciar a terceira curva do circuito, começando já a modificar a sua orientação de acordo com a

trajectória. No gráfico de Posição 3D é bem visível o baixo erro de seguimento conseguido pelo

sistema, mesmo durante as curvas, notando-se apenas uma pequena sobre-elevação nas várias

curvas em esquadria. Toda a trajectória descrita é efectuada de uma forma suave, no entanto é

visível no gráfico Orientação versus Tempo algum ruído no sinal durante a experiência. Isto deve-se a

algumas falhas na detecção de linhas durante o processamento de imagem, devido ao ruído simulado

na imagem pelos flocos de neve, presentes na arena de simulação do USARSim, que leva o sistema

a cometer alguns erros de orientação. Este processamento de imagem, tendo um bom algoritmo de

base, funciona como esperado na correcta detecção das linhas de seguimento, levando o robô ao

seu objectivo de forma eficaz. No entanto algumas modificações deverão ser realizadas para

melhorar a sua implementação e a sua robustez, para uma maior generalidade de aplicações. Com

esta experiência é ainda possível confirmar a autonomia deste sistema de controlo aplicado no robô

Passarola, visto que o veículo executa todos os comportamentos exigidos, durante um largo intervalo

de tempo, sem necessitar qualquer apoio humano.

7.3 – Resultados no Robô Real – Passarola

Uma vez implementado, ajustado e testado todo o sistema de controlo desenvolvido neste projecto

para funcionamento no dirigível Passarola e, sabendo ainda que o controlador foi determinado e

apurado através de sistemas teóricos desenvolvidos à imagem e semelhança do protótipo real

Passarola, foi com grande segurança que se passou para o teste final do sistema de controlo no robô

real. Na verdade, verificou-se que o controlador foi entre todos os contratempos, o que menos

problemas causou durante as experiências com o robô Passarola. À excepção das assimetrias dos

actuadores verificada no robô real, as quais ainda não tinham sido compensadas nesta fase dos

testes no sistema real, todas as experiências de seguimento do robô ATRVJr e do Seguimento de

Linhas decorreram tal como em simulação, validando efectivamente as capacidades da simulação do

robô real em laboratório.

Page 97: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

83

O teste do sistema no robô real foi realizado essencialmente em duas fases, para reconhecimento

amadurecimento e execução dos processos desenvolvidos:

− Numa primeira fase foram realizadas experiências de seguimento de um objecto vermelho,

tais como uma peça de roupa vermelha ou um saco de pano vermelho, como simulação do

robô ATRVJr, para validação do processamento de imagem e validação do sistema de

controlo. Aqui verificou-se que o dirigível tem um grande momento de inércia, devido às suas

grandes dimensões e ao baixo atrito do ar, dificultando a estabilização dos movimentos

angulares e lineares. Este aspecto torna-se ainda mais complicado devido à fraca

motorização dos actuadores, embora o ambiente de testes seja também ele bastante limitado

para experiências com um dirigível como o Passarola, pois não permite muito espaço para

manobras nem utilização de velocidades elevadas. Foram realizadas experiências de

identificação dos movimentos lineares e angulares do dirigível e foram efectuadas

experiências em série, de comportamento, para construção de uma tabela de relação Duty

Cycle versus Velocidade, fornecidas no DVD em anexo, para a caracterização dos

movimentos do robô;

− Numa fase seguinte, vários melhoramentos foram efectuados no sistema, tais como a

utilização de uma nova câmara de vídeo, mais robusta às alterações de luminosidade e com

maior campo de visão, a aquisição de novas baterias e a reformulação do processamento de

imagem8 e do controlo do robô. Preparado o novo controlador PD foi testado e validado todo

o sistema de controlo desenvolvido em laboratório, através do cumprimento de várias provas

reais de seguimento. Na realização destas provas foi mesmo utilizado um robô terrestre

ATRVJr para teste da situação de Controlo 1, fornecendo-se no DVD em anexo, vários vídeos

comprovativos do funcionamento do controlo de formação do robô terrestre ATRVJr com o

robô aéreo Passarola, assim como do Seguimento de Linhas (Controlo 2).

7.3.1 – Controlo 1: Seguimento do ATRVJr

Na experiência final com o dirigível Passarola, para o Seguimento do robô ATRVJr, foi testado o

sistema de controlo no seguimento de trajectórias em forma de 8 e em forma de quadrado, tal como

foi realizado em simulação.

Pelo facto de existir alguma dificuldade em isolar no processamento de imagem, a cor vermelha do

chassis do robô ATRVJr, em contraste com a cor castanha do chão do pavilhão, e pelo facto de

existirem poucas zonas vermelhas na vista superior do robô, colocou-se um saco de pano, de cor

vermelha mais forte, em cima do robô ATRVJr, que permitiu a realização de todas as experiências de

seguimento seguintes sem que fossem criados problemas com a detecção do robô terrestre.

8 Nesta fase foi de grande importância a utilização do programa de calibração de vermelhos em UYVY, implementado em Matlab e descrito na secção tal, para ajuste do nível de vermelhos captado no ambiente de testes do pavilhão, gravando e analisando a imagem de entrada do DSP, com o ATRVJr presente na imagem.

Page 98: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

84

Durante estas últimas experiências, como ainda não tinha sido realizada uma boa compensação da

assimetria dos actuadores, por falta de oportunidade para a sua calibração em laboratório no

simulador USARSim, foi experienciada alguma dificuldade no seguimento do ATRVJr em situações

de mudanças bruscas de trajectória (trajectória em forma de Quadrado), pois o controlador não

conseguia aplicar as forças de contrabalanço solicitadas para a estabilização do veículo. Por

conseguinte, foi esta a única adversidade enfrentada na transição do controlador estudado

teoricamente para a realidade, tendo-se efectuado vários testes de seguimento bem sucedidos, que

validam todo o Sistema Autónomo de Controlo desenvolvido neste projecto, como se pode observar

na Figura 7.11 e nos filmes do «Testes Robô Passarola», adicionados ao DVD do projecto.

Figura 7.11 – Sequencia de imagens de um teste do seguimento do ATRVJr, com o robô Passarola,

numa trajectória em forma de Quadrado.

7.3.2 – Controlo 2: Seguimento de Linhas

No caso do Seguimento de Linhas, os testes foram um pouco mais simples, uma vez que as linhas

existentes no chão do pavilhão têm as formas dos vários campos de jogos, com vários cruzamentos

de linhas e com variações bruscas na sua trajectória, não se conseguindo elaborar uma boa

trajectória de seguimento, simples e completa. Usou-se então um bocado de papel de um rolo de

papel para descrever uma pequena trajectória em curva para teste do sistema, contornando assim

esta contrariedade, mas ainda assim foi verificada alguma dificuldade em manter o seguimento, pois

Page 99: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

85

existem muitas perturbações provenientes da imagem real que interferem na correcta detecção das

linhas para seguimento.

Por conseguinte, conclui-se neste caso que o processamento de imagem é um pouco lento e

necessita ainda de algumas melhorias, além de uma reformulação da sua implementação no DSP,

para que seja conseguida maior robustez na detecção de linhas em imagens reais, manipulando de

forma correcta os dados de ângulo e distância das rectas detectadas.

No entanto, conseguiu-se ainda realizar algumas experiências de seguimento de linhas que

confirmam o funcionamento do sistema autónomo no robô real e que também permitem validar a

cumplicidade entre o sistema simulado em laboratório e o robô real, resumidas na Figura 7.12 e nos

vídeos adicionados ao DVD do projecto, em anexo.

Figura 7.12 – Sequencia de imagens de um teste de Seguimento de Linhas, realizado com o robô Passarola.

Page 100: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

86

Page 101: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

87

8 Conclusões e Trabalho Futuro

8.1 – Conclusões

Terminado este projecto, é tempo agora de avaliar as contribuições propiciadas e fornecer um

resumo das metas alcançadas. Consequentemente também são realizadas algumas críticas às

opções de projecto tomadas e são esboçadas algumas orientações para os trabalhos futuros como

continuidade para este projecto.

Antes de mais, pessoalmente, este projecto deu uma grande satisfação em realizar pois viu-se nascer

a partir de quase nada, um dirigível autónomo, com todos os desafios que isto proporciona. Permitiu

também que fosse estendido o conhecimento já adquirido durante o curso sobre a prática de

engenharia, no que diz respeito à busca constante de soluções para os vários problemas que

surgem, facultando uma forte experiência no desenvolvimento e controlo de sistemas e na

manipulação de ferramentas e de meios para a satisfação dos objectivos pretendidos.

No desenrolar do projecto foi necessária a familiarização com várias ferramentas de software e de

hardware para o desenvolvimento de soluções para o sistema de controlo, tais como Matlab,

VisualDSP++ e DSP, AutoCad, 3DSMax, UnrealEd, USARSim, LabView e ADC, Software GPSolution

e GPS, entre outros, tendo sido desenvolvido um sistema complexo de teste e desenvolvimento para

que fossem atingidos os fins deste projecto.

Foi resolvida a dinâmica do robô Passarola com base no conhecimento descrito no livro de Thor

Fossen [2], corrigindo-se e aperfeiçoando-se o estudo já realizado em [3]. Foi também realizada a

identificação e determinação dos sistemas que descrevem o movimento do dirigível Passarola, com a

realização de experiências no próprio robô, permitindo a construção de um simulador matemático do

robô em Simulink, através da implementação do modelo em espaço de estados da dinâmica do

dirigível. Para o controlo dos Subsistemas deste modelo foi estudada a construção de controladores

PD, pesquisando-se e desenvolvendo-se métodos de análise e de ajuste dos parâmetros de controlo,

com base no esquema de controlo implementado, retirando-se do processamento de imagem os

vectores de erro necessários para o cálculo do seguimento.

Na base deste projecto vem uma das principais contribuições conseguidas com este trabalho, que diz

respeito à construção do modelo Passarola em USARSim, simulador 3D realista em forte

desenvolvimento, tendo-se expandido as capacidades do simulador com a introdução de uma nova

classe de robôs, os dirigíveis (Blimps), na qual o Passarola é pioneiro. A partir deste modelo,

construído à imagem e semelhança do dirigível Passarola, foi possível criar uma poderosa ferramenta

Page 102: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

88

de desenvolvimento do Sistema Autónomo de Controlo do robô Passarola em laboratório, com a

garantia de que a posterior passagem do controlador para o robô real é quase directa. Nesta linha de

pensamento, foi construído em laboratório um cómodo sistema de desenvolvimento e simulação de

controlo baseado no computador de bordo do Passarola e no simulador USARSim, reproduzindo em

simultâneo durante a simulação, se necessário, todos os sinais de controlo nos actuadores reais do

dirigível, comprovando a generalidade do sistema construído.

A comunicação do sistema de controlo real, implementado no DSP, com o simulador USARSim foi

conseguida com recurso à utilização de ferramentas de instrumentação e medidas, tirando partido da

excelente funcionalidade do simulador USARSim de comunicação em rede por ligação TCP/IP. Esta

comunicação foi uma aposta notável para a investigação deste projecto, pois permitiu no momento

certo uma utilização eficiente dos meios adequados para o rápido desenvolvimento do sistema.

Também a escolha da placa de processamento (ADSP BF561) foi uma excelente aposta, pois por

todas a suas características de peso, tamanho, entradas e saídas de áudio e vídeo analógico em

número e formato perfeito, pushbuttons, projectos de exemplo e ainda o dual core, permitiram que

todas as questões levantadas durante o desenvolvimento do projecto fossem eficazmente

solucionadas com as capacidades desta placa. Além disso permite o cálculo pesado do

processamento de imagem, de controlo e de actuação dos motores do dirigível em tempo real,

satisfazendo correctamente as ambições propostas.

Como se esperava, o dirigível revelou ser um sistema de difícil controlo derivado ao seu baixo peso e

elevado volume, experimentando pouco atrito e um elevado momento de inércia, mesmo em

pequenos movimentos, levando muito tempo a estabilizar. No entanto foi conseguido o seu controlo

através do Sistema Autónomo de Controlo desenvolvido neste projecto para o seguimento do ATRVJr

e para o Seguimento de Linhas, tanto em simulação como na realidade, executando todo o tipo de

trajectórias pretendidas, cumprindo os objectivos do projecto. Apenas no caso do Seguimento de

Linhas, na realidade, foi verificada alguma dificuldade em seguir apenas a trajectória pretendida, pelo

que ainda é necessário rever algumas partes do processamento de imagem para este programa.

Em relação aos problemas experimentados durante a passagem do sistema para o robô Passarola,

de acordo com os problemas comuns aos sistemas reais, verificou-se a existência de contratempos a

nível de baterias, maus contactos, excesso de carga no dirigível, reajustes do ponto de equilíbrio do

balão, fixação das gôndolas e da câmara no corpo do veículo e a constante re-programação do DSP

para realização de alterações no código do programa de controlo, não se verificando problemas de

maior com o controlo do veículo em si, tal como esperado. No Sistema Autónomo de Controlo apenas

foram verificados problemas a nível do processamento de imagem, devido a dificuldades de detecção

de vermelhos em contraste com o chão castanho do pavilhão e com as linhas cor-de-laranja das

marcações dos campos. Também as variações de luminosidade causaram problemas durante a

realização dos testes, pois impediam o ajuste duradouro dos parâmetros de detecção de vermelhos

na imagem, não sendo possível manter fixas as condições de luz durante as experiências.

Em conclusão, é possível afirmar que foram atingidos com sucesso praticamente todos os objectivos

propostos para este projecto, tendo-se acumulado muitos conhecimentos sobre o robô Passarola, a

Page 103: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

89

nível físico e a nível de controlo, que irão com certeza ajudar nos desenvolvimentos futuros do

projecto, para além da construção de um sistema de suporte à investigação de controlo de dirigíveis,

intuitivo e eficaz.

A excepção desta conclusão reside na não inclusão do GSP no sistema de controlo, uma vez que o

dirigível Passarola não é aconselhado para utilizações outdoor, ficando apenas completo o estudo da

comunicação com o dispositivo GSP, deixando-se a sua inclusão na malha de controlo e a

implementação no sistema real como melhoramento do projecto em trabalhos futuros.

8.2 – Trabalho Futuro

Para que no futuro este projecto possa valorizar e progredir terá agora que ser equacionada a

aquisição de um dirigível de maiores dimensões e, em consequência, com motores mais potentes e

velozes, para a sua utilização no exterior, de modo a suportar com maior facilidade as perturbações

externas, tais como o vento. A oportunidade de transitar o dirigível para o exterior permite a inclusão

de um GPS a bordo, possibilitando a programação de rotas num sistema de coordenadas fiável e

global prestando auxílio na sua navegação. Por outro lado um dirigível de maiores dimensões

aumenta a sua capacidade de carga podendo-se incluir novas unidades de processamento mais

poderosas, novos sensores e transmissores de dados para comunicação com estações de base e

ainda com os restantes robôs da formação, trocando mensagens relevantes para a missão, tais como

melhores trajectórias, mapas topológicos, missões, entre outros.

Na continuação do presente projecto deverá ser considerada a aquisição de um sensor de altitude

para a implementação do controlo do Subsistema XZ – Parte Z, permitindo a realimentação da

posição z do sistema utilizando um altímetro ou um género de sonar, ou ainda a informação de

posição de um sistema GPS. Em qualquer dos casos deve ser tipo em conta o peso do sensor para

não exceder o limite de peso para o dirigível Passarola. Deverá ainda ser feito um melhoramento no

processamento de imagem no projecto do Seguimento de Linhas, de modo a garantir que a detecção

de linhas não sofre perturbações durante o seguimento e que é sempre escolhida a trajectória

desejada tendo em consideração a continuidade do movimento do sistema, isto é, entre instantes

contíguos deverão manter-se valores iguais/semelhantes de distancia e ângulo da recta da trajectória.

Poderá também considerar-se a junção dos dois projectos desenvolvidos de forma a que se possa

alterar online o seguimento de veículos terrestres ou de linhas captadas no solo, consoante se

necessite.

De forma a aumentar a autonomia do dirigível é também possível considerar a inclusão de painéis

solares no corpo do dirigível, podendo revestir-se parte do envelope do veículo, de forma a gerar

energia durante o voo aumentando a autonomia do sistema.

Page 104: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

90

Page 105: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

91

Bibliografia

[1] FOSSEN, I. Thor – Guidance and control of ocean vehicles : Jonh Wiley & Sons, 1994.

[2] FOSSEN, I. Thor – Marine control systems guidance, navigation, and th e control of ships,

rigs and underwater vehicles . Trondheim: Marine Cybernetics, 2002.

[3] COSTAL, João – Formação de robot aéreos e terrestres . Lisboa: Instituto Superior Técnico,

Projecto Aeroespacial de LEA. 2004.

[4] JERÓNIMO, David – Passarola – Dirigível autónomo para operações de bu sca e

salvamento – Parte electrónica . Tese de Mestrado. Lisboa: Instituto Superior Técnico, 2008.

[5] KRAUSE, Thomas – Description of an aerial robot and the position con trol library . Tese de

Mestrado. Lisboa: Instituto Superior Técnico, 2004.

[6] METELO, Filipe; CAMPOS, Luís – Vision based control of an autonomus blimp

(videoblimp) . Trabalho Final de Curso. Lisboa: Instituto Superior Técnico, 2003.

[7] MARQUES, João; NEVES, Marco – Vision based control of an autonomous blimp

(videoblimp) . Trabalho Final de Curso. Lisboa: Instituto Superior Técnico. 2006.

[8] ZWAAN, Sjoerd Van Der – Vision based station keeping and docking for floating robo ts .

Tese de Mestrado. Lisboa: Instituto Superior Técnico. 2001.

[9] LIMA, Pedro; et al – Rescue - cooperative navigation for rescue robots. Final Technical

Report . Lisboa: Instituto Superior Técnico- Instituto de Sistemas e Robótica. 2004.

[10] FIERRO, R.; et al – Hibrid control of formations of robots . Philadelphia: GRASP Laboratory,

University of Pennsylvania.

[11] FIERRO, R.; et al – Cooperative localization and control for multi-robo t manipulation .

Philadelphia: GRASP Laboratory, University of Pennsylvania.

[12] FERREIRA, Victoria R.C. – Identificação de parâmetros da dinâmica do dirigíve l Aurora

AS800. Tese de Mestrado. Lisboa: Instituto Superior Técnico. 2004.

[13] LEMOS, J. Miranda – Controlo em espaço de estados (Notas das aulas teóricas). Unidade

Curricular de CEE, leccionada no Instituto Superior Técnico (IST) em 2001/2002, Lisboa, 2001.

Page 106: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

92

[14] SEQUEIRA, J. – Robótica (Transparências das Aulas Teóricas), Unidade Curricular de

Robótica, leccionada no IST em 2006/2007. Lisboa, 2006.

[15] RIBEIRO, Maria I.; LIMA, Pedro – Guidance methods for wheeled mobile robots

(Transparências das Aulas Teóricas). Unidade Curricular de Robótica, leccionada no IST em

2002/2003. Lisboa, 2002.

[16] BERNARBINO, Alexandre; GASPAR, José – Real-Time Distributed Control Systems

(Transparências das Aulas Teóricas). Unidade Curricular de SCDTR, leccionada no IST em

2007/2008. Lisboa, 2002.

[17] BERNARBINO, Alexandre – Modelação, Identificação e Controlo Digital (Transparências das

Aulas Teóricas). Unidade Curricular de MICD, leccionada no IST em 2006/2007. Lisboa, 2006.

[18] RIBEIRO, Maria I.; PASCOAL, António – Controlo – Transparências de apoio às aulas teóricas.

Unidade Curricular de Controlo, leccionada no IST em 2003/2004. Lisboa, 2003.

[19] SLOTINE, Jean-Jacques E.; LI, Weiping – Applied non-linear control . New Jersey: Prentice

Hall Inc., 1991.

[20] ASTRÖM, Karl J.; WITTENMARK, Bjorn – Computer controlled systems: theory and design .

London: Prentice-Hall International Editions,1984.

[21] SANTOS, José dos; SILVA, Paulo – Centauro, veículo autónomo com sistema de condução

automática versátil . Lisboa: Instituto Superior Técnico, 1997.

[22] LACROIX, S; et al – The autonomous blimp project of LAAS-CNRS: achievem ents in flight

control and terrain mapping . Toulouse: LAAS/CNRS.

[23] ZARATTI, M.; FRATARCANGELI, M.; LOCCHI, L. – A 3D simulator of multiple legged robots

based on USARSim . Roma: Università “La Sapienza”.

[24] MORI, S.; et all – Path tracking control of mobile robots using a quad ratic curve. Tokyo:

University of Tokyo and Fuji Electric Corporate Research and Development, Ltd.

[25] IdMind - Engenharia de Sistemas, Lda – Blimp Zepper 40, with bubble shape for extra lift,

Functional Report . Lisboa: 2002.

[26] Analog Devices, Inc. – VisualDSP++ 4.0, linker and utilities manual. revis ion 2.0 . USA: April

2006.

[27] Analog Devices, Inc. – ADSP-BF561 Blackfin Processor Hardware Reference. R evision 1.1 .

USA: February 2007.

Page 107: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

93

[28] Analog Devices, Inc. – Blackfin Embedded Symmetric Multiprocessor (DataShe et). USA,

2006.

[29] Manual do USARSim – USARsim-manual_3.1.1.pdf – Prepared by Jijun Wang, Edited by

Stephen Balakirsky. USARSim V 3.1.1, A game-based simulation of mobile robots. 2007;

Web Sites: [30] Site do projecto RESCUE: http://rescue.isr.ist.utl.pt/

[31] Site de apoio aos formatos de imagem: http://www.fourcc.org/yuv.php#UYVY

[32] Site comunidade USARSim: http://sourceforge.net/projects/usarsim

[33] Site National Institute of Standards and Technology: http://www.nist.gov/

[34] Site Unreal Wiki: http://wiki.beyondunreal.com/wiki/Karma

[35] Site da plataforma de comunicação com o UT2004: http://www.planetunreal.com/gamebots/

[36] Site do unreal engine 2, motor do UT004: http://udn.epicgames.com/Two/WebHome.html

[37] Fórum de ajuda ao USARSim: http://sourceforge.net/forum/forum.php?forum_id=486389

[38] Suporte à utilização do motor KARMA: http://udn.epicgames.com/Two/KarmaReference.html

[39] UnrealEd – Importar objectos: http://udn.epicgames.com/Two/ImportingKarmaActors.html

[40] Física no motor de jogo do UT2004: http://udn.epicgames.com/Two/CollisionTutorial.html

[41] UT2004 – Física do jogo: http://udn.epicgames.com/Two/StaticMeshCollisionReference.html

[42] Ex. animação física: http://udn.epicgames.com/Two/ExampleMapsKarmaColosseum.html

[43] Aplicação gráfica 3D Studio Max 9.0 (versão trial de 30 dias de utilização):

http://usa.autodesk.com/adsk/servlet/mform?id=10083915&siteID=123112

[44] Site de suporte à conversão CAD-Unreal: http://udn.epicgames.com/Two/CADtoUnreal.html

[45] UnrealEd: Construção de mapas: http://wiki.beyondunreal.com/wiki/Mapping_Lessons

[46] Edição gráfica em 3DSMAX: http://wiki.beyondunreal.com/wiki/3D_Studio_Max

[47] USARSim e relatórios de testes: http://digilander.libero.it/windflow/eng/reports.htm

Page 108: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

94

Page 109: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

95

Anexos A (Cálculos Auxiliares)

Page 110: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

96

A.1 – Cálculos do Modelo da Dinâmica do Passarola

A.1.1 - Determinação dos coeficientes do Modelo da Dinâmica

Será agora repetida a determinação dos coeficientes do modelo da dinâmica do Passarola, já

efectuada no projecto anterior [3], por se ter alterado o sistema inicial do robô Passarola e também

por questões de correcção de alguns cálculos anteriormente realizados nesta secção.

Se se assumir, por simplificação, tal como realizado no projecto anterior [3], que o dirigível pode ser

aproximado por um elipsóide/esferóide, deve escolher-se os valores do semi-eixo maior de

comprimento a e semi-eixo menor de comprimento b de maneira a que o volume ocupado pelo

elipsóide seja igual ao volume do dirigível. Sabendo pelas especificações do dirigível [25] que o seu

volume VP = 5,5 m3 e sabendo que o volume Ve de um elipsóide é dado por:

2..3

4baPIVe = ,

pode escolher-se a = 3.25/2m e b = 1.8/2m tal que o volume do elipsóide Ve = 5,5135m3, cuja forma

se encontra representada à escala na Figura A.1.

Figura A.1 – Aproximação da forma do dirigível Passarola a um elipsóide com igual volume.

Comece-se então por determinar os termos de massa virtuais M A (2.19) utilizando as fórmulas

mencionadas em [3], dadas por:

−++−−−

−==

=−

−==

−−=

))(()(2

))((

5

1

0

2

2

002222

0022

0

0

0

0

αββα

ββ

αα

abab

abNM

K

mZY

mX

zy

x

zy

x

&&

&

&&

&

, (A.2)

(A.1)

Page 111: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

97

onde m é a massa do veículo, agora obtida pela lei de Arquimedes9, partindo do principio que o

dirigível se encontra a pairar no ar, em equilíbrio de forças (fg = fb):

KgmKgmVm arP 15,7.2928.15,5 33 =×=×= −ρ ,

em que arρ é a massa volúmica do ar seco (PTN) e VP é igual ao volume de ar deslocado pelo

dirigível. As constantes 0α e 0β são parâmetros característicos do elipsóide e são dados por:

−=

−+−−=

−+−=

2

3

2

20

3

2

0

1

1

1ln

2

11

1

1ln

2

1)1(2

a

be

e

e

e

e

e

ee

e

e

e

β

α

.

Resolvendo as equações agora mencionadas são obtidos os valores para os termos de massa

virtuais, apresentados na Tabela A.1:

Tabela A.1 – Valores dos termos de massa virtuais e valores intermédios.

Parâmetro Valor

Xx 2,3947

Yy 4,2818

Zz 4,2818

Kx 0

My 0,4221

Nz 0,4221

a 1,625

b 0,9

e 0,6933

αααα0 0,5018

ββββ0 0,7491

Para a determinação da matriz de inércia I do veículo , sendo o robô constituído por três partes:

balão + gôndola dos motores (gM) + gôndola do controlador (gC), é também necessária a divisão do

cálculo em três partes correspondentes, onde se determina a matriz de inércia de cada elemento,

descrito no referencial do seu próprio corpo, e só depois, com base nas relações entre os

referenciais, se referem os seus valores no referencial do veículo b, através da aplicação da método

9 A lei de Arquimedes diz: Todo o corpo mergulhado total ou parcialmente num fluido recebe, da parte deste, uma impulsão vertical, de baixo para cima, de intensidade igual à do peso do volume de fluido deslocado pelo corpo.

(A.3)

(A.4)

Page 112: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

98

oportuno dado pela fórmula de Steiner. Por último somando-se todas as matrizes obtidas, obtendo-se

a matriz de inércia final do dirigível Passarola.

Sejam agora calculados os termos da matriz de inércia do veículo. A matriz de inércia do balão em

relação ao seu centro de massa, que neste caso coincide com o centro geométrico do elipsóide, é

dada por:

=

zz

yy

xx

b

I

I

I

I

00

00

00

, onde

+=

+=

=

)(.154

)(.154

.158

222

222

4

babaI

babaI

baI

balãozz

balãoyy

balãoxx

πρ

πρ

πρ

.

Sabendo que a massa do balão (aproximado a um elipsóide) mb é dada por:

2.3

4bam balãob πρ=

e conhecendo-se o valor de mb, dado pela diferença entre o peso total do veículo m e o peso das

duas gôndolas Mgm e

Cgm a bordo do dirigível:

KgmmmmCM ggb 65,2)5,4(15,7)( =−=+−= ,

pode calcular-se o valor da densidade do balão balãoρ , obtendo-se por fim, para a matriz de inércia

do balão, os valores da Tabela A.2:

Tabela A.2 – Valores da matriz de inércia do balão do dirigível Passarola.

Parâmetro Valor (Kg)

Ixx 0,8586

Iyy 1,8288

Izz 1,8288

ρρρρbalão 0,4807Kg.m-3

Para cada uma das gôndolas, tendo estas a forma de um paralelepípedo, dadas as suas dimensões

por a x b x c e a sua massa por mg, a sua matriz de inércia é dada por:

=

zz

yy

xx

g

I

I

I

I

00

00

00

, onde

+=

+=

+=

)(121

)(121

)(121

22

22

22

camI

cbmI

bamI

gzz

gyy

gxx

.

(A.5)

(A.6)

(A.7)

(A.8)

Page 113: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

99

Sabendo que KgmmCM gg 25,225,4 === de maneira a que o dirigível se encontra equilibrado, e

conhecidas a dimensões da gôndolaM – 0,15 x 0,15 x 0,40 (m) e da gôndolaC – 0,22 x 0,1 x 0,22 (m),

obtiveram-se a matrizes de inércia correspondentes, descritas na Tabela A.3:

Tabela A.3 – Valores da matriz de inércia das gôndolas do dirigível Passarola.

Parâmetro Valor (Kg)

Ixx 0,00844

Iyy 0,03422 Gôndola dos

motores Izz 0,03422

Ixx 0,01095

Iyy 0,01095 Gôndola do

controlador Izz 0,01815

Determinadas as matrizes de inércia dos três elementos, no referencial do próprio corpo, são agora

obtidas as matrizes correspondentes no referencial do corpo do veículo b, utilizando a fórmula de

Stainer:

)( 33xCO IrrrrmII ΤΤ −−= ,

onde IO representa a matriz de inércia do veículo, em relação ao seu referencial de corpo b, IC

representa a matriz de inércia do corpo em relação ao seu centro de massa, r é o vector que une o

centro de massa do corpo ao referencial b, em coordenadas deste último, e I3x3 é a matriz

identidade. Para a conclusão deste cálculo, é ainda necessário conhecer a localização do referencial

b no corpo do dirigível, tendo-se para tal, que se recorrer ao cálculo auxiliar da posição do centro de

massa do veículo. Considere-se a Figura A.2:

Figura A.2 – Esquema com as relações entre as posições dos referenciais do dirigível Passarola.

Sabendo que a massa total do veículo é 7,15Kg e que a massa das gôndolas é 4,5Kg, onde d3 = d4 e

CM gg mm = , pode escrever-se que:

)( 211 ddm

mmd CM gg +

+= .

(A.9)

(A.10)

Page 114: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

100

Como o valor de d1 + d2 é conhecido e é igual a 1,0m, pode-se calcular o valor da posição do centro

de gravidade do Passarola, em relação ao centro do balão, concluindo-se que:

..63,01 GCmd ==

Conhecidos também os valores d3 = 0,6m e d4 = -0,6m, para o cálculo de r, calculadas e somadas as

novas matrizes de inércia no referencial b, obtém-se:

=8288,100

08806,20

009104,1

ObI

−=

8442,004995,0

01522,10

4995,003165,0

MOgI ;

=8281,004995,0

01290,10

4995,003190,0

COgI

Por fim, para a matriz de inércia total I, obteve-se:

5012,3;1618,5;5458,2diagIIII

CM OgOgOb =++=

Escrevendo agora, de forma explícita, a matriz de inércia do sistema M na sua forma final, com a

adição dos termos de massa virtuais, obtém-se:

9233,35839,5;5458,2;4318,11;4318,11;5447,9diagM = .

A matriz de amortecimento aerodinâmico linear D , não foi recalculada neste projecto, por se tratar

de um processo moroso e de alguma complexidade, e por não se ter considerado urgente a

realização da sua correcção, mantendo-se por isso os valores determinados em [3].

09,0;3,0;1,0;78,0;78,0;1904,0diagD =

Para a determinação da matriz de forças de restituição G , tendo sido calculado a posição do centro

de massa do dirigível por (A.11) sabe-se que zb = -0.63m, sabendo que o seu peso é dado por (A.3),

e usando g = 9,8m.s-2 para o valor da aceleração da gravidade, pode escrever-se de forma explicita:

0,14,44,14,44,0,0,0 −−= diagG

(A.11)

(A.12)

(A.13)

(A.14)

(A.15)

(A.16)

Page 115: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

101

Por fim calcula-se a matriz B com recurso à medição da localização dos actuadores em relação ao

referencial do corpo do veículo b, onde XMD = 0,7m, XMT = -1,6m, ZMD = 0,4m e ZMT = 0m,

obtendo-se:

−−

=

06,10

7,004,0

000

100

000

001

B

A.1.2 – Correcção dos coeficientes da matriz D e M

Com base nos dados experimentais obtidos na Secção 3.2 e conhecendo as expressões dos

coeficientes da matriz A e b, apresentadas no capitulo 2, é possível escrever o sistema de equações

(A.18) e (A.19) e corrigir por conseguinte alguns dos parâmetros mais importantes da matriz D e da

matriz M, anteriormente determinados na Secção A.1.1:

=−−=

=−

−−=−⇔

−=

−−

−=−⇔

−=

−−

−=

)3(33,13

)3(33,1

075,0

1).(075,01,0

1075,0

).(1

1,0

1

).(1

1,7

7,7

u

u

u

u

u

uu

u

uu

Xm

DXm

D

Xm

DXm

Xmb

DXm

a

&&

&

&

&

&

=−−=

−=−

−−=−⇔

−−=−

−−

−=−⇔

−=

−−

−=

6,12

78,3

119,0

5,1).(119,03,0

5,1119,0

).(1

3,0

1

).(1

2,12

12,12

ν

ν

ν

ν

ν

νν

ν

νν

&&

&

&

&

&

Ym

DYm

D

Ym

DYm

Ymb

DYm

a

Tabela A.4 – Valores dos coeficientes das matrizes D e M.

Du -1,33(3)

Dv -3,78

m-Xu 13,33(3)

m-Yv 12,6 Se considerarmos ainda que a massa do dirigível, dada por (A.3), é m = 7,15Kg, pode-se ainda

determinar os respectivos coeficientes da matriz de massas virtual MA, concluindo-se que:

KgXu 18,65,7)3(33,13 =−=&

KgYv 45,515,76,12 =−=& .

(A.17)

(A.18)

(A.19)

(A.20)

(A.21)

Page 116: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

102

A.2 – Validação do Modelo Teórico da Dinâmica

Tendo em vista a obrigatória concordância entre a resposta do modelo teórico e a resposta do

modelo real do robô Passarola, foram efectuados alguns testes em Matlab ao modelo matemático

deduzido no Capítulo 2, numa fase prévia à construção do simulador Matlab apresentado no

Capítulo 5. Aqui, foi verificada a congruência de movimentos deste modelo em relação ao modelo

real, aquando da aplicação de primitivas simples na entrada do sistema (correspondente aos

actuadores do robô real), concluindo-se sobre a veracidade das respostas/modelo apresentadas com

base no conhecimento do comportamento real do dirigível Passarola. No diagrama de blocos da

Figura A.3 apresenta-se o esquema simulink utilizado nos testes do modelo do Passarola.

Figura A.3 – Diagrama de blocos simulink utilizado no teste do modelo matemático da dinâmica do Passarola.

Atribuindo ao modelo uma orientação inicial igual a 45º e partindo da situação de repouso, na posição

(0,0) do referencial do mundo f, foi obtida a resposta do sistema da Figura A.4 b), após aplicação dos

sinais de entrada da Figura A.4 a) no sistema da Figura A.3.

Figura A.4 – Teste 1 ao comportamento do modelo teórico: a) Entrada do sistema; b) Saída do sistema.

Modelo Teórico do Passarola

a) b)

Forças aplicadas versus Tempo

(m)

(m)

Page 117: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

103

Neste primeiro teste é possível concluir que o movimento observado na saída do sistema está de

acordo com o resultado esperado para o robô real, no caso da aplicação de iguais forças nos

actuadores do mesmo. Inicialmente é observado um movimento rectilíneo com aproximadamente

10m de comprimento, com o sentido e direcção inicial aplicados no modelo, resultado da aplicação

isolada da força X de valor 1N, durante o intervalo t = [0, 20]s, sendo esta atitude coerente com a

realidade. Após este primeiro movimento é observado um segundo movimento circular no sentido

inverso, segundo f, resultado da aplicação do escalão 0,8N em FMT (motor traseiro) em t = 20s,

produzindo-se um binário no robô em torno do eixo dos zz, que o leva a descrever continuamente

uma trajectória circular até t = 60s. Neste segundo movimento é também possível verificar a

coerência de comportamentos entre o robô real e o seu modelo, embora aqui se possa realçar que a

nobreza dos comportamentos do modelo não corresponde à realidade uma vez que o robô real

possui assimetrias inerentes à sua construção física, que o impossibilita de descrever o movimento

circular perfeito sem que seja aplicado controlo nos sinais de entrada.

Num segundo teste foi realizada a experiência oposta do teste anterior, para verificação do efeito do

binário no modelo teórico, em comparação com o comportamento real. A orientação inicial aplicada

no modelo foi 45º e fez-se iniciar o sistema no ponto (0,0) de f, partindo da situação de repouso.

Após a aplicação dos sinais da Figura A.5 a) foi obtida a resposta da Figura A.5 b).

Figura A.5 – Teste 2 ao comportamento do modelo teórico: a) Entrada do sistema; b) Saída do sistema.

Neste segundo teste fica confirmada a validade do modelo uma vez que o movimento observado na

saída do modelo corresponde em definitivo ao comportamento real observado no dirigível Passarola.

Aplicada uma força de valor constante no actuador traseiro, é gerado um binário no dirigível em torno

do seu centro de massa, ficando o dirigível a girar sobre si próprio. Nesta situação, como foi aplicada

uma pequena força X no modelo, para que este movimento fosse perceptível, era esperado que o

movimento produzido fosse um pequeno movimento circular em torno da origem do referencial, tal

como é apresentado pela Figura A.5. Em t = 35s, sendo retirada a força responsável pela produção

do binário no modelo, é iniciado um movimento rectilíneo tal como esperado, fazendo-se notar a zona

de transição entre os movimentos, onde bem visível a simulação do efeito da inércia do robô.

a) b)

(m)

(m)

Page 118: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

104

A.3 – Identificação de Sistemas no Passarola

Subsistema XZ – Parte X

Para a realização da identificação do Subsistema XZ – Parte X foi programado na unidade de

controlo do robô a aplicação de uma força constante de 2N nos motores de propulsão, com um sinal

PWM de duty cycle = 8,0%. Fez-se iniciar a experiência com o dirigível em repouso e obteve-se a

sequência de imagens (capturada a partir de uma máquina de filmar doméstica a bordo do Passarola)

resumida na Figura A.6.

Figura A.6 – Imagens do vídeo de identificação do Subsistema XZ – Parte X.

Sabendo as dimensões dos tacos de madeira do chão do pavilhão e sabendo as distâncias entre as

linhas dos campos (Figura A.9), foi possível construir um mapa de distâncias (descritas em f) para a

sequência de imagens capturada (pseudo-calibração da câmara), permitindo o cálculo da localização

do Passarola em cada imagem do vídeo. Analisadas, em Matlab, todas as imagens do vídeo de

identificação, foi possível traçar um gráfico Posição versus Tempo para o movimento descrito pelo

Passarola, tal como é apresentado na Secção 3.2.

Page 119: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

105

Subsistema de Direcção

No caso da identificação do Subsistema de Direcção foi aplicada uma força constante de -2N no

motor de rotação, programado na unidade de controlo do robô com um sinal PWM com duty

cycle = 9,0%. O dirigível partiu da situação de repouso tendo sido capturado o vídeo resumido na

Figura A.6 (capturado a partir de uma máquina de filmar doméstica colocado a bordo do Passarola).

Figura A.7 – Imagens do vídeo de identificação do Subsistema de Direcção.

Analisadas em Matlab imagem a imagem do vídeo de identificação, foi possível traçar um gráfico

Orientação vs Tempo do movimento descrito pelo Passarola, apresentado na Secção 3.2, a partir do

cálculo da orientação temporal dos tacos do chão do pavilhão, com recurso à técnica da Figura A.8.

Figura A.8 – Técnica de medição do movimento angular o dirigível a partir de uma imagem do chão do pavilhão. y (pixels)

X(p

ixel

s)

Page 120: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

106

A.4 – Construção das Tabelas Duty Cycle - Velocidade

Em seguida é apresentado o método construção das tabelas de conversão das unidades de controlo,

com base nos testes de aceleração e rotação do dirigível, gravados em vídeo (anexados em DVD):

Tabela A.5 – Análise dos vídeos de testes para a construção da tabela Duty Cyle – Velocidade Linear.

Nome Ficheiro duty cycle (10x%) Ti (s) Tf(s) ∆∆∆∆T(s)

Dist. precorrida entre linhas (m) V (m/s) Vmédia(m/s)

(…)34_50f.mov 50 35,53 50,53 15 azul 2 - branca 5 -14 -0,93 -1,01

(…)35_50f.mov 50 43,87 56,73 12,86 azul 2 - branca 5 -14 -1,09

(…)32_60f.mov 60 15,67 37,27 21,6 branca 2 - branca 5 -12 -0,56 -0,62

(…)33_60f.mov 60 32,53 44,27 11,74 branca 4 - azul 2 -8 -0,68

(…)36_77f.mov 77 30,73 44,2 13,47 azul 2 - branca 5 14 1,04 1,03

(…)36_77f.mov 77 37,07 48,93 11,86 branca 4 - branca 1 12 1,01

(…)16_80f.mov 80 56,6 67,13 10,53 branca 4 - azul 1 14 1,33 1,26

(…)17_80f.mov 80 31,6 43,27 11,67 azul 2 - branca 5 14 1,20

(…)38_82f.mov 82 31,6 40,93 9,33 azul 2 - branca 5 14 1,50 1,47

(…)38_82f.mov 82 18,33 28 9,67 branca 4 - azul 1 14 1,45

(…)28_88f.mov 88 30,93 38,27 7,34 azul 2 - branca 5 14 1,91 1,90

(…)28_88f.mov 88 50,53 57,93 7,4 branca 4 - azul 1 14 1,89

(…)31_95f.mov 95 56,27 62,4 6,13 azul 2 - branca 5 14 2,28 2,33

(…)31_95f.mov 95 33 38,87 5,87 branca 4 - azul 1 14 2,39

Tabela A.6 – Análise dos vídeos de testes para a construção da tabela Duty Cyle – Velocidade Angular.

Nome Ficheiro duty cycle (10x%) Ti (s) Tf (s) ∆∆∆∆T(s) Rotação (rad) V(rad/s) Vmédia(rad/s)

_dvcr066.mpg 60 50,56 65,08 14,52 -4PI -12,57 -0,87 -0,86

_dvcr066.mpg 60 52,37 59,66 7,29 -2PI -6,28 -0,86

(…)22_65r.mov 65 58 64,73 6,73 -3PI/2 -4,71 -0,70 -0,68

(…)22_65r.mov 65 40,2 47,4 7,2 -3PI/2 -4,71 -0,65

(…)23_70r.mov 70 47,13 61,33 14,2 -2PI -6,28 -0,44 -0,42

(…)23_70r.mov 70 14,13 21,93 7,8 -3PI/2 -3,14 -0,40

(…)24_77r.mov 77 23,33 48,4 25,07 5PI/2 7,85 0,31 0,31

(…)24_77r.mov 77 10,4 30,87 20,47 2PI 6,28 0,31

(…)21_84r.mov 84 10,67 16,2 5,53 PI 3,14 0,57 0,56

(…)21_84r.mov 84 59 64,73 5,73 PI 3,14 0,55

(…)25_90r.mov 90 16,07 25,2 9,13 2PI 6,28 0,69 0,71

(…)26_90r.mov 90 29,93 38,53 8,6 2PI 6,28 0,73

Figura A.9 – Dimensões das linhas dos campos do pavilhão de testes. Técnica de medição do movimento linear.

Page 121: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

107

Anexos B (USARSim)

Page 122: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

108

B.1 – Introdução ao USARSim

No desenvolvimento de aplicações robóticas, a simulação digital dos robôs reais, dos seus

comportamentos, complexos na sua maioria e de cenários de teste, pode ser considerada como uma

das partes determinantes do projecto de controlo, sendo em muitos casos essencial para a sua

manutenção, uma vez que pode tornar-se excessivamente trabalhoso fazer todo o desenvolvimento

da aplicação de controlo e de comportamentos, no robô real, com todas as dificuldades que os

sistemas reais acrescem (baterias, espaço necessário, comunicações, condições ambientais, etc).

Deste modo um simulador, mais simples e portátil, construído com base numa representação fiel dos

comportamentos do robô real, permite oferecer ao investigador um prático sistema de estudo, para

um rápido desenvolvimento de protótipos, assumindo o importante papel de ferramenta de teste e de

debug para várias tarefas de alto-nivel, à semelhança do que o robô real faria num ambiente real,

lançando por fim, o projecto para a etapa final de desenvolvimento (implementação no robô) com

maior segurança de sucesso, ficando a pequenos passos de ser finalizada, ou aperfeiçoada.

Neste caso, sabendo que um dirigível é um robô volumoso, com muitas condicionantes de utilização,

com uma dinâmica complexa não-linear e com um ambiente de teste distinto, foi importante realizar

uma escolha consciente para um simulador 3D, para desenvolvimento do controlo do robô em estudo.

Exige-se, por conseguinte, que se encontre um simulador 3D realista, com capacidades para simular

a dinâmica correcta dos robôs e dos objectos do meio ambiente, baseado em modelos físicos, para a

correcta avaliação dos seus comportamentos, representando a interacção entre estes e o meio

circundante o mais próximo possível da realidade e em tempo real.

USARSim (Urban Search and Rescue Simulator) [32] é um simulador robótico baseado no motor de

jogo comercial Unreal Engine [36], aplicado no conhecido jogo Unreal Tournment 2004 (multiplayer

combat-oriented first-person shooter) da EpicGames. Neste simulador foram já construídas várias

arenas de teste para novos robôs, criadas pela National Institute of Standards and Technology (NIST)

[33] assim como vários robôs orientados para tarefas de busca e salvamento em meios urbanos

(USAR - Urban Search & Rescue). Aqui, várias questões relacionadas com a modelação, a animação

e o rendering de ambientes virtuais, já se encontram resolvidas, uma vez que este motor, por ser

desenvolvido para jogos 3D multiplayer suportadas na rede Internet contém, por defeito, todas as

ferramentas necessárias para o efeito da simulação gráfica e física multi-plataforma. Utiliza o estado-

da-arte com eficiência, providenciando ferramentas para um rápido desenvolvimento de objectos e de

novos ambientes (através da aplicação Unreal Editor) e torna possível a definição de novos

comportamentos dos objectos através de um script de linguagem ad-hoc (Unreal Script), baseando a

definição da dinâmica dos corpos rígidos no motor físico proprietário Karma [34]. Para o controlo dos

robôs no simulador o USARSim realiza a gestão da interface TCP/IP para definição de mensagens de

comando standart de modo a que a linguagem de programação do controlador possa ser uma

qualquer que se deseje, desde que contenha as bibliotecas de comunicação por rede.

Page 123: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

109

Na Figura B.1 apresenta-se a arquitectura do simulador USARSim. Nas caixas a tracejado está

representado o lado do utilizador onde se pode proceder ao estudo do controlador utilizando o

simulador. Abaixo destas caixas está representado o simulador, providenciando o ambiente virtual

interactivo para os utilizadores. O sistema utiliza a arquitectura cliente/servidor. Acima da caixa

Network encontra-se o lado do cliente – Unreal Client –, onde é realizada a construção gráfica do

ambiente de simulação, podendo-se alternar a visão entre a imagem da câmara do robô ou a imagem

livre do meio ambiente na visão de um observador (third person). A troca de dados entre o cliente e o

servidor é realizada através da network.

Figura B.1 – Diagrama de blocos do simulador USARSim.

Com efeito esta arquitectura cliente-servidor, suportada pelo simulador USARSim, pode ser utilizada

de forma muito vantajosa para o desenvolvimento do controlador do robô, uma vez que realiza o

desacoplamento da simulação robótica do processamento inteligente de comportamentos, permitindo

o uso de máquinas dedicadas para levar a cabo os cálculos computacionais de planeamento e

controlo, e até mesmo o uso das máquinas e do código dos robôs reais.

Page 124: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

110

Analisando, resumidamente, as vantagens deste simulador, destacam-se:

- Flexibilidade : o simulador permite a simulação de diferentes robôs, desconhecidos a priori,

bem como sensores e actuadores. O ambiente virtual genérico onde os robôs são colocados

é também fácil de modelar;

- Realismo físico : a interacção entre robôs e entre os robôs e o meio ambiente é modelado

através das leis físicas da dinâmica de copos rígidos, gerando resultados físicos plausíveis;

- Realismo visual : a aparência de todo o sistema gráfico é construída com precisão, de forma

a garantir leituras correctas dos sensores (por exemplo: câmara, laser, encoders, etc), com a

possibilidade de navegar com o robô utilizando a imagem realista da sua própria câmara, ou

utilizando a visão de um observador imaginário (third person), controlada pelo utilizador. Para

além disso fornece ainda uma imagem atractiva ao utilizador.

- Eficiência : a simulação é realizada de forma eficiente permitindo uma frequência de vídeo

elevada (full frame rate);

- Modularidade : é fácil de acrescentar e modificar as características do meio ambiente e dos

robôs, incluindo o input/output de sensores;

- Controlador genérico : o simulador é suficientemente flexível para ser utilizado com o

mesmo código de programação do robô real utilizando a facilidade da comunicação TCP/IP.

Em conclusão, o simulador USARSim afigura-se como uma aposta promissora para o suporte da

simulação do robô em estudo, com a implementação de várias funcionalidades importantes e com

facilidades de extensão. Por outro lado, o Unreal Engine tem um suporte industrial significativo, sendo

que, um simulador baseado neste motor, irá beneficiar de novas versões/actualizações do mesmo,

assim que elas estiverem disponíveis, com baixo esforço de adaptação.

B.2 – Comunicação e Controlo

A comunicação entre o Unreal e o controlador, suportada pela aplicação Gamebots (desenvolvida

para o efeito) é realizada através da abertura de sockets TCP/IP, seguindo um protótipo fixo de

mensagens para correcta interpretação das mesmas.

Sabendo que, o socket do servidor se encontra à escuta, por defeito, no porto 3000, e o utilizando

como endereço IP o endereço da máquina onde está alojado o servidor, facilmente se consegue criar

um socket TCP/IP e iniciar o controlo dos robôs no ambiente virtual do simulador, enviado e

recebendo mensagens. Uma vez estabelecida a ligação com o robô, ela permanece activa enquanto

o socket existir, sendo necessário um novo socket por cada novo robô introduzido no ambiente de

simulação, uma vez que a ligação é única por cada robô.

Page 125: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

111

B.2.1 – O protocolo

O protocolo de comunicação utilizado é o protocolo da aplicação Gamebots, onde todas as

mensagens enviadas seguem o seguinte formato:

data_type segment1segment2segment3 … ,

onde:

data_type : indica qual o tipo de dados, sendo utilizadas letra maiúsculas para a sua

designação, tal como INIT, STA, SEN, DRIVE etc.

segment : é uma lista de pares propriedade/valor, estando o nome da propriedade e o

valor separados por um espaço, tal como “Location 52,-58,-4”, onde o nome

da propriedade é ‘Location’ e o valor é ‘52,-58,-4’.

Para a definição de mensagens este protocolo prevê ainda que todas as mensagens ou comandos

sejam terminados com “\r\n”, de forma a indicar ao Gamebots que a mensagem terminou.

Na comunicação entre o servidor e o cliente, as mensagens que circulam na rede podem ser

agrupadas numa de duas categorias distintas, mensagens ou comandos.

B.2.2 – Comandos

Para efectuar pedidos ao servidor, tais como adicionar um robô no mapa, mudar a configuração de

uma câmara ou dar instruções de movimento ao robô o utilizador dispõe de vários comando

pré-estabelecidos, sendo possível adicionar novos comandos, como novas funcionalidades. Dentro

dos vários comandos disponíveis destacam-se os comandos da Tabela B.1:

Tabela B.1 – Comandos importantes do USARSim.

INIT Adicionar um robô ao ambiente de simulação

DRIVE Acciona o movimento do robô/componentes

SET Controla junções, sensores, manipuladores,..

MISPKG Controla um tipo de objecto particular no simulador – Mission Package, constituído por um conjunto de junções (ex: pan/tilt camera)

TRACE Traça o caminho que o robô descreve

B.3 – Robô Passarola no USARSim

No simulador USARSim, encontram-se actualmente disponíveis um total de oito robôs terrestres,

entre eles o ATRV-Jr, o P2AT e o P2DX, modelos familiares na área de investigação robótica, do tipo

Page 126: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

112

uni ciclo com direcção diferencial (diferential drive), quatro veículos do tipo carro, de utilização

humana (Ackerman-steered vehicles), para utilizações outdoor de teste de algoritmos de condução

automática. Estão também disponíveis dois robôs com locomoção por pernas (legged robots), um dos

quais do tipo Humanóide, e por fim um veículo marítimo, do tipo submarino, e apenas um veículo

aéreo, do tipo Helicóptero.

Existem também vários cenários disponíveis para simulação, com ambientes indoor e ambientes

outdoor. Embora se constate que, até ao momento não existe nenhum robô semelhante a um dirigível

neste simulador e que, o único modelo aéreo disponível é muito recente, verifica-se que todos os

ambientes de navegação (terrestre, marítimo e aéreo) já se encontram implementados no simulador,

significando que toda a estruturada de suporte para novos veículos já se encontra codificada e

introduzida no USARSim. Desta forma, a única tarefa delegada ao investigador para a utilização do

seu protótipo no simulador, caso este não exista, é a construção do modelo gráfico e físico do

mesmo, e/ou novo ambiente de simulação, cuja informação necessária se encontra bem

documentada no manual do simulador [29] e nos sites de apoio [34], [36] e [37].

B.3.1 – Modo de utilização avançada

A construção e codificação do modelo do Passarola, no simulador USARSim será explorada em

detalhe na presente secção. Para a implementação do dirigível no USARSim, estiveram subjacentes

alguns conhecimentos em modelação 3D e programação em C++, assim como o conhecimento da

dinâmica do dirigível para uma fiel representação dos seus comportamentos.

Em resumo, a primeira etapa (neste caso, uma das partes mais importantes para a simulação) é a

construção de um modelo geométrico de todos os objectos utilizados para a construção do protótipo,

cujo resultado final será a representação gráfica do novo robô no simulador, sobre o qual irão incidir

os comandos de controlo e sobre o qual é aplicada a física dos corpos rígidos do motor de jogo. A

segunda etapa passou pela construção do robô virtual em si, onde são programadas as classes que

descrevem o funcionamento do robô e das partes constituintes, onde é montado o robô com as partes

e os sensores e onde é associado um gráfico 3D (desenho tridimensional) com o comportamento

físico respectivo. Por último personalizou-se o modelo construído, implementando novos padrões de

controlo e novos comandos para actuação.

A simulação da mecânica de robots neste simulador é baseada num modelo genérico de robô,

construído com a ajuda do motor físico de corpos rígidos KARMA, a partir do qual todos os robôs

derivam, estendendo a classe KRobots e fazendo a tradução do código de simulação para os

comandos de jogo do motor do Unreal, tais como movimentos, visão no referencial do robô, registo

do robô no jogo, etc.

Page 127: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

113

Figura B.2 – Esquema da hierarquia das classes de robôs no motor do Unreal.

No modelo do robô, cada protótipo é constituído por:

- chassis : o corpo do robô;

- componentes : os componentes mecânicos, tais como: rodas, uniões/articulações, suporte da

câmara, etc., que são utilizados para a construção do robô;

- junções : restrições de movimento que juntam duas peças do robô;

- componentes anexos : componentes auxiliares anexos ao robô, tais como sensores.

B.3.2 – Passo 1: Construção do Modelo Geométrico 3D

Assim sendo, seguindo a primeira etapa sugerida, começou-se por construir o gráfico 3D do dirigível

e dos seus componentes, do tipo static mesh10, com a consciência da importante tarefa de conseguir

expressar todas as características visuais e funcionais do modelo real e ao mesmo tempo conseguir

transmitir ao motor físico do jogo, as características físicas relevantes para a simulação fiel da

dinâmica do mesmo.

10 Todos os sólidos devem ser do tipo static mesh. O motor KARMA apenas funciona bem com sólidos rígidos. Como vantagem estes tipos de sólidos aceleram a o rendering gráfico 3D.

Page 128: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

114

AutoCad

Desta forma, sabendo pelo manual do simulador, que o AutoCAD, entre outros, utiliza um dos

formatos de gráficos 3D suportados pelo editor do Unreal (formato DXF), e sendo o AutoCAD uma

ferramenta de fácil acesso e de simples utilização, escolheu-se este software (AutoCad 2008) para a

construção do modelo geométrico do Passarola, recorrendo às suas funcionalidades gráficas 3D.

Conhecidas as características físicas do Passarola, de trabalhos anteriores [3] e [5] – Figura B.3, e

escolhida uma escala simples, só para efeitos de proporcionalidade do modelo – escala 1:1, foi obtido

o modelo geométrico do Passarola, representado na Figura B.4 nas diferentes vistas, guardado no

formato conveniente para posterior importação pelo UnrealEd.

Figura B.4 – Projecto do dirigível Passarola em Autocad 2008.

Figura B.3 – Características físicas do Passarola.

Page 129: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

115

3DSMax

A ideia básica para a importação de um modelo geométrico para o editor do Unreal, consiste na

conversão desse modelo num formato que o editor consiga ler. Mesmo tendo sido finalizado o modelo

no AutoCad, no final desta fase o modelo ainda não se encontrava preparado para a importação para

o UnrealEd, pois é exigida ainda a tradução dos dados por um programa de modelação 3D (p.ex. 3D

Studio Max). Esta necessidade deve-se ao facto do UnrealEd importar os modelos usando o formato

ASE, o qual não é suportado directamente por vários programas de desenho. Por este facto, depois

de concluído o modelo geométrico no AutoCad, houve ainda a necessidade de passar o modelo

geométrico do Passarola pelo programa 3D Studio Max 9.0 [43], para actualização da geometria,

referenciais e texturas. Importou-se, por conseguinte, o modelo no formato DXF, do AutoCad para o

3DSMax, obtendo-se o modelo representado na Figura B.5. Recorrendo às indicações do sítio da UDN,

para conversão de dados para o Unreal [44], finalizou-se a construção do corpo do modelo do

Passarola, passando-se em seguida para a sua importação para o UnrealEd.

Figura B.5 – Modelo do Passarola no 3DSMax 9.0.

UnrealEd

Dentro do programa de edição do Unreal, a missão de adicionar um novo modelo ao motor de jogo é

bastante simples, como é mostrado em [39], sendo apenas necessário executar Import *.ASE file no

menu File do Static Mesh Browser, e seleccionar o pacote e o grupo onde vai ser guardado o modelo.

A descrição do armazenamento do modelo em pacotes e em grupos encontra-se em anexo. Como

textura para o gráfico do dirigível foi utilizada, uma textura já existente no simulador, com cor

Page 130: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

116

semelhante à cor pretendida para o novo modelo, por questões de simplificação, uma vez que esta

característica não é um factor determinante no desempenho do robô no simulador e pode revelar-se

uma tarefa temporalmente dispendiosa.

Construído o corpo do Passarola, continuou-se a sua construção, agora no UnrealEd,

acrescentando-se aqui as restantes partes constituintes do dirigível ao novo modelo, isto é, os

hélices, as barras de suporte dos motores impulsores, com os respectivos motores e o suporte da

câmara de vídeo. No caso das barras e dos motores, sendo estes geometricamente simples de

representar, utilizou-se para a sua construção as ferramentas de construção 3D do UnrealEd, com

base em comandos básicos aprendidos em [45], de desenho de cilindros, aplicando-se

posteriormente uma textura, já existente, para a sua construção tridimensional. No caso dos hélices e

do suporte da câmara de vídeo, uma vez que já existiam modelos geométricos destes componentes

noutros modelos já implementados (p.ex.: AirRobot), foram utilizadas cópias destes modelos,

devidamente escalados e orientados para aplicação no modelo do Passarola, tendo-se completado

desta forma toda a construção geométrica do modelo do Passarola.

Durante construção do novo modelo para o dirigível, para que o motor de física de corpos rígidos –

KARMA, simulasse correctamente a sua dinâmica, teve que se ter em atenção a escala final do

modelo, dentro do editor do Unreal, e também a sua orientação final, tendo sempre o cuidado de

verificar a escala da grelha de desenho e os referenciais dos vários planos, antes de salvar o modelo

para o pacote final, no static mesh browser. Por exemplo, para escalonar o corpo do dirigível

construiu-se uma caixa com 1000x500x500uu (Unreal Units), equivalente aos 4x2x2m reais do balão,

redimensionando o robô de acordo com a referência da caixa. Para o acerto dos hélices e para as

barras de suporte, seguiu-se o mesmo procedimento.

De forma a garantir que a atitude do robô é calculada correctamente, o referencial utilizado na

caracterização do modelo do dirigível foi o referencial representado na Figura B.6, levando a sua

incorrecta definição ao erro no cálculo dos ângulos de picth, yaw e roll, pelo motor físico.

Figura B.6 – Orientação final do modelo do dirigível. O eixo dos xx aponta no sentido da cabeça do dirigível e o

eixo dos yy aponta para a sua direita.

Page 131: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

117

Inserção de física no modelo

Para adicionar as leis da física ao mais recente modelo do USARSim, foi necessário compreender em

primeiro lugar, como divulgar no motor de jogo a presença do gráfico 3D do dirigível como um gráfico

animado, passível de manipulação por comandos de controlo, deixando assim de pertencer ao

cenário, onde neste momento assumia apenas a posição de um sólido estático. Tal como descrito em

[38], para utilizar o motor físico KARMA para dirigir o movimento de qualquer actor no Unreal, é

decisivo executar ainda por um conjunto de passos, onde se define a relação do modelo com o

ambiente exterior, mas antes de mais é preciso activar o KARMA no gráfico 3D. Isso é conseguido

através da atribuição de primitivas de colisão ao modelo, formas geométricas simples, tais como

esferas, cubos, cilindros e formas convexas, envolventes ao modelo e/ou às partes constituintes,

definindo um conjunto de pontos de colisão do modelo com o ambiente circundante, apelidado no

Unreal por Collision Model. A associação destas primitivas de colisão ao modelo, é elementar para o

motor físico, pois, para além de simplificar a geometria do modelo, acelerando a simulação, gera

informação física básica sobre o modelo, tal como a sua distribuição de massas, a matriz de inércia e

o centro de massa, estruturando desta forma conhecimento material susceptível de manipulação

física.

Figura B.7 – Modelos de colisão adoptados para o gráfico 3D do dirigível e partes constituintes:

a) suporte da câmara de video, b) hélice e c) barra de suporte dos motores.

Consciente desta necessidade foi então obrigatório construir, ainda nesta fase, os vários modelos de

colisão para o modelo do dirigível para que o pacote do modelo fosse salvo e dado com finalizado já

c)

b)

a)

Page 132: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

118

com toda essa informação. Adicionou-se então uma destas primitivas aos vários objectos do modelo

do dirigível, com ajuda do UnrealEd, seguindo os passos descritos na secção “Creating collision

models” do sítio da UDN em [40] e [41], tendo-se obtido e salvo os modelos representados na Figura

B.7.

B.3.3 – Passo 2: Construção do Robô Virtual

Nesta fase foram construídas as várias classes do novo modelo, onde se definiu o comportamento

esperado das várias partes constituintes do robô, efectuando-se a programação das funções de cada

parte e suas contribuição para a deslocação do robô. Foram definidas as características físicas de

todo o robô, e foi montado o robô peça a peça, com base nas junções do motor físico KARMA,

providas de movimentos com princípios/limitações físicas. Para o cumprimento desta segunda fase

foram utilizadas como referência as classes dos robôs já existentes, observando de perto o

funcionamento da classe do AirRobot, único robô da classe de veículos aéreos.

As classes do Robô Virtual Passarola

Para definir a existência do robô Passarola no simulador foi necessário em primeiro lugar criar a

classe dos robôs dirigíveis «BlimpRobot», que estende a classe «AerialVehicle», onde foi definido o

comportamento geral do dirigível, e só então se criou a classe «Passarola», onde foram definidas as

propriedades físicas respectivas do Passarola, de modo a que este agisse como pretendido, cuja

estrutura se assemelha com o seguinte excerto de código:

class Passarola extends BlimpRobot config(USAR);

defaultproperties

//properties

A classe AerialVehicle estende a classe-mãe dos veículos do USARSim «KRobot» e é a classe de

configuração e apresentação dos robôs desta classe. Para a introdução do robô Passarola no

USARSim, algumas alterações foram efectuadas nesta classe, por necessidade de programação e

para introdução das características da nova classe BlimpRobot, tais como a definição de um novo

esquema de direcção/comandos, em nome do novo tipo de robôs, descrito no terceiro passo desta

secção.

A classe BlimpRobot é a classe mais especializada da classe de robôs do tipo dirigível. Foi construída

com o intuito de delinear toda a programação de forças e binários aplicados, específicos dos robôs

desta categoria. Dentro desta classe foi então implementada alguma programação de gestão de

memória dinâmica para manipulação dos vários componentes do robô e para os cálculos físicos do

movimento do robô, e foram programados também os comandos de controlo da animação do robô, a

animação das partes constituintes, tais como a rotação física dos hélices e das barras de suporte dos

Page 133: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

119

motores e ainda os seus efeitos físicos perante o meio ambiente, isto é, geração de forças e binários,

responsáveis pela locomoção do robô.

Por fim, a classe do Passarola, sendo a classe do novo robô por excelência, contem toda a

informação física específica do protótipo. Aqui foi definido o gráfico 3D do Passarola, construído no

passo 1, como sendo o gráfico correspondente ao chassis deste novo robô e foram definidos os

valores dos vários atributos físicos necessários para a correcta simulação 3D realista do mesmo.

Esses atributos, alterados com base em [38] e em [42], à semelhança do que existe nos vários robôs

do simulador, são apresentados na Tabela B.3 da Secção B.9. Aqui destacam-se os atributos

KLinearDamping e KAngularDamping, responsáveis pela afirmação do momento de inércia do

dirigível dentro do simulador, nos movimentos linear e angular respectivamente.

Uma vez que, nos robôs aéreos a força resultante a transmitir ao chassis do robô provem da força de

impulsão que o hélice produz quando, ao rodar sobre o seu eixo, desloca uma massa de ar no

sentido contrário ao movimento, proporcional à sua rotação, no caso da simulação USARSim essa

acção não se encontra estruturada, pois não existe a simulação da mecânica de fluidos no simulador.

Desta forma, o modo de cálculo da deslocação deste tipo de robôs é efectuado de forma diferente do

que é feito com os modelos terrestres, nos quais o contacto das rodas com a superfície é o

responsável pela sua motricidade. O cálculo da força F e do binário T equivalentes, produzidos pela

acção dos respectivos hélices envolvidos na locomoção do veiculo, é então realizado com recurso ao

conhecimento da posição dos impulsores no corpo do robô, na actual frequência de rotação dos

hélices e no seu correspondente valor de pitch11, e na massa total do robô, através de (B.1) e de

(B.2):

dt

dvmF = ;

bFT = .

Posteriormente são simulados, no modelo USARSim, os resultados destes efeitos por aplicação da

força/binário equivalente no chassis do robô, em termos de Unidades Unreal, produzindo assim o

efeito desejado correspondente ao comportamento verdadeiro do robô real. O cálculo da conversão

da velocidade linear/angular desejada para as forças e binários do motor físico KARMA, são dadas

pelas funções convertVelocityToForce() e convertRotationalToForce(), cuja calibração é apresentada

na Secção B.4.

As classes das Partes Constituintes

As partes constituintes do modelo, tais como as barras de suporte dos motores, e os hélices

propulsores e de cauda, exercendo funções semelhantes às rodas dos veículos terrestres, foram

11 Relação utilizada para caracterização de um hélice, que indica qual a distância teórica percorrida pelo hélice numa revolução (mpr – metros por revolução), assumindo que não existe derrapagem. Como na realidade existe derrapagem este valor será sempre menor que o valor teórico.

(B.1)

(B.2)

Page 134: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

120

construídas em classes derivadas da classe «Propellers» que estende a classe «USARTire», da qual

derivam as rodas dos robôs terrestres. As classes construídas são: «PassarolaRightBar»,

«PassarolaLeftBar», «PassarolaThrustPropeller», «PassarolaTailPropeller», todas obedecendo à

estrutura de classe seguinte:

class part_class_name extends Propeller;

defaultproperties

//properties

onde part_class_name é o nome atribuído à classe e, properties as suas propriedades físicas. Para

os hélices e para as barras, foram utilizadas as propriedades padrão da classe Propeller, que

permitem que o objecto rode sem dificuldade sobre o seu eixo, estando já definidos os modelos de

colisão para todas as partes. Foi ainda definido o valor de pitch de cada um dos hélices para cálculo

da força produzida, com base no valor real lido nas pás dos hélices utilizados no Passarola, sendo

estes, para os hélices propulsores 0,12mpr e 0,1mpr para o hélice de cauda. Na classe das barras

foram ainda modificadas as propriedades HingePropGap e MotorSpeed para calibração da junção de

rotação das barras (servomotor), de modo a reproduzir o movimento real de rotação dos motores no

plano XZ.

No caso da câmara e do respectivo suporte, tendo estes propriedades e funções diferentes, foram

descritas em classes próprias para o efeito como extensão da classe KDPart do motor do Unreal,

com a estrutura:

class part_class_name extends KDPart;

defaultproperties

//properties

onde part_class_name é o nome atribuído à classe, sendo no presente caso a classe

«PassarolaCameraTilt» e a classe «PassarolaCameraBase», respectivamente. Em defaultproperties

foi incluída a designação do gráfico 3D atribuído à parte, funcionado este objecto apenas como

estrutura anexa ao chassis do robô. Para estas classes foram utilizados os valores padrão dos

parâmetros físicos, cujo resultado provoca o efeito físico desejado de rotação suave da câmara.

Todos os valores dos parâmetros físicos associados ao motor físico KARMA, atribuídos aos objectos

do simulador, são dados em uu (Unidades Unreal).

Montagem do robô

Depois de implementadas as classes e os atributos de todos os elementos associados ao novo

modelo, prosseguiu-se com a construção do robô efectuando a conexão entre as partes e o chassis

do modelo, utilizando para tal pares de junções de ligação. O cumprimento deste processo foi

realizado recorrendo à descrição de um ficheiro de configuração do simulador intitulado por

«USARBot.ini» onde estão construídos todos os robôs, sensores e actuadores do USARSim, sendo

Page 135: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

121

apenas necessário programar, para cada par, o tipo de junção desejada, a posição e orientação da

junção em relação às partes e o eixo de rotação, numa estrutura própria para o efeito designada por

«JointPart», com a seguinte estrutura (ver Tabela B.4 na Secção B.9):

struct JointPart

// Part

var() name PartName;

var() class<KActor> PartClass;

var() vector DrawScale3D;

// Joint

var() class<KConstraint> JointClass;

var() bool bSteeringLocked;

var() bool bSuspensionLocked;

var() float BrakeTorque;

var() name Parent;

var() vector ParentPos;

var() vector ParentAxis;

var() vector ParentAxis2;

var() vector SelfPos;

var() vector SelfAxis;

var() vector SelfAxis2;

;

Na montagem do robô virtual Passarola foram utilizadas os dois tipos de junções disponíveis no

simulador: a junção «KCarWheelJoint» (roda de carro) e a junção «KDHinge» (dobradiça), Figura B.8.

Uma junção KCarWheelJoint conecta duas partes por dois eixos e é formada por outros dois tipos de

junção programáveis (hinge e prismatic). Um dos eixos é o eixo de rotação, em torno do qual a parte

pode girar o outro eixo é o eixo de direcção e de suspensão, podendo-se girar a parte e amortecer

impactos sobre este eixo, sendo por este motivo uma junção multi-usos. A junção KDHinge apenas

possui um eixo de comando, em torno do qual se pode fazer girar um objecto (p.ex.: um hélice ou

uma barra de suporte), comandado por ângulo, velocidade ou binário, podendo-se com ela simular o

funcionamento de um motor/servo-motor.

Figura B.8 – Junção de conecção tipo KDHinge (à esquerda) e tipo KCarWheelJoint (à direita).

Desta forma criou-se uma nova secção dentro do ficheiro «USARBot.ini», localizado na pasta

..\UT2004\System, de nome «[USARBot.Passarola]», e foram descritas, de forma sequencial (a

ordem importa), a ligações entre as partes do novo modelo. Resumidamente, foi descrito no ficheiro a

união das barras de suporte dos motores ao corpo do dirigível e a ligação de cada um dos três

motores de rotação dos hélices ao respectivo suporte, utilizando as junções apresentadas para o

controlo do ângulo de rotação das barras e para rotação dos hélices. Nesta altura considerou-se

ainda a hipótese de utilização da função de direcção da junção KCarWheelJoint para o controlo do

Page 136: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

122

ângulo de rotação das barras dos motores, integrando assim todas a funções destas partes numa só

junção, mas essa opção foi descartada pelo facto de não existir realismo na rotação das barras e dos

motores, existindo ainda interferência entre os gráficos das partes no movimento de rotação dos

hélices propulsores. Nesta secção foram ainda montados dois sensores ao chassis do robô Passarola

como partes auxiliares. A secção [USARBot.Passarola] implementada no ficheiro USARBot.ini

encontra-se descrita na Secção B.10.

De notar que, neste processo, o facto de se poder utilizar um ficheiro de configuração para o

processo de montagem do robô, é uma mais valia para o simulador uma vez que não é necessária

compilação após alteração/montagem do robô para correr o novo modelo no simulador, e a

realização de debug é mais eficaz.

Montagem de partes auxiliares

Depois de criado e montado o robô Passarola foram adicionados dois sensores à sua composição,

implementados como partes auxiliares ao robô, sendo eles uma câmara, com campo de visão (FOV –

fields of view) e ângulo de tilt ajustáveis, satisfazendo as funcionalidades do robô real e um sensor de

posição e orientação GroundTruth, que introduz informação adicional sobre a localização do robô no

simulador para efeitos de informação. Para a programação destes sensores como partes auxiliares foi

utilizada a estrutura «sItem», descrita em seguida, implementada na secção [USARBot.Passarola] do

ficheiro USARBot.ini, com a designação de «Camera» para a câmara de vídeo e «Sensors» para o

sensor GroundTruth (ver Tabela B.5 na Secção B.9):

struct sItem

var class<Actor> ItemClass;

var name Parent;

var string ItemName;

var vector Position;

var vector Direction;

var rotator uuDirection;

;

B.3.4 – Passo 3: Optimização do Robô

Finalizados os dois últimos passos o novo robô já se encontra pronto e a funcionar dentro do

simulador, enviando correctamente a informação obtida através dos sensores e obedecendo a

comandos primários de rotação das junções constituintes, cuja acção básica é responsável pela

movimentação tridimensional do robô Passarola.

Adiante, embora o robô já se encontre funcional ele ainda não se encontra concluído. Para que o

comportamento do dirigível Passarola fosse correctamente reproduzido no simulador foi ainda

necessário criar e ajustar comandos de controlo do tipo dos comandos reais, com as velocidades e

Page 137: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

123

limitações físicas dos motores reais, realizando aqui a ligação fiel entre a realidade e a simulação. A

definição destes comandos foi feita com base no modelo real e foram escolhidos três comandos

distintos, para controlar cada uma das componentes da locomoção do robô:

− a deslocação linear;

− a deslocação angular;

− e a rotação da barra de suporte dos motores propulsores.

Unidades dos Sinais de Controlo

Outra reflexão afixa à questão dos comandos envolveu a escolha das grandezas a utilizar nos valores

dos mesmos, ponderada pelas suas vantagens de utilização directa no simulador e pela facilidade de

medição das grandezas no robô real, tendo sido escolhidas as grandezas:

− velocidade linear (m/s) para a deslocação linear;

− velocidade angular (rad/s) para a deslocação angular;

− ângulo de ataque (rad) para a rotação da barra de suporte dos motores propulsores, ou

seja, o ângulo que o módulo da velocidade linear faz com o eixo dos xx, tal como

representado na Figura 2.5:

Esta escolha para as unidades dos valores de controlo foram a opção mais acessível no momento da

implementação do modelo, uma vez que a medida destas grandezas no robô real, em função do duty

cycle do sinal PWM aplicado nos motores (unidade final do sinal utilizado para controlo), corresponde

à forma mais directa de obter a relação entre o sinal de controlo e o efeito produzido, ficando a sua

posterior calibração dentro do simulador, simplificada, pois as conversões de velocidade/ângulo para

as Unidades Unreal (uu) já se encontram implementadas no simulador, construídas a partir de tabelas

de experiências realizadas com o motor do Unreal. Foi ainda ponderada a utilização da grandeza

força (N) para a definição dos valores de controlo do robô, por se verificar que esta teria uma

utilização mais conveniente para os cálculos do controlador, mas esta ideia foi colocada de parte por

se verificar que esta solução conduzia à mesma solução adoptada. Nesta ideia estaria envolvida a

construção de uma tabela de experiências com o modelo real – sinal PWM versus Força, com recurso

a um dinamómetro, e esta teria que ser posteriormente passada para o simulador, para simular o

efeito real destas forças no modelo virtual, implicando nesse caso que fosse conhecido com clareza o

efeito das forças em Newton no comportamento do dirigível, para a sua fiel reprodução no simulador.

Por conseguinte, teriam que ser convertidos estes novos valores para Unidades Unreal (uu), com

novas calibrações, e isso traduzir-se-ia basicamente em saber qual a velocidade final do dirigível

depois de aplicada uma força, pois é este o comportamento final visível do dirigível, após atingir o

equilíbrio entre a força aplicada e as forças de atrito. Pois isto é o que acontece quando se diz

directamente ao simulador que se pretende um determinada velocidade para o robô, estando por

conta deste, o cálculo matemático do comportamento físico realista, cujas leis físicas do movimento

são asseguradas pelo motor físico KARMA.

Page 138: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

124

Observando a escala de grandezas físicas envolvidas no processo de controlo do dirigível:

verifica-se que a solução encontrada, correspondente à conversão do sinal PWM para Velocidade,

abrange todas as grandezas física intermédias, mas apenas realça as grandeza relevantes para a

caracterização do sistema.

O Novo Comando de Controlo

O comando desenvolvido é apresentado seguidamente e pode ser utilizado com um, dois ou três

argumentos:

DRIVE XZAngle floatThrustPropeller float TailPropeller float

Onde:

XZAngle float ‘float’ é o ângulo de rotação da barra de suporte dos motores de propulsão, que torna possível a mudança de altitude do robô (i.e. cima/baixo).

ThrustPropeller float ‘float’ é o módulo do vector de velocidade a ser aplicado nos motores propulsores para mover o robô no plano X0Z (i.e frente/trás e cima/baixo, de acordo com o valor de XZAngle).

TailPropeller float ‘float’ é o valor da velocidade de rotação do robô (i.e girar para a esquerda/direita).

Exemplo:

DRIVE XZAngle 0.5 irá rodar a barra de suporte do motor 0.5 radianos.

DRIVE ThrustPropeller 1 irá propulsionar o robô a uma velocidade de 1m/s.

DRIVE TailPropeller -0.3 irá girar o robô para a esquerda com uma velocidade de 0.3 rad/s.

Sinal eléctrico PWM (%) Rotação dos hélices (rad/s) Força (N) Aceleração (m/s2) Velocidade (m/s)

Page 139: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

125

Por fim, o novo modelo USARSim (Figura 6.9 e Figura B.10) encontra-se concluído e pronto a ser

utilizado em investigação e desenvolvimento de sistemas de decisão e controlo, tendo sido fornecido

à comunidade USARSim online [32], como contribuição para o desenvolvimento do simulador.

Figura 6.9 – Novo robô do simulador USARSim – dirigível Passarola, implementado à semelhança do protótipo.

real Passarola da propriedade do ISR – Lisboa.

Figura B.10 – Pormenor do novo modelo USARSim – Passarola, num cenário de emergência.

Page 140: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

126

B.4 – Calibração do Modelo Físico do Passarola

Tal como planeado no início deste projecto, teve-se como objectivo intermédio do projecto Passarola,

avaliar e testar o controlador desenvolvido, na plataforma de simulação 3D realista USARSim. Depois

de realizada a identificação de sistemas no modelo real, surgiu, entre os contributos já abordados, a

oportunidade de ajustar a atitude do modelo de simulação à atitude genuína do Passarola. Por

conseguinte, partindo-se das características de Posição-Tempo e Orientação-Tempo obtidas no

Capítulo 3, foi possível ajustar os parâmetros físicos do modelo USARSim Passarola, de tal forma

que se conseguiu implementar no simulador, a reprodução perfeita do comportamento identificado no

modelo real, com o modelo virtual do Passarola, Figura B.11. Com efeito, dadas as provas de

realismo da simulação, é possível afirmar que o modelo construído neste simulador 3D realista –

USARSim, alcança a cumplicidade almejada entre os mundos virtual e real, tornando esta etapa

intermédia de simulação bastante importante para a validação e calibração do controlador, permitindo

ainda que a transição final para o sistema real seja realizado com bastante segurança e de forma

fiável, tal como foi verificado nos testes finais do projecto, realizados com o robô Passarola.

Figura B.11 – Resultados da afinação do modelo USARSim do Passarola.

Descrição do método

O método de ajuste da física do modelo USARSim do Passarola foi realizado através do Matlab, com

recurso à comunicação por rede com o servidor de jogo UT2004, através de um processo iterativo de

calibração do simulador pela observação da resposta do sistema.

Utilizando a Instrument Control toolbox do Matlab foi possível criar e estabelecer uma ligação TCP/IP

com o servidor UT2004, utilizando o porto de processo do servidor 3000 e o endereço IP da

respectiva máquina com o USARSim. Estando tudo preparado para simulação, em Matlab e para

cada um dos subsistemas, foi iniciado o robô Passarola no mundo de simulação, através do

comando:

«INIT ClassName USARBot.Passarola Location 52,-58,-4»,

Page 141: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

127

propondo-se em seguida que fossem repetidas, agora em simulação, as respectivas experiências de

identificação realizadas no Passarola, descritas na Secção 3.2.

Os comandos utilizados para as experiências foram:

Subsistema XZ – Parte X: «DRIVE ThrustPropeller 1.20»

Subsistema Direcção: «DRIVE TailPropeller 0.75»

onde o valor de velocidade linear, dado por ThrustPropeller, é igual a 1,20m/s e o valor de velocidade

angular, dado por TailPropeller, é igual a 0,75rad/s, sendo os comandos de actuação do robô dados

em unidades de velocidade, tal como descrito na Secção B.3.4. Estas velocidades, determinadas pelo

declive da respectiva zona estacionária da curva de identificação, aproximada por uma recta (Figura

3.1), são dadas por:

Subsistema XZ- Parte X: 20,110

0,12

1525

5,115,23 ==−−=XDeclive m/s.

Subsistema Direcção: 75,08

6

614

6,26,8 ==−−=DDeclive rad/s

onde estes resultados são os valores correspondentes à velocidade final atingida pelo dirigível após

aplicação de uma força de valor igual ao escalão utilizado na identificação do sistema real.

Figura B.12 – Ilustração de uma experiência de identificação/ajuste do modelo USARSim do robô Passarola.

Reproduzida a situação de identificação, após a aplicação do respectivo escalão no robô, em t = 0s,

foram lidas e interpretadas as respostas de estado, enviadas pelo servidor de jogo UT2004, do tipo:

«SEN Time 47.8487 Type GroundTruth Name GroundTruth Location 76.65,-58.02,-4.00

Orientation 0.00,0.00,6.28»,

(B.3)

(B.4)

Page 142: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

128

representando-se, em tempo real, as sucessivas posições/orientações do robô, num gráfico de

Posição/Orientação-Tempo, para comparação com a característica do robô real (Figura B.12).

Estando finalizada a experiência de identificação do robô virtual Passarola, e realizada a análise

visual da diferença entre a resposta obtida e a resposta modelo, procedeu-se ao reajuste manual dos

parâmetros da física do robô, correspondentes ao factor de amortecimento linear KLinearDamping e

ao factor de amortecimento angular KAngularDamping na classe «Passarola», e aos factores de

conversão de velocidade para unidades de jogo, nas funções convertVelocityToForce() e

convertRotationalToForce(), da classe «BlimpRobot», para que a característica do modelo USARSim

se aproximasse da curva desejada. Efectuado este processo, de forma iterativa, por sucessivas

experiências de calibração e teste dos parâmetros físicos do robô USARSim, foi conseguida a

igualdade de características Posição/Orientação-Tempo entre o modelo virtual e o modelo real do

Passarola, que implica por sua vez, a igualdade de comportamentos entre o modelo virtual e o

modelo real, tal como desejado, assumindo a linearidade do sistema real para baixas velocidades.

Os valores obtidos para os parâmetros físicos do modelo USARSim do Passarola são:

KLinearDamping = 0.1uu KAngularDamping = 0.5uu.

As funções de tradução de unidades reais para unidade do simulador, com os respectivos factores de

conversão ajustados com base neste programa Matlab, são também agora apresentadas:

// Conversão de velocidade linear (m/s) para unidades unreal (uu)

Function float convertVelocityToForce(float VelocityToConvert) return 0.6574 * velocityToConvert;

// Conversão de velocidade angular (rad/s) para unidades unreal (uu) function float convertRotationalToForce(float rotationalToConvert) return 0.8712 * rotationalToConvert;

B.5 – Ambiente de simulação

A simulação do meio ambiente desempenha um papel importante na simulação. Ela providencia o

contexto para a simulação e só com ele a simulação faz sentido. No USARSim, vários ambientes

especializados foram já construídos com vista a várias tarefas de investigação, sendo os utilizadores

livres de alterar ou construir novas áreas de simulação, de acordo com os seus objectivos.

Perante a questão da escolha de uma arena do Unreal Tournament para ambiente de simulação,

sendo poucas as hipóteses de arenas no exterior, estas não correspondiam ao ambiente elegante

Page 143: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

129

planeado para os efeitos deste projecto. A arena seleccionada para simulação foi, por conseguinte,

uma arena desenvolvida para investigação no âmbito do “DARPA Urban Challenge”, para teste de

algoritmos de condução, de nome ”Arda”, obtida em [32], e representada na Figura B.13. Esta arena

ao retratar uma simples estrada com linhas longitudinais de orientação torna-se ideal para o

desenvolvimento de algoritmos de seguimento de linhas e ainda seguimento de veículos sendo uma

arena exterior e ampla, perfeita para a utilização de um robô como o dirigível. Uma outra

característica especial desta arena é a simulação da queda de neve durante todo o seu

funcionamento, tornando-se numa característica interessante para a simulação de ruído de imagem

de câmara, quando utilizado controlo baseado em image servoing (realimentação por imagem).

Com o objectivo de aproximar esta arena às tarefas de navegação do dirigível, ao longo da

investigação, algumas alterações foram sendo efectuadas nos objectos da arena, através do editor do

Unreal – UnrealEd, para acompanhar o desenvolvimento do projecto, tais como modificação do

traçado das linhas de marcação das estradas, modificação da altitude da estrada para simular relevo

e ainda modificação dos sinais de transito STOP para simulação de perturbações no seguimento do

robô ATRVJr.

Figura B.13 – Arena utilizada como ambiente de simulação do dirigível, durante o projecto de investigação.

B.6 – Interfaces de Teste de Controlo

USAR_UI

USAR_UI é uma interface de teste de controlo escrita em Visual C++ 6.0 e apenas funciona em

Windows. Esta simples ferramenta de exemplo tem a possibilidade de se conectar ao servidor do

Unreal (por comunicação TCP/IP) e enviar qualquer tipo de comando para o simulador, ao mesmo

tempo que recebe e apresenta todas as mensagens enviadas para o controlador sobre o estado do

robô e dos sensores. Aqui é executado o processo básico e necessário para comunicar com o robô

Page 144: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

130

dentro do simulador, tendo-se utilizado esta interface como suporte inicial para comunicação com o

simulador, promovendo a aprendizagem de utilização do simulador e funcionado ainda como prática

aplicação para teste do robô Passarola durante a fase da sua construção.

SimpleUI

SimpleUI é mais uma interface de exemplo para teste de controlo de robôs no USARSim, para

Windows, com a diferença de que se pode obter imagens de vídeo vindas do simulador e apenas tem

disponível para manipulação quatro robôs terrestres, entre os quais o ATRVJr. A principal vantagem

desta interface de exemplo é que possui integrados os comandos da velocidade e de direcção para

estes veículos, simplificados em botões de controlo, que facilitam de forma satisfatória a navegação

destes veículos, propiciando a utilização desta interface como controlador manual prático do ATRVJr,

para teste e desenvolvimento do algoritmo de seguimento de veículos, implementado no dirigível

Passarola, poupando a implementação propositada de um controlador para o robô ATRVJr, apenas

para o efeito de teste do algoritmo de seguimento (Figura B.14).

Figura B.14 – Apresentação do ambiente de simulação com os robôs Passarola e ATRVJr.

Page 145: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

131

B.7 - Lançamento do Simulador

Depois de instalado o simulador USARSim, para executar o simulador é necessário inserir o comando

de lançamento do servidor no modo “client only”, na linha de comandos, contendo o nome do mapa

que se pretende lançar, o tipo de jogo a executar e o ficheiro de configuração do simulador, com a

sintaxe descrita no exemplo que se segue:

onde map_name é o nome do mapa.

No caso do Passarola o comando utilizado foi:

De forma a facilitar o lançamento do simulador, aspirando do mesmo modo, poupar tempo na

introdução de linhas de comandos, começou-se deste cedo a utilizar um ficheiro batch

«ArenaPassarola.bat» para este mesmo fim, tendo sido copiadas as linhas de comandos de

lançamento do USARSim para este ficheiro, fazendo com que estes comandos fossem rapidamente

executados com um simples duplo clique no ícone do ficheiro.

B.8 – Debug no USARSim

Durante a construção do modelo do Passarola no UT2004, foi possível a utilização de alguns

comandos de debugging dentro da consola do Unreal, quando introduzido o robô no simulador em

“Client Mode Only”, que permitiram aperfeiçoar e compreender os comportamentos indesejados do

robô na simulação. Com estes comandos foi possível confirmar a localização do centro de massa do

robô, verificar a validade do modelo de colisão das várias partes do robô, e depurar o funcionamento

das ligações das partes constituintes ao chassis do robô, na fase de montagem do robô. Esta

ferramenta sendo tão poderosa, permite inclusive alterar as propriedades físicas do robô em tempo

real, permitindo verificar o seu efeito online, através do comando «editactor class=KRobot», o qual

permitiu afinar com grande facilidade o comportamento do modelo virtual do Passarola. Na Tabela B.

são apresentados e descritos os vários comando utilizados para depuração do modelo.

start ..\..\system\ut2004 Arena_Passarola?game=USARBot.USARDeathMatch?spectatoronly=1?TimeLimit=0?quickstart=true -ini=usarsim.ini

start path_to_bin_dir/ut2004 map_name?game=USARBot.USARDeathMatch?spectatoronly=1?TimeLimit=0?quickstart=true -ini=usarsim.ini

Page 146: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

132

Tabela B.2 – Comandos utilizados para depuração do modelo USARSim.

showlog Este comando abre uma janela onde o ficheiro log é aberto em tempo

real. Em modo client mode, este comando permite de visualizar o output

do cliente e do servidor numa janela tipo DOS.

showdebug Comando que permite ao UT imprimir alguma informação de debug

directamente na janela do cliente, tal como a localização da câmara,

permitindo seleccionar novos pontos de iniciação do robô no mapa.

editactor class=<classname> Este comando permite a abertura da janela de propriedades do robô, tal

como no editor de jogo UnrealEd, permitindo ajustar todo o tipo de

parâmetros da simulação, incluindo os parâmetros físicos do modelo, em

tempo real. Exemplo: editactor class=KRobot.

B.9 – Tabelas anexas

Tabela B.3 – Parâmetros físicos do modelo Passarola, em Unidades Unreal (uu).

KActorGravScale 2,58

Multiplicador de gravidade individual, utilizado para melhorar o efeito da simulação visual do objecto KARMA

KMaxAngularSpeed 100 Limite de velocidade angular do robô

KMaxSpeed 25000 Limite da velocidade linear do robô

KLinearDamping 0,1

Quantidade de força aplicada para reduzir o movimento linear aplicado no objecto KARMA causando arraste translacional

KAngularDamping 0,5

Quantidade de força aplicada para reduzir o movimento angular aplicado no objecto KARMA causando arraste rotacional

KCOMOffset (X=0,0,Y=0,0,Z=-0,.63) Posição do centro de massa do objecto

bKNonSphericalInertia True Atribui ao objecto KARMA um tensor de inércia não-esférico

KInertiaTensor(0) 2,5458

Distribuição de massa do objecto – significa o quão difícil é rolar o objecto em torno de x.

KInertiaTensor(3) 5,1618 Significa o quão difícil é rolar o objecto em torno de y.

KInertiaTensor(5) 3,5012 Significa o quão difícil é rolar o objecto em torno de z.

KStartEnabled True Para o robô começar a simulação assim que é iniciado no simulador

bKDoubleTickRate True Para aumentar a precisão da simulação

KBuoyancy 1,00000 Permite que o objecto flutue livremente

KFriction 0,5 Para regular a resistência de fricção do ar na superfície

Page 147: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

133

Tabela B.4 – Descrição dos parâmetros da classe Joint part.

PartName Nome da parte

PartClass Nome da classe da parte

DrawScale3D Escala X,Y, Z do objecto.

JointClass Nome da classe da junção (class'KCarWheelJoint' ou class'KDHinge')

bSteeringLocked Para bloquear/desbloquear a direcção da junção car-wheel joint.

bSuspensionLocked Para bloquear/desbloquear a suspensão da junção car-wheel joint.

BrakeTorque O valor do braço de força aplicado para travar a rotação da junção car-wheel joint.

Parent A parte ou chassis onde a junção é conectada

ParentPos Posição de conexão da junção com o parent

ParentAxis Para car-wheel joint é o eixo de direcção relativo ao parent. Para junção hinge é o eixo de rotação

ParentAxis2 Para a junção car-wheel joint é o eixo de rotação relativo ao parent

SelfPos Posição onde a junção é conectada à parte

SelfAxis Para uma junção car-wheel joint isto é o eixo de direcção relativo à parte. Para a junção hinge é o eixo de rotação

SelfAxis2 Para junção car-wheel joint isto é o eixo de rotação relative à parte

Tabela B.5 – Descrição dos parâmetros da classe SItem.

Tabela B.6 – Nome do ficheiro de arquivo dos gráficos 3D do modelo USARSim do Passarola.

Corpo do Passarola USARSim_Vehicles_Meshes.Blimp.BlimpBody

Barra esquerda motores USARSim_VehicleParts_Meshes.Blimp.BlimpLeftBar

Barra direita motores USARSim_VehicleParts_Meshes.Blimp.BlimpRightBar

Hélice do motor de cauda USARSim_Vehicles_Meshes.Blimp.BlimpTailPropeller

Hélice do motor propulsor USARSim_Vehicles_Meshes.Blimp.BlimpThurstPropeller

Corpo da câmara vídeo USARSim_VehicleParts_Meshes.Blimp.BlimpCameraBase

Suporte de rotação da câmara USARSim_VehicleParts_Meshes.Blimp.BlimpCameraTilt

ItemClass Nome da classe usada para crier o item.

Parent Objecto onde o item sera montado.

ItemName Nome do item.

Position Posição de montagem do item relativo ao parent.

Direction Orientação de montagem do item relativo ao parent.

uuDirection Variável reservada para armazenamento do parametro de orientação em uu.

Page 148: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

134

B.10 – Ficheiro de configuração do Passarola

Excerto do ficheiro ..\UT2004\System\USARBot.ini com a exposição da secção de configuração do

modelo Passarola do USARSim:

B.11 – Manual USARSim do Robô Passarola

Na página seguinte é apresentado o manual de utilização do robô Passarola para o simulador

USARSim, facultado à comunidade online deste simulador, juntamente com todos os ficheiros

desenvolvidos para a construção do novo modelo. Actualmente o robô Passarola já se encontra

integrado no simulador USARSim e disponível para download para todo o público afecto em [32].

(…)

[USARBot.Passarola]

bDebug=False

Weight=5

Payload=2

ChassisMass=3

bMountByUU=False

JointParts=(PartName="Bar4",PartClass=class'USARMod els.Passarola_Barra_esq',DrawScale3D=(X=1.0,Y=1.0,Z=1.0),Parent="",JointClass=cla ss'KDHinge',ParentPos=(Y=-0.108,X=1.062,Z=1.028),ParentAxis=(Y=1.0),ParentAxi s2=(X=1),SelfPos=(Y=0.5),SelfAxis=(Y=1.0),SelfAxis2=(X=1.0))

JointParts=(PartName="Bar3",PartClass=class'USARMod els.Passarola_Barra_dir',DrawScale3D=(X=1.0,Y=1.0,Z=1.0),Parent="",JointClass=cla ss'KDHinge',ParentPos=(Y=0.108,X=1.062,Z=1.028),ParentAxis=(Y=1.0),ParentAxis2=(X =1),SelfPos=(Y=-0.5),SelfAxis=(Y=1.0),SelfAxis2=(X=1.0))

JointParts=(PartName="Counter_Propeller_1",PartClas s=class'USARModels.PassarolaPropeller_Frente',DrawScale3D=(X=1.0,Y=1.0,Z=1.0),bSu spensionLocked=true,Parent="Bar3",JointClass=class'KCarWheelJoint',ParentPos=(Y=0 .005,X=0.005,Z=-0.005),ParentAxis=(Y=1.0),ParentAxis2=(X=1.0),SelfP os=(X=0.0,Y=0.0,X=0.0),SelfAxis=(Y=1.0),SelfAxis2=(X=1.0))

JointParts=(PartName="Propeller1",PartClass=class'U SARModels.PassarolaPropeller_Frente',DrawScale3D=(X=1.0,Y=1.0,Z=1.0),bSuspensionL ocked=true,Parent="Bar4",JointClass=class'KCarWheelJoint',ParentPos=(Y=-0.005,X=0 .005,Z=-0.005),ParentAxis=(Y=1.0),ParentAxis2=(X=1.0),SelfP os=(X=0.0,Y=0.0,X=0.0),SelfAxis=(Y=1.0),SelfAxis2=(X=1.0))

JointParts=(PartName="Tail_Propeller",PartClass=cla ss'USARModels.PassarolaPropeller_Cauda',DrawScale3D=(X=1.0,Y=1.0,Z=1.0),bSuspensi onLocked=true,Parent="",JointClass=class'KCarWheelJoint',ParentPos=(Y=0.0,X=-1.356,Z=0.484),ParentAxis=(X=1.0),ParentAxis2=(Y=1. 0),SelfPos=(X=0.0,Y=0.0,Z=0.0),SelfAxis=(X=1.0),SelfAxis2=(Y=1.0))

MisPkgs=(PkgName="CameraPanTilt",Location=(Y=0.0,X= 1.05,Z=1.0572),PkgClass=Class'USARMisPkg.PassarolaCameraPanTilt')

Cameras=(ItemClass=class'USARBot.RobotCamera',ItemN ame="Camera",Parent="CameraPanTilt_Link1",Position=(Y=0.008,X=0.024,Z=-0.0007),Di rection=(Y=0.0,Z=0.0,X=0.0))

Sensors=(ItemClass=class'USARBot.GroundTruth',ItemN ame="GroundTruth",Position=(X=0.0,Y=0.0,Z=-0.0),Direction=(Y=0.0,Z=0.0,X=0.0))

(…)

Page 149: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

135

PASSAROLA IN USARSIM Autonomous Blimp for Search and Rescue Missions

http://rescue.isr.ist.utl.pt

a) Real Passarola Robot. b) Simulated Passarola Robot.

Introduction

In USARSim, we use classname USARBot.Passarola to represent this robot.

In summary, Passarola has:

• Three propellers (two for the linear movement, vectoring 180 degrees (-90º to 90º),

and one on the tail for angular movements)

• One color camera that can tilt

• Weight: 5 Kg

• Payload: 2 Kg

In USARSim, the Passarola is equipped with

• One “tilt-only” color camera

The Passarola specification is as follows:

• Dimension: Length x Width x Height = 4.0m x 2.0m x 2.0m

• Maximum altitude velocity: 2 m/s

• Maximum linear velocity: 2 m/s

• Maximum rotational velocity: 1 rad/s

Configure it

It’s the same as P2AT.

Page 150: OPERAÇÕES DE SALVAMENTO (P ARTE ROBÓTICA · iii Resumo No presente relatório é descrito todo o estudo teórico de controlo elaborado sobre o dirigível Passarola, para implementação

136

Extended USARSim command for Passarola Robot

DRIVE XZAngle floatThrustPropeller float TailPropeller float

Where:

XZAngle float

‘float’ is the rotation angle of the support thrust motors bars, that make possible change the altitude of the robot (i.e up/down). If we use normalized values, the value range is -100 to 100 and corresponds to the bar’s minimum and maximum rotation angle, respectively. Otherwise, the value is the absolute rotation angle, in radians per second.

ThrustPropeller float

‘float’ is the module of the velocity vector to be applied by the front thrusters, to move the robot in the X0Z plane (i.e forward/backward and up/down as the value of XZAngle). If we use normalized values, the value range is -100 to 100 and corresponds to the robot’s minimum and maximum velocity, respectively. Otherwise, the value is the absolute linear velocity, in meters per second.

TailPropeller float

‘float’ is the rotational velocity (i.e left/right). If we use normalized values, the value range is -100 to 100 and corresponds to the robot’s minimum and maximum rotational velocity, respectively. Otherwise, the value is the absolute rotational velocity, in meters per second.

Normalized bool

Indicates whether we are using normalized values or not. The default value is ‘False’ which means absolute values are used.

Example:

DRIVE XZAngle 0.5 will rotate the support motor bars 0.5rad

DRIVE ThrustPropeller 1 will thrust the robot at a rate of 1m/s.

DRIVE TailPropeller -0.3 will rotate the robot to the left at a rate of 0.3rad/s.

Ricardo Alcácer ([email protected])

Institute for Systems and Robotics

March 2008