Instrumenta¸
c˜
ao de um
Ve´ıculo Submers´ıvel
Por
Jos´
e V´ıtor Guedes Almeida
Orientador: Doutor Pedro Miguel Mestre Alves da Silva
Co-orientador: Doutor V´ıtor Manuel de Jesus Filipe
Disserta¸c˜ao submetida `a
UNIVERSIDADE DE TR ´AS-OS-MONTES E ALTO DOURO para obten¸c˜ao do grau de
MESTRE
em Engenharia Electrot´ecnica e de Computadores, de acordo com o disposto no DR – I s´erie–A, Decreto-Lei n.o 74/2006 de 24 de Mar¸co e no
Regulamento de Estudos P´os-Graduados da UTAD DR, 2.a s´erie – Delibera¸c˜ao n.o 2391/2007
Instrumenta¸
c˜
ao de um
Ve´ıculo Submers´ıvel
Por
Jos´
e V´ıtor Guedes Almeida
Orientador: Doutor Pedro Miguel Mestre Alves da Silva
Co-orientador: Doutor V´ıtor Manuel de Jesus Filipe
Disserta¸c˜ao submetida `a
UNIVERSIDADE DE TR ´AS-OS-MONTES E ALTO DOURO para obten¸c˜ao do grau de
MESTRE
em Engenharia Electrot´ecnica e de Computadores, de acordo com o disposto no DR – I s´erie–A, Decreto-Lei n.o 74/2006 de 24 de Mar¸co e no
Regulamento de Estudos P´os-Graduados da UTAD DR, 2.a s´erie – Delibera¸c˜ao n.o 2391/2007
Orienta¸c˜ao Cient´ıfica :
Doutor Pedro Miguel Mestre Alves da Silva Professor Auxiliar da
Escola de Ciˆencias e Tecnologia Universidade de Tr´as-os-Montes e Alto Douro
Doutor V´ıtor Manuel de Jesus Filipe Professor Associado com Agrega¸c˜ao da
Escola de Ciˆencias e Tecnologia Universidade de Tr´as-os-Montes e Alto Douro
”90% do trabalho faz-se em 10% do tempo.”
Autor Desconhecido
”If you can’t explain it simply, you don’t understand it well enough”
Richard Feynman (1918 – 1988) e Albert Einstein (1879 – 1955)
UNIVERSIDADE DE TR ´AS-OS-MONTES E ALTO DOURO Mestrado em Engenharia Electrot´ecnica e de Computadores
Os membros do J´uri recomendam `a Universidade de Tr´as-os-Montes e Alto Douro a aceita¸c˜ao da disserta¸c˜ao intitulada “ Instrumenta¸c˜ao de um Ve´ıculo Submers´ıvel” realizada por Jos´e V´ıtor Guedes Almeida para satisfa¸c˜ao parcial dos requisitos do grau de Mestre.
Julho 2016
Presidente: Doutora Paula Cristina Ribeiro Coutinho de Oliveira,
Professora Auxiliar da Universidade de Tr´as-os-Montes e Alto Douro
Vogais do J´uri: Doutor Jos´e Carlos Meireles Monteiro Metrˆolho,
Professor Adjunto do Instituto Polit´ecnico de Castelo Branco
Doutor V´ıtor Manuel de Jesus Filipe,
Professor Associado com Agrega¸c˜ao do Escola de Ciˆencias e Tecnologia da Universidade de Tr´as-os-Montes e Alto Douro
Instrumenta¸c˜
ao de um
Ve´ıculo Submers´ıvel
Jos´e V´ıtor Guedes Almeida
Submetido na Universidade de Tr´as-os-Montes e Alto Douro para o preenchimento dos requisitos parciais para obten¸c˜ao do grau de
Mestre em Engenharia Electrot´ecnica e de Computadores
Resumo — Nos ´ultimos anos tem-se verificado um grande aumento de projetos que utilizam ve´ıculos n˜ao-tripulados, para realizar algumas tarefas demasiado arriscadas ou dispendiosas. Um exemplo deste g´enero de ve´ıculos s˜ao os ve´ıculos submers´ıveis. Tipicamente, os sistemas de controlo e navega¸c˜ao destes ve´ıculos controlados re-motamente s˜ao baseados em sistemas centralizados. Como alternativa, existem os sistemas distribu´ıdos que permitem tornar o sistema escal´avel, com custos controla-dos. Com a utiliza¸c˜ao deste sistema, altera¸c˜oes efetuadas ao n´ıvel dos m´odulos de sensores ou atuadores n˜ao implica a substitui¸c˜ao da unidade de controlo principal. Neste trabalho pretende-se criar um sistema de controlo, baseado numa arquitetura distribu´ıda, microcontroladores e barramentos industriais, que permita monitorizar todos os parˆametros de um ve´ıculo n˜ao-tripulado. O sistema deve ser capaz de re-alizar fun¸c˜oes como controlo `a distˆancia, monitoriza¸c˜ao de parˆametros ambientais, observa¸c˜ao de esp´ecies animais e vegetais subaqu´aticas, an´alise de estruturas natu-rais e criadas pelo Homem, entre outras. Al´em dos sensores e atuadores, o ve´ıculo submers´ıvel estar´a preparado para ser equipado com uma ou mais cˆamaras que per-mitam a recolha de imagens, o seu armazenamento e respetivo processamento. As imagens capturadas podem ser usadas como auxiliar `a navega¸c˜ao remota do sub-mers´ıvel ou atrav´es de processamento, em tempo-real, detetar e fazer o seguimento autom´atico do movimento de peixes. O sistema a desenvolver dever´a ser suficiente-mente gen´erico de forma a poder ser adaptado a diferentes ve´ıculos.
Palavras Chave: Ve´ıculo N˜ao-Tripulado, Sensores, Atuadores, Sistema Distribu´ıdo, Barramento Industrial, Processamento Digital de Imagem.
Instrumentation of a
Submersible Vehicle
Jos´e V´ıtor Guedes Almeida
Submitted to the University of Tr´as-os-Montes and Alto Douro in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering and Computers
Abstract — On the last years there has been a great growth in applications that
use unmanned vehicles, which allow too riscky or expensive tasks to be carried out. An example of this type of vehicles are the submersible vehicles. Usually, navigation and control systems of remotely controlled vehicles are based on centralized systems. As an alternative to this kind of systems there are the distributed systems that allow creating a scalable architectures, with controlled costs. Using this kind of system, changing a sensor module or an actuator module does not require the replacement of the main control unit.
Our objective is to create a control system based on a distributed architecture, using microcontrollers and industrial buses, that can monitor all parameters of an unmanned vehicle. It must be able to perform some functions such as remote con-trol, monitoring environmental parameters, observation of underwater plant and animal species, among others actions. Besides from sensors and actuators, the sub-mersible vehicle can be equipped with one or more cameras that allow image record and processing. The captured images can be used to the remote navigation of the submersible or, by real-time processing, detect and make automatic fish tracking by color. The system to be developed should be generic enough so that it can be adapted to different vehicles.
Key Words: Unmanned Vehicle, Sensor, Actuator, Distributed System, Industrial
Bus, Digital Image Processing.
Agradecimentos
Ao Professor Doutor Pedro Miguel Mestre Alves da Silva, Professor Auxiliar da Es-cola de Ciˆencias e Tecnologia da Universidade de Tr´as-os-Montes e Alto Douro, ori-entador desta disserta¸c˜ao, pela sua ajuda, motiva¸c˜ao, ideias, orienta¸c˜ao e paciˆencia. Ao Professor Doutor V´ıtor Manuel de Jesus Filipe, Professor Associado com Agrega¸c˜ao da Escola de Ciˆencias e Tecnologia da Tr´as-os-Montes e Alto Douro, co-orientador deste trabalho, pelas observa¸c˜oes, apoio e orienta¸c˜oes.
Aos restantes docentes, do curso de Engenharia Eletrot´ecnica e de Computadores da Universidade de Tr´as-os-Montes e Alto Douro, pela disponibilidade e simpatia demonstradas ao longo do meu percurso acad´emico.
A todos os meus colegas do curso pela sua amizade e simpatia.
Aos meus pais, irm˜ao e familiares, pelo apoio incondicional que me deram e pela ajuda que me deram ao longo da vida.
`
A minha namorada, Joana, pela sua dedica¸c˜ao, apoio, motiva¸c˜ao e paciˆencia que me ajudam a melhorar diariamente.
A todos, um sincero obrigado!
UTAD, Jos´e V´ıtor Guedes Almeida
´Indice geral
Resumo xi
Abstract xiii
Agradecimentos xv
´Indice de tabelas xxi
´Indice de figuras xxiii
Acr´onimos xxvii
1 Introdu¸c˜ao 1 1.1 Contexto e Motiva¸c˜ao . . . 2 1.2 Objetivos . . . 3 1.3 Organiza¸c˜ao da Disserta¸c˜ao . . . 4 2 Ve´ıculos Submers´ıveis 5 2.1 Trabalhos Relacionados . . . 6
2.1.1 Aplica¸c˜oes da Rob´otica em Ambientes Aqu´aticos . . . 8 xvii
2.1.2 Monitoriza¸c˜ao do Comportamento de Peixes . . . 12
2.2 Proposta de uma Arquitetura para um Ve´ıculo Submers´ıvel . . . 19
3 Cap´ıtulo de Aquisi¸c˜ao de Dados e Atua¸c˜ao 23 3.1 Sistema de Processamento . . . 24
3.2 Aquisi¸c˜ao de Dados - Sensores . . . 29
3.2.1 Temperatura . . . 29
3.2.2 Oxig´enio Dissolvido. . . 31
3.2.3 pH . . . 33
3.2.4 Condutividade El´etrica . . . 35
3.3 Atua¸c˜ao - Controlo dos Motores . . . 37
3.4 Implementa¸c˜ao do Sistema de Aquisi¸c˜ao e Atua¸c˜ao . . . 40
4 Cap´ıtulo de Comunica¸c˜ao e Controlo 51 4.1 Sistemas Distribu´ıdos . . . 52
4.1.1 Carater´ısticas . . . 55
4.1.2 Heterogeneidade . . . 57
4.2 Protocolos de Comunica¸c˜ao Industriais . . . 59
4.3 Controller Area Network . . . 61
4.3.1 CAN e o Modelo OSI . . . 63
4.3.2 Especifica¸c˜oes do CAN . . . 66
4.3.3 Acesso ao Barramento - M´etodo de Arbitragem . . . 68
4.4 Comunica¸c˜ao S´erie usando RS232 . . . 71
4.4.1 Carater´ısticas Mecˆanicas . . . 73
4.4.2 Carater´ısticas El´etricas . . . 74
4.4.3 Parˆametros de Configura¸c˜ao . . . 75
4.5 Implementa¸c˜ao do Sistema de Comunica¸c˜ao e Controlo . . . 76
4.5.1 Prioridade das Mensagens CAN . . . 77
4.5.2 Modelo de Camadas . . . 84
4.5.3 N´o Diagn´ostico . . . 98 xviii
5 Cap´ıtulo de Processamento Digital de Imagem 105
5.1 Aquisi¸c˜ao de Imagem . . . 106
5.2 Biblioteca de Processamento Digital de Imagem - OpenCV . . . 110
5.2.1 Espa¸cos de Cor . . . 112
5.2.2 Filtros . . . 115
5.2.3 Segmenta¸c˜ao . . . 120
5.2.4 Operadores Morfol´ogicos . . . 124
5.3 Dete¸c˜ao e Seguimento . . . 125
5.4 Implementa¸c˜ao do Sistema de Processamento Digital de Imagem . . . 129
6 Testes e Resultados 139 6.1 Testes ao Controlo da Eletr´onica Desenvolvida . . . 139
6.2 Testes ao Sistema de Mensagens . . . 142
6.3 Testes `as Comunica¸c˜oes por RS232 . . . 150
6.4 Testes ao Sistema de Gest˜ao de IDs . . . 154
6.5 Testes ao Algoritmo de Processamento de Imagem . . . 157
7 Conclus˜oes e Trabalho Futuro 169
Referˆencias bibliogr´aficas 173
´Indice de tabelas
4.1 Descri¸c˜ao dos principais pinos dos conectores RS232 . . . 74
4.2 C´odigos de mensagens e respetivas prioridades . . . 79
4.3 C´odigos de mensagens e respetivas prioridades utilizando o filtro de ID por hardware . . . 82
´Indice de figuras
2.1 Imagem ilustrativa do submers´ıvel The American Turtle . . . 6
2.2 Esquema do submarino americano Nautilus. . . 7
2.3 An´alise de estruturas submersas com a utiliza¸c˜ao de um ROV . . . . 9
2.4 Monitoriza¸c˜ao da qualidade da ´agua e da vida subaqu´atica . . . 9
2.5 AUV Trimares. . . 11
2.6 ROV MAX da Deep Sea Systems . . . 11
2.7 VideoRay Pro III MicroROV. . . 15
2.8 Representa¸c˜ao de uma forma de recolher e analisar imagens de peixes 18
3.1 Esquema resumido da arquitetura de um microcontrolador . . . 24
3.2 Esquema do fluxo de dados no microcontrolador nas porta I/O digitais 27
3.3 Sensor de temperatura DS18B20. . . 30
3.4 Dissolved Oxygen Kit SEN-11194 da Sparkfun . . . 33
3.5 pH Sensor Kit SEN-10972 da Sparkfun . . . 34
3.6 Electrical Conductivity Kit SEN-12908 da Sparkfun . . . 35
3.7 Estrutura interna de um motor el´etrico . . . 37
3.8 Exemplo de um propulsor . . . 38
3.9 Invers˜ao do sentido de rota¸c˜ao de um motor DC . . . 39 xxiii
3.10 Diagrama de blocos global . . . 40
3.11 Esquema global criado nesta disserta¸c˜ao . . . 42
3.12 Esquema da liga¸c˜ao `a ADC e do LM336, respons´avel pela tens˜ao de referˆencia . . . 43
3.13 Esquema parcial do circuito de LEDs . . . 44
3.14 Esquema de um servo-motor-motor e a respetiva onda de controlo . . 46
3.15 Exemplo de uma comunica¸c˜ao CAN, com a representa¸c˜ao dos n´ıveis de tens˜ao do protocolo . . . 48
3.16 Esquema relativo ao transceiver PCA82C250 . . . 48
3.17 Esquema da alimenta¸c˜ao do circuito e das liga¸c˜oes entre o PIC e o PICKit . . . 49
4.1 Arquitetura do tipo Mainframe . . . 53
4.2 Exemplo de um Sistema Distribu´ıdo. . . 54
4.3 Modelos Industriais de Comunica¸c˜ao comparados com o Modelo OSI completo . . . 61
4.4 Topologia de um barramento CAN com v´arios n´os . . . 62
4.5 Camadas do Modelo OSI . . . 64
4.6 Esquema de uma frame CAN . . . 68
4.7 Prioridade na transmiss˜ao de mensagens . . . 70
4.8 Exemplo de uma comunica¸c˜ao s´erie . . . 72
4.9 Conectores para RS232 . . . 73
4.10 N´ıveis de tens˜ao utilizados numa comunica¸c˜ao s´erie RS232 . . . 75
4.11 Esquema da frame CAN utilizada . . . 77
4.12 Campo ID e respetivas subdivis˜oes . . . 81
4.13 Modelo de camadas implementado no sistema de comunica¸c˜ao e controlo 84
4.14 Esquema ilustrativo da FIFO de mensagens CAN . . . 87
4.15 Adi¸c˜ao e leitura de mensagens na FIFO . . . 88
4.16 Convers˜oes entre frames: descodifica¸c˜ao e codifica¸c˜ao . . . 90
4.17 Mapeamento dos IDs com base nos MACs de cada n´o com TreeMap . 93
4.18 TreeSet criado para guardar os IDs livres . . . 95
4.19 Janela criada para escolher a porta s´erie a utilizar . . . 99 xxiv
4.20 Janela criada para escolher a porta s´erie a utilizar . . . 99
4.21 Esquema da frame Serial desenvolvida . . . 100
4.22 Fluxograma da fun¸c˜ao de leitura da porta s´erie . . . 102
4.23 Fluxograma da fun¸c˜ao de envio pela porta s´erie . . . 103
5.1 Exemplo de uma cˆamara . . . 107
5.2 Refra¸c˜ao da luz . . . 108
5.3 Modelo de Representa¸c˜ao de cor em RGB . . . 113
5.4 Decomposi¸c˜ao de uma imagem RGB nas 3 bandas: Red, Green e Blue.114
5.5 Esquema do modelo HSV . . . 115
5.6 Exemplo do filtro de m´edia. . . 116
5.7 Exemplo do filtro de m´edia ponderada . . . 117
5.8 Aplica¸c˜ao de um filtro de mediana. . . 118
5.9 Aplica¸c˜ao de um filtro bilateral . . . 119
5.10 Histograma e Binariza¸c˜ao . . . 121
5.11 Aplica¸c˜ao do K-means . . . 123
5.12 Utiliza¸c˜ao do K-means onde muita informa¸c˜ao foi apagada . . . 123
5.13 Exemplo de aplica¸c˜ao de uma eros˜ao . . . 124
5.14 Dete¸c˜ao e seguimento de objetos em sequˆencias de imagem . . . 126
5.15 Fluxograma da aplica¸c˜ao desenvolvida . . . 130
5.16 Interface gr´afica do programa . . . 132
5.17 Exemplo da aplica¸c˜ao do filtro bilateral sobre uma imagem . . . 133
5.18 Determina¸c˜ao dos valores de a utilizar como limites de HSV . . . 135
5.19 Janela que permite controlar os filtros aplicados na imagem . . . 136
5.20 Dete¸c˜ao e seguimento de peixes vermelhos . . . 137
5.21 Apresenta¸c˜ao dos dados relativos ao centroide e tamanho do peixe . . 138
6.1 Onda quadrada com um fator delta baixo. . . 140
6.2 PWM com fator delta a 50% . . . 140
6.3 N´ıvel de tens˜ao a ler (550mV) . . . 140
6.4 Leitura da ADC enviada via porta s´erie com RS232 . . . 140
6.5 Formas de onda presentes no barramento (CAN H e CAN L) . . . 141 xxv
6.6 Frame Serial analisada no oscilosc´opio . . . 141
6.7 Resultado da cria¸c˜ao de uma mensagem CAN e verifica¸c˜ao dos dados da mesma . . . 143
6.8 Resultado da adi¸c˜ao e leitura de uma mensagem numa FIFO . . . 144
6.9 Resultado da adi¸c˜ao e leitura mensagens numa FIFO . . . 146
6.10 Resultado da adi¸c˜ao e leitura mensagens numa FIFO . . . 149
6.11 Envio de dados numa String pela porta s´erie . . . 150
6.12 Envio de dados numa string pela porta s´erie . . . 151
6.13 Teste de envio de 1msg/2500ms . . . 152 6.14 Teste de envio de 1msg/1000ms . . . 152 6.15 Teste de envio de 1msg/250ms . . . 152 6.16 Teste de envio de 1msg/50ms . . . 152 6.17 Teste de envio de 1msg/25ms . . . 153 6.18 Teste de envio de 1msg/5ms . . . 153
6.19 Resultado da adi¸c˜ao e leitura mensagens numa FIFO . . . 156
6.20 Resultado da adi¸c˜ao e leitura mensagens numa FIFO . . . 157
6.21 Sa´ıda do programa sem filtros da imagem 1 . . . 158
6.22 Binariza¸c˜ao sem filtros da imagem 1. . . 158
6.23 Sa´ıda do programa sem filtros da imagem 2 . . . 159
6.24 Sa´ıda do programa sem filtros da imagem 3 . . . 160
6.25 Binariza¸c˜ao sem filtros da imagem 3. . . 160
6.26 Sa´ıda do programa com filtros da imagem 1 . . . 160
6.27 Sa´ıda do programa com filtros da imagem 2 . . . 161
6.28 Resultado da binariza¸c˜ao da imagem 3, sem filtros . . . 162
6.29 Resultado da binariza¸c˜ao da imagem 3, com filtros. . . 162
6.30 Resultado da dete¸c˜ao de um peixe vermelho num v´ıdeo e respetiva apresenta¸c˜ao da trajet´oria do seu movimento . . . 164
6.31 Dete¸c˜ao e representa¸c˜ao da trajet´oria do movimento de um peixe amarelo num v´ıdeo . . . 166
6.32 Resultado da dete¸c˜ao de um peixe amarelo . . . 167
6.33 Imagem binarizada, com a aplica¸c˜ao dos filtros . . . 167
Acr´
onimos
Lista de acr´
onimos
Sigla Expans˜ao
AC Alternate Current
ADC Analog to Digital Converter ALU Arithmetic Logic Unit
AUV Autonomous Underwater vehicle CAN Controller Area Network
CPU Central Processing Unit CRC Cyclic Redundancy Check
CSMA/CD Carrier Sense Multiple Access with Collision Detection CSMA/DCR Carrier Sense Multiple Access with Deterministic Collision
Resolution
CSMA/NBA Carrier Sense Multiple Access with Non-destructive Bitwise Arbitration
CiA CAN in Automation
DC Direct Current
Sigla Expans˜ao
DCEs Data Circuit-terminating Equipment DLC Data Length Code
DTEs Data Terminal Equipment
EOF End Of Frame
EPROM Erasable Programmable Read Only Memory
FEUP Faculdade de Engenharia da Universidade do Porto FIFO First In First Out
I2C Inter-Intergrated Circuit
ID Identifier
IDE Identifier Extension IFS Interframe Space
IMEA International Marine Electronics Association ISEP Instituto Superior de Engenharia do Porto ISO Internacional Organization for Standardization LAN Local Area Network
LED Light-Emitting Diode
LSA Laborat´orio de Sistemas Aut´onomos LSB Less Significant Bit
MAC Media Access Control Address MSB Most Significant Bit
OSI Open Systems Interconnection
OpenCV Open Source Computer Vision Library PLC Programmable Logic Controller
PLL Phase Lock Loop
PWM Pulse-Width Modulation RAM Random Access Memory
ROM Read Only Memory
Sigla Expans˜ao
ROV Remotely Operated Vehicle RTC Real Time Clock
RTR Remote Transmission Request
SAEI Society od Automotive Engeneers International SBC Single Board Computer
SOF Start Of Frame
SPI Serial Peripheral Interface TOWFISH Ve´ıculo de Arrasto
USART Universal Synchronous Asynchronous Receiver Transmitter USB Universal Serial Bus
UTAD Universidade de Tr´as-os-Montes e Alto Douro
VDMA Verband Deutscher Maschinen und Anlagenbau - German En-geneering Federation
WAN Wide Area Network
1
Introdu¸c˜
ao
Muitos sistemas de controlo remoto simples utilizam uma arquitetura centralizada.
Mas com o aumento da complexidade, o sistema pode ser modificado para uma
ar-quitetura distribu´ıda. Muitos destes sistemas s˜ao constitu´ıdos por m´aquinas virtuais
e middleware. No entanto tamb´em se pode aplicar um modelo distribu´ıdo a
pro-blemas mais simples como um sistema de controlo de um ve´ıculo n˜ao-tripulado e
aquisi¸c˜ao de dados a partir de v´arios sensores.
A tecnologia associada aos microcontroladores tem evolu´ıdo muito no ´ultimos anos,
pelo que estes come¸cam a estar presentes nos mais diversos equipamentos do nosso
dia-a-dia. A sua capacidade de processamento e controlo de perif´ericos permite a sua
utiliza¸c˜ao num sistema distribu´ıdo. A possibilidade de utilizar redes de comunica¸c˜ao
industriais com estas unidades de processamento permite desenvolver sistemas fi´aveis
e robustos.
Outra ´area que tem crescido, quer ao n´ıvel da tecnologia quer ao n´ıvel de aplica¸c˜oes
2 CAP´ITULO 1. INTRODUC¸ ˜AO
poss´ıveis, ´e o processamento digital de imagem. Atualmente existem bibliotecas que
facilitam a implementa¸c˜ao de aplica¸c˜oes deste g´enero e que s˜ao multi-plataforma e
multi-linguagem, chegando assim a mais programadores e utilizadores. O tema da
dete¸c˜ao e seguimento de objetos ´e muito vasto mas a sua aplica¸c˜ao em contextos
simples como a monitoriza¸c˜ao do comportamento de peixes pode dar-nos muita
informa¸c˜ao sobre o seu desenvolvimento e a forma como as condi¸c˜oes ambientais e
os fatores externos influenciam a sua atividade.
Estes trˆes temas podem ser aplicados em conjunto com, por exemplo, a cria¸c˜ao e
desenvolvimento de um ve´ıculo controlado remotamente, baseado numa arquitetura
distribu´ıda, que utilize microcontroladores para processar a informa¸c˜ao necess´aria
ao controlo do mesmo, e que tenha a capacidade de recolher imagens e processar as
mesma para detetar ou seguir objetos de interesse.
1.1
Contexto e Motiva¸
c˜
ao
Nesta disserta¸c˜ao decidiu-se criar um sistema de instrumenta¸c˜ao capaz de
contro-lar um ve´ıculo submers´ıvel e que permitia fazer a aquisi¸c˜ao de diferentes grandezas,
como por exemplo, temperatura, oxig´enio dissolvido ou PH da ´agua. Este sistema
deve ser o mais gen´erico poss´ıvel de forma a poder ser aplicado a outro tipo de
ve´ıculo. O sistema deve ser composto por um um m´odulo de aquisi¸c˜ao e
processa-mento de imagens adquiridas com uma cˆamara para an´alise do movimento de peixes.
Para obter o movimento dos peixes, o sistema deve ser capaz de detetar o objeto de
1.2. OBJETIVOS 3
1.2
Objetivos
Neste projeto pretende-se criar um sistema capaz de controlar um ve´ıculo
sub-mers´ıvel, bem como processar informa¸c˜ao recolhida pelo mesmo. Um objetivo desta
disserta¸c˜ao ´e criar uma arquitetura modular que seja o mais gen´erica e escal´avel
poss´ıvel.
Para facilitar a conce¸c˜ao e implementa¸c˜ao do sistema de instrumenta¸c˜ao, este est´a
organizado em diferentes m´odulos que cooperam entre si, fornecendo servi¸cos ou
trocando informa¸c˜ao sempre que necess´ario.
Esta arquitetura modular visa simplificar a cria¸c˜ao do sistema, separando os
dife-rentes problemas em grupos bem definidos, bem como dividindo os problemas mais
complexos em problemas mais simples. A divis˜ao do sistema criado em m´odulos
permite que estes possam funcionar independentemente do funcionamento (ou n˜ao)
dos outros m´odulos.
Al´em de se pretender criar um sistema gen´erico, pr´atico e simples, pretende-se que
este seja escal´avel, robusto e fi´avel. O sistema desenvolvido visa, al´em de controlar
um ve´ıculo submers´ıvel, recolher informa¸c˜ao sob a forma de v´ıdeo ou fotografia do
ambiente subaqu´atico. Esses dados recolhidos s˜ao utilizados para uma posterior
4 CAP´ITULO 1. INTRODUC¸ ˜AO
1.3
Organiza¸
c˜
ao da Disserta¸
c˜
ao
Esta disserta¸c˜ao est´a dividida em diferentes cap´ıtulos. O segundo cap´ıtulo ´e relativo
ao Estado da Arte, no qual ´e descrita a explora¸c˜ao subaqu´atica com o aux´ılio de
elementos eletr´onicos controlados remotamente ou “independentes”. Associada `a
explora¸c˜ao subaqu´atica est´a a monitoriza¸c˜ao do habitat e dos elementos que nele
habitam. Assim ´e tamb´em analisado o progresso que a rob´otica trouxe neste campo.
O terceiro cap´ıtulo descreve a evolu¸c˜ao dos ve´ıculos submers´ıveis controlados
remo-tamente ou aut´onomos, bem como a sua poss´ıvel aplica¸c˜ao no estudo dos peixes,
principalmente analisando o seu habitat e a forma como os fatores externos
influen-ciam a atividade dos peixes.
No quarto cap´ıtulo ´e descrito do sistema de processamento e a arquitetura utilizada.
Neste cap´ıtulo est´a descrita a forma como o hardware foi projetado e como pode ser
utilizado.
O quinto cap´ıtulo ´e referente `as comunica¸c˜oes entre placas de aquisi¸c˜ao e atua¸c˜ao,
desenvolvidas no cap´ıtulo anterior, e a possibilidade de comunica¸c˜ao com o
compu-tador para diagn´ostico ou simula¸c˜ao de n´os no barramento.
O sexto cap´ıtulo descreve como ´e feita a aquisi¸c˜ao de imagem e posterior
processa-mento digital da mesma. O algoritmo criado deve permitir a dete¸c˜ao e seguimento
do movimento de peixes.
Finalmente s˜ao apresentados os resultados e testes realizados no sistema
2
Ve´ıculos Submers´ıveis
O futuro da humanidade est´a intimamente ligado `a ´agua, `a manuten¸c˜ao da sua
biodiversidade. Cuidar do ambiente aqu´atico melhora n˜ao s´o a nossa vida mas
tamb´em a vida de todos os seres vivos que habitam nesse meio (Water and the
future of humanity, 2014).
A gest˜ao do meio subaqu´atico requer informa¸c˜ao detalhada e precisa, e em muitos
casos pode ser interessante ter essa mesma informa¸c˜ao em tempo-real. No entanto
as limita¸c˜oes f´ısicas `a presen¸ca do homem, como a resistˆencia `a press˜ao
(profun-didade), temperatura e tempo de permanˆencia no meio subaqu´atico, impedem o
mesmo de explorar e recolher a informa¸c˜ao desejada (Martins, 2016). No entanto,
com a evolu¸c˜ao da tecnologia, melhorias de desempenho de componentes, redu¸c˜ao do
tamanho e custo dos mesmos, e muito devido a um push de investiga¸c˜ao das
prin-cipais institui¸c˜oes Europeias, Americanas e Asi´aticas, a investiga¸c˜ao do ambiente
subaqu´atico tem aumentado e recolhido muita e nova informa¸c˜ao.
6 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
Neste cap´ıtulo ser˜ao descritas as diferentes abordagens ao tema rob´otica subaqu´atica
e processamento digital de imagem aplicado `a dete¸c˜ao, seguimento e an´alise de
peixes.
2.1
Trabalhos Relacionados
Apesar de hoje ser poss´ıvel construir submarinos com maior facilidade, nem sempre
foi assim. O primeiro “submarino” foi projetado por Leonardo da Vinci, mas devido
`
as limita¸c˜oes tecnol´ogicas da ´epoca n˜ao foi poss´ıvel executar tal empreendimento
(Elthon Henrique dos Santos, 2010).
Figura 2.1 – Imagem ilustrativa do submers´ıvel The American Turtle
Em 1771 foi constru´ıda a primeira embarca¸c˜ao capaz de ser operada submersa,
conhecida como The American Turtle. Com um tamanho reduzido e movida a for¸ca
2.1. TRABALHOS RELACIONADOS 7
capaz de colocar um explosivo no navio britˆanico Eagle. O problema desta cria¸c˜ao
e das predecessoras residia no facto de necessitarem de muita for¸ca humana para
se movimentarem, for¸ca essa que rapidamente se esgota. Apenas com a inven¸c˜ao
do motor de combust˜ao interna e dos motores el´etricos se tornou vi´avel construir
submarinos.
At´e aos anos 50, estes ve´ıculos utilizavam motores a gasolina ou diesel quando
ope-ravam na superf´ıcie e motores el´etricos quando submergiam. Como as baterias que
alimentavam os motores el´etricos eram carregadas pelo funcionamento do motor de
combust˜ao, era necess´ario que o submarino permanecesse `a superf´ıcie muito tempo.
Figura 2.2 – Esquema do submarino americano Nautilus
A constru¸c˜ao do submarino Nautilus, na Figura2.2 (Genk,2015), o primeiro ve´ıculo deste meio a funcionar a energia nuclear, tornou-se poss´ıvel operar durante v´arios
anos submersos sem necessitar de reabastecer, j´a que com a utiliza¸c˜ao da energia
nuclear era poss´ıvel produzir ar e ´agua pot´avel para a tripula¸c˜ao, eletricidade, entre
8 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
2.1.1
Aplica¸
c˜
oes da Rob´
otica em Ambientes Aqu´
aticos
No final do s´eculo XX assistiu-se ao desenvolvimento de ve´ıculos submarinos n˜
ao-tripulados para a recolha de dados no mundo subaqu´atico. O aparecimento de
novas tecnologias que viabilizam a constru¸c˜ao de ve´ıculos n˜ao-tripulados, com
ele-vados n´ıveis de precis˜ao, fiabilidade, robustez e capacidade operacional, permitiram
a cria¸c˜ao e desenvolvimento deste tipo de projetos por parte de cada vez mais
ele-mentos.
Foi durante a d´ecada de 90 que se assistiu ao desenvolvimento dos primeiros prot´otipos
de ve´ıculos submarinos n˜ao tripulados e aut´onomos, e ao lan¸camento de diversas
empresas que comercializaram ve´ıculos baseados nestes. A aplica¸c˜ao militar n˜ao
foi alheia a este g´enero de projetos, existindo atualmente v´arios submarinos n˜
ao-tripulados ligados a tarefas militares.
Os ve´ıculos subaqu´aticos operados remotamente passaram a ser uma op¸c˜ao
interes-sante como ferramenta de investiga¸c˜ao, devido `a sua capacidade de recolha de dados,
permitirem observa¸c˜oes, trabalhos subaqu´aticos de recolha ou implanta¸c˜ao de
ob-jetos, manuten¸c˜ao de estruturas submersas (2.3) (Adriana, 2012), an´alise da vida subaqu´atica (2.4) (Coimbra, 2013), tudo isto sem colocar em risco vidas humanas.
Os ve´ıculos submers´ıveis controlados remotamente devem ser capazes de ultrapassar
dificuldades como:
• Meio diversificado - desde rios a bacias hidrogr´aficas ou zonas profundas do oceano;
2.1. TRABALHOS RELACIONADOS 9
Figura 2.3 – An´alise de estruturas submer-sas com a utiliza¸c˜ao de um ROV
Figura 2.4 – Monitoriza¸c˜ao da qualidade da ´agua e da vida subaqu´atica
• Elevada press˜ao - 10m de profundidade na ´agua equivalem a 1 atmosfera; • Impossibilidade de transmiss˜oes de r´adio para comunica¸c˜oes;
• Meio ambiente muitas vezes desconhecido;
• Condi¸c˜oes ambientais adversas - correntes, ondas, ...; • Pontos de acesso dif´ıceis.
Este ramo da tecnologia tem evolu´ıdo muito nos ´ultimos anos principalmente devido
`
a boa rela¸c˜ao custo/desempenho, redu¸c˜ao dos riscos de seguran¸ca e uma vez que estes
ve´ıculos podem operar em ambientes onde a presen¸ca do homem ´e imposs´ıvel, como
por exemplo o interior do n´ucleo de um reator nuclear (ROV Society, 2016). O
aumento da investiga¸c˜ao nesta ´area levou a que este tipo de submarinos pudessem
realizar tarefas de observa¸c˜ao do leito de rios e oceanos, batimetria, inspe¸c˜oes de
estruturas, arqueologia subaqu´atica, constru¸c˜ao de estruturas submersas e apoio
a opera¸c˜oes de grande profundidade (explora¸c˜oes petrol´ıferas), obtendo resultados
10 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
Os ve´ıculos submers´ıveis podem ser divididos em trˆes tipos de sistemas (Martins,
2016):
• ROV (Remotely Operated Vehicle) - ve´ıculo operado remotamente. Conduzi-dos por um operador em terra ou a bordo de um navio, consistem em ve´ıculos
com um cord˜ao umbilical de liga¸c˜ao `a esta¸c˜ao de controlo. Utilizado
principal-mente para tarefas de custo alcance, como por exemplo a an´alise de estruturas
submersas. O seu peso pode variar desde os 15Kg `as v´arias toneladas. S˜ao
exemplo deste g´enero de ve´ıculos os seguintes submarinos:
– ROVs de inspe¸c˜ao - ROV IES do LSTS-FEUP, Phantom da Deep Ocean Eng., Stingray da Benthos, Hydroball da Hydrovision;
– ROVs de interven¸c˜ao - Venom da Hydrovision, Quest da Alstom Schiling, MAX da Deep Sea Systems, Hercules da Haliburton, Triton da Perry
Slingsby.
• AUV (Autonomous Underwater vehicle) - ve´ıculo submarino aut´onomo. Com um sistema computacional a bordo e miss˜oes pr´e-programadas, este tipo de
ve´ıculo ´e muito aplicado em opera¸c˜oes de longa dura¸c˜ao e cujo varrimento
espacial do ve´ıculo ´e grande, quer em distˆancia como em profundidade. Como
principais exemplos de AUVs temos:
– Isurus do LSTS/FEUP – Remus do WHOI – Odissey do MIT
2.1. TRABALHOS RELACIONADOS 11
– Huggin da Konsberg Simrad – Aries da NPS
– OEX da Florida Atlantic University – Martin da Maridan
• TOWFISH - ve´ıculo de arrasto. Arrastados por embarca¸c˜oes, o seu controlo ´e reduzido e servem tipicamente para o transporte de sensores dedicados, cuja
alimenta¸c˜ao energ´etica pode ser feita por baterias internas ou por uma liga¸c˜ao
el´etrica ao barco propulsor.
Estes ve´ıculos s˜ao apoiados por navios de investiga¸c˜ao e/ou suporte, meios de apoio
em estruturas fixas (gruas) e lan¸cas ou barcos de pequeno porte. Existe ainda um
outro tipo de sistema que pode servir de apoio, principalmente aos ROVs (2.5) (Group,2011) ou aos AUVs (2.6) (Museon, 2015), as esta¸c˜oes fixas. Estes sistemas fixos podem realizar fun¸c˜oes de apoio `a localiza¸c˜ao, recarga energ´etica dos ve´ıculos
submers´ıveis, recolha, armazenamento e transmiss˜ao de dados (Martins, 2016).
Figura 2.5 – AUV Trimares Figura 2.6 – ROV MAX da Deep Sea
12 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
Em Portugal, a rob´otica submarina est´a principalmente associada a duas institui¸c˜oes
de investiga¸c˜ao e desenvolvimento:
• Laborat´orio de Sistemas Aut´onomos do ISEP (LSA) - realiza investiga¸c˜ao e desenvolvimento de sistemas rob´oticos m´oveis, sistemas embebidos e de
ob-serva¸c˜ao ambiental, a¸c˜oes de forma¸c˜ao e presta¸c˜ao de servi¸cos;
• Laborat´orio de Sistemas e Tecnologia Subaqu´atica da FEUP - ´e um laborat´orio de investiga¸c˜ao focado nas ´areas de tecnologia submarina, controlo de
siste-mas, desenvolvimento e opera¸c˜ao de ve´ıculos subaqu´aticos e monitoriza¸c˜ao
ambiental.
Existem ainda protocolos de coopera¸c˜ao nacional entre a Administra¸c˜ao dos Portos
do Douro e Leix˜oes, o Instituto de Ciˆencias Biom´edicas Abel Salazar, o Instituto
Hidrogr´afico, a Universidade do Algarve e a Universidade de Tr´as-os-Montes e Alto
Douro. A n´ıvel internacional as institui¸c˜oes portuguesas tˆem protocolos de
inves-tiga¸c˜ao e coopera¸c˜ao com a University of California, Woods Hole Oceanographic
Institution, Naval Postgraduate School, Naval Undersea Warfare Center nos
Esta-dos UniEsta-dos da Am´erica (Martins,2016).
2.1.2
Monitoriza¸
c˜
ao do Comportamento de Peixes
Inicialmente os ve´ıculos subaqu´aticos controlados remotamente era principalmente
utilizados para realizar tarefas de recupera¸c˜ao de objetos perdidos em alto mar.
O seu baixo custo de cria¸c˜ao, opera¸c˜ao e manuten¸c˜ao fizeram com que a ind´ustria
2.1. TRABALHOS RELACIONADOS 13
passaram a ser imprescind´ıveis para empresas que trabalham em alto mar, uma vez
que havia a necessidade de atingir profundidades muito elevadas, imposs´ıveis de
atingir por um mergulhador (R. D. Christ,2014).
Desde ent˜ao estes ve´ıculos vˆem a ser utilizados para as mais diversas fun¸c˜oes. Na
ind´ustria, o seu aplica¸c˜ao pode ser necess´aria para fazer desde inspe¸c˜oes de estruturas
submersas ou subaqu´aticas at´e opera¸c˜oes de soldagem ou perfura¸c˜ao em alto mar a
grande profundidade.
Uma potencial aplica¸c˜ao de um ve´ıculo submers´ıvel ´e a monitoriza¸c˜ao de um
deter-minado ambiente subaqu´atico. An´alise do ambiente aqu´atico, recolha de amostras
e dados relativos a parˆametros de qualidade, monitoriza¸c˜ao da atividade da fauna
e da flora s˜ao exemplos de aplica¸c˜oes ligadas `a biodiversidade existente no local de
estudo onde o ROV ou AUV pode ser inserido. De forma global, a utiliza¸c˜ao de
ve´ıculos submers´ıveis, controlados remotamente ou aut´onomos, justifica-se pela n˜ao
necessidade de expor mergulhadores a situa¸c˜oes de perigo muito comuns em
ambi-entes aqu´aticos, principalmente em casos de ´aguas turvas, profundas, contaminadas,
com elevada corrente ou temperaturas baixas (Toronto Police, 2014).
A qualidade da ´agua, considerando principalmente a temperatura, o n´ıvel de oxig´enio
dissolvido e substˆancias qu´ımicas dissolvidas, poluentes ou n˜ao, afeta a vida dos
se-res vivos aqu´aticos. Muitas das vezes ´e poss´ıvel verificar altera¸c˜oes `as carater´ısticas
normais do seu habitat analisando o movimento dos peixes que nele habitam.
Tradi-cionalmente, os bi´ologos analisam o comportamento da fauna aqu´atica fazendo
14 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
uma posterior an´alise dos mesmos (Srividya M. S., 2014). Embora estes m´etodos
sejam capazes de obter bons resultados tˆem as suas limita¸c˜oes:
• Mergulho - O mergulhador n˜ao pode estar dentro de ´agua por per´ıodos prolon-gados. A botija de oxig´enio tem uma dura¸c˜ao relativamente curta e a exposi¸c˜ao
prolongada do mergulhador a temperaturas baixas e press˜oes elevadas n˜ao ´e
aconselh´avel. Esta op¸c˜ao requer algum investimento financeiro pr´evio (fatos,
botijas de ar comprimido, barbatanas, entre outros)(Srividya M. S., 2014).
• Captura - Capturar os peixes para os estudar e analisar o seu comportamento permite obter resultados muito precisos, mas pode provocar danos nos peixes
aquando da sua captura e muitas vezes estes morrem devido a m´as condi¸c˜oes
de transporte e a diferen¸cas elevadas de ambiente onde s˜ao colocados. Al´em
disso ´e um m´etodo que requer tamb´em algum investimento monet´ario(Srividya
M. S., 2014).
Ambos os m´etodos tˆem uma grande desvantagem: alteram o comportamento natural
dos peixes. A inclus˜ao de um elemento estranho no ambiente natural da popula¸c˜ao
de peixes pode causar algum stress nos mesmos, assim como a remo¸c˜ao dos mesmos
do seu habitat.
Como j´a foi referido, os peixes alteram o seu comportamento em fun¸c˜ao do meio
que os rodeiam e as carater´ısticas do mesmo. Assim, o estudo detalhado do seu
movimento pode dar a conhecer aos bi´ologos muitos aspetos interessantes da biologia
2.1. TRABALHOS RELACIONADOS 15
Como ´e imposs´ıvel para o bi´ologo estar longos per´ıodos de tempo a observar os
peixes de forma a verificar de que forma ´e que estes se movimentam, quer seja com
recurso a mergulho ou `a captura de elementos de amostra, a cria¸c˜ao de sistemas de
monitoriza¸c˜ao por computador em laborat´orio torna-se muito importante para este
tipo de estudos.
O trabalho desenvolvido por Rui Nian(2013) demonstra como os projetos de ROVs
podem estar ligados `a etologia1 dos peixes. Nian desenvolveu um sistema capaz
de capturar imagens subaqu´aticas para um ve´ıculo submers´ıvel controlado
remota-mente, que se destinam `a an´alise do comportamento e movimento dos peixes de um
determinado local de estudo. Neste trabalho foi criado um sistema capaz de
submer-gir, controlado remotamente, com vis˜ao por computador, com o principal objetivo
de realizar expedi¸c˜oes que permitisse capturar imagens para estudos de etologia dos
peixes.
Figura 2.7 – VideoRay Pro III MicroROV
Outro trabalho semelhante ´e o de Jun Zhou (2006), onde o autor tamb´em criou
um sistema para detetar e seguir o movimento de peixes com base na vis˜ao por
1Etologia dos peixes ´e o ramo da ciˆencia que estuda o movimento, comportamento e atividade de peixes, quer selvagens ou criados em cativeiro, em condi¸c˜oes naturais.
16 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
computador. Zhou utilizou o ROV VideoRay Pro III MicroROV (Figura 2.7) para recolher as imagens do ambiente subaqu´atico e analisar o movimento e posi¸c˜ao de
uma esp´ecie de peixe o Largemouth Bass, conhecido em Portugal como Achig˜a. No
seu trabalho utiliza uma s´erie de filtros, incluindo o filtro de Gabor para
textu-ras, segmenta¸c˜oes e extra¸c˜ao de carater´ısticas geom´etricas para procurar os peixes e
detetar a orienta¸c˜ao do mesmo, sabendo a posi¸c˜ao do corpo e identificando a
barba-tana caudal. Com base nas carater´ısticas extra´ıdas, o ROV alterava a sua posi¸c˜ao
de forma a poder seguir o peixe. Outro filtro utilizado por Zhou foi o filtro de
Kal-man, que lhe permitia obter posi¸c˜oes estimadas sobre a posi¸c˜ao futura do objeto a
detetar e seguir.
Existem atualmente alguns sistemas de vis˜ao que permitem a monitoriza¸c˜ao do
com-portamento dos peixes em ambientes controlados, como laborat´orios com tanques
ou aqu´arios, e mesmo ambientes naturais. Quando as condi¸c˜oes de filmagem n˜ao
s˜ao as melhores e a dete¸c˜ao de peixes por computador n˜ao ´e poss´ıvel, recorre-se a
bi´ologos treinados para este tipo de tarefas.
Para se poder obter dados relativos ao comportamento dos peixes com a melhor
precis˜ao, o estudo teria de ser realizado no seu habitat. Mas reconhecer, contar ou
seguir peixes no seu ambiente natural coloca v´arios desafios (Clowting,2006):
• os equipamentos eletr´onicos s˜ao muitas vezes sens´ıveis `a humidade;
• o contraste visual ´e reduzido devido a carater´ısticas do meio como a turbidez, sedimentos, bolhas, detritos, entre outros;
2.1. TRABALHOS RELACIONADOS 17
Se tentarmos uma abordagem em que o sistema de vis˜ao por computador procura
o peixe com base na sua forma (com classificadores por exemplo), existem outros
problemas associados uma vez que o peixe faz rota¸c˜oes e mudan¸cas bruscas de dire¸c˜ao
e raramente p´ara na posi¸c˜ao ideal para a captura da imagem na perspetiva desejada
para um processamento correto.
Esta disserta¸c˜ao ir´a focar-se, essencialmente na segunda parte da mesma, na an´alise
do movimento de peixes com base em v´ıdeos de ambientes controlados. Nestas
condi¸c˜oes existem alguns trabalhos realizados, principalmente em laborat´orio, onde
o peixe ´e colocado num aqu´ario/tanque previamente preparado para os testes que
se desejam realizar, com ´agua limpa, com baixo n´ıvel de turbidez, com o fundo
do aqu´ario branco e iluminado, por forma a obter a melhor qualidade de imagem
poss´ıvel com a cˆamara. As imagens capturadas pela cˆamara podem ser analisadas
em tempo real ou guardadas e processadas posteriormente. A Figura2.8(Clowting, 2006) representa uma forma de realizar este g´enero de testes em laborat´orio.
O problema de fazer a dete¸c˜ao e seguimento de peixes em longos per´ıodos de tempo
consiste num duplo problema: detetar o peixe numa imagem e estabelecer a sua
correspondˆencia na imagem seguinte. A primeira parte ´e a mais direta e simples de
resolver, embora os peixes estejam sempre em movimento, mesmo enquanto est˜ao a
“dormir”. No entanto, a segunda pode apresentar muitas dificuldades uma vez que
os peixes movem-se muitas vezes perto uns dos outros, cruzando-se v´arias vezes. Isto
torna o processo de seguimento dos peixes ao longo de uma sequˆencia de imagens
mais complicado. Outro aspeto que dificulta o seguimento de peixes, principalmente
18 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
Figura 2.8 – Representa¸c˜ao de uma forma de recolher e analisar imagens de peixes
do campo de vis˜ao da cˆamara, por per´ıodos de tempo aleat´orios e indeterminados.
Quando tal acontece n˜ao ´e poss´ıvel saber se o peixe que reaparece ´e o mesmo que
tinha sa´ıdo do campo de vis˜ao `a uns minutos atr´as ou se ´e outro peixe, e como tal
deve-lhe atribu´ıdo um novo ID para poder ser seguido e registado o seu movimento.
O trabalho desenvolvido porSmith(2006) ´e um exemplo de um projeto cujo objetivo
´
e fazer o tracking de peixes num ambiente controlado. Neste trabalho o autor criou
um algoritmo que se baseia na subtra¸c˜ao do fundo (background subtraction). A
primeira fase da aplica¸c˜ao foi receber as frames capturadas pela cˆamara e a cada
uma destas era subtra´ıdo o fundo. A imagem de fundo consistia numa imagem do
aqu´ario sem o(s) peixe(s) em an´alise. Desta forma, ao fazer a subtra¸c˜ao de fundo, o
autor obtinha as diferen¸cas entre as imagens, sendo que na imagem de output estava
presente o peixe a detetar, mas apenas se este se movimentasse.
2.2. PROPOSTA DE UMA ARQUITETURA PARA UM VE´ICULO SUBMERS´IVEL 19
seriam o peixe, essa imagem era novamente processada. Smith (2006) aplicou um
filtro de Blobs para apenas ficar com os elementos cujo tamanho fosse superior a um
valor m´ınimo definido pelo autor. O resultado foi uma representa¸c˜ao aproximada
do peixe presente nas frames do v´ıdeo.
2.2
Proposta de uma Arquitetura para um Ve´ıculo
Submers´ıvel
Tendo como objetivo criar um sistema que permita controlar um ve´ıculo, neste caso
submers´ıvel, mas consciente de que ´e importante que a arquitetura e implementa¸c˜ao
do mesmo possa ser adaptado ou incorporado noutro tipo de ve´ıculo, criou-se um
sistema que permite controlar v´arios elementos com diferentes m´odulos que
comu-nicam, fazem pedidos recebem ordens ou respostas de outros n´os.
Como em qualquer ve´ıculo ´e obrigat´orio ter formas de controlar o mesmo, com base
na informa¸c˜ao retirada do ambiente em redor. Controlar motores, servos, recolher
dados de diferentes sensores, ter um suporte de ilumina¸c˜ao e sinaliza¸c˜ao, e recorrer
ao v´ıdeo para auxiliar na navega¸c˜ao, s˜ao fun¸c˜oes a projetar no desenvolvimento de
um sistema deste g´enero.
Neste trabalho desenvolveu-se um modelo de board que permite incluir um
micropro-cessador (unidade de controlo) e ligar elementos exteriores a um conjunto de portas
disponibilizadas, por exemplo para trocar informa¸c˜ao com o exterior e controlar
dis-positivos externos. Implementaram-se algumas fun¸c˜oes que permitem, de um modo
20 CAP´ITULO 2. VE´ICULOS SUBMERS´IVEIS
de sensores.
A cada m´odulo ser˜ao atribu´ıdas tarefas diferentes, pelo que cada um ´e controlado
atrav´es do envio/rece¸c˜ao de mensagens, criando uma rede de n´os com diferentes
IDs. Para poder gerir as a¸c˜oes de cada board foi necess´ario desenvolver um sistema
de comunica¸c˜oes, tendo como base modelos bastante testados, fi´aveis e utilizados.
Decidiu-se utilizar como base o protocolo CAN (Controller Area Network),
desen-volvendo um sistema de gest˜ao de mensagens baseado no Modelo OSI. No
desen-volvimento de qualquer sistema ´e importante ter um sistema de diagn´ostico, que
permita recolher toda a informa¸c˜ao a ser processada pelo mesmo sistema. Assim
criou-se um n´o de diagn´ostico que permite recolher a informa¸c˜ao que transita entre
os n´os da rede.
Uma vez que esta disserta¸c˜ao pretende criar uma arquitetura gen´erica que possibilite
controlar um ve´ıculo submers´ıvel remotamente, a recolha de dados na forma de v´ıdeo
permite visualizar o trajeto deste e processar a informa¸c˜ao recolhida para detetar
objetos de interesse na imagem, em tempo real ou posteriormente. Nesta disserta¸c˜ao,
ser´a desenvolvida uma aplica¸c˜ao capaz de detetar peixes, filmados num ambiente
controlado, tendo por base a sua cor. Os v´ıdeos utilizados para a realiza¸c˜ao de
testes foram obtidas no YouTube e consistem na filmagem de aqu´arios com peixes
e elementos de v´arias cores. O tracking de peixes com base na cor tˆem algumas
vantagens mas tamb´em tˆem desvantagens, que ser˜ao descritas no cap´ıtulo de Testes
e Resultados.
in-2.2. PROPOSTA DE UMA ARQUITETURA PARA UM VE´ICULO SUBMERS´IVEL 21
fluenciado por elementos presentes no seu habitat ou condi¸c˜oes (temperatura,
po-lui¸c˜ao, concentra¸c˜ao de oxig´enio, etc) que os afetem diretamente. Ao desenvolver
um sistema de dete¸c˜ao e seguimento de peixes, torna-se poss´ıvel recolher informa¸c˜ao
importante sobre o seu movimento e sobra a forma como s˜ao influenciados por
agen-tes n˜ao-naturais colocados no seu ambiente ou altera¸c˜oes nas carater´ısticas no seu
3
Cap´ıtulo de Aquisi¸c˜
ao de
Dados e Atua¸c˜
ao
Assim como em qualquer ve´ıculo terrestre ou a´ereo, num ve´ıculo submers´ıvel tˆem
de existir formas de controlar o ve´ıculo e/ou adquirir dados do exterior.
Nesta disserta¸c˜ao, foi criado um modelo de controlo e aquisi¸c˜ao de dados
suficien-temente gen´erico, que suportasse diferentes formas de controlo e permitisse ligar
diferentes sensores para recolher informa¸c˜ao exterior. Al´em destas
funcionalida-des, este m´odulo permite comunicar com m´odulos semelhantes, neste caso trocando
mensagens CAN, explicadas no cap´ıtulo respetivo.
Cada m´odulo de aquisi¸c˜ao de dados e atua¸c˜ao tem presente uma unidade de
pro-cessamento, capaz de processar a informa¸c˜ao e atuar diretamente ou transmitir essa
informa¸c˜ao para um m´odulo mestre, ficando a aguardar por instru¸c˜oes da forma
como deve agir. A forma como a comunica¸c˜ao ´e realizada ser´a descrita noutro
cap´ıtulo desta disserta¸c˜ao.
24 CAP´ITULO 3. CAP´ITULO DE AQUISIC¸ ˜AO DE DADOS E ATUAC¸ ˜AO
3.1
Sistema de Processamento
A grande evolu¸c˜ao dos microcontroladores fez com que estes se tornassem formas
vi´aveis de processamento, controlo, armazenamento e aquisi¸c˜ao de informa¸c˜ao.
Atu-almente os microcontroladores s˜ao capazes de controlar sistemas de grande
im-portˆancia, fiabilidade e capacidade.
Algumas carater´ısticas importantes de um microcontrolador, e que o distinguem
de um microprocessador, s˜ao o facto de ele, al´em de ter uma unidade central de
processamento (CPU) e uma unidade l´ogica e aritm´etica (ALU), ter mem´oria para
c´odigo e dados e entrados e sa´ıdas. Estas carater´ısticas permitem ao
microcontro-lador funcionar de forma aut´onoma e interagir com outros elementos (Miyadaira,
2009).
Figura 3.1 – Esquema resumido da arquitetura de um microcontrolador
Podemos ent˜ao dizer que um microcontrolador ´e um dispositivo dotado de
“inte-ligˆencia” criado num ´unico circuito integrado, e que cont´em uma unidade de
3.1. SISTEMA DE PROCESSAMENTO 25
3.1 (baseada em Miyadaira (2009)). Os microcontroladores s˜ao desenhados para serem embebidos em aplica¸c˜oes bem definidas e estruturadas, ao contr´ario dos
mi-croprocessadores usados, por exemplo em computadores ou outro tipo de aplica¸c˜oes
mais gen´ericas.
As duas principais arquiteturas de microcontroladores s˜ao Harvard e Von Neumann
(Miyadaira, 2009). A arquitetura Harvard ´e caraterizada pela existˆencia de um
barramento para o acesso `a mem´oria de dados e outro para a mem´oria do programa,
resultando num maior fluxo de dados. J´a na arquitetura de Neumann as mem´orias
de dados e de programa partilham o mesmo barramento, limitando a banda de
opera¸c˜ao.
Em geral as mem´orias de programa existentes nos microcontroladores s˜ao do tipo
Flash (Electrically Erasable Programmable Read Only Memory), ROM (Read Only
Memory) ou EPROM (Erasable Programmable Read Only Memory). S˜ao elas que
s˜ao respons´aveis pelo armazenamento do c´odigo do programa, o que implica que
tenham o tamanho necess´ario para guardar todo o c´odigo desejado. Estas s˜ao
mem´orias do tipo n˜ao vol´atil, pelo que mantˆem o c´odigo guardado nelas, mesmo
que n˜ao estejam a ser alimentadas (Miyadaira,2009).
As principais carater´ısticas de cada um destes tipos de mem´oria s˜ao:
• Flash - ´e a mem´oria mais flex´ıvel entre os v´arios tipos de mem´oria, pois pode ser apagada eletricamente e reprogramada milhares ou mesmo milh˜oes de vezes;
• ROM - n˜ao permite que o seu conte´udo seja alterado pelo utilizador. Esta apenas permite a leitura dos dados. ´E uma mem´oria de baixo custo;
26 CAP´ITULO 3. CAP´ITULO DE AQUISIC¸ ˜AO DE DADOS E ATUAC¸ ˜AO
• EPROM - pode ser apagada e/ou reprogramada v´arias vezes. Como desvan-tagem, o seu custo ´e elevado, comparado aos restantes tipos de mem´oria.
Outro tipo de mem´oria existente ´e a mem´oria de dados, conhecida como mem´oria
RAM (Random Access Memory). Esta ´e do tipo vol´atil e guarda as vari´aveis e
constantes do sistema. Os dados presentes nesta mem´oria s˜ao sempre perdidos
quando o microcontrolador deixa de ser alimentado. Isto implica que dados que
sejam necess´arios reter, tˆem de ser gravados nos outros tipos de mem´oria e carregados
sempre que o sistema for iniciado.
As portas e pinos de I/O (Input/Output em Inglˆes, Entrada/Sa´ıda em Portuguˆes)
digitais est˜ao presentes em todos os microcontroladores. ´E por eles que se comunica
com o exterior, ou seja, ´e por interm´edio deles que o microcontrolador aciona uma
rel´e, um LED, um motor, entre outros. O sentido dos pinos I/O pode ser programado
e definido como sendo uma entrada ou uma sa´ıda (exclusivamente), como mostra a
Figura 3.2. Se o pino, ou a porta (conjunto dos pinos pertencentes `a mesma porta) for definido como sa´ıda, este poder´a ser utilizado para controlar dispositivos ou
elementos perif´ericos. J´a se este for definido como entrada, pode ser utilizado para
receber informa¸c˜ao externa, como por exemplo saber o estado de um interruptor.
Alguns perif´ericos como ADC (Analog to Digital Converter), USART (Universal
Synchronous Asynchronous Receiver Transmitter), SPI (Serial Peripheral Interface),
I2C (Inter-Intergrated Circuit) s˜ao muito comuns nos microcontroladores, no entanto
existem alguns microcontroladores com mais capacidade e mais robustos e completos
3.1. SISTEMA DE PROCESSAMENTO 27
Figura 3.2 – Esquema do fluxo de dados no microcontrolador nas porta I/O digitais
exemplo controladores de LCD, USB (Universal Serial Bus), RTC (Real Time Clock)
ou CAN (Controller Area Network) (Miyadaira, 2009).
Os microcontroladores s˜ao utilizados em dispositivos de controlo autom´atico, como
por exemplo sistemas de controlo da ind´ustria autom´ovel, implantes m´edicos
“ro-botizados”, arquiteturas com controlo remoto, maquinas de pequenas e discretas ou
grandes e de elevado potˆencia, brinquedos, entre outros. O seu reduzido tamanho e
custo comparado com muitos microprocessadores, que usam sistemas de
processa-mento, mem´oria e controlo e comunica¸c˜ao com perif´ericos separados, torna-os vi´aveis
economicamente para controlar diferentes dispositivos e processos. A sua capacidade
de poder recolher ou trocar informa¸c˜ao do tipo anal´ogico ou digital tamb´em ´e um
fator a seu favor.
Outro aspeto interessante nos microcontroladores ´e o seu consumo energ´etico. Como
muitos deles permitem usar frequˆencias de oscila¸c˜ao de clock baixos, como por
exem-plo 4KHz, o seu consumo torna-se extremamente reduzido, podendo chegar a uns
meros microwatts ou umas unidades de miliwatts. Este g´enero de velocidades de
28 CAP´ITULO 3. CAP´ITULO DE AQUISIC¸ ˜AO DE DADOS E ATUAC¸ ˜AO
sleep, reduzindo a sua capacidade de processamento ao m´ınimo, baixando o seu consumo energ´etico. Para voltar a acordar, o microcontrolador vai escutando
inter-rup¸c˜oes que podem fazer com que este volte a `a sua capacidade de opera¸c˜ao m´axima
ou anterior (Microchip,2007).
Nesta disserta¸c˜ao ´e utilizado um microcontrolador da Microchip: PIC18F2680. PIC
´
e o nome da fam´ılia da arquitetura Harvard para microcontroladores, e deriva do
PIC1650. Este foi originalmente desenvolvido pela General Instrument’s, na divis˜ao
de microeletr´onica, em 1976. Atualmente, os PIC s˜ao utilizados nos mais diferentes
sistemas embebidos. Um sistema embebido ´e um sistema computacional dedicado
a uma determinada fun¸c˜ao, com diferentes atuadores mecˆanicos ou el´etricos ou
sen-sores capazes de recolher os dados necess´arios ao correto funcionamento do sistema.
S˜ao tipicamente, sistemas de baixo consumo, tamanho reduzido, baixo custo e
re-sistˆencia.
As grandes diferen¸cas entre os v´arios PICs s˜ao a sua frequˆencia m´axima de clock,
a sua mem´oria, a sua interface e n´umero de entradas e sa´ıdas, tamanho e custo.
O PIC18F2680 ´e um microprocessador de baixo custo, com uma capacidade de
processamento suficiente para a realiza¸c˜ao deste trabalho e com as entradas e sa´ıdas
necess´arias `a conce¸c˜ao do sistema. Um aspeto importante, e que tamb´em levou `a
escolhe deste microprocessador, ´e a possibilidade que este tem de comunicar por
3.2. AQUISIC¸ ˜AO DE DADOS - SENSORES 29
3.2
Aquisi¸
c˜
ao de Dados - Sensores
Um aspeto importante de um ve´ıculo operado remotamente (ROV) ´e poder recolher
informa¸c˜ao do ambiente que rodeia o mesmo. Essa informa¸c˜ao pode ser relativa a
v´arios aspetos: temperatura, humidade. luminosidade, entre outros.
Uma vez que o ve´ıculo para o qual o sistema de instrumenta¸c˜ao est´a a ser
desen-volvido ´e um ve´ıculo aqu´atico submers´ıvel, que pretende analisar a atividade da
fauna (essencialmente peixes), interessa recolher diferentes valores relacionados com
a zona que o rodeia. Para ambientes aqu´aticos, existem diferentes tipos de sensores
que se podem utilizar. Os principais parˆametros monitorizados em ambientes deste
g´enero s˜ao: temperatura, oxig´enio dissolvido, pH, condutividade el´etrica, turbidez,
clorofila e cianobact´erias (C. P. Mainstone, 1990).
3.2.1
Temperatura
A temperatura ´e um fator que influˆencia praticamente todos os fen´omenos qu´ımicos
e biol´ogicos no ambiente aqu´atico. Todas as atividades fisiol´ogicas dos peixes
(res-pira¸c˜ao, reprodu¸c˜ao, digest˜ao, alimenta¸c˜ao, etc) est˜ao intimamente ligadas `a
tem-peratura da ´agua.
Os peixes ajustam a sua temperatura corporal de acordo com a temperatura da
´
agua. Cada esp´ecie adapta-se melhor a uma determinada temperatura da ´agua,
me-lhorando o seu desenvolvimento nessa condi¸c˜ao. A essa temperatura podemos
30 CAP´ITULO 3. CAP´ITULO DE AQUISIC¸ ˜AO DE DADOS E ATUAC¸ ˜AO
de forma negativa o comportamento do peixe, podendo reduzir o seu crescimento e
desenvolvimento. Desvios muito grandes em rela¸c˜ao ao valor ´otimo, podem resultar
na morte dos peixes afetados (J. S. Alabaster, 1982).
Os animais aqu´aticos apresentam uma baixa tolerˆancia `a varia¸c˜ao de temperatura,
principalmente em casos de varia¸c˜oes bruscas (choque t´ermico). O choque t´ermico ´e
extremamente perigoso para os ovos e larvas, podendo estes ser muito afetados por
varia¸c˜oes bruscas de 5oC.
No caso dos peixes, o seu metabolismo ´e maior `a medida que a temperatura aumenta.
No entanto temperaturas muito acima da ´otima podem levar a que estes deixem de
se alimentar.
Figura 3.3 – Sensor de temperatura DS18B20
Um exemplo de sensor de temperatura da ´agua ´e o DS18B20 (3.3) (Sensor DS18B20, 2016). Este sensor, `a prova de ´agua, tem uma exatid˜ao de mais ou menos 0.5oC, e
3.2. AQUISIC¸ ˜AO DE DADOS - SENSORES 31
de uma liga¸c˜ao de dados de um fio. Outras carater´ısticas relevantes para o projeto
s˜ao a tens˜ao de opera¸c˜ao que pode variar entre 3V e 5.5V, uma faixa de medi¸c˜ao
entre -55oC e 125oC e a ponta ´e em a¸co inoxid´avel.
3.2.2
Oxig´
enio Dissolvido
O oxig´enio ´e o g´as mais importante para os peixes, por isso ´e a ele que devemos dar
maior importˆancia. Existem duas fontes de proveniˆencia do mesmo: difus˜ao direta
e processos de fotoss´ıntese.
Da atmosfera, o oxig´enio entra na ´agua principalmente devido a misturas de origem
mecˆanica, originadas pela a¸c˜ao do vento, por correntes naturais de massas h´ıdricas
ou por agita¸c˜oes causadas pela topologia do terreno (Vanessa Karla Silva).
A concentra¸c˜ao do oxig´enio na ´agua varia tamb´em com a sua temperatura, bem
como a solubilidade do g´as. Esta capacidade depende ainda da press˜ao atmosf´erica
e da salinidade da ´agua:
• A solubilidade do oxig´enio na ´agua diminui `a medida que a temperatura au-menta;
• Com temperaturas mais altas, os peixes consomem o oxig´enio dissolvido na ´
agua e podem morrer de asfixia;
• A solubilidade do oxig´enio dissolvido baixa com a redu¸c˜ao da press˜ao at-mosf´erica.
32 CAP´ITULO 3. CAP´ITULO DE AQUISIC¸ ˜AO DE DADOS E ATUAC¸ ˜AO
A concentra¸c˜ao de oxig´enio dissolvido na ´agua varia continuamente ao longo do dia,
consequˆencia dos processos f´ısicos, qu´ımicos e biol´ogicos.
Durante o dia o oxig´enio ´e produzido por fotoss´ıntese, processo atrav´es do qual as
algas transformam o di´oxido de carbono e a ´agua em oxig´enio e carbohidratos na
presen¸ca de luz. Durante a noite ocorre o processo inverso, o oxig´enio produzido
durante o dia ´e consumido pela respira¸c˜ao, num processo em que o fitoplˆancton
produz di´oxido de carbono com o consumo de oxig´enio e carbohidratos. No entanto,
a produ¸c˜ao de oxig´enio por fotoss´ıntese durante o dia ´e maior do que a de di´oxido
de carbono (Vanessa Karla Silva).
Em dias claros, a taxa de processos fotossint´eticos aumenta, podendo permanecer
no m´aximo at´e ao pˆor-do-sol, come¸cando a baixar no final da tarde. O c´eu nublado
causa um decr´escimo na taxa de fotoss´ıntese.
A concentra¸c˜ao m´ınima que cada esp´ecie de peixe pode suportar, em seguran¸ca,
varia, e depende tamb´em da temperatura. Muitas vezes, podemos associar baixos
n´ıveis de concentra¸c˜ao de oxig´enio a uma elevada atividade da fauna local (J. S.
Ala-baster, 1982).
A concentra¸c˜ao de oxig´enio pode ser expressa em mg/l, com recurso a uma an´alise
qu´ımica da ´agua (m´etodo de Winkler) ou com um ox´ımetro (por exemplo o HI
9146). Uma hip´otese de liga¸c˜ao ao sistema criado, ´e por exemplo o Dissolved
Oxy-gen Kit SEN-11194 da Sparkfun (3.4) (SEN11194, Sparkfun). O pre¸co deste kit ´e muito elevado quando comparado aos valores dos restantes componentes utilizados,
Al-3.2. AQUISIC¸ ˜AO DE DADOS - SENSORES 33
Figura 3.4 – Dissolved Oxygen Kit SEN-11194 da Sparkfun
gumas carater´ısticas interessantes s˜ao a sua gama de leitura que varia entre 0 e 20
mg/l, a ponta do sensor suporta at´e 50oC e faz leituras com precis˜ao at´e `as d´ecimas
de unidade.
3.2.3
pH
A concentra¸c˜ao de base e ´acidos na ´agua determina o seu pH. Os peixes sobrevivem
e crescem melhor em ´agua com pH entre 6 e 9. Se o pH sai dessa gama, o seu
desenvolvimento pode ser drasticamente afetado.
A respira¸c˜ao, fotoss´ıntese e polui¸c˜ao s˜ao fatores que podem causar mudan¸cas no pH
da ´agua. Altera¸c˜oes no pH da ´agua podem provocar um elevado n´umero de mortes
na popula¸c˜ao de peixes, especialmente em esp´ecies que apresentam maior dificuldade
em estabelecer um equil´ıbrio osm´otico ao n´ıvel das brˆanquias. Problemas deste tipo
34 CAP´ITULO 3. CAP´ITULO DE AQUISIC¸ ˜AO DE DADOS E ATUAC¸ ˜AO
No in´ıcio da manh˜a, o n´ıvel de di´oxido de carbono, por exemplo num ribeiro, ´e
tipicamente alto, ao que o o n´ıvel de pH ´e baixo. Isto resulta da respira¸c˜ao que
houve durante a noite. Durante o dia o n´ıvel de pH aumenta `a medida que o
di´oxido de carbono ´e removido e o n´ıvel de oxig´enio aumenta.
´
Aguas com uma elevada taxa de polui¸c˜ao podem tornar-se excessivamente ricas em
di´oxido de carbono, al´em de outros gases. A concentra¸c˜ao elevada destes gases
pode tornar-se nociva e provocar uma queda fatal no n´ıvel do pH da ´agua para as
popula¸c˜oes de peixes (J. S. Alabaster, 1982).
Figura 3.5 – pH Sensor Kit SEN-10972 da Sparkfun
Uma solu¸c˜ao de medidor de pH para o sistema desenvolvido pode ser o pH Sensor
Kit SEN-10972 da Sparkfun (3.5) (SEN10972, 2016). Embora o seu custo seja um pouco alto, ´e mais barato que o sensor de oxig´enio dissolvido. Este apresenta como
detalhes interessantes uma leitura que pode variar entre 0 e 14 pH, uma velocidade
3.2. AQUISIC¸ ˜AO DE DADOS - SENSORES 35
assim como o anterior, necessita de ser calibrado, usando solu¸c˜oes tamp˜ao.
3.2.4
Condutividade El´
etrica
Este parˆametro fornece informa¸c˜oes importantes sobre o metabolismo da fauna do
local em an´alise, podendo at´e ajudar a detetar fontes poluidoras no habitat natural.
Quando os valores detetados s˜ao elevados, indicam que o grau de decomposi¸c˜ao local
´
e elevado. Assim pode indicar uma acentuada produ¸c˜ao de algas e microorganismos
aqu´aticos. Este parˆametro pode ajudar a determinar a disponibilidade de nutrientes
do ecossistema aqu´atico (Ana Elisa Pereira Silva,2008).
A condutividade el´etrica ´e um indicador da capacidade da ´agua conduzir
eletrici-dade. A condutividade el´etrica ´e tanto maior quanto menor for a pureza da ´agua
em an´alise.
Figura 3.6 – Electrical Conductivity Kit SEN-12908 da Sparkfun