desenvolvimento de um sistema para estimação

Propaganda
UNIVERSIDADE FEDERAL DE OURO PRETO
ESCOLA DE MINAS
COLEGIADO DO CURSO DE ENGENHARIA
DE CONTROLE E AUTOMAÇÃO - CECAU
WAGNER MIRANDA LOPES JÚNIOR
DESENVOLVIMENTO DE UM SISTEMA PARA ESTIMAÇÃO E CONTROLE DE
ATITUDE DE UM SATÉLITE ARTIFICIAL UTILIZANDO CÂMERAS COMO
SENSORES
MONOGRAFIA DE GRADUAÇÃO EM ENGENHARIA DE CONTROLE E
AUTOMAÇÃO
Ouro Preto 2011
WAGNER MIRANDA LOPES JÚNIOR
DESENVOLVIMENTO DE UM SISTEMA PARA ESTIMAÇÃO
E CONTROLE DE ATITUDE DE UM SATÉLITE ARTIFICIAL
UTILIZANDO CÂMERAS COMO SENSORES
Monografia apresentada ao Curso
de
Engenharia
Automação
da
de
Controle
e
Universidade
Federal de Ouro Preto como parte
dos requisitos para a obtenção do
Grau de Engenheiro de Controle e
Automação.
Orientador: Dr. Ronilson Rocha
Ouro Preto
Escola de Minas – UFOP
Dezembro/2011
LISTA DE ABREVIATURAS
CCD Charge Coupled Device – dispositivo de carga acoplada.
CMOS Complimentary Metal-Oxide Semiconctor – semicondutor de óxido metálico
complementar.
DPI dots per inch – pontos por polegada
JPEG Joint Pictures Expert Group – grupo de especialistas de imagens associadas.
PNG Portable Network Graphics – gráficos portáveis em redes.
RGB Red green blue – vermelho verde e azul.
TIFF tagged image file format – formato de arquivo de imagem etiquetado.
HD high definition – alta definição.
LISTA DE FIGURAS
FIGURA 1.1 – CubeSat XI-IV University of Tokyo. .................................................... 16
FIGURA 1.2 – Câmera utilizada. ............................................................................... 19
FIGURA 1.3 – Telescópio utilizado. .......................................................................... 20
FIGURA 2.1 – Representação dos eixos................................................................... 23
FIGURA 2.2 – Área de um triângulo abc. .................................................................. 26
FIGURA 2.3 – Ângulos de um triângulo entre três estrelas. ...................................... 27
FIGURA 2.4 – Ângulo medido entre a origem e duas estrelas. ................................. 28
FIGURA 3.1 – Representação de uma imagem digital (matriz)................................. 29
FIGURA 3.2 – Representação de cores como vetores. ............................................ 30
FIGURA 3.3 – Histograma da imagem de Lenna. ..................................................... 32
FIGURA 3.4 – Equalização da imagem de Lenna. .................................................... 33
FIGURA 3.5 – Equalização para melhor visualização das informações da placa de
um carro. FONTE: (CHÁVEZ, 2010). ........................................................................ 33
FIGURA 3.6 – exemplo de máscara. ......................................................................... 34
FIGURA 3.7 – Exemplo de retirada de ruídos utilizando filtro da mediana................ 35
FIGURA 4.1 – Diagrama de blocos da rotina completa. ............................................ 37
FIGURA 4.2 – Aquisição, pré-processamento e detecção de estrelas ...................... 38
FIGURA 4.3 – Imagem original ................................................................................. 38
FIGURA 4.4 – Etapa de pré-processamento da imagem .......................................... 39
FIGURA 4.5 – Imagem pré-processada com objetos detectados (objetos pequenos
foram desconsiderados). ........................................................................................... 40
FIGURA 4.6 – Segundo bloco do processo geral(FIG 3.1), análise dos ângulos. ..... 40
FIGURA 4.7 – Representação dos triângulos formados entre as sete principais
estrelas. ..................................................................................................................... 41
FIGURA 4.8 – “Calculator” comparação entre os ângulos ........................................ 42
FIGURA 4.10 – Etapa final do processamento, representação dos resultados. ........ 43
FIGURA 4.9 – Ciclo de análise das estrelas. ............................................................ 43
FIGURA 4.11 – Ilustração final do processamento, centro de massa, e coordenadas
cartesianas. ............................................................................................................... 44
FIGURA 4.12 – Cálculo do tempo de processamento. .............................................. 45
FIGURA 5.1 - Diagrama de blocos do processo geral para detecção de horizonte. . 46
FIGURA 5.2 - Imagem da Lua tirada pelo telescópio com a câmera acoplada. ........ 47
FIGURA 5.3 - Pré-processamento. ........................................................................... 48
FIGURA 5.4 - Imagem após o pré-processamento e da detecção do círculo. .......... 49
FIGURA 5.5 - Outra imagem, analisando as linhas verticais para localizar o planeta.
.................................................................................................................................. 50
FIGURA 5.6 - Imagem que mostra o cálculo do ângulo de inclinação e da distância
do planeta à borda .................................................................................................... 51
FIGURA 5.7 - Imagem que mostra o cálculo do ângulo de inclinação e da distância
do planeta ao centro da imagem. .............................................................................. 52
FIGURA 5.8 – Cálculo do tempo de processamento da detecção de horizonte. ....... 52
LISTA DE TABELAS
TABELA 1.1 – Características da câmera. ............................................................... 19
TABELA 1.2 – Características do telescópio. .............. Erro! Indicador não definido.
TABELA 2.1 – Tipos mais comuns de sensores de câmeras digitais. ....................... 36
RESUMO
Satélites
artificiais
são
utilizados
em
larga
escala
para
fins
científicos,
meteorológicos, telecomunicações, navegação e observação da Terra. Para que
possam ser mais eficientes precisam de um posicionamento bem feito, de forma a
desempenhar melhor sua função, economizar energia e aumentar sua vida útil. O
espaço, o peso e o consumo energético de dispositivos são fatores extremamente
importantes quando se trata de satélites, por seu limitado espaço físico causado pela
dificuldade e alto custo de envio ao espaço. Um satélite precisa de ao menos dois
vetores conhecidos para que possa se localizar: campo magnético, distância à
Terra, posição em relação ao Sol, e em relação às estrelas, por exemplo, podem ser
utilizados para obter esses vetores. Nesse trabalho foca-se em utilizar a posição em
relação às estrelas e em relação ao horizonte da Terra como vetores de referência.
Utilizando equipamentos simples como um computador comum e câmeras comuns,
alguns valores que podem ser usados para a atitude do satélite. Utilizando o
software LABVIEW VISION BUILDER 3.6, foi feito o desenvolvimento de uma
ferramenta que possibilita encontrar um padrão de estrelas e achar sua localização
em relação à imagem, e através dessa imagem achar a posição em relação ao
satélite. Outra ferramenta desenvolvida permite a localização em relação ao globo
terrestre, determinando os ângulos de inclinação em relação ao seu horizonte.
Estudos feitos mostram que um grupo de três estrelas pode ser utilizado para
determiná-las, através do ângulo entre elas. Tendo então um banco de dados prédefinido, podemos localizá-las com as câmeras, compará-las com este banco de
dados, e assim determinar em qual ponto do mapa estelar elas se encontram
definido nosso vetor em relação às estrelas. Com uma fotografia do horizonte,
podemos observar que se a câmera é fixa em relação ao satélite, se houver variação
na imagem é porque houve variação na posição do mesmo. Sendo assim temos a
inclinação do satélite em pelo menos dois eixos distintos.
Palavras-chave: Atitude de satélites, detector de horizonte, Star Tracker, triângulo
planar, ângulo planar, processamento de imagens, LABVIEW VISION BUILDER.
ABSTRACT
Artificial satellites are used in large scale for different missions like scientific,
meteorological, telecommunications, navigation and to Earth observation. To be
more efficient they need to have a well done position, to work better, save power and
extend your life. The size, weight and power consume of this parts are extremely
important in satellite projects, their room are limited for the difficult of send and the
high cost too. A satellite needs at list two vectors to localize in space: magnetic field,
distance from Earth, position in relation to the Sun, in relation to the stars for
example. This work focuses on using the position in relation to the star and the
horizon of the Earth as reference vector. Using simple equipments like a personal
computer and simple cameras, some information can be used for satellite attitude.
Using the LabVIEW Vision Builder 3.6, a tool was developed that enables you to find
a pattern of stars and find their location relative to the image, and through that to find
the image position relative to the satellite. Another tool developed allows the location
over the globe, determining the angles of inclination to the horizon. Studies show that
a group of three stars can be used to determine them by the angle between them.
Since then a database pre-defined, we can locate them with the cameras, compare
them with this database, and thus determine at which point of the star map, so our
vector is defined in relation to the stars. With a photograph of the horizon, we see
that the camera is fixed relative to the satellite, if there is variation in the image
because there is variation in the satellite position. Thus we have the inclination of the
satellite in two axes.
Keywords: Attitude of satellites, horizon detector, star tracker, planar triangle, angle
planar, image processing, LabVIEW Vision Builder.
SUMÁRIO
1.
INTRODUÇÃO .................................................................................................. 12
1.1. Metodologia ...................................................................................................... 14
1.2. Concepção de pequenos satélites. ................................................................... 15
1.3. Determinação de Atitude................................................................................... 16
1.4. Uso de câmeras comuns. ................................................................................. 18
1.5. Material utilizado. .............................................................................................. 19
1.6. Estrutura do trabalho: ....................................................................................... 20
2.
FUNDAMENTOS PARA SENSORES DE DETERMINAÇÃO DE ATITUDE.... 22
2.1. Sensores orbitais. ............................................................................................. 22
2.2. Detector de horizonte. ....................................................................................... 23
2.2.1.
Detector de local, ou múltiplos pontos (multitude of point or spot detectors).24
2.2.2.
Detector de múltiplas linhas (multiple lines detectors).................................. 24
2.2.3.
Sensor de imagem em duas dimensões (2-D image sensor)....................... 24
2.3. Star Trackers. ................................................................................................... 24
2.3.1.
Método da área de um triângulo................................................................... 25
2.3.2.
Método do ângulo planar. ............................................................................. 26
2.3.3.
Método dos ângulos entre vetores. .............................................................. 27
2.4. Condição perdido no espaço (lost-in-space). .................................................... 28
3.
FUNDAMENTOS PARA PROCESSAMENTO DIGITAL DE IMAGENS .......... 29
3.1. Operações Básicas de Processamento ............................................................ 31
3.2. Sensores de Câmeras Digitais.......................................................................... 35
4.
PROCESSO GERAL DO PROGRAMA PARA DETECÇÃO DE ESTRELAS . 37
4.1. Método utilizado: triângulo planar. .................................................................... 37
4.2. Construção da rotina no software. .................................................................... 37
5.
PROCESSO GERAL DO PROGRAMA PARA DETECÇÃO DO HORIZONTE E
ESTIMAÇÃO DE ATITUDE ...................................................................................... 46
6.
CONCLUSÃO ................................................................................................... 54
REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 56
1. INTRODUÇÃO
Satélites são corpos celestes que orbitam um planeta maior, como a Lua orbitando a
Terra. Satélites artificiais são equipamentos criados pelo homem para orbitar algum
planeta com uma função específica. Além de satélites existem outros equipamentos
criados pelo homem que tem funções parecidas, porém características distintas
como sondas espaciais, estações espaciais entre outros. Satélites podem ser
classificados por seu tipo de órbita e também por sua missão:

Geossíncrono ou geoestacionário – possui uma altitude de cerca de 36
mil quilômetros e possui um período de revolução, ou o tempo que ele
leva para circular a Terra, de 24 horas. Dessa forma ele pode ser
considerado estático em relação a uma região da Terra, o que o torna
extremamente útil para telecomunicações e posicionamento.

Heliossícrono – possui baixa altitude e órbita polar, é como se ele
acompanhasse a rotação do Sol em relação à Terra. Dessa forma ele
tem sempre contato com o Sol, e para ele a Terra sempre estará
iluminada, facilitando assim funções de observação em volta do
planeta. Com seu movimento em relação ao nosso planeta, ele sempre
passa sobre uma determinada região no mesmo momento do dia todos
os dias e isso facilita a aquisição de dados, pois esse pode enviar
diariamente informações à uma antena fixa na Terra.

Média e baixa altitude – são satélites com altitudes de 2000 a 20000
quilômetros, e 200 a 2000 quilômetros respectivamente.
Quanto à missão os satélites podem ser:

Científicos – reúnem informações sobre a composição e efeitos do
espaço próximo à Terra. Podem realizar experiências que exigem
baixa gravidade.
13

Meteorológicos – são utilizados para estudo do clima e previsão do
tempo ao longo do planeta.

Telecomunicações – funcionam como estações de reenvio de sinais,
fazendo a comunicação entre locais distantes no mundo como a
distribuição e a interconexão da internet ou então por comunicação
direta para locais remotos que necessitam de comunicação direta via
satélite.

Navegação – seu uso é muito difundido atualmente, são os satélites
que permitem o funcionamento dos sistemas de posicionamento
terrestre como o GPS e Galileu. Antigamente utilizado somente por
militares, navios e aviões de alta tecnologia, hoje é amplamente
utilizado em carros comuns, e por pessoas que precisam se localizar
em locais muitas vezes desconhecidos.

Observação da Terra – utilizados para monitorar recursos do planeta e
recentemente para fazer seu mapeamento, corrigindo erros de
mapeamentos antigos. O Google Earth® é um exemplo claro sobre sua
utilização.

Militares – podem ser todos os outros tipos de satélites utilizados para
fins militares. Eles são conhecidos também como satélites espiões.
Contam com maior segurança de informações e maior sigilo sobre
suas operações e missões.
Para entrar em operação, um satélite precisa ser lançado ao espaço em missões
extremamente complexas e caras. Dessa forma é preciso economizar no peso e
espaço do satélite. O satélite conta com diversos sistemas entre eles os que são
necessários para realizar sua missão, e outros sistemas, ou subsistemas, para seu
funcionamento. Dentre estes subsistemas podemos listar:
14

Subsistema de determinação e controle de atitude – responsável pela
determinação e controle do apontamento do satélite no espaço e foco
do trabalho.

Subsistema de rastreamento, telemetria e comando – responsável
comunicação com a base na Terra.

Subsistema de comando e tratamento de dados – processa as
informações contidas no satélite. Em pequenos satélites é limitada e
pode ser uma única unidade de processamento de dados.

Subsistema de suprimento de energia – fornece e controla a energia
de todo o satélite.

Subsistema térmico – controla a temperatura do satélite e de seus
equipamentos.

Subsistema de estruturas e mecanismos – fornece todo o suporte
mecânico e de movimentação para as partes do satélite. Oferece
também proteção contra as vibrações e radiação incidentes.

Subsistema de propulsão – possibilita movimentação para controle de
atitude.
1.1.
Metodologia
As principais etapas desse trabalho foram:
a. Revisão bibliográfica dos temas a seguir:

Câmeras digitais;

Processamento de imagem;

Funcionamento do LABVIEW e do LABVIEW VISION BUILDER;
15

Métodos de reconhecimento de padrões de estrelas;

Métodos de análise do horizonte da Terra.
b. Aquisição de imagens de diversas fontes diferentes, incluindo bancos de
imagens de agências espaciais, imagens de astrônomos amadores na
internet e por último, formação de banco de imagens com as câmeras do
próprio laboratório.
c. Criação de rotinas para reconhecimento de padrões de estrelas.
d. Criação de rotinas para detecção de horizonte.
e. Testes das rotinas para melhoramento e para aquisição final de resultados.
1.2.
Concepção de pequenos satélites.
Empresas e centros de pesquisas aeroespaciais desenvolvem equipamentos
eletrônicos menores e melhores continuamente, e hoje, as aeronaves não são mais
tão grandes quanto costumavam precisar ser. O conceito atual é de ter produtos
menores, melhores e mais baratos. Apesar da indústria já pensar nesse conceito,
ainda há certa hesitação na concepção de pequenos satélites. Porém, ao longo dos
últimos anos, várias universidades ao redor do mundo têm planejado e
desenvolvidos projetos de pequenos satélites, chamados também de BoxSats ou
CubeSats, (FIG. 1.1). Por terem a educação como objetivo principal, a viabilidade do
projeto pode ser mais flexível. Esses projetos no geral são de pequenas
transmissões de dados, aquisição de fotos utilizando um celular, entre outras
operações simples. Porém, para que eles tenham sucesso é importante que possam
se controlar no espaço, com dispositivos que possam determinar sua atitude de
forma precisa e atuar rapidamente, mesmo com poucos recursos.
16
FIGURA 1.1 – CubeSat XI-IV University of Tokyo.
(UNIVERSITY OF TOKYO, 2011)
1.3.
Determinação de Atitude
Essencialmente, todos os satélites artificiais possuem instrumentos com o objetivo
de observar ou interagir com outros objetos. Para que seu objetivo seja cumprido
estes instrumentos devem ser apontados para uma direção determinada pelo seu
centro de comando, pois todos os satélites tem que se comunicar com suas bases
para que possam transmitir as informações adquiridas e, além disso, suas missões
devem ser bem executadas. Por exemplo, ao fotografar uma determinada área deve
direcionar suas câmeras naquela região. Para que isso seja possível, estes satélites
devem apresentar orientações específicas de modo que seus equipamentos estejam
sempre na direção desejada. A atitude é o modo como o veículo espacial se orienta
no espaço. Também pode ser dito que a atitude de um satélite é o movimento
rotacional do mesmo ao redor de seu centro de massa, ou eixos referenciais
(ROCHA, 2010).
17
Assim, a importância do controle da atitude de um satélite artificial torna‐se
imprescindível, uma vez que é esse controle que fará com que o satélite mantenha
(ou siga) uma orientação específica. É também esse controle que muitas vezes
determinará a eficiência do satélite. Para que seja possível realizar o controle da
atitude de um satélite, deve‐se primeiramente conhecer a atitude em que o satélite
se encontra ao longo do tempo. Portanto, deve haver um dispositivo a bordo do
satélite capaz de fazer o sensoriamento e processamentos necessários para que se
possa estimar esta atitude e efetuar seu controle (ROCHA 2010).
A determinação da atitude de um satélite pode ser resumida como a operação de se
indicar a orientação do satélite ou, simplesmente, calcular sua matriz de atitude num
determinado instante em relação a um referencial escolhido. A ideia básica da
determinação de atitude é utilizar uma combinação de sensores e modelos
matemáticos para coletar as componentes vetoriais do sistema no corpo do satélite
e no sistema de referência inercial. Estas componentes vetoriais são utilizadas por
diferentes algoritmos para determinação de atitude, tipicamente na forma de
quatérnios, ângulos de Euler ou matriz de rotação (HALL, 2006). A partir de um
vetor observado w por um sensor fixado ao satélite, a matriz de atitude A em relação
a um vetor de referencia v é dada pela equação:
w = Av,
(1.1)
a qual possui diversas soluções possíveis. Para se obter uma única solução
específica para o problema da determinação da atitude, é necessário o uso de mais
sistemas de referencia. Existem diversos algoritmos que resolvem o problema da
determinação de atitude, sendo que na maioria tenta-se eliminar possíveis
singularidades que representam indeterminações (MAKOVEC, 2001). Qualquer que
seja o algoritmo utilizado para estimar a atitude, sempre será necessário pelo menos
dois vetores de observação com direções conhecidas, visando garantir uma boa
estimação da atitude em relação a um referencial inercial. Quanto mais vetores de
observação forem utilizados, menor será a incerteza avaliada na estimativa da
atitude. Considerando um número n de sensores no corpo do satélite, observando n
vetores unitários wi. Para cada vetor observado deve existir um vetor de referencia vi
18
relativo ao sistema de referência estipulado para o respectivo sensor. Assim, o
problema da- determinação da atitude consiste em encontrar a matriz de atitude A
que representa a rotação:
wi = Avi,
(1.2)
em outras palavras, pode‐se dizer que determinar a atitude significa calcular a matriz
de rotação A que permite girar o vetor de referência v para se obter o vetor
observado w.
Com a limitação de tamanho e peso dos pequenos satélites, os equipamentos
presentes neles precisam estar todos muito próximos, o que causa uma série de
interferências de sinais entre eles. Por exemplo, magnetômetros utilizados para
medir o campo magnético da Terra, para tê-lo como referência geralmente são
colocados nas partes externas dos grandes satélites, evitando que não sofram
interferência eletromagnética dos sistemas do satélite. Nos pequenos satélites isso
não é possível, pela sua estrutura física restrita em formato de cubo. Outro
dispositivo muito utilizado, o sensor solar, ainda não tem versões pequenas que
possam equipar pequenos satélites. Sendo assim, um desafio muito grande para
esses pequenos satélites é ter sensores capazes de determinar suas atitudes para
seu bom funcionamento. O tamanho e o consumo energético são essenciais nos
pequenos satélites, mas também muito desejados nos grandes, pois permitem uma
grande economia no seu envio (ROCHA 2010).
1.4.
Uso de câmeras comuns.
Com o advento dos telefones móveis a tecnologia em câmeras digitais evolui
bastante. Hoje elas são pequenas e extremamente eficientes. Além das câmeras
que são embutidas nos celulares, webcams e outras microcâmeras são muito
difundidas. Esse trabalho tem como objetivo utilizar essas câmeras para equipar
satélites por serem pequenas e eficientes energeticamente, que, no entanto, tem
19
uma boa qualidade. Um processamento da imagem é necessário para limpar a
imagem, e algumas margens de erro devem ser admitidas.
1.5.
Material utilizado.
Os materiais utilizados nesse trabalho são:

Câmera Basler scA1390-17fm, e acessórios como cabos e lentes.
FIGURA 1.2 – Câmera utilizada.
FONTE: BASLER, 2007.
TABELA 1.1 – Características da câmera.
Características Gerais
Tipo de sensor
CCD
Diagonal
8 mm(Tipo ½”)
Resolução
1392x1040 pixel
Taxa de “frames” (imagens)
17 frames/seg
FONTE: FONTE: BASLER, 2007
20

Telescópio Tasco, acoplado à câmera Basler como uma lente.
FIGURA 1.3 – Telescópio utilizado.
FONTE: TASCO, 2005.
TABELA 1.2
Diâmetro lente objetiva
60mm (2.36”)
Distância focal
700mm
FONTE: TASCO, 2005.
1.6.
Estrutura do trabalho:
O trabalho foi divido em cinco capítulos.
21
No capítulo 1 apresentou-se a introdução aos temas a serem tratados como
satélites, determinação de horizonte, determinação de padrões de estrelas, material
utilizado e metodologia.
No capítulo 2 é feita uma revisão sobre os principais tópicos sobre sensores para
determinação de atitude de satélites.
No capítulo 3 o tema foi processamento de imagens mostrando um resumo das
principais operações que foi utilizado ao longo de todo o processo da monografia.
No capítulo 4 mostra todo o processo de detecção de estrelas e procura de um
padrão. Os resultados são mostrados e comentados.
No capítulo 5 a detecção de horizonte é desenvolvida e os resultados obtidos são
comentados.
No capítulo 6 as conclusões foram apresentadas e também sugestões de
continuação do trabalho.
2. FUNDAMENTOS PARA SENSORES DE DETERMINAÇÃO DE ATITUDE.
2.1.
Sensores orbitais.
Os parâmetros necessários para a estimativa da atitude e das velocidades angulares
de um satélite são encontrados a partir das observações de pontos geodesicamente
referenciados a partir de uma origem artificial, sendo estes vetores medidos
utilizando sensores diversos (NEVES JÚNIOR, 2010). Entre os vetores e medições
utilizados para a determinação da atitude, pode‐se destacar:

O campo magnético da Terra que é utilizado há séculos para indicar
orientações sobre a superfície do globo. Os sensores mais comuns que
medem essa grandeza são o Fluxgate, Magneto-Resistivo (MR) e o MagnetoIndutivo, os quais são mais práticos que a agulha magnética tradicional por
serem resistentes ao choque e à vibração, possuírem compensação e
interface direta com outros sistemas.

A posição em relação ao Sol, que pode ser também utilizada como referência.
Este vetor pode ser determinado por um sensor composto por quatro células
fotovoltaicas dispostas ao longo de eixos ortogonais x e y, que permite a
determinação da posição azimutal do Sol quando este se encontra no seu
campo
de
visão.
Pode
ser
um
detector
baseado
em
imagens,
preferencialmente de infravermelho para obter maior clareza e precisão.

O deslocamento angular nos três eixos principais pode ser utilizado.
Utilizando uma comparação com a orientação de aviões os eixos roll, pitch e
yaw (FIG 1.2), uma estimativa pode ser feita a partir da integração das saídas
de um giroscópio, sendo que as informações sobre valores iniciais sejam
continuamente atualizadas por outros sensores. Os giroscópios podem ser
ajudados por acelerômetros, que medem a aceleração ao longo dos três
eixos.
23

Outros dois métodos serão discutidos em subcapítulos separados, uma vez
que eles serão mais detalhados por serem os métodos propostos neste
trabalho.
FIGURA 2.1 Representação dos eixos.
FONTE: SUZUKI, 2011.
2.2.
Detector de horizonte.
A posição em relação à Terra pode ser um vetor extremamente útil. Uma vez que as
missões dos satélites estão praticamente todas ligadas diretamente ao planeta, ao
conseguir um vetor direcionado a ele o cálculo é feito de forma direta, e não um
cálculo baseado em outro astro eliminando ou reduzindo assim os erros relativos ao
posicionamento. A grande área ocupada pelo planeta na visão do satélite é algo que
pode dificultar sua utilização como referência. Porém é possível utilizar o limiar entre
a escuridão do espaço e o brilho “emprestado” do planeta como ponto de referência.
A detecção desse brilho pode ser atrapalhada por reflexos na atmosfera e pela
presença excessiva de nuvens. Porém com um bom processamento da imagem é
possível retirar essa interferência e aumentar a precisão do método. Além disso,
utilizando a faixa de ondas infravermelhas fica mais nítida a diferença de brilho
facilitando esse processo. As câmeras digitais comuns, mesmo as mais simples
como de celulares, são capazes de captar essa frequência de onda apenas retirando
24
um filtro presente nelas, sendo assim o trabalho não perde sua objetividade
utilizando equipamentos simples. Os três tipos de detectores mais conhecidos e
utilizados são:
2.2.1. Detector de local, ou múltiplos pontos (multitude of point or spot detectors).
Esse tipo é muito simples e barato, consiste em ter vários sensores que tem campos
de visão diferentes. O sistema irá detectar em quais pontos o planeta foi localizado e
determinar assim sua posição. Esse método é muito impreciso e consume muita
energia (VAN RENSBURG, 2008).
2.2.2. Detector de múltiplas linhas (multiple lines detectors).
Esta configuração consiste em dois tipos de linhas de detecção. Metade delas é de
linhas detectoras para medir o eixo pitch, e a outra metade para medir o eixo roll,
que são os dois tipos de linhas existentes. Apesar de simples e barato a utilização
de sensores múltiplos deixa o consumo de energia muito alto. Ele pode trabalhar
bem medindo os três eixos caso a espaçonave esteja com a rotação estabilizada
(VAN RENSBURG, 2008).
2.2.3. Sensor de imagem em duas dimensões (2-D image sensor).
Utilizando uma câmera digital uma imagem é gerada e passa por um algoritmo para
detecção de um círculo. Apesar de a Terra ser achatada nos polos a aproximação
com um círculo pode ser feita sem grandes perdas. A detecção do círculo é feita
pela análise de uma borda presente na imagem. Esse método é o mais caro e
complexo, porém é o que menos consome energia (VAN RENSBURG, 2008).
2.3.
Star Trackers.
“Star Trackers” ou rastreadores de estrelas são os únicos sensores disponíveis para
os BoxSats que podem fornecer estimação de atitude em tempo real. Isso é feito
tirando fotografias de estrelas, e comparando dados extraídos da imagem com um
banco de dados armazenado na memória do sistema. Isso permite que uma estrela
25
seja rastreada, ou detectada, e que a espaçonave se localize a qualquer hora em
qualquer ponto do espaço desde que os dados das estrelas analisadas estejam
catalogados no banco de dados. Porém os principais “Star Trackers” comerciais
custam milhares de dólares, pesam muito em relação à carga compatível com
pequenos satélites, e ainda consumem muita energia, o que para um pequeno
satélite se torna inviável (DIAZ, 2006). Os Star Trackers convencionais utilizam
câmeras muito avançadas com sensores CCD para que possam primeiramente
determinar a magnitude da estrela e utilizá-la como critério primário na tentativa de
identificá-la. Magnitude ou magnitude aparente é o brilho das estrelas visto do
planeta Terra que depois foi normalizado para o valor visto na ausência de
atmosfera. É uma escala logarítmica inversa, sendo que originalmente tem o número
-1 como a estrela mais brilhante, e o 6 como limiar das estrelas vistas a olho nu.
Nessa escala o acréscimo em uma unidade significa o dobro do brilho, como
exemplo o Sol, que na verdade é uma estrela mas não foi considerada na montagem
dessa escala, teria um valor de -26. A estrela Vega é a referência no cálculo nessa
escala tem valor 0.
(1.3)
M é o valor calculado da magnitude, F0 é o valor do brilho de Vega e Fx é o valor da
estrela que se pretende medir. Porém mesmo com esses sensores de alta qualidade
é difícil ter uma medida precisa da magnitude, pois, as estrelas têm valores de
magnitude muito próximos. Por tanto os Star Trackers utilizam vários outros critérios
para a detecção. A seguir alguns métodos utilizados para identificar as estrelas.
2.3.1. Método da área de um triângulo.
A área de um triângulo localizado em uma imagem pode ser utilizada para estimar a
atitude de um satélite. A área em uma imagem pode ser comparada com o valor da
mesma grandeza armazenada em um banco de dados (COLE, 2006 e DIAZ, 2006).
O triângulo é montado como mostra a FIG. 1.3:
26
FIGURA 2.2 – Área de um triângulo abc.
FONTE: DIAZ, 2006.
Um banco de dados deve ser montado antes de enviar, para evitar cálculos
desnecessários e custosos onboard.
2.3.2. Método do ângulo planar.
Esse método como o anterior baseia-se na construção de um triângulo planar. No
entanto nesse método os ângulos formados pelo triângulo são utilizados no
processo de pesquisa. Esse método possui um método de pesquisa mais eficiente,
pois tem três parâmetros a serem comparados. A FIG 1.4 mostra o triângulo formado
e os três ângulos (DIAZ, 2006).
27
FIGURA 2.3 – Ângulos de um triângulo entre três estrelas.
FONTE: DIAZ, 2006.
2.3.3. Método dos ângulos entre vetores.
Outro método utilizado é o método de comparação com dois vetores formados por
duas estrelas de interesse até a origem da imagem (FIG. 1.5). Esse outro método
geralmente é utilizado como critério de pré-seleção no banco de dados para depois
utilizar a comparação com outro método. Através desse método é possível formar
um banco de dados com somente uma informação, ordena-la em ordem crescente o
que facilita a pesquisa (COLE, 2006 e DIAZ, 2006).
28
FIGURA 2.4 – Ângulo medido entre a origem e duas estrelas.
FONTE: DIAZ, 2006.
2.4.
Condição perdido no espaço (lost-in-space).
Essa condição é um caso em que o satélite se encontra em uma posição
desconhecida e que ele não tenha nenhuma referência sobre sua posição anterior.
Sendo assim ele precisa de uma referência muito precisa para que ele possa se
localizar novamente (COLE, 2006). Os Star Trackers funcionam muito bem nessas
situações, ao contrário dos outros métodos. Eles dão a posição do satélite
independentemente de ter uma informação anterior ou não. Outros métodos
precisam utilizar informações de acelerômetros para indicar a rotação que o satélite
sofreu e determinar sua posição. Porém estes dispositivos podem ter baixa precisão
quando estão em situações de baixas rotações e assim inviabilizam seu uso.
3. FUNDAMENTOS PARA PROCESSAMENTO DIGITAL DE IMAGENS
Imagem digital é uma função bidimensional de intensidade de luz f(x,y) onde x,y são
as coordenadas cartesianas (FIG. 2.1). O valor de f() é a intensidade da cor, ou no
caso das escalas de cinza, o brilho. Ou seja, uma imagem digital é uma matriz, onde
os valores de cada ponto, chamado de pixel (picture element ou elemento da
imagem) são os valores da intensidade de brilho, ou cor. Dessa forma uma imagem
é a forma discreta, tanto em coordenadas espaciais, como da cor de uma imagem
real (CARVALHO 2003).
FIGURA 3.1 - Representação de uma imagem digital (matriz).
FONTE: CARVALHO, 2003.
O tamanho da matriz é o que define a resolução de uma imagem. Quanto maior
essa matriz, maior é a resolução dessa imagem. Se uma imagem é uma matriz
150x100, ela tem uma resolução de 15000 pixels. Essas informações são muito
observadas nas câmeras digitais, que vem com informações 5,0 megapixel, por
exemplo, que é uma matriz de cinco milhões de pixels. Nos manuais de televisões
também é muito comum ter essa informação, as televisões chamadas de full
HD(high definition ou totalmente alta definição) tem 1920x1080 pixels, ou 2,0736
megapixel. Já a qualidade da imagem depende não só da sua resolução, mas
também do tamanho da sua representação. Ou seja, uma imagem pode ter boa
resolução em uma tela pequena, e quando impressa em um papel maior, sua
30
qualidade fica baixa. Então é comum usar o número de pixels por polegada, sigla em
inglês DPI (dots per inc).
Existem vários tipos de representação digital de imagens. A mais básica talvez seja
a escala de cinzas. No qual a intensidade de brilho vai de zero (preto) até um valor
estabelecido, geralmente 255 (branco). Esta intensidade está relacionada ao número
de bits que representa a imagem. No caso do [0,255] temos oito bits de dados por
pixel, pois 2^8 = 256, o que justifica o intervalo [0,255].
Outra representação é a representação da cor real, ou true color, onde cada pixel é
representado por 24 bits. Esse sistema utiliza um separação de cores em RGB (red
green blue) (FIG. 2.2), em português vermelho, verde e azul que juntas podem
representar 16 milhões de cores, ou seja, proporciona uma imagem muito próxima à
realidade, e que para os olhos humanos podem ser consideradas reais. Cada pixel é
representado por três intensidades, de oito bits cada, assim como a escala de cinza
com valores no intervalo [0,255], que representam as intensidades de vermelho,
verde e azul. O valor (0,0,0) representa o preto, ou seja ausência de cores, e o
(255,255,255) representa o branco mistura de todas as cores (ALECRIN, 2011).
FIGURA 3.2 – Representação de cores como vetores.
FONTE: (CHÁVEZ, 2010).
31
No formato digital as imagens são armazenadas em arquivos de imagem como a
extensão JPEG (ou JPG), Bitmap, PNG, TIFF entre outras. Os mais utilizados por
dispositivos eletrônicos é o JPEG que permite um armazenamento com ou sem
compressão de dados. JPEG (Joint Pictures Expert Group ou grupo de especialistas
de imagens associadas) criado por um grupo de especialistas de mesmo nome por
volta de 1983, é um formato de imagem que permite armazenamento em que são
eliminados dados redundantes possibilitando imagens pequenas, em relação à
quantidade de dados. Ao se comprimir as imagens, alguns dados são eliminados
para que o arquivo fique menor, porém há perdas na qualidade da imagem, o que
em alguns casos não é desejável. O formato JPEG possui oito bits de dados para
imagens em escala de cinza, e até 24 bits de cores RGB, ou seja, oito bits para cada
cor. Outro formato muito utilizado é Bitmap (mapa de bits), que é um formato mais
simples, sem compressão que permite imagens de alta qualidade, com milhões de
cores. A falta de um sistema de compressão faz com que esse formato não seja
muito usado na transmissão de imagens. O Bitmap (.bpm) é um padrão muito
utilizado no Windows, e é exatamente a forma como as câmeras fazem suas
aquisições. Cada ponto do sensor de captura da câmera capta uma cor e a
transforma em uma matriz, sendo que algumas transformam a imagem para JPEG
para diminuir seu tamanho, e outras salvam como Bitmap.
3.1.
Operações Básicas de Processamento
Uma importante ferramenta para o processamento de imagens é o histograma de
cores, ou de intensidade de cores das imagens. O histograma faz a contagem de
quantos pixels de cada valor tem na imagem, no caso da FIG. 2.3 é de uma escala
de cinza, mas podemos também utilizar para RGB.
32
FIGURA 3.3 - Histograma da imagem de Lenna.
FONTE: (CHÁVEZ, 2010).
Com essas informações os programas de edição de imagem pode expandir a faixa
de cores, como é visto na imagem, os pixels vão de aproximadamente 25 até 200,
fazendo uma expansão dessa faixa aumentos o contraste da imagem chamada de
equalização, como nas imagens da FIG. 2.4 e FIG. 2.5. No MATLAB podemos fazer
essa operação com o seguinte código:
function nimg = EcualizacionHistograma(img)
[fil, col] = size(img);
N = fil*col;
hist = imhist(img) / N;
histAcumNorm = cumsum(hist);
nimg = histAcumNorm(img+1);
nimg = uint8(nimg*255);
%dim. da imagem
% numero total de pixels
%calcula o hist.norm
% hist. acum.
33
FIGURA 3.4 - Equalização da imagem de Lenna.
FONTE: (CHÁVEZ, 2010).
FIGURA 3.5 - Equalização para melhor visualização das informações da placa de
um carro. FONTE: (CHÁVEZ, 2010).
As operações mais básicas utilizadas no processamento de imagem são as
operações algébricas, que são a soma, subtração, multiplicação e divisão de pixels.
A adição é muito utilizada para sobrepor imagens, além de poder reduzir alguns
ruídos indesejados na imagem. A subtração também é utilizada para reduzir
interferências, mas tem também a função de detectar movimento em imagens, e
também muito utilizado para detecção de bordas na imagem. A multiplicação e
divisão são utilizadas para diminuir erros ocorridos na digitalização de imagens.
34
Multiplicação pode ser usada para valorizar uma determinada parte da imagem,
valorizando assim uma área de interesse. Podemos utilizar de todas as operações
algébricas para formar um método mais complexo.
Operações de convolução são operações que substituem o valor dos pixels
baseados nos seus vizinhos. Essa substituição pode ter vários critérios e pesos
diferentes, como a distância ao ponto central, pesos de linhas e colunas diferentes.
Esses pesos são organizados em um modelo chamado máscara. Na FIG. 2.6 temos
uma máscara e como ela age na imagem. O ponto zero é substituido pela soma da
multiplicação de todos os correspondentes à máscara envolta do ponto zero. Esse é
um exemplo de uma máscara 3x3, mas é muito comum utilizar também 5x5 e 7x7.
No geral a convolução é utilizada para suavizar a imagem, retirando os ruídos,
porém isso pode borrar um pouco a imagem. Quanto mais se retira ruídos, mas
diminui a qualidade da imagem. No geral o processo de convolução utilizando as
máscaras são chamadas de filtros, e esses filtros podem ser filtros de média, filtros
gaussianos.
FIGURA 3.6 - Exemplo de máscara.
FONTE: (CHÁVEZ, 2010).
Outras operações possíveis são operações não lineares. Eles utilizam métodos
diferentes de máscaras. Eles utilizam critérios como mediana (FIG. 2.7) onde o valor
do ponto é substituído pela mediana dos valores dos pontos adjacentes, valor
35
mínimo ou máximo das adjacências que substitui o valor do ponto, ou também a
substituição pelo valor modal.
FIGURA 3.7 - Exemplo de retirada de ruídos utilizando filtro da mediana.
FONTE: (CHÁVEZ, 2010).
3.2.
Sensores de Câmeras Digitais.
O sensor é a parte da câmera digital que captura luz para criar uma imagem. É
análogo ao filme das câmeras não digitais. Semelhante à camada de material
sensível à luz em película fotográfica, o sensor de uma câmera digital tem células
sensíveis à luz. Existem vários tipos de sensores, os mais comuns são o CCD e
CMOS. Ambos são muito parecidos na sua concepção, porém se diferenciam muito
quanto ao custo e ao consumo de energia. Os sensores CCD consomem até 100
vezes mais energia que o equivalente CMOS, porém tem uma qualidade maior, e
são menos suscetíveis a ruídos. Os sensores são formados por fotodiodos que
recebem a luz e emitem uma tensão. Sensores CMOS são comuns nas câmeras de
mais baixa qualidade. Os diodos não reconhecem cores, somente intensidade do
brilho. Sendo assim as câmeras possuem filtros de cores para cada cor, e
novamente seguem o padrão RGB. Para que as imagens tenham um caráter mais
realista do ponto de vista humano, as câmeras permitem uma aquisição maior do
verde, que é a cor mais perceptível do olho humano. A placa é de silício, e formada
por vários diodos. A imagem é composta pelo brilho de pelo menos três diodos para
36
cada pixel. O tamanho do sensor é extremamente importante para a qualidade da
imagem. Quanto maior o número de fotodiodos, maior é a resolução da imagem,
mas para uma qualidade melhor é necessário que cada fotodiodo receba uma
quantidade boa de luz. Assim, placas muito compactas são piores, pois podem
facilitar a aparição de “ruídos” na imagem, que são pontos que não receberam
quantidade suficiente de luz, e podem gerar pontos aleatórios na imagem. Cada
empresa costuma usar um padrão diferente para se referir ao tamanho dos sensores
(TAB. 2.1).
TABELA 3.1 - Tipos mais comuns de sensores de câmeras digitais.
Medida
Tipo
Medidas (L x A)
2/3”
8.80 mm x 6.60 mm
11.00 mm
4:3
1/1.8”
7.18 mm x 5.32 mm
9.00 mm
4:3
1 /2.7”
5.37 mm x 4.04 mm
6.72 mm
4:3
4/3”
18.0 mm x 13.5 mm
22.5 mm
4:3
1.8” (APS-C)
22.7 mm x 15.1 mm
45.72 mm
3:2
Filme 35 mm
36mm x 24 mm
43.3 mm
3:2
Diagonal
Razão largura altura
FONTE: (BERGER, 2011).
A câmera junta todas as informações e manda para o sistema de armazenamento,
no caso das câmeras portáteis a memória interna ou um cartão de memória, no caso
dos sistemas computacionais o computador armazena em seu disco rígido ou
transmite para um local remoto.
4. PROCESSO GERAL DO PROGRAMA PARA DETECÇÃO DE ESTRELAS
Na tentativa de achar um vetor para atitude de satélites uma rotina será montada no
LABVIEW VISION BUILDER 3.6 para tentar determinar as estrelas. O programa irá
fazer todo o processamento da imagem, a procura do padrão e irá mostrar os
resultados.
4.1.
Método utilizado: triângulo planar.
Utilizando esse método simples o programa irá formar os ângulos entre vários
grupos de três estrelas para comparar com o banco de dados.
4.2.
Construção da rotina no software.
FIGURA 4.1 - Diagrama de blocos da rotina completa.
Nesse diagrama (FIG. 3.1) podemos ver o bloco em verde “Start” que é de onde o
rotina começa a ser operada. A ligação indicada por uma seta descrita como
“default” é a ligação padrão criada pelo próprio programa é o caminho seguido
preferencialmente pelo programa que liga um bloco a outro, porém o programador
pode adicionar regras para seu funcionamento. As outras ligações descritas como
38
“Transition” são caminhos alternativos criados pelo programador para que o
programa siga uma sequência de seu interesse. O bloco em vermelho “End” indica o
final da rotina. Os outros blocos serão descritos ao longo do texto.
Para esse trabalho é necessário primeiramente processar a imagem para obter
somente informações relevantes para o processo, que está simbolizado no diagrama
do programa como “Aquisição e detecção de estrelas” (FIG. 3.1):
FIGURA 4.2 - Aquisição, pré-processamento e detecção de estrelas
O trabalho foi feito com base em um banco de imagens obtidas em Ouro Preto, na
portaria dos laboratórios da Escola de Minas, com a câmera apontada para o leste
por volta das três da manhã, umas das imagens obtidas é a FIG. 3.3.
FIGURA 4.3 - Imagem original
39
O LABVIEW simula a aquisição de imagens a partir desse banco de dados. A
imagem passa para outra ferramenta, o Vision Assistant 1 (FIG. 3.2), que irá realçar
as informações mais importantes. A seguir a parte interna do bloco com mais
detalhes:
FIGURA 4.4 - Etapa de pré-processamento da imagem
Esse processo irá transformar a imagem original, RGB, em uma imagem em escala
de cinza, pois nesse caso as cores não serão tão importantes. O que precisamos
mesmo é a intensidade do brilho, a ferramenta Extract HSI (FIG. 3.4) faz isso.
Depois a imagem é suavizada pelo método da mediana dos pontos (Smoothing –
Median (FIG. 3.4)), depois a imagem é subtraída por uma constante (Subtract
Constant 2 (FIG. 3.4)) para que ruídos na imagem e pequenas estrelas não
interfiram no processo. Em seguida a imagem é multiplicada por uma constante
(Multiply Constant (FIG. 3.4)) para que seja realçada para facilitar o processamento,
e por último as estrelas achadas são dilatadas (Dilate 1).
Voltando, a função Detect Objects (FIG 3.2) que irá detectar a imagem dentro de
limites estabelecidos de brilho e tamanho (em pixels). Esse bloco faz com que todos
os objetos localizados sejam ordenados por tamanho em pixels e armazenam sua
localização na imagem em relação ao seu pixel central. Por último o bloco Set
Variable 1 ajusta uma variável interna para que é utilizada nos processos de
reconhecimento de padrões.
40
FIGURA 4.5 - Imagem pré-processada com objetos detectados (objetos pequenos
foram desconsiderados).
Imagem FIG. 3.5 que mostra as estrelas detectadas e o índice delas, organizada
pelo tamanho em pixels.
FIGURA 4.6 - Segundo bloco do processo geral(FIG 3.1), análise dos ângulos.
No segundo bloco do diagrama de blocos do programa (FIG 3.1) a parte que irá
reconhecer padrões, as ferramentas Index Measurements 1, 2 e 3 (FIG 3.6) irão
puxar da ferramenta anterior Detect Objects 1 (FIG 3.2) a localização dos pixels
centrais das estrelas detectadas e armazenar para utilização nas ferramentas
41
Geometry 1, 2 e 3 (FIG. 3.6) que irão calcular os três ângulos do triângulo formado
pelas três estrelas selecionadas.
FIGURA 4.7 – Representação dos triângulos formados entre as sete principais
estrelas.
Por último nesse bloco (FIG. 3.6) tem o Calculator 1 que é o responsável para fazer
as comparações entre os ângulos encontrados pelo programa com um banco de
dados. Dentro dessa ferramenta (FIG. 3.7) algumas operações são realizadas com o
intuito de ajustar os dados obtidos. Por exemplo, o ângulo pode ser maior que 180°
dependo da ordem em que os pontos forem selecionados, sendo assim ele deve ser
adequado para ficar entre 0 e 179º que é a característica dos ângulos internos de
um triângulo. Os ângulos são ordenados do maior para o menor e comparados com
os dados do banco, que em uma análise prévia os ângulos do cinturão de Orion são:
172,42º, 3,76° e 3,82°. Foi estabelecida uma margem de erro de um grau para os
ângulos menores e dois graus, para mais ou para menos, para o ângulo maior.
Essa ferramenta pode ser facilmente substituída por um bloco do LABVIEW 8.5 que
tem muito mais ferramentas, que pode, por exemplo, puxar informações do
42
MATLAB, e dessa forma tem-se um banco de dados muito mais amplo, e com mais
funções. A ferramenta então retorna um valor booleano que indicará se o padrão
Orion, referente às três estrelas do Cinturão de Orion (ou Três Marias) foi localizado
na imagem.
FIGURA 4.8 – “Calculator” comparação entre os ângulos
A precisão das câmeras, que por objetivo do projeto são câmeras simples, faz com
que estrelas de magnitudes muito próximas ao serem fotografadas apareçam com
tamanho maior ou menor eventualmente em uma fotografia, esse é também um dos
motivos de ter uma margem de erro nos ângulos. Dessa forma tem-se que
considerar que o programa pode estar analisando três estrelas que não sejam
realmente as três maiores estrelas presentes. Sendo assim, o cálculo será feito para
uma relação de ângulos entre as sete principais estrelas entre si em grupos de três,
e daí concluir se um padrão foi encontrado. Parte do diagrama de blocos da rotina
completa do programa (FIG. 3.1).
43
FIGURA 4.9 - Ciclo de análise das estrelas.
State 1, 2 e 4 (FIG. 3.9) que têm a função de manipular variáveis internas do
programa que cuidam de fazer o programa testar todas as possibilidades de
combinações entre três estrelas, dentro das sete principais estrelas achadas.
FIGURA 4.10 – Etapa final do processamento, representação dos resultados.
A etapa final, representada no diagrama da rotina completa como “Analisar
Resultado” (FIG. 3.1) é detalhada no diagrama acima (FIG. 3.10). Ao encontrar o
padrão procurado o programa localiza dentro da imagem um ponto de referência
para o programa se orientar neste caso o centro de massa das estrelas, que nada
mais é que a média dos centros de cada estrela, que pode ser achado pelo
programa desde que feitas algumas considerações. Após achar o centro de massa o
programa calcula a distância em relação ao centro da imagem. Considerando o
centro da imagem um centro de coordenadas cartesianas a distância do centro de
massa encontrado ao centro da imagem é dado em x e y, isso tudo é feito no trecho
do programa mostrado na imagem de cima.
44
A seguir a FIG. 3.11 mostra a imagem após o processamento. É importante lembrar
que todas essas ilustrações são feitas apenas na tela de configuração do programa
com a função de ilustrar ao programador o que ocorre na imagem eu suas diferentes
etapas. Para o funcionamento embarcado todas elas são ocultas, e somente valores
numéricos como posição e informações como falha ou acerto são fornecidas para
que o programa fique leve e eficiente.
FIGURA 4.11 – Ilustração final do processamento, centro de massa, e coordenadas
cartesianas.
É possível observar que o programa localizou seu padrão, o Cinturão de Orion, e
forneceu a posição (FIG. 3.11). No fim de tudo o programa calculou o tempo gasto
para realizar todas as tarefas, como mostrado na imagem abaixo.
45
FIGURA 4.12 – Cálculo do tempo de processamento.
O tempo de processamento médio foi de 0,471 segundos, calculado em 50 análises
(FIG. 3.12). Esses testes foram feitos em um computador com processador Intel i5
2,4GHz com Windows 7 e 3,8GB de memória RAM utilizável, uma capacidade de
processamento acima do possível em pequenos satélites. Porém todas as funções
gráficas foram mostradas, o que não ocorreria nos sistemas embarcados, além
disso, o tempo de aquisição das imagens foi de quatro segundos, logo o tempo de
processamento pode ser considerado aceitável levando em conta que até celulares
modernos tem processadores Dual Core com 1GB de memória RAM.
5. PROCESSO GERAL DO PROGRAMA PARA DETECÇÃO DO HORIZONTE E
ESTIMAÇÃO DE ATITUDE
Assim como no processo para detecção de estrelas, foi montada no software uma
rotina que irá detectar o horizonte da Terra funcionando como um sensor de imagem
em duas dimensões. Isso possibilitará determinar até duas inclinações diferentes do
satélite em relação à Terra. A seguir o diagrama de blocos do processo geral para
detecção do horizonte (FIG. 4.1). A rotina de detecção do horizonte segue a
sequencia esse diagrama. Primeiramente o programa adquire e prepara a imagem
para ser processada. Depois é feita uma análise para saber se o planeta se encontra
na parte inferior ou superior da imagem, caso não localize o programa analisa os
lados direito e esquerdo. Por último o programa tenta localizar planeta nos cantos da
imagem, e definem em qual quadrante ele está. Se todas as etapas falharem o
programa finaliza e reinicia novamente analisando a próxima imagem. Em todos os
casos o programa dá uma resposta ao final indicando o resultado.
FIGURA 5.1 - Diagrama de blocos do processo geral para detecção de horizonte.
47
Durante este trabalho, a Lua servirá como modelo da Terra. Essa simulação foi
possível graças ao telescópio TASCO (FIG. 1.7) com a câmera BASLER (FIG. 1.6)
acoplada. Várias fotos foram feitas entre as 19 horas e 19 horas e 15 minutos do dia
12 de setembro de 2011 e salvas no computador do laboratório pelo próprio VISION
BUILDER. O programa simula a aquisição de fotos como se fosse uma aquisição
feita em tempo real acessando esse banco de dados.
FIGURA 5.2 - Imagem da Lua tirada pelo telescópio com a câmera acoplada.
Ao tentar detectar o horizonte é importante limpar bem a imagem para evitar que
certas interferências não atrapalhem o processo ou diminua sua precisão. Ao
analisar várias imagens é possível observar que a atmosfera é bem visível na borda
da imagem do planeta. Sendo assim é necessário retirá-la para ter uma noção
melhor do posicionamento. Um detalhe importante é que a Terra, também conhecida
como planeta água, é rica em azul, sendo assim é necessário valorizar essa cor na
hora do pré-processamento.
48
FIGURA 5.3 - Pré-processamento.
A primeira parte do processo é o pré-processamento, onde o programa simula a
aquisição da imagem (Simulate Acquisition 1 (FIG. 4.3)), depois é feita um
processamento para valorizar o que mais importa na imagem nesse caso o globo
terrestre (Vision Assistant 1 (FIG. 4.3)). Depois desta etapa concluída, uma
ferramenta do programa chamada Find Circular Edge 1 (FIG. 4.3), que significa
encontrar borda circular, localiza alguma forma circular significativa, sendo que seus
parâmetros são definidos por tamanho mínimo e máximo do círculo para evitar que
interferências influenciem no resultado do processo. A estratégia que o Find Circular
Edge 1 utiliza é traçar várias retas partindo de um ponto central, quando as retas
cruzam bordas na imagem, como a borda de um planeta por exemplo, a ferramenta
registra esse ponto e depois faz uma interpolação entre todos os pontos localizados
na tentativa de formar uma circunferência, o processamento feito e o círculo
destacado está na FIG. 4.4. Para isso é necessário fazer uma análise das imagens
obtidas pelo satélite ou fazer uma estimativa de qual tamanho terá a Terra em pixels
na imagem. Neste trabalho as imagens foram analisadas e o tamanho máximo e
mínimo foi definido como o dobro do círculo localizado na imagem localizada e
metade do círculo respectivamente.
49
FIGURA 5.4 - Imagem após o pré-processamento e da detecção do círculo.
A estratégia para determinar a posição do horizonte em relação ao satélite é de
passar várias linhas verticais pela imagem e analisar quantas delas cruza alguma
borda presente na imagem, essas linhas são mostradas na FIG. 4.5. Essa
ferramenta chamada de Find Edges pode ser utilizada para localizar uma borda de
uma parte clara para escura, ou vice-versa nesse trabalho, ambas são utilizadas e
caso pelo menos três bordas no mesmo sentido e com mesma orientação de cor
(horizontal e vertical, claro para escuro ou vice-versa) no total de cinco, é possível
determinar que o planeta se encontra na parte de cima ou de baixo da imagem.
Caso o detector de bordas na vertical não localiza nada o próximo passo é fazer
uma análise na horizontal utilizando os mesmo critérios e ferramentas utilizados no
passo anterior. Se em nenhum dos dois passos anteriores o horizonte foi localizado,
é possível concluir que ou a imagem não mostra o horizonte, ou possivelmente ele
está no canto da imagem e por isso não foi localizado. Sendo assim uma última
etapa analisa todos os cantos da imagem, utilizando um detector de bordas na
vertical e um na horizontal a três pixels de distância do canto da imagem, e caso
50
haja sinal do planeta a pelo menos três pixels do canto da imagem ele poderá ser
localizado (FIG. 4.7).
FIGURA 5.5 - Outra imagem, analisando as linhas verticais para localizar o planeta.
Após localizar a posição do planeta na imagem é necessário calcular de forma
aproximada a distância da borda do planeta ao limite da imagem em número de
pixels para se ter uma noção da inclinação do satélite. Para isso é feita uma análise
do ângulo que o planeta está inclinado na imagem dois métodos diferentes podem
ser utilizados. Um método para quando o planeta está em uma das bordas da
imagem, borda direita, borda esquerda, borda de cima ou borda de baixo. Outro para
quando o planeta está em alguns dos cantos da imagem, canto inferior direito e
esquerdo e canto superior direito ou esquerdo. Primeiramente para o caso em que o
planeta está nas bordas é necessário traçar três detectores de bordas um no centro,
outros dois ao lado simetricamente à aproximadamente 120 pixels de distância. O
programa VISION BUILDER tem todas as ferramentas necessárias para esse
cálculo. A ferramenta traça uma reta entre dois pontos da borda do planeta e forma
um ângulo com a horizontal, dessa forma temos a inclinação aproximada do planeta.
51
A reta central calcula a distância aproximada da borda do planeta à borda da
imagem.
FIGURA 5.6 - Imagem que mostra o cálculo do ângulo de inclinação e da distância
do planeta à borda
Já para os casos em que o planeta se encontra nos cantos da imagem é necessário
fazer um cálculo um pouco diferente. Aproveitando as retas dos cantos da imagem
que servem para determinar em qual quadrante a imagem está, é possível traçar
uma reta onde os detectores de borda encontram a borda, ao se juntar essa reta
com a horizontal já temos um ângulo de inclinação para a posição do planeta em
relação à horizontal. Criando uma reta que vai do centro da imagem até a reta criada
anteriormente é possível ter a distância do planeta ao centro da imagem em pixels.
52
FIGURA 5.7 - Imagem que mostra o cálculo do ângulo de inclinação e da distância
do planeta ao centro da imagem.
FIGURA 5.8 – Cálculo do tempo de processamento da detecção de horizonte.
Lembrando que o programa simula a aquisição de imagens a partir de um banco de
imagens, e não da aquisição direta pelas câmeras, o programa para detecção de
horizonte teve um tempo de processamento médio menor que o tempo de aquisição
53
da câmera, analisando 18,87 imagens por segundo (FIG. 4.8) contra 17 imagens por
segundo da câmera (TAB. 1.1) o que é muito positivo. Lembrando ainda as
considerações feitas no processamento para detecção de estrelas, o processador
utilizado na simulação é mais potente que os que são utilizados em pequenos
satélites, porém na simulação computacional os gráficos estão presentes e exigem
cálculos extremamente custosos. Então uma consideração compensa a outra e o
tempo de processamento ainda pode ser considerado excelente.
6. CONCLUSÃO
Os testes feitos no laboratório com as imagens adquiridas na portaria do laboratório
mostram que em todas as tentativas de se localizar o Cinturão de Orion foram
concluídas com êxito e nas seis imagens do Cinturão foi localizado e sua posição foi
indicada. Não houve nenhum resultado errado. A mesma experiência foi feita com a
constelação do Cruzeiro do Sul, ou Crux, e nessa experiência os testes foram mais
amplos envolvendo imagens obtidas de banco de dados de agências espaciais e
imagens postadas por pessoas comuns na internet. A experiência com a
constelação Crux foi mais complexa, pois, as condições da imagem variavam
bastante em relação ao tamanho em pixels e as condições de brilho da imagem.
Porém em todos os casos o padrão foi encontrado o que comprova a eficiência do
método que por utilizar ângulos suporta uma boa variação de tamanho das
amostras, já que os ângulos são os mesmos. Isso mostra que com câmeras comuns
na superfície da Terra onde a atmosfera e toda a interferência da iluminação é
possível montar rastreadores de estrelas eficientes. Em operação na ausência de
atmosfera as imagens serão melhores e o método será ainda mais eficiente.
O detector de horizonte também funcionou muito bem, localizando o círculo da Lua
que serviu como modelo do planeta Terra. Seu tempo de processamento foi rápido,
o que ajuda muito no caso de processadores menos robustos que são embarcados
nos pequenos satélites. O pré-processamento da imagem foi eficaz reduzindo
bastante ou totalmente a atmosfera aumentando assim a precisão do detector. Esse
método pode ser facilmente adaptado para uma câmera de infravermelho que é
mais eficiente por representar o globo terrestre com menos interferências da
atmosfera e das nuvens quando presentes em excesso, já que quase todo o
processo em feito com a imagem em escala de cinza, a mesma utilizada no
processamento de imagens de sensores infravermelho.
Esse trabalho é baseado em estudos feitos no programa de iniciação científica, e irá
continuar até julho de 2012. Como sugestões de trabalhos futuros, no qual algumas
já estão em andamento, têm-se para rastreadores de estrelas:
55

Montagem de um banco de dados com os ângulos das principais estrelas,
baseados em mapas estelares como o FK5;

Total integração desse banco de dados com o VISION BUILDER 3.6;

Testes em computadores inferiores para ter uma noção do desempenho real;

Otimização do banco de dados para melhor desempenho do programa;

Melhorar a rotina, avaliar métodos repetitivos e tentar aperfeiçoa-lo para
aumentar a eficiência do método;
Para a detecção de horizonte:

Obtenção de imagens reais do horizonte da Terra para testes e correções
necessárias pelas diferenças de cores e atmosferas;

Testes com imagens de câmeras infravermelhas e possíveis correções.

Melhorar a rotina, avaliar etapas repetitivas e tentar aperfeiçoá-las para
aumentar a eficiência do método;
REFERÊNCIAS BIBLIOGRÁFICAS
ALECRIM, E. Formatos de imagens: JPEG, GIF, PNG e outros. Publicado em
15/05/2011
-
Atualizado
em
01/08/2011.
Disponível
em:
<http://www.infowester.com/imagens.php>. Acesso em 30 out. 2011.
BASLER. Camera Specification. 2007.
BERGER, S. Tudo Que Você Precisa Saber Sobre Megapixels. Disponível em:
http://www.clubedohardware.com.br/artigos/Tudo-o-Que-Voce-Precisa-Saber-SobreMegapixels/1591/2, acesso em 30 out. 2011.
BERGER, S. Tudo Que Você Precisa Saber Sobre Sensores de Câmeras
Digitais. Disponível em: <http://www.clubedohardware.com.br/artigos/1626>. Acesso
em 30 out. 2011.
CARVALHO, A. A. de. Referencial teórico para a monografia apresentada ao
Departamento de Ciência da Computação da Universidade Federal de Lavras,
como parte das exigências do Curso de Ciência da Computação, para
obtenção do título de bacharel: Fundamentação Teórica para Processamento
Digital de Imagens. Lavras, Minas Gerais, Brasil, 2003.
CHÁVEZ,
G.
C.
Notas
de
aula
turma
2010/02.
Disponível
em:
<https://sites.google.com/site/gcamarac/bcc-326---processamento-de-imagens-201002>. Acesso em: 06 out. 2011.
COLE, C. L.; CRASSIDIS J. L. Fast Star Pattern Recognition Using Planar
Triangles. AIAA Journal of Guidance, Control, and Dynamics, Vol. 29, No. 1, Jan
Feb.2006,
páginas
64-71.
Disponível
em:
<http://www.acsu.buffalo.edu/~johnc/star_id06.pdf>. Acesso em 01 nov. 2011.
DIAZ, K. D. A Thesis presented to the Faculty of California Polytechnic State
University San Luis Obispo In Partial Fulfillment of the Requirements for the
57
Degree Master of Science in Aerospace Engineering: Performance Analysis of a
Fixed Point Star Tracker Algorithm for Use Onboard a Picosatellite. 2006.
FARRER, H. et al. Algoritmos Estruturados. Terceira Edição. Livros Técnicos e
Científicos Editora S.A.1999.
GREWAL M. S.; WEILL L. R.; ANDREWS, A. P. Global positioning systems,
inertial navigation, and integration. Apêndice C pag. 324.
GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e Estruturas de dados. Rio de
Janeiro: Livros Técnicos e Científicos Editora S.A., 1985.
HALL, C.D. Spacecraft attitude dynamics and control: Lectures notes posted on
Handouts page. Disponível em: <http://www.aoe.vt.edu/~cdhall/courses/aoe4140>.
Acesso em: 29 abr. 2006.
MAKOVEC, K.L. A nonlinear magnetic controller for three‐axis stability for
nanosatellites. Master thesis. Virginia Polytechnic Institute, USA, 2001.
NEVES JÚNIOR, C. R. Monografia de graduação em engenharia de controle e
automação: Desenvolvimento de um controlador de recarga de bateria para
aplicações em satélites. Ouro Preto: UFOP, Colegiado do Curso de Controle e
Automação – Cecau, 2010.
NI VISION BUILDER. NI Vision Builder for Automated Inspection: Configuration
Help. Versão 370566J-01. Janeiro de 2010.
NI LABVIEW. LabVIEW™ Help. Versão 371361G-01. Junho de 2010.
RENSBURG, H. M. van. An Infrared Earth Horizon Sensor for a LEO Satellite.
2008.
Disponível
em:
<http://www.google.com.br/url?sa=t&rct=j&q=infrared%20earth%20horizon%20senso
r%20for%20a%20leo%20satellite&source=web&cd=2&ved=0CDIQFjAB&url=http%3
A%2F%2Fscholar.sun.ac.za%2Fbitstream%2Fhandle%2F10019.1%2F1752%2FVan
58
%2520Rensburg%2C%2520HM.pdf%3Fsequence%3D1&ei=UIzBTojHFePZ0QGDtv
T5BA&usg=AFQjCNFgjb-gO9svjkqc4tpksNipSJb8VA&cad=rja>. Acesso em: 01 nov.
2011.
ROCHA, R. Relatório Técnico Científico Final: Desenvolvimento de um sistema
para estimação conjunta de atitude e órbita de satélites artificiais utilizando painéis
fotovoltaicos como sensor solar. Ouro Preto: UFOP, Departamento de Engenharia
de Controle e Automação, 2010.
SUZUKI, M. Disponível em: <http://www.tsgc.utexas.edu/spacecraft/topex/atti.html>.
Acesso em: 10 nov. 2011.
TASCO. Instruction Manual. Disponível em: <www.tasco.com>. Acesso em: 15 out.
2011.
UNIVERSITY OF TOKYO. XI-V (sai five). Disponível em: <http://www.space.t.utokyo.ac.jp/cubesat/index-e.html>. Acesso em 21 nov. 2011.
Download