Revendo o conceito de trilateração, referido no post anterior, se o recetor tiver sincronizado a quatro satélites ele pode determinar a distancia a que estes se encontram dele. Com isto o problema da localização é reduzido a um simples problema de geometria. Segue uma ilustração a explicar o processo de trilateração.
O recetor GPS sincroniza com um satélite e determina que este se encontra num ponto interior de uma esfera, centrada no satélite e de raio 18,000 Km. Esta informação ajuda a limitar a localização do recetor. De mencionar que pontos nessa esfera podem localizam-se na terra ou no espaço.
Após o ponto anterior, o recetor sincroniza com um segundo satélite e determina que este se encontra a uma distancia de 19,000 Km. Da mesma forma que foi concluído com o primeiro satélite, o segundo localiza o recetor num ponto interior de uma esfera com raio de 19,000 Km e centrada no satélite numero dois. Logo, com esta nova informação, pode ser concluído que o recetor encontra-se num ponto comum à esfera do primeiro e do segundo satélite.
Por fim se o recetor determinar uma possível terceira localização, uma terceira esfera centrada noutro satélite. Com a informação já recolhida, as possíveis localizações para o recetor são reduzidas para dois pontos. De notar que, o aparelho normalmente consegue descartar um dois dois pontos pois este não se encontra na Terra.
O quarto satélite, normalmente, é para correções no clock.
.
Com a localização determinada é necessário ver até que ponto essa conclusão é precisa em que, existem varias fontes de erro determinação. Devido à complexidade da correção das fontes de erros externos, estes só serão mencionados e não poderão ser corrigidos no decorrer do trabalho. Relativamente ás fontes erros internos de cada recetor GPS, com o uso de mais que um recetor, estes erros poderão ser controlados. Algo que já foi investigado, e que, se encontra documentado no paper do seguinte link: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6166295
Erros externos podem ser provenientes de :
Ephemeris data - Os satélites são colocados em órbitas precisas e , por consequencia, elas são previsíveis. Devido a forças externas, desde forças gravitacionais, pressão e radiação solar, e entre outras, os satélites podem sofrer alterações nas órbitas em que se encontram. Devido ao que foi dito, a localização transmitida pelo satélite poderá estar errada.
Clock do Satélite - Mesmo os satélites possuindo relógios de precisão elevada (relógios atómicos, de césio e de rubídio), estes não são perfeitos. Um exemplo dado é de que, um atraso de 1 nanossegundo resulta num erro de 30 cm para o recetor.
Ionosfera - No vácuo do espaço a velocidade do sinal é a da luz, mas quando este atinge as varias camadas atmosféricas ele varia. Especialmente nesta primeira camada da atmosfera, o sinal do satélite é afectado devido a conter partículas carregadas que o atrasam.
Troposfera - Esta camada afecta bastante o sinal vindo do satélite devido ás componentes secas e húmidas. Sendo que, a componente húmida afecta em maior efeito devido ao vapor de água que nela existe.
Multicaminho - Reflexão da onda portadora do sinal, isto devido a obstáculos naturais ou artificiais.
Erros internos podem ser provenientes de:
Antena - Variações do centro de fase da antena podem causar erros na ordem de centímetros. Estes erros existem devido ás características da antena e do angulo do sinal observado.
Recetor - Um recetor não é perfeito e devido a ruído nas medições, isto é, interferência elétrica, interferência térmica ou erros do clock podem induzir erro na medida.
É também de mencionar sobre o Acesso Seletivo (SA - Selective Availability) que foi desactivado em Maio de 2000. Ele foi introduzido pela US DoD (United States Department of Defence) para limitar a precisão do sistema para os utilizadores de SPS (Standard Positioning Service). Com a ideia de melhorar as defesas do país, foi introduzido artificialmente valores de clock e localizações erradas dos satélites em que, provocava erros até 100 metros.
Serão mencionadas duas formas de diminuir os erros externos:
Correções diferenciais em tempo real - O recetor base, com os sinais vindos dos satélites em vista, determina a sua posição com a maior precisão que lhe é permitida. Sabendo também a sua exacta posição, ele consegue determinar os erros associados a fontes externas. Com isto se o recetor que se encontra num robô a realizar reconhecimento, e este encontra-se num raio de alguns quilómetros, ele estará a sofrer os mesmo efeitos externos. A correção das distancias são transmitidas por radio frequência para o recetor em reconhecimento.
Correcções diferenciais de pós-processamento - Neste caso ambos os recetores são usados sem considerar correções. Após o reconhecimento, os dados de ambos os recetores são processados para reduzir os efeitos inerentes aos erros. Este processo tem a vantagem de não ser necessário a comunicação entre o recetor base e o em reconhecimento, mas tem a desvantagem do recetor em reconhecimento não saber, de maneira precisa, a sua posição. Por consequencia este método é invalido para a navegação com uma precisão de nível elevado. É de mencionar que os recetores GPS que conseguem armazenar dados, são usualmente caros.
Para ser determinado e representado a nível global os obstáculos, irá ser usado um sistema com dois recetores GPS (Global Positioning System).
Falando um bocado do conceito de GPS, este sistema encontra-se no dia de hoje disponível nas mais variadas plataformas, desde do nível industrial até a um nível recreacional. O sistema de posicionamento global oferece, com precisão e em qualquer parte do globo, uma posição a três dimensões e a velocidade a um utilizador que tenha um receptor apropriado. Este posicionamento é realizado com o auxilio de uma constelação de 24 satélites organizados em 6 órbitas com 4 satélites por órbita (figura 1), utilizando um tempo universal sincronizado entre eles (UTC).
A posição é determinada através da distancia que o recetor se encontra aos satélites conectados e através de trigonometria é determinado a posição no referencial global. O método de cálculo de posição e tempo que é usado é o de trilateração, exemplo na figura 2.
O cálculo é realizado comparando o tempo que o sinal foi enviado com o momento que é recebido. Comparando esta informação de quatro satélites em "vista", é possível obter a posição do recetor, isto é a latitude, longitude e a altura em relação ao nível do mar. De notar que é possível obter uma posição só com três satélites mas para uma localização mais correta são usados quatro.
Para o trabalho estão disponíveis dois recetores GPS, nomeadamente um de módulo EM-406A com uma placa de alimentação e comunicação criada na Universidade de Aveiro (figura 3) e um Globalsat BU-353-W (figura 4).
Antes de serem mencionadas algumas especificações serão explicadas algumas terminologias:
Baud Rate - Recetores GPS enviam informação pelo pino TX com um bit rate especifico. O mais comum é de 9600bps para recetores de 1Hz.
Canais - O número de canais que o módulo de GPS usa irá diretamente afetar o tempo da primeira sincronização (TTFF - Time to first fix). Devido ao módulo não saber que satélites se encontram em "vista", quantos mais canais ele poder verificar ao mesmo tempo, mais rápido a primeira sincronização pode ser obtida.
Chipset - O chipset de um GPS é responsável desde realizar cálculos, proporcionar a comunicação analógica com a antena entre outras. O mesmo é independente do tipo de antena. É de mencionar que os modelos mais típicos são ublox, SiRF e o SkyTraq. A diferença entre chipsets recai sobre o consumo elétrico, tempos de aquisição e acessibilidade de hardware.
Start-up Times (Hot, Warm e Cold) - Alguns módulos de GPS contêm um super-condensador ou uma segunda bateria para guardar temporariamente a informação de um satélite, anteriormente sincronizado. Isto ajuda a reduzir o TTFF em inicializações seguintes.
Cold Start - Se o modulo for desligado e a informação de backup for perdida, na inicialização seguinte, o GPS terá de realizar um download novo da informação respetiva aos satélites.
Warm Start - Dependendo do tempo que o GPS esteve desligado, se a informação não for completamente perdida, poderá ser possível realizar um warm start, mas a nova sincronização com os satélites poderá demorar um bocado mas menos que um cold start.
Hot Start - A localização dos satélites estão muito perto da posição que estavam antes do GPS ter sido desligado. Neste caso o GPS sincroniza de imediato.
WAAS - Wide area augmentation system, é uma rede de "estações" base que transmitem a correção do erro para os satélites. WAAS é um sistema usado na América do Norte, para a Europa é usado o sistema EGNOS, no Japão o MSAS e na Índia o GAGAN. A grande maioria dos recetores já têm estes sistemas activos de fabrica.
Nomeando agora algumas especificações, o Globalsat tem um GPS chipset SiRF star III em que as caraterísticas podem ser visualizadas na tabela 1. Este GPS usa o protocolo NMEA 0183, em que as especificações de comunicação são mostradas da tabela 2. O mesmo necessita de uma tensão entre os 4.5V e os 6.5V, com uma intensidade de 50 mA.
Para mais especificações segue o link para o datasheet:
Relativamente ao outro GPS, o chipset é igual ao anterior recetor. Considerando que o recetor necessita de 5V, foi criada uma placa de circuito impresso responsável pela alimentação e comunicação do mesmo. Relativamente á placa, de modo a obter os 5V necessários usou-se um regulador de tensão LM317, que possui a capacidade de regular uma tensão de entrada entre os 0V e 40V para uma tensão de saída num intervalo de 1.2V a 37.7V. Para ser permitida a comunicação com um computador usando o protocolo RS232, foi usado um Max232 para elevar os sinais de um nível TTL.
Especificações extra do módulo podem ser encontradas no seguinte link:
Para controlo do servo da direção foi criada uma placa de controlo demonstrada na figura 1.
Esta placa é alimentada com 24 V e transmite uma onda quadrada para o servo (figura 2), em que a amplitude da mesma varia consoante o ângulo das rodas.
A comunicação com esta placa é realizada com o protocolo RS232. Após iniciada a comunicação é necessário enviar o pwm para a direcção desejada. De mencionar que para o estado de repouso, em que a direcção se encontra em frente, o pwm é igual a 45. Respetivamente para virar completamente para direita e para a esquerda são necessários os valores de 90 e 0. Quando inicialmente é fornecida energia á placa ou clicando no botão de reset da mesma, por hardware ela fornece ao servo um pwm igual a 45.
Explicando um bocado mais detalhadamente este processo, quando a direção é alterada no gamepad, através do joystick, é gerado um valor (o intervalo deste valor é dado nas configurações iniciais da classe do robô). Depois de publicado o valor num tópico previamente subscrito, a " thread " do servo com uma frequência máxima de 30 Hz (figura 3), obtém o valor da direção e transmite esse valor á função que realiza a transformação do valor obtido do gamepad para o pwm respetivo (figura 4). Por fim é enviado para o servo.
O Atlas 2000, robô usado para a dissertação, que competiu em provas de condução autónoma (como já foi referido anteriormente), já se encontrava parado à algum tempo então teve de ser verificado o estado do mesmo (figura 1).
Foi então realizada uma revisão à comunicação feita no servo-amplificador, desde a confirmação do bom estado da cablagem mas também da placa do servo-amplificador (figura 2 e figura 3).
O servo-amplificador usado é um Maxon Motor Digital 4-Q-EC DES 70/10, a comunicação usada com o mesmo é RS232. Quando é iniciado o programa de controlo é necessário fornecer parâmetros de configuração ao Maxon, como é mostrado na figura 4 (nem todos os parâmetros mostrados na figura dizem respeito ao servo-amplificador).
De notar que o parâmetro des_sys_config é um valor binário em que, cada bit corresponde a algo, desde a parametrizar ganhos, limitações nas velocidades, intensidade de corrente e entre outras. No caso deste sistema é usado o valor decimal 49024.
Todo o protocolo de comunicação com a carta é dado pelo fornecedor e pode ser adquirido com o link:
Este servo-amplificador necessita de ser alimentado com uma tensão entre os 24 V e os 70 V. De notar que, perto dos 24 V a carta dará erros por falta de tensão mas também não pode ser alimentada com tensões acima dos 75 V. Ele tem cerca de 400 g e uma dimensão de 180x103x29 mm. Também possui um Led Bicolor para mostrar os estados do servo-amplificador, como estado operacional e com erro em que, respetivamente, mostra a cor verde e vermelha.
Para mais especificações relativamente ao serv-amplificador pode ser obtida com o link seguinte: