terça-feira, 26 de fevereiro de 2019

U-blox ZED‑F9P - Parte I

U-blox ZED‑F9P - Parte I
GNSS / GPS RTK multibanda e multifrequência

Coletânea de Blogs, Artigos e Documentos - Traduzidos


Módulo

Descrição:

A u-blox, fornecedora global de tecnologias líderes de posicionamento e comunicação sem fio, anunciou o módulo GNSS de banda múltipla ZED‑F9P com cinemática em tempo real integrada em várias bandas (RTK), tecnologia para controle de máquinas, veículos robóticos terrestres e aplicações de veículos aéreos não tripulados de alta precisão (UAV). O ZED‑F9P mede apenas 22 x 17 x 2,4 mm e usa a tecnologia da recém-anunciada plataforma u-blox F9 para oferecer desempenho de posicionamento robusto de alta precisão em segundos.

O u-blox ZED‑F9P é o primeiro receptor multibanda de mercado de massa a usar simultaneamente sinais GNSS de todas as quatro constelações GNSS (GPS, GLONASS, Galileo e BeiDou). A combinação de sinais GNSS de várias bandas de frequência (L1 / L2 / L5) e a tecnologia RTK permite que o ZED‑F9P atinja a precisão de centímetro em segundos. E receber mais sinais de satélite a qualquer momento maximiza a disponibilidade de precisão no nível do centímetro, mesmo em ambientes desafiadores, como nas cidades.

Ao contrário da geração anterior de módulos GNSS U-blox, o novo módulo GNSS de alta precisão ZED-F9P agora lida com GNSS L1 / L2 multi-banda, o que implica uma melhor estimativa e correção de interferências ionosféricas.

De fato, a ionosfera é a camada da atmosfera onde as moléculas de gás são ionizadas pelos raios UV provenientes do sol. Portanto, elétrons livres podem interagir com o sinal GNSS transmitido por satélites causando efeitos de atraso severos. Sabendo que as freqüências L1 e L2 não reagem da mesma maneira quando enfrentam esta perturbação atmosférica, atrasos podem ser virtualmente eliminados no lado do receptor GNSS, conseqüentemente aumentando a precisão da posição GNSS RTK.

Pontos principais

Recepção simultânea de GPS, GLONASS, Galileo e BeiDou
RTK multibanda com tempos de convergência rápidos e desempenho confiável
Alta taxa de atualização para aplicativos altamente dinâmicos
Precisão centimétrica em um módulo pequeno e eficiente em energia
Integração fácil do RTK por um tempo rápido de colocação no mercado

Aplicações


Afinal, o que é RTK ?


“Os sistemas de localização global (GNSS) tais como GPS, Glonass e Beidou permitem você se localizar em qualquer lugar da Terra, recurso que com certeza você já utilizou em seu celular ou navegador.
Não só pessoas utilizam estes sistemas mas também veículos autônomos tais como tratores, VANTs e míssies.

Os sistemas comerciais tradicionais permitem obter precisão de aproximadamente 2,5m.

Imagine agora uma solução que permite obter precisão centimétrica. É isto que o ZED-F9P da u-blox permite que seu projeto alcance, só que com um novo patamar de custo, compactação e redução de consumo de energia nunca vistos antes no mercado.

Entenda um pouco mais sobre este assunto continuando a ler o texto abaixo.”

Real Time Kinematics

RTK é a abreviatura de cinemática em tempo real. Um receptor de GPS com capacidade de RTK capta os sinais normais dos Sistemas Globais de Navegação por Satélite junto com um fluxo de correção para alcançar precisão posicional de 1 cm. O GNSS inclui satélites do GPS (EUA), GLONASS (Rússia), Beidou (China) e Galileo (Europa). No topo desses sinais, um receptor RTK recebe um fluxo de correção RTCM e calcula sua localização com precisão de 1 cm em tempo real. A taxa varia entre os receptores, mas a maioria produzirá uma solução pelo menos uma vez por segundo; alguns receptores podem produzir essa solução de precisão mais alta até 20 vezes por segundo. Receptores GPS capazes de RTK costumavam ser milhares de dólares e eram limitados a profissionais e grupos governamentais. Graças à ciência, matemática e economia, os receptores RTK são agora menos de US $ 300.

À esquerda, temos um receptor GPS de altíssima qualidade (o ZED-F9P visto acima) sem dados de correção. A posição vagueia muito mais de 1,5 metros e além. À direita, o mesmo receptor, com a mesma antena, com dados de correção RTCM, traz a posição abaixo de 25 cm com agrupamentos apertados abaixo de 10 cm.


Você disse 1 cm? Zomg Como eu obtenho 1 cm de precisão !?

Você precisará de um receptor GPS capaz de receber e incorporar os dados de correção RTCM em sua solução de localização. Você também precisará de uma fonte de dados de correção RTCM. Isso geralmente vem de uma conexão com a Internet ou de um rádio de longa distância com capacidade de aproximadamente 500 bytes por segundo. LoRa e LTE-CAT M1 são ótimas opções para este backhaul.

Uma vez que tudo esteja configurado e funcionando, o módulo GPS rover produzirá sentenças NMEA normais, mas com latitude e longitude realmente precisas. Para ser claro, não é uma precisão de 1 cm; tem precisão de 1cm. A precisão é de 0.1mm!

É possível uma precisão de 1 cm com receptores de menor custo (como o NEO-M8T), capturando fluxos brutos dos satélites GPS e, em seguida, pós-processando os logs com um programa de código aberto chamado RTKLIB. Isso é útil para aplicações como fotografia aérea e inspeção agrícola, pois o alinhamento é importante depois do fato. Também é possível conectar um receptor de menor custo (como o NEO-M8T) a um laptop e executar o RTKLIB em uníssono e obter soluções em tempo real, mas essa é uma configuração grande consumo de energia que não é ideal para aplicativos móveis incorporados. Nestes tutoriais, vamos nos concentrar em receptores com capacidade de tempo real (RTK).

Com sua alta taxa de atualização, o ZED‑F9P é ideal para aplicações altamente dinâmicas, como UAVs. Com integração on-chip de algoritmos RTK multibanda avançados, não requer hardware adicional nem bibliotecas RTK de terceiros. Pronto para uso na entrega e fácil de integrar, ajuda os desenvolvedores de produtos a trazer rapidamente suas ideias para o mercado.

O ZED‑F9P está totalmente preparada para eliminar os três principais obstáculos que impediram que a precisão de posicionamento em nível de centímetro se transformasse em aplicações de mercado de massa: custo, tamanho e consumo de energia. Significativamente menor e mais eficiente em termos energéticos do que as soluções existentes, e como uma alternativa eficiente em termos de custo, o ZED‑F9P permitirá novas aplicações de posicionamento de alta precisão para o mercado de massa.

Mais informações sobre o RTK (complemento)

Primeiro, vamos entender o que realmente significa RTK! Real Time Kinematics é uma tecnologia GNSS que permite remover parcialmente erros de sinal devido à propagação na atmosfera. Esses erros são numerosos:

Biases de relógios atômicos
Ruído do receptor
Variação do centro de fase da antena
Multipath
Propagação da troposfera
Propagação de ionosfera

A propagação da ionosfera é o efeito mais importante. A ionização do meio de propagação causa reflexões e refrações das ondas eletromagnéticas. O tempo de medição do tempo de propagação realizado pelo receptor é, portanto, falso.
Outro efeito importante que não pode ser modelado é o multipath. Corresponde à reflexão de ondas em obstáculos perto do receptor (árvores, edifícios ...) que retardam ou duplicam sinais. Pode ser fortemente atenuado com um bom hardware.
O RTK requer, consequentemente, dois receptores GNSS, uma estação “base”, geralmente imóvel e cuja posição é perfeitamente conhecida, e um receptor móvel “rover”. A base envia dados de correção para o rover (dados brutos) para que o rover possa calcular o algoritmo RTK de dupla diferença. Isso significa que as fases de pseudoranges e carrier da base serão "subtraídas" (é um pouco mais complicado) das do rover. O RTKLIB é usado para realizar esses cálculos, o que pode levar a uma precisão de nível centimétrico.


Primeiro, vamos entender o que realmente significa RTK! Real Time Kinematics é uma tecnologia GNSS que permite remover parcialmente erros de sinal devido à propagação na atmosfera. Esses erros são numerosos:
Preconceitos de relógios atômicos
Ruído do receptor
Variação do centro de fase da antena
Multipath
Propagação da troposfera
Propagação de ionosfera

A propagação da ionosfera é o efeito mais importante. A ionização do meio de propagação causa reflexões e refrações das ondas eletromagnéticas. O tempo de medição do tempo de propagação realizado pelo receptor é, portanto, falso.
Outro efeito importante que não pode ser modelado é o multipath. Corresponde à reflexão de ondas em obstáculos perto do receptor (árvores, edifícios ...) que retardam ou duplicam sinais. Pode ser fortemente atenuado com um bom hardware.
O RTK requer, consequentemente, dois receptores GNSS, uma estação “base”, geralmente imóvel e cuja posição é perfeitamente conhecida, e um receptor móvel “rover”. A base envia dados de correção para o rover (dados brutos) para que o rover possa calcular o algoritmo RTK de dupla diferença. Isso significa que as fases de pseudoranges e carrier da base serão "subtraídas" (é um pouco mais complicado) das do rover. O RTKLIB é usado para realizar esses cálculos, o que pode levar a uma precisão de nível centimétrico.


Para aprofundar os detalhes, o RTK usa medições de portadoras para obter dados centimétricos. O comprimento de onda do sinal GPS é de cerca de 20 centímetros, então se você é capaz de medir a fase deste sinal, saber o centro de fase do satélite e calcular o número inteiro de pontos entre o satélite e você, é onde você começa a precisão centimétrica . Chamamos de ambiguidade o número inteiro anterior de períodos. Se o algoritmo encontrar uma solução inteira, então a solução é chamada de “correção”. É quando a precisão máxima é atingida. Caso contrário, se a solução for um float, a solução será chamada de “float”. Essa solução é menos precisa. Nós nos referiremos como “single” para as posições nem “fix” nem “float” (acontece se nenhum dado de correção for recebido, ou se os sinais não forem bons o suficiente). Algo realmente importante sobre o RTK é que, se suas antenas não fornecerem sinais suficientes, a posição computada será facilmente errônea!


O poder do ZED-F9P

- Obtenha uma precisão de <1cm (1σ) com configuração de base-rover, <1cm com correções NTRIP ou <10cm com correções SSR;
- Tempo médio de convergência da posição <10s;
- Melhoria da disponibilidade de posição em nível de cm em cenários difíceis (florestas, construções, ...);
- Use-o com seu smartphone ou computador (plug & play);
- Use-o com suas placas de prototipagem preferidas (Arduino, STM32, ...);
- Conecte-o ao seu piloto automático Pixhawk;
- Flexibilidade de link de rádio: use nossos rádios comprovados ou de sua escolha;
- Medições GNSS brutas: utilizar os dados dos satélites sem qualquer pós-processamento;
- Faça coisas interessantes como esta:



Video ilustrando o quanto é preciso o ZED-F9P




Modos de operação:


Autônomo - a maneira mais simples de atingir precisão de posição de 1 m sem limitações de alcance. A configuração mais básica é usar o simple ZED‑F9P como uma placa de aplicativo GNSS independente. Conecte-o ao seu Arduino, computador ou smartphone e você obterá sua posição em segundos.



Base - configuração do rover básico - obtenha uma precisão de <3 cm com um alcance máximo de 20 km da estação base. Use dois simples ZED‑F9P configurados como estação base e rover. Conecte a estação base e / ou rover ao seu Arduino, computador ou smartphone e você obterá as duas posições em segundos.

Base - configuração de vários rovers - obtenha uma precisão de <3cm com um alcance máximo de 20km da estação base. Configure um simples ZED‑F9P como base e transmita suas correções RTK para quantos rovers desejar para obter precisão no nível centímetro. Conecte-o ao seu Arduino, computador ou smartphone e você obterá sua posição em segundos.

Configuração da base móvel RTK - obtenha uma precisão de <3cm e um sistema completo de Referência de Atitude e Direção com um alcance máximo de 20km da estação base. Configure um simples ZED‑F9P como base e dois / três simples ZED‑F9P como rovers, montados em um drone, carro, nave,… Conecte-o ao seu Arduino, computador ou smartphone e você terá sua posição, atitude e rumo em segundos.

Autônomo com correções RTK / SSR * - obtenha uma precisão de <3cm sem limitações de alcance (sujeito a cobertura de rede móvel). Use o simple ZED‑F9P como uma placa de aplicativo GNSS autônoma combinada com correções RTK / SSR para obter precisão no nível centímetro. Combine-o com um módulo 3G e você terá uma precisão de nível centimétrico sem limitações de alcance. Conecte-o ao seu Arduino, computador ou smartphone e você obterá sua posição em segundos. * Sujeito a disponibilidade de serviço de terceiros.


O ZED-F9P é um módulo topo de linha para soluções de localização GNSS e GPS de alta precisão, incluindo RTK com capacidade de precisão tridimensional de 10 mm. Com essa placa, você poderá saber onde a localização X, Y e Z de seu (ou de qualquer objeto) está dentro da largura da unha! O ZED-F9P é único, pois é capaz de operações rover e estação base.

O que é correção ? RTCM?


RTCM é um acrônimo para Radio Technical Commission for Maritime. Este órgão governamental surgiu com uma maneira de comunicar posições para barcos e outras embarcações há muitas décadas. Tecnicamente, o RTCM é apenas um protocolo. Nós, no entanto, usaremos o termo RTCM para indicar os bytes de dados de correção relacionados às anomalias de tempo do GPS.


O conteúdo dos quadros RTCM pode ser decodificado, mas você, o usuário, raramente precisa. Em vez disso, você simplesmente passa os bytes para o receptor GPS e analisará os dados de correção.

Existem alguns tipos diferentes de mensagens, mas aquelas com as quais nos importamos são os números 1005, 1077, 1087 e 1230. Cada tipo de mensagem tem um tamanho diferente, mas, como regra geral, é um par de cem bytes por segundo. Cada mensagem RTCM contém detalhes sobre a rede GPS / GNSS e perturbações na ionosfera e troposfera.

Lembre-se, os satélites de GPS estão muito distantes; cerca de 20.000 km ou 12.000 milhas de distância. Muito pode acontecer com o sinal dos satélites de GPS para você através dessa distância. Tempestades geomagnéticas causam ligeiros atrasos no tempo, aumentando o erro de localização. O campo gravitacional da Terra não é uniforme, de modo que os efeitos relativísticos podem acrescentar imprecisões. Se soubermos o segundo para o segundo problema em nossa vizinhança local, um receptor com capacidade para RTCM pode corrigir a solução de localização com grande precisão.

Nota: Existem algumas versões diferentes do RTCM. As versões mais populares são v2 e v3. Como a v3 é considerada um padrão "aberto" e porque incorpora mensagens úteis para o RTK, mais empresas implementaram a versão 3, tornando-a o padrão mais comum.

Onde eu obtenho as correções de RTCM ?


Se você tiver sorte, há uma estação dentro de 10 km (6 milhas) de você que está transmitindo dados RTCM 3.x pela Internet. Localizamos um pouco mais de 10 km do SparkFun HQ que funciona muito bem.

NA: autor do artigo (SPARKFUN)


UNAVCO - Principalmente EUA
Listing NTRIP - Global
RTK2go e SNIP - Executa um servidor onde algumas dezenas de estações podem ser acessadas (veja a seção de comentários)

Muitas das estações que transmitem dados de correção RTCM em tempo real exigem registro. É uma miscelânea selvagem de organizações civis e sem fins lucrativos em todo o mundo. 

Recomendamos usar o RTKLIB para assinar o feed e enviar o fluxo por uma porta serial para um módulo com capacidade para GPS RTK. Para a melhor precisão, o seu receptor GPS precisará estar a 10 km (6 milhas) da estação de transmissão. Se você for maior que 10 km, o ZED-F9P ainda poderá criar um local fixo, mas a precisão será reduzida e o receptor exibirá o seguinte:

WARNING: DGNSS baseline big: 10km
Outra opção para dados RTCM é criar sua própria estação! Você precisará de um módulo GPS capaz de gerar dados de correção RTCM, uma antena sensível e um computador ou computador de placa única (como um Raspberry Pi) para obter os dados RTCM e servi-los pela Internet. Você precisará de uma visão clara do céu e, provavelmente, de um cabo de extensão SMA muito longo para ir da sua mesa até a antena. Existem alguns receptores muito caros capazes da estação base RTCM. Felizmente, os módulos ZED-F9P e NEO-M8P-2 são mais baratos e igualmente capazes. Estaremos nos concentrando em como usar o ZED-F9P nos seguintes tutoriais.

Como obtenho mensagens RTCM do receptor GPS ?

Depende do seu aplicativo final. Se você precisar de portabilidade máxima, a melhor solução é um link de rádio entre a estação base que você criou e o receptor móvel GPS RTK. 

Se o seu aplicativo final já requer uma conexão com a Internet, como GSM ou LTE-CAT, então uma conexão serial com o receptor GPS-RTK pode ser o caminho mais fácil.

Se a sua aplicação tiver um telefone celular por perto, uma terceira opção é criar uma ponte serial de um telefone celular para um dispositivo Bluetooth serial, que então se conecta à porta serial do GPS-RTK. Existem alguns aplicativos móveis compatíveis com Ntrip. Estamos satisfeitos com o Lefebure for Android.


Interfaces de comunicação:

O número de opções de configuração do ZED-F9P é incrível! Geofencing, endereço I2C variável, taxas de atualização variáveis, até mesmo a solução RTK de alta precisão podem ser aumentadas para 20Hz. Tem ainda cinco portas de comunicação que estão todas ativas simultaneamente: USB-C (que enumera como uma porta COM), UART1 (com 3.3V TTL), UART2 para recepção RTCM (com 3.3V TTL), I2C  e SPI.

Protocolo de comunicação NMEA, UBX e RTCM

Maiores detalhes podem ser encontrados aqui.


Manual do Integrador


Bibliotecas para acesso:

Sparfun tem várias rotinas para realizar as leitura de dados (via SERIAL e I2C) do ZED-F9P, desenvolvidas para Arduino, mas podem facilmente serem portadas para NINA B e NINA W (versão open-Hardware).

SparkFun_Ublox_Arduino_Library/examples at master · sparkfun/SparkFun_Ublox_Arduino_Library (github.com)

Mais dados técnicos do ZED-F9

  • 184-channel u-blox F9 engine
  • GPS L1C/A L2C, GLO L1OF L2OF,
  • GAL E1B/C E5b, BDS B1I B2I,
  • QZSS L1C/A L2C
Nav. update rate:
  • RTK up to 20 Hz1
Position accuracy:
  • RTK 0.01 m + 1 ppm CEP
Convergence time:
  • RTK < 10 sec
  • Acquisition Cold starts 24 s
  • Aided starts 2 s
  • Reacquisition 2 s
Sensitivity:
  • Tracking & Nav 167
  • Cold starts 148 dBm
  • Hot starts 157 dBm
  • Reacquisition 160 dBm
AssistNow GNSS Online
OMA SUPL & 3GPP compliant
TCXO Oscillator
Built-In RTC crystal
Active CW detection and removal
Active and passive antennas Supported
Flash Memory

Mais sobre o ZED-F9P

Com módulo ZED-F9P da u-blox,  é capaz de uma precisão tridimensional de 10 mm. Sim, você leu certo, pode produzir a sua localização X, Y e Z que é aproximadamente a largura da sua unha. Com grande potência vem alguns requisitos: GPS de alta precisão requer uma visão clara do céu (desculpe, não há localização interna) e um fluxo de dados de correção de uma fonte RTCM. Entraremos mais nisso em uma seção posterior, mas contanto que você tenha duas unidades ZED-F9P ou acesso a uma fonte de correção on-line, pode produzir lat, long e altitude com precisão de grau centimétrico.

Visão geral do Hardware
Um dos principais diferenciais entre o ZED-F9P e quase todas as outras soluções RTK de baixo custo é que o ZED-F9P é capaz de receber bandas L1 e L2.


Portas de comunicação

O ZED-F9P é único, pois possui cinco portas de comunicação que estão todas ativas simultaneamente. Você pode ler dados NMEA sobre I2C enquanto envia comandos de configuração pelo UART e vice-versa. O único limite é que os pinos SPI sejam mapeados nos pinos I2C e UART, de modo que seja SPI ou I2C + UART. A porta USB está sempre disponível.

USB

O conector USB C facilita a conexão do ZED-F9P ao centro para configuração e visualização rápida de sentenças NMEA. Também é possível conectar um Raspberry Pi ou outro SBC via USB. O ZED-F9P enumera como uma porta COM serial e é uma porta serial separada da interface UART. Consulte Introdução ao U-Center para obter mais informações sobre como fazer com que a porta USB seja uma porta COM serial.
A porta USB destacada na placa de fuga do ZED-F9P Um regulador de 3,3V é fornecido para regular o 5V USB até 3,3V requerido pelo módulo. 5V externos podem ser aplicados ou uma alimentação direta de 3,3V pode ser fornecida. Observe que, se você fornecer diretamente a placa com 3,3V, ela deverá ser uma fonte limpa com o mínimo de ruído (a ondulação VPP de menos de 50mV é ideal para a localização de precisão). O regulador 3.3V é capaz de fornecer 600mA a partir de uma entrada de 5V e a conexão USB C é capaz de fornecer 2A.

I2C

O u-blox ZED-F9P tem uma porta “DDC” que é realmente apenas uma porta I2C (sem todos os problemas de marcas registradas). Todos os recursos são acessíveis através das portas I2C, incluindo leitura de sentenças NMEA, envio de strings de configuração UBX, inserção de dados RTCM no módulo, etc. Escrevemos uma extensa biblioteca Arduino mostrando como configurar a maioria dos aspectos do ZED-F9P método de comunicação no ZED. Você pode obter a biblioteca através do gerenciador da biblioteca do Arduino pesquisando "SparkFun Ublox". Consulte a seção Biblioteca SparkFun U-blox para mais informações.

UART

Os pinos seriais clássicos estão disponíveis no ZED-F9P, mas são compartilhados com os pinos SPI. Por padrão, os pinos UART estão ativados. Certifique-se de que o jumper DSEL na parte traseira da placa esteja aberto.

TX / MISO = saída TX de ZED-F9P
RX / MOSI = RX em ZED-F9P

Há uma segunda porta serial (UART2) disponível no ZED-F9P que é usada principalmente para dados de correção RTCM3. Por padrão, essa porta receberá e analisará automaticamente cadeias RTCM3 de entrada, ativando o modo RTK na placa. Além dos pinos TX2 / RX2, adicionamos uma porta adicional de 'Correção RTCM', onde organizamos os pinos para corresponder à conexão serial padrão da indústria (também conhecida como a pinagem 'FTDI'). Esta pinagem é compatível com o nosso Bluetooth SPP para que você possa enviar dados de correção RTCM de um telefone celular ou computador. Observe que os dados RTCM3 também podem ser enviados por I2C, UART1, SPI ou USB, se desejado.

A porta de correção RTCM (UART2) é padronizada para 38400bps serial, mas pode ser configurada através de comandos de software (consulte nossa biblioteca do Arduino) ou via USB usando o u-center. Tenha em mente que o nosso padrão Bluetooth SPP é de 115200bps. Se você planeja usar o Bluetooth para dados de correção (achamos que é mais fácil), recomendamos que você aumente essa velocidade de porta para 115200bps usando o centro. Além disso, mas menos frequentemente necessário, o UART2 pode ser configurado para todos os tipos de comunicação, incluindo a saída NMEA e a comunicação do protocolo binário UBX. Em geral, não usamos o UART2 para nada além de dados de correção do RTCM, por isso recomendamos deixar os protocolos de entrada / saída como RTCM.



Se você tiver a configuração ZED-F9P para o modo de estação base (também chamado de modo de pesquisa de entrada), a UART2 emitirá dados de correção RTCM3. Isso significa que você pode conectar um rádio ou um link com fio à UART2 e a placa enviará automaticamente apenas bytes RTCM sobre o link (sem dados NMEA que ocupem a largura de banda).

SPI

O ZED-F9P também pode ser configurado para comunicação SPI. Por padrão, a porta SPI está desativada. Para ativar o SPI, feche o jumper DSEL na parte traseira da placa. O fechamento deste jumper desativará as interfaces UART1 e I2C (o UART2 continuará a operar normalmente).

PINOS DE CONTROLE

Esses pinos são usados ​​para vários controles extras do ZED-F9P:

FENCE: Pino de saída de Geofence. Configurado com o U-Center. Vai alto ou baixo quando uma geocerca está configurada. Útil para disparar alarmes e ações quando o módulo sai de um perímetro programado.

RTK: Pino de saída cinemático em tempo real. Permanece alto quando o módulo está no modo de GPS normal. Começa a piscar quando as correções RTCM são recebidas e o módulo entra no modo flutuante RTK. Reduz quando o módulo entra no modo fixo RTK e começa a produzir locais precisos no nível de cm.

PPS: Pino de saída de pulso por segundo. Começa a piscar a 1Hz quando o módulo recebe o bloqueio básico de posição GPS / GNSS.

RST: Redefine o pino de entrada. Empurre esta linha para baixo para resetar o módulo.

SAFE: Pino de entrada de inicialização segura. Isso é necessário para atualizações de firmware no módulo e geralmente não deve ser usado ou conectado.

INT: Interrompe o pino de entrada / saída. Pode ser configurado usando o U-Center para tirar o módulo do sono profundo ou para gerar uma interrupção para vários estados do módulo.

ANTENA

O ZED-F9P requer uma antena GPS ou GNSS (preferida) de boa qualidade. Nota: Os conectores U.FL são classificados apenas para alguns ciclos de montagem (cerca de 30), por isso recomendamos que você o configure e esqueça. Um cabo U.FL para SMA rosqueado através do orifício de montagem fornece uma conexão robusta que também é fácil de desconectar na conexão SMA, se necessário. Antenas GPS / GNSS magnéticas de baixo custo podem ser usadas (verifique o papel branco do ublox), mas é necessário colocar um disco metálico de 4 ”/ 10 cm sob a antena como um plano de aterramento.

Um recorte para o anteparo SMA está disponível para aqueles que querem uma conexão extra resistente. Recomendamos a instalação do SMA na placa somente quando a placa for montada em um gabinete. Caso contrário, o cabo corre o risco de ser danificado quando comprimido (por exemplo, alunos carregando a placa solta em uma mochila).

LEDS

PWR: O LED de energia acenderá quando o 3.3V for ativado via USB ou via barramento Qwiic.

PPS: O LED de pulso por segundo acenderá a cada segundo assim que o bloqueio de posição for alcançado.

RTK: O LED RTK será iluminado constantemente ao ligar. Quando os dados RTCM forem recebidos com sucesso, começará a piscar. Esta é uma boa maneira de ver se o ZED-F9P está recebendo o
RTCM de várias fontes. Uma vez que uma correção RTK é obtida, o LED será desligado.

FENCE: O LED FENCE pode ser configurado para ligar / desligar para aplicações de geofencing.

JUMPERS

Existem cinco jumpers usados ​​para configurar

O fechamento do DSEL com solda ativa a interface SPI e desativa as interfaces UART e I2C. USB ainda funcionará.

Cortar o jumper I2C removerá os resistores de 2.2k Ohm do barramento I2C. Se você tiver muitos dispositivos no seu barramento I2C, talvez queira remover esses jumpers. Não sabe como cortar um jumper? Leia aqui!

Cortar os jumpers JP1, JP2, JP3 desconectará os vários LEDs de status de seus pinos associados.

BATERIA DE BACKUP

A bateria recarregável MS621FE mantém a RAM suportada pela bateria (BBR) no módulo GNSS. Isso permite bloqueios de posição muito mais rápidos. O BBR também é usado para a retenção da configuração do módulo. A bateria é automaticamente carregada quando a energia é aplicada e deve manter as configurações e os dados da órbita GNSS por até duas semanas sem energia.

CONECTANDO UMA ANTENA

Conectores U.FL são muito bons, mas eles são projetados para serem implementados dentro de um pequeno aplicativo incorporado como um laptop. A exposição de um conector U.FL ao estado selvagem pode ser danificado. Para evitar danos na conexão U.FL, recomendamos enfiar o cabo U.FL pelo orifício de fixação e, em seguida, prender os conectores U.FL. Isso proporcionará um grande alívio de tensão para a conexão da antena. Agora, anexe a sua antena SMA de escolha.

Seja cuidadoso! Os conectores U.FL são facilmente danificados. Certifique-se de que os conectores estejam alinhados, nivelados face a face (não em ângulo) e, em seguida, pressione para baixo usando uma borda romba rígida, como a borda de uma PCB ou o ponto de uma chave de fenda pequena. Para mais informações, confira nosso tutorial Três dicas rápidas sobre o uso do U.FL.

SMA inserido e aparafusado ao PCB

Embora esse método diminua a tensão do conector U.FL, ele é recomendado somente quando a placa estiver montada permanentemente. Se a placa não estiver montada, o cabo no cabo U.FL é suscetível a ser dobrado, causando mudanças de impedância que podem diminuir a qualidade da recepção.

Se estiver dentro de casa, você deve executar um cabo de extensão SMA por tempo suficiente para localizar a antena onde ela tenha uma visão clara do céu. Isso significa que não há árvores, edifícios, paredes, veículos ou coisas concretas de metal entre a antena e o céu. Certifique-se de montar a antena em uma placa metálica de 4 ”/ 10cm para aumentar a recepção.

FONTE DE CORREÇÃO

Antes de você ir para o campo, é bom entender como obter dados RTCM e como canalizá-los para o GPS-RTK2. Recomendamos que você leia a seção Conectando uma Fonte de Correção do tutorial original do GPS-RTK. Isso lhe dará o básico de como obter uma conta da UNAVCO e como identificar um Ponto de Montagem dentro de 10 km de onde seu rover ZED-F9P será usado. Esta seção baseia-se nesses conceitos.

Para este exemplo, mostraremos como obter dados de correção da rede UNAVCO e extrair esses dados usando o aplicativo Android chamado NTRIP Client. Os dados de correção serão então transmitidos do aplicativo via Bluetooth para o ZED-F9P usando o Bluetooth SPP.

Materiais requeridos

1x GPS-RTK2
1x GPS ou antena GNSS
1x placa de metal de 4 "ou maior
1x cabo de extensão SMA (se necessário para obter uma visão clara do céu)
1x cabo USB 2.0
1x Bluetooth SPP
1x par de header macho e femea
Tripé de Câmera com Antena GNSS em Placa Terrestre
Antena GNSS sentado em uma placa de metal elevada com visão clara do céu
Agora configure o seu receptor GPS para que você possa trabalhar a partir da sua mesa, mas tenha a antena ao ar livre com uma visão clara do céu.

Software Requerido

Credenciais com um provedor RTCM gratuito, como UNAVCO

U-Center
Obter o aplicativo NTRIP By Lefebure do Google Play. Parece haver aplicativos NTRIP para iOS, mas não conseguimos verificar nenhum aplicativo específico. Se você tem um favorito, por favor nos avise.
Primeiro, precisamos conectar o módulo Bluetooth à placa GPS-RTK2. Solde um header fêmea no Bluetooth SPP para que ele pare no final.

Conexão do header do Bluetooth SPP com fêmea
Na placa GPS-RTK2, recomendamos a soldagem do header macho de ângulo direito sob a placa. Isso permitirá que o módulo Bluetooth seja colocado de forma sucinta sob a placa.

Ao conectar o Bluetooth SPP ao GPS-RTK2, certifique-se de alinhar os pinos para que o indicador GND se alinhe no módulo Bluetooth e na placa RTK. Uma vez que o Bluetooth tenha sido instalado, conecte sua antena GNSS e conecte a placa RTK2 via USB. Isto irá alimentar a placa e o Bluetooth SPP.

RTK2 conectado via USB com Bluetooth
Onde os headers macho e femea vão é uma preferência pessoal. Por exemplo, aqui estão dois  Bluetooth SPP; um com header macho, um com o femea

Dois Bluetooth SPP com headers diferentes
Soldar um header fêmea a um Bluetooth SPP facilita a adição de Bluetooth a placas que tenham uma conexão estilo "FTDI", como o OpenScale, Arduino Pro ou o Leitor RFID Simultâneo. Considerando que, soldar um header macho para o companheiro Bluetooth torna muito mais fácil de usar em uma placa de montagem. É realmente com você!

O Bluetooth SPP tem como padrão 115200bps, enquanto o RTK2 espera que o serial sobre o UART2 seja de 38400bps. Para corrigir isso, precisamos abrir o u-center e alterar as configurações da porta para o UART2. Se ainda não o fez, não deixe de conferir o tutorial Como começar com o U-Center para se orientar.

Abra a janela Configurar e navegue até a seção PRT (Ports). Coloque o alvo no UART2 e defina a taxa de transmissão para 115200. Por fim, clique no botão "Enviar".



Por esta altura, você deve ter um bloqueio GPS 3D válido com precisão de ~ 1,5 m. Está prestes a ficar muito melhor.

Supomos que você leu o tutorial RTK original e obteve suas credenciais da UNAVCO, incluindo o seguinte:

Nome de usuário
Senha
Endereço IP para UNAVCO (69.44.86.36 no momento da escrita)
Porta do Caster (2101 no momento da escrita)
Data Stream a.k.a. Mount Point (‘P041_RTCM3’ se você quiser aquela perto de Boulder, CO - mas você deve encontrar uma mais próxima do seu local de rover)
O Bluetooth SPP deve ser ligado. Do seu telefone, descubra o Bluetooth SPP e combine com ele. O módulo usado neste tutorial foi descoberto como RNBT-E0DC, onde E0DC são os últimos quatro caracteres do endereço MAC do módulo e deve ser exclusivo para seu módulo.

Depois de ter suas credenciais da UNAVCO e você se unir ao módulo Bluetooth, abra o cliente NTRIP.



Na tela inicial, clique na engrenagem no canto superior direito e em Configurações do receptor.


Verifique se a Conexão do Receptor está configurada para Bluetooth, selecione Dispositivo Bluetooth e selecione o módulo Bluetooth com o qual você acabou de emparelhar. Em seguida, abra as configurações NTRIP e insira suas credenciais, incluindo o ponto de montagem (também conhecido como Data Stream).


Este exemplo demonstra como obter dados de correção dos servidores da UNAVCO, mas você também pode configurar sua própria estação base usando outro ZED-F9P e RTKLIB para transmitir os dados de correção. Este aplicativo NTRIP se conectaria ao seu servidor baseado em RTKLIB, oferecendo a você uma incrível flexibilidade (a estação base pode estar em qualquer lugar onde haja um laptop e Wifi a 10 km do seu rover).

Está bem. Esta pronto? Essa é a parte divertida. Retorne à janela principal do NTRIP e clique em Conectar. O aplicativo irá se conectar ao módulo Bluetooth. Uma vez conectado, ele se conectará à sua fonte NTRIP. Quando os dados estiverem fluindo, você verá o número de bytes aumentar a cada segundo.


Dentro de alguns segundos, você deve ver o LED RTK na placa GPS-RTK2 desligar. Isso indica que você tem uma correção RTK. Para verificar isso, abra o centro do seu computador. A primeira coisa a notar é que o Modo Fixo na janela preta da esquerda mudou de 3D para 3D / DGNSS / FIXED.


Navegue até a mensagem UBX-NAV-HPPOSECEF. Isso mostrará uma estimativa de precisão 3D de alta precisão. Conseguimos alcançar uma precisão de 17mm usando uma antena GNSS de baixo custo com um plano de placa metálica e estávamos a mais de 10 km da estação de correção.

Parabéns! Você agora sabe onde você está dentro do diâmetro de uma moeda de dez centavos!

BIBLIOTECAS

Nota: Este exemplo supõe que você esteja usando a versão mais recente do Arduino IDE em sua área de trabalho. Se esta é a primeira vez que você usa o Arduino, leia nosso tutorial sobre como instalar o Arduino IDE. Se você ainda não instalou uma biblioteca do Arduino, confira nosso guia de instalação.
A biblioteca do SparkFun Ublox Arduino permite a leitura de todos os datums posicionais, bem como o envio de comandos binários de configuração UBX sobre o I2C. Isso é útil para configurar módulos avançados como o ZED-F9P, mas também o NEO-M8P-2, o SAM-M8Q e qualquer outro módulo Ublox que use o protocolo binário Ublox.

A biblioteca do SparkFun U-blox Arduino pode ser baixada com o gerenciador da biblioteca do Arduino pesquisando 'SparkFun Ublox' ou você pode pegar o zip aqui do repositório do GitHub:

Depois de ter a biblioteca instalada, verifique os vários exemplos.

Exemplo1: Leia as sentenças NMEA sobre I2C usando o módulo SAML-M8Q, NEO-M8P, etc.

Exemplo2: Analise as sentenças NMEA usando a biblioteca MicroNMEA. Este exemplo também demonstra como sobrescrever a função processNMEA para que você possa direcionar os caracteres NMEA recebidos do módulo Ublox para qualquer biblioteca, exibição, rádio, etc. que você preferir.

Exemplo 3: Obtenha latitude, longitude, altitude e satélites à vista (SIV). Este exemplo também demonstra como desativar as mensagens NMEA que estão sendo enviadas da porta I2C. Você ainda verá NMEA no UART1 e USB, mas não no I2C. Usar somente mensagens binárias UBX ajuda a reduzir o tráfego I2C e é um protocolo muito mais leve.

Exemplo4: Exibe que tipo de correção você tem, sendo as duas mais comuns nenhuma e uma correção 3D completa. Este esboço também mostra como descobrir se você tem uma correção RTK e qual tipo (flutuante vs. fixo).

Exemplo 5: Mostra como obter a velocidade atual, direção e diluição de precisão.

Exemplo6: Demonstra como aumentar a taxa de saída do padrão 1 por segundo para muitos por segundo; até 30Hz em alguns módulos!

Exemplo 7: Módulos mais antigos, como o SAM-M8Q, utilizam um protocolo mais antigo (versão 18), enquanto os módulos mais novos, como o ZED-F9P, depreciam alguns comandos usando o protocolo mais recente (versão 27). Este esboço mostra como consultar o módulo para obter a versão do protocolo.

Exemplo8: Os módulos Ublox usam o endereço I2C 0x42, mas isso é configurável via software. Este esboço permitirá que você altere o endereço I2C do módulo.

Exemplo9: Altitude não é uma medida simples. Este esboço mostra como obter a altitude baseada no elipsóide e as leituras de altitude baseadas no MSL (nível médio do mar).

Exemplo10: Às vezes você só precisa fazer um hard reset do hardware. Este esboço mostra como configurar seu módulo Ublox de volta para as configurações padrão de fábrica

NEO-M8P

NEO-M8P Exemplo 1: Envie comandos binários UBX para habilitar frases RTCM no módulo U-blox NEO-M8P-2. Este exemplo é um dos passos necessários para configurar o NEO-M8P como uma estação base. Para mais informações, consulte o manual da Ublox para configurar um link RTK.

NEO-M8P Exemplo2: Este exemplo amplia o exemplo anterior enviando todos os comandos para o NEO-M8P-2 para que ele funcione como base. Além disso, a função processRTCM é exposta. Isso permite que o usuário sobrescreva a função para direcionar os bytes RTCM para qualquer conexão que o usuário desejar (rádio, serial, etc).

NEO-M8P Exemplo 3: Este é o mesmo exemplo do Exemplo2 do NEO-M8P. No entanto, os dados são enviados para um LCD serial via I2C.

ZED-F9P

ZED-F9P Exemplo1: Este módulo é capaz de soluções de alta precisão. Este esboço mostra como inspecionar a precisão da solução. É divertido ver a precisão da nossa localização cair para a escala milimétrica.

ZED-F9P Exemplo2: O ZED-F9P usa um novo sistema de configuração Ublox de VALGET / VALSET / VALDEL. Este esboço demonstra o básico desses métodos.

ZED-F9P Exemplo 3: Configurando o ZED-F9P como uma estação base e produzindo dados RTCM.

ZED-F9P Exemplo 4: Este é o mesmo exemplo do exemplo 3 de ZED-F9P. No entanto, os dados são enviados para um LCD serial via I2C.

Esta biblioteca SparkFun Ublox realmente se concentra no I2C porque é mais rápido que o serial e suporta encadeamento em série. A biblioteca também usa o protocolo UBX porque requer muito menos sobrecarga do que a análise NMEA e não possui as limitações de precisão que o NMEA possui.

CONFIGURANDO ZED-F9 COMO FONTE DE CORREÇÃO

Recursos para ir mais adiante

Esperamos que este tutorial ajude você a entender um pouco mais sobre o GPS RTK. Isto é apenas o começo! Para mais informações, confira os recursos abaixo:

RTKLIB: Um pacote de programas de código aberto para posicionamento GNSS

ResearchGate: Revisão dos Formatos GNSS para Posicionamento em Tempo Real

Geo ++: Padrão de Transmissão de Dados GNSS em Tempo Real RTCM 3.0 (PDF)

Estações:

UNAVCO: Monitoramento de redes e estações em tempo real - principalmente EUA

Data Center GNSS da BKG: Lista global de fluxos de dados GNSS em tempo real da Ntrip Broadcasters - Global

Rede GNSS Permanente da EUREF: Mapa em Tempo Real

SNIP: o Simple NTRIP Caster - Executa um servidor onde algumas dezenas de estações podem ser acessadas

Aplicativo para Android: Lefebure NTRIP Client


Uma primeira visão sobre o módulo ZED-F9P da UBLOX

Para um primeiro visão, optei por comparar o F9P a um M8T para um dos meus típicos exercícios de condução ao redor do bairro. Analisei a solução F9P interna em tempo real e as soluções RTKLIB, em tempo real e pós-processadas.

Configuração para testes

Para as estações base, conectei um receptor CSGShop M8T e um receptor F9P através de um divisor de antena a uma antena de freqüência dupla ComNav AT330 no meu teto. Como o RTKLIB ainda não suporta totalmente os comandos do receptor necessários para configurar o F9P, usei a versão mais recente (18.08) do aplicativo u-blox u-Center executado em um laptop Windows para configurar o receptor F9P usando a documentação no site da u-blox. Em seguida, salvei as configurações para piscar. Os receptores foram conectados a um laptop com cabos USB e eu transmito as observações de base pela internet em alguns streams NTRIP usando STRSVR e RTK2GO.com como descrevi anteriormente. Eu configurei o F9P para enviar mensagens RTCM3 1005, 1077, 1087, 1097, 1127 e 1230, que incluem localização base, observações brutas e vieses GLONASS.

Na maior parte, a documentação do u-blox está bem escrita e esse exercício foi bastante direto, mas me deparei com alguns problemas. Em primeiro lugar, quando liguei o receptor F9P no laptop, o Windows escolheu o driver de porta COM padrão do Windows em vez do driver de porta COM GNSS u-blox que ele escolheu para o receptor M8T. Você pode ver isto no instantâneo de tela abaixo onde COM17 é o M8T e COM21 é o F9P.


Ambos os drivers permitem que o usuário defina a taxa de transmissão no menu de propriedades disponível clicando com o botão direito do mouse no nome do dispositivo. Com o driver u-blox, a configuração da taxa de transmissão não parece importar, já que é uma conexão USB. Eu sempre deixei a taxa de transmissão do driver u-blox no padrão de 9600 baud sem qualquer problema. Com o driver do Windows, no entanto, descobri que tinha que aumentar a configuração da taxa de transmissão para 115200 para evitar problemas de perda de dados. Já enfrentei um problema semelhante para taxas de amostragem superiores a 5 Hz quando o M8T é acessado pela interface UART e um conversor FTDI é usado para traduzir para USB, em vez de se comunicar diretamente por meio da interface USB. Eu verifiquei, porém, que neste caso a placa está usando a interface USB no receptor e não na interface UART. Não é um grande negócio, e pode ser exclusivo para este fórum, mas algo para estar ciente no caso de você ter um problema parecido.

O segundo problema que eu encontrei é que o módulo F9P parece ser sensível ao meu divisor de antena, um bloco padrão SMA DC e tee que eu usei em muitos outros receptores antes sem problema. Ele funciona bem se a energia do F9P estiver bloqueada, mas se a energia do M8T estiver bloqueada, o F9P parece detectar o tee e desligar a energia da antena. Mais uma vez, não é grande coisa, mas algo para estar ciente.

Para os rovers, usei uma antena de frequência dupla u-blox ANN-MB-00 para o receptor F9P. Esta é a antena que o u-blox fornece com suas unidades F9P eval. Eu tinha planejado dividir este sinal de antena para ambos os receptores, como eu costumo fazer, mas me deparei com o problema descrito acima e não entendi completamente o problema, acabei usando uma antena Tallysman TW4721 L1 separada para o receptor M8T. Ambas as antenas foram anexadas diretamente ao teto do carro, que agia como um grande plano de terra.

Eu usei um ponto quente no meu celular para transmitir as observações da estação base NTRIP do telefone para um laptop e depois para o receptor F9P e para duas instâncias do RTKNAVI, uma para cada receptor rover.

Transmitir as observações de base para o F9P, enquanto simultaneamente registra a solução RTK interna e as observações rover brutas, e também enviar as observações rover brutas para o RTKNAVI, em uma única porta serial pode ser um desafio já que apenas um único aplicativo pode ser conectado ao porta serial de uma só vez. Felizmente o RTKLIB tem um pequeno truque para lidar com isso. Se a caixa “Saída do fluxo recebido para a porta TCP” estiver marcada no STRSVR e um número de porta especificado como mostrado abaixo, todos os dados provenientes da outra direção na porta serial serão redirecionados para uma porta TCP / IP local. Esses dados podem ser acessados ​​por qualquer um dos outros aplicativos RTKLIB como um cliente TCP com endereço de servidor “localhost” usando o número de porta especificado.


Configurei o rover F9P para enviar mensagens de observação brutas e de navegação (UBX-RXM-RAWX / UBX-RXM-SFRBX) e mensagens de posição da solução (UBX-NAV-POSLLH). O RTKNAVI então registrou todas essas mensagens em um único arquivo de log. O RTKCONV e o RTKPLOT podem extrair as mensagens de que precisam desse arquivo e ignorar o resto, de modo que combiná-los não é um problema.

As mensagens POSLLH do padrão F9P para uma resolução de 1e-7 graus de latitude e longitude, que chegam a aproximadamente 1 cm. Para maior resolução, você pode usar a mensagem POSHLLH ou aumentar a resolução da mensagem POSLLH definindo um bit na mensagem NMEA-CFB-UBX. O RTKLIB só entende a mensagem POSLLH, então é isso que eu usei. Infelizmente, só percebi o problema de resolução depois de coletar os dados e, assim, meus resultados para a solução F9P interna para esse experimento foram levemente deteriorados pela resolução mais baixa.

Eu usei o mais recente código demo5 b31 para calcular todas as soluções RTKLIB. Ambas as versões demo5 e 2.4.3 do RTKLIB foram atualizadas para traduzir as novas mensagens binárias de frequência dupla u-blox. O código da solução demo5 processará todas as observações de frequência dupla, mas eu não acredito que o código 2.4.3 seja capaz de processar as medidas do E5b Galileo ainda. O código RTKLIB 2.4.2, no entanto, não possui nenhuma dessas atualizações.

As atualizações do código demo5 feitas nas versões recentes do B30 / B31 são baseadas nas atualizações do código 2.4.3 B30, mas incluem algumas modificações no tratamento do escorregamento de ciclo u-blox que eu havia adicionado anteriormente ao código demo5 para o M8T. Como o código demo5 é destinado principalmente a receptores de baixo custo, também fiz algumas alterações para tornar a frequência do E5b mais fácil de especificar e processar mais rapidamente.

Para executar a solução em tempo real do RTKNAVI F9P, a única mudança significativa que precisei fazer no arquivo de configuração padrão do M8T foi alterar a opção de frequência de “L1” para “L1 + L2 + E5b”. Eu também deveria ter mudado a posição da estação base para “RTCM Antenna Position” (Posição da Antena RTCM) para tirar proveito das mensagens de localização de base RTCM 1005 da estação base F9, mas esqueci de fazer isso. Isto fez com que a solução RTKNAVI diferisse da solução F9P por pequenos valores constantes devido à localização aproximada da base usada na solução RTKNAVI. Mais tarde, usei locais de base exatos para as soluções de pós-processamento RTKLIB para verificar se todas as diferentes soluções combinavam.

Uma vez que eu tinha tudo pronto, eu dirigi pela vizinhança local, enfatizando as ruas com vistas mais desafiadoras desde que eu sabia que ambos os receptores teriam um bom desempenho e seriam difíceis de distinguir se as condições não fossem desafiadoras o suficiente.

Resultados:

Primeiro converti os arquivos de log binários em arquivos de observação usando RTKCONV e verifiquei que o F9P estava registrando as medições L1 e L2 para GPS, GLONASS e Galileo. Eu também tinha a constelação de Bediou ativada, mas, como verifiquei mais tarde, não havia satélites de Bediou totalmente operacionais quando coletei os dados.

Aqui está um gráfico das observações de L1 para o M8T à esquerda e o F9P à direita. Eu zoom em apenas dois minutos durante algumas das condições mais difíceis para comparar os dois. Os carrapatos vermelhos são cíclicas e os carrapatos cinzentos são ambiguidades de meio ciclo.


Primeiro, observe que o F9P não registra observações para os satélites SBAS, enquanto o M8T faz, dando ao M8T mais alguns satélites para trabalhar. No entanto, o que também é interessante, e eu não sei porque, é que o F9P coletou medições muito boas do satélite Galileo E27, enquanto o M8T não captou este. É claro que o F9P também obteve um segundo conjunto de medições a partir da segunda freqüência em cada satélite e, assim, no geral, acabou com quase o dobro de observações brutas que o M8T.

Observe também que o F9P informa um pouco menos os ciclos e muitas menos ambigüidades de meio ciclo do que o M8T. Parte disso pode ser por causa das diferentes antenas, mas particularmente a grande diferença em ambiguidades de meio ciclo sugere que a u-blox fez outras melhorias no novo módulo além de apenas adicionar as segundas freqüências.

Outra coisa a notar é o número de satélites Galileo. Se você comparar esses gráficos a experimentos anteriores que eu postei, você notará que há mais satélites Galileo agora, à medida que mais e mais deles estão começando a ficar online. Os satélites extras realmente ajudam as soluções M8T porque, como você pode ver, eles tendem a ter as observações de maior qualidade nos momentos mais difíceis. Mais uma vez eu não sei porque é isso. Não parece ser tão verdadeiro para o F9P.

Em seguida, olhei para as soluções em tempo real. Primeiro, as soluções RTKLIB com RTKNAVI para ambos os receptores. Para o percurso completo, a solução M8T tinha uma taxa fixa de 77,3% e a solução F9P tinha uma taxa fixa de 96,4%. Aqui está um zoom na parte mais desafiadora da unidade, um bairro mais antigo com ruas mais estreitas e árvores maiores, a M8T à esquerda e a F9P à direita. As soluções fixas estão em verde e flutuam em amarelo. Claramente aqui o F9P superou significativamente o M8T.



A solução interna F9P se saiu ainda melhor com uma taxa fixa de 99,2%, conforme mostrado no gráfico abaixo. Todas as três soluções concordaram dentro de 2 cm na horizontal, um pouco mais na vertical, e nenhuma delas mostrou qualquer sinal de correções falsas.


Eu não fiz nenhum teste estático para caracterizar o tempo para corrigi-lo, mas para este, o tempo de RTKLIB para a primeira correção para o M8T foi de 18 segundos, enquanto a solução RTKLIB F9P atingiu a primeira correção em 6 segundos. Em ambos os casos, o RTKLIB foi iniciado depois que o hardware teve tempo de bloquear os satélites e adquirir dados de navegação para todos os satélites. O código demo5 RTKLIB possui uma restrição de correção adicional com base na variação de posição do filtro kalman para minimizar correções falsas enquanto o filtro está convergindo e, portanto, isso pode afetar o tempo para a primeira correção. Eu tinha aumentado esse parâmetro para 0,1 metro para esse experimento, já que o grande número de medições reduz a chance de uma correção falsa. Essa restrição não limitou o tempo do M8T para a primeira correção, mas o fez para o F9P, significando que o F9P teria alcançado a primeira correção ainda mais rápida se essa restrição fosse mais aberta. Não sei dizer qual seria o número equivalente para a solução F9P interna a partir desses dados, pois eles já estavam em execução e conseguiram uma correção antes de começar a registrar os dados, mas geralmente o F9P parece adquirir a primeira correção muito rapidamente.

Em seguida, pós-processados ​​os dois conjuntos de dados com RTKLIB usando a configuração de modo combinado para executar o filtro kalman para frente e para trás nos dados. Isso melhorou notavelmente os resultados, elevando a taxa fixa do M8T de 77,3% para 96,1% e a taxa fixa de F9P de 96,4% para 98,8%.


Conclusão:

Obviamente, isso não é suficiente para tirar conclusões definitivas, mas até agora estou muito impressionado com o F9P! Tanto as observações brutas quanto as soluções internas de RTK para o F9P parecem tão boas quanto qualquer coisa que eu já vi de receptores que custam muitas vezes o que esse custa.

Se alguém quiser ver os dados desse experimento mais de perto, enviei-o para aqui. Devo mencionar que todas as taxas de correção especificadas neste post e em outras postagens não corresponderão exatamente às taxas de correção nas soluções brutas, pois eu ajustei os horários de início e término dos dados para ficarem consistentes entre os conjuntos de dados e começar depois de todas as soluções conseguiram a primeira correção. Eu acredito que esta é a maneira mais justa de comparar várias soluções, especialmente quando há uma mistura de soluções internas e RTKLIB

Update:

Revendo os arquivos de configuração que usei para este experimento, descobri que, embora eu tivesse pretendido que os arquivos de configuração em tempo real e pós-processamento fossem idênticos, havia de fato algumas pequenas diferenças entre eles. Uma diferença em particular, que parece ter afetado os resultados como descrito acima, é que eu reduzi o número mínimo de amostras consecutivas necessárias para manter ambigüidades (pos2-arminfix) de 100 a 20 para os arquivos de configuração pós-processados. Um valor de 100 corresponde a 20 segundos na taxa de amostragem de 5 Hz do experimento, que é um valor que eu usei normalmente. No entanto, com menor ganho de rastreamento de ambigüidade (pos2-varholdamb = 0,1) e o aumento nas observações provenientes da inclusão de Galileo, as chances de correções falsas são reduzidas e eu tenho tendido a usar valores mais baixos de arminfix em experimentos mais recentes. Reduzir esse valor parece explicar uma grande parte do salto na porcentagem de correção para o M8T entre o tempo real e o pós-processamento, em vez da mudança de somente para encaminhamento para combinado que eu o atribuo acima. Essas diferenças afetam apenas as comparações entre os resultados RTKLIB em tempo real e pós-processados, e não entre o M8T e o F9P, já que os arquivos de configuração eram consistentes entre os dois receptores.

Este foi apenas destinado a ser um rápido primeiro olhar para o F9P. Isso exigirá mais dados e mais análises para caracterizar adequadamente o F9P, portanto, não tentarei fazer isso aqui, mas compartilharei a tabela mostrada abaixo, que inclui alguns casos que executei desde a postagem original. Espero encontrar os detalhes em posts futuros.


Um último ponto que vale a pena fazer é que, embora à primeira vista, o percentual de correção pós-processo aumente de M8T = 96,0% para F9P = 99,3% pode não parecer tão significativo, é de fato um fator de quase seis se você considerar isso como uma diminuição em flutuante de 4,0% para 0,7%.

Ótimos documentos do ZED-F9



Softwares u-blox


Software do U-center
Baixe o software de avaliação GNSS para Windows aqui.

Driver

Driver Padrão GNSS U-blox para Windows no site u-blox.

Todos recursos do ZED-F9
ZED-F9


Interfaces de comandos mais aprofundado
Comandos

Primeiros passos para instalação


Nesta seção, você encontrará todas as etapas para configurar seu módulo GNSS RTK do ZED-F9P para começar a usá-lo em sua instalação.

Por padrão, esse processo configurará o dispositivo GNSS como uma Base trabalhando no modo de pesquisa, duração de pesquisa de 120s, pesquisa de 3m no limite de precisão da posição ou como um Rover usando uma taxa de atualização de navegação de 5Hz. As UART 1 e 2 estão configuradas para uma taxa de transmissão de 57600 bauds.

Este tutorial passo-a-passo permitirá que você defina manualmente as baudatas UART 1 e 2 para a Base, bem como para o Rover.

Set Nav update rate


Primeiro, conecte seu dispositivo GNSS a um computador usando um micro cabo USB.

Agora inicie o software U-blox “u-center”. Em seguida, no canto superior esquerdo da tela, clique com o botão esquerdo do mouse no triângulo preto invertido para selecionar a Porta COM relacionada ao seu dispositivo GNSS. (pode diferir da COM7 como mostrado nas fotos)

Certifique-se de que o ícone de conexão esteja piscando na barra de estado inferior. Indica que a comunicação serial entre o computador e o dispositivo GNSS está funcionando.


Em seguida, vá para "Visualizar" e clique em "Exibição de configuração da geração 9"



Agora, vamos definir as taxas baudatas UART 1 e 2 manualmente.

Primeiro, clique duas vezes em “CFG-UART1”, um menu exibido aparece. Em seguida, clique em "CFG-UART1-BAUDRATE".


Agora você pode editar a caixa de texto para corresponder à sua taxa de transmissão desejada. (Até 921600 bauds)

Em seguida, clique nos 3 botões abaixo chamados “RAM”, “BBR” e “FLASH”. Os comandos devem aparecer na caixa “pronto para enviar”.

Finalmente, basta clicar em “Enviar” para escrever a configuração da taxa de transmissão para o dispositivo RTK.

Repita o mesmo procedimento com “CFG-UART2”.

Set Nav update rate


Nesta parte do tutorial permitirá passo-a-passo  que você defina manualmente a taxa de atualização de nav para a Base, bem como o Rover.

Primeiro, conecte seu dispositivo GNSS a um computador usando um micro cabo USB.

Agora inicie o software U-blox “u-center”. Em seguida, no canto superior esquerdo da tela, clique com o botão esquerdo do mouse no triângulo preto invertido para selecionar a Porta COM relacionada ao seu dispositivo GNSS. (pode diferir da COM7 como mostrado nas fotos)
Certifique-se de que o ícone de conexão esteja piscando na barra de estado inferior. Indica que a comunicação serial entre o computador e o dispositivo GNSS está funcionando.


Em seguida, vá para "Visualizar" e clique em "Exibição de configuração da geração 9"



Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.

Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.

Em seguida, clique no pequeno "+" na linha CFG-RATE

Agora você pode ter acesso a um menu expandido e clicar em CFG-RATE-MEAS

Insira um valor de taxa de atualização válido em milissegundos (ex: uma taxa de atualização de 1s = 1000 ms)

Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)

Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


Set Survey-in time & position accuracy limit


Nesta parte do tutorial passo-a-passo permitirá que você defina manualmente o tempo de entrada do questionário e o limite de precisão da posição para a Base.

Primeiro, conecte seu dispositivo GNSS a um computador usando um micro cabo USB.


Agora inicie o software U-blox “u-center”. Em seguida, no canto superior esquerdo da tela, clique com o botão esquerdo do mouse no triângulo preto invertido para selecionar a Porta COM relacionada ao seu dispositivo GNSS. (pode diferir da COM7 como mostrado nas fotos)
Certifique-se de que o ícone de conexão esteja piscando na barra de estado inferior. Indica que a comunicação serial entre o computador e o dispositivo GNSS está funcionando.


Em seguida, vá para "Visualizar" e clique em "Exibição de configuração da geração 9"


Survey-in time


Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.

Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.

Em seguida, clique no pequeno "+" na linha CFG-TPMODE

Agora você pode ter acesso a um menu expandido e clicar em CFG-TPMODE-SVIN_MIN_DUR

Insira um valor de posição válido em segundos (ex: um valor de 60s = 60)

Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)

Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


Position accuracy limit






Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.

Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.

Em seguida, clique no pequeno "+" na linha CFG-TPMODE

Agora você pode ter acesso a um menu expandido e clicar em CFG-TPMODE-SVIN_ACC_LIMIT

Insira um valor de posição válido em milímetros com uma escala de 0,1 mm (ex: um valor de 1m = 10000 / a valor de 3,2598m = 32598 / valor de 0,0054m = 54, etc ...)

Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)

Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"



Set Fixed LLH or ECEF


Aqui o passo a passo permite que você defina manualmente a longitude, a latitude, a altura e a Terra centralizada na Terra para a base.



LLH: Longitude, Latitude, Altura



ECEF: Earth-Centered Earth-Fixed


Primeiro, conecte seu dispositivo GNSS a um computador usando um micro cabo USB.

Agora inicie o software U-blox “u-center”. Em seguida, no canto superior esquerdo da tela, clique com o botão esquerdo do mouse no triângulo preto invertido para selecionar a Porta COM relacionada ao seu dispositivo GNSS. (pode diferir da COM7 como mostrado nas fotos)


Certifique-se de que o ícone de conexão esteja piscando na barra de estado inferior. Indica que a comunicação serial entre o computador e o dispositivo GNSS está funcionando.






Em seguida, vá para "Visualizar" e clique em "Exibição de configuração da geração 9"

Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.

Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.

Em seguida, clique no pequeno "+" na linha CFG-TPMODE

Agora você pode ter acesso a um menu expandido e clicar em CFG-TPMODE-MODE

Selecione "2-FIXED" no menu suspenso

Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)

Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


LLH: Longitude, Latitude, Height set up

Certifique-se de configurar a base no modo fixo antes de configurar o modo LLH
Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.
Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.
Em seguida, clique no pequeno "+" na linha CFG-TPMODE
Agora você pode acessar um menu expandido e clicar em CFG-TPMODE-POS_TYPE
Selecione "1-LLH" no menu suspenso
Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)
Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


Configurando a longitude e a latitude
Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.
Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.
Em seguida, clique no pequeno "+" na linha CFG-TPMODE
Agora você pode ter acesso a um menu expandido e clicar em CFG-TPMODE-LAT
Digite um valor de grau válido dentro de uma escala de 1e-7 (ex: você quer 45.9635687 ° = você escreve 459635687, se você quer 01.9532443 ° = você escreve 019532443)
Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)
Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


Repita o mesmo processo para definir o valor CFG-TPMODE-LON
Certifique-se de configurar a base no modo Fixo e LLH antes de configurar LAT & LON

Configurando a Altura
Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.
Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.
Em seguida, clique no pequeno "+" na linha CFG-TPMODE
Agora você pode ter acesso a um menu expandido e clicar em CFG-TPMODE-HEIGHT
Insira um valor de altura válido em cm (ex: você quer 200 m = escreve 20'000)
Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)
Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


Certifique-se de configurar a base no modo Fixo e LLH antes de configurar ALTURA

ECEF: Earth-Centered Earth-Fixed set up





Certifique-se de configurar a base no modo fixo antes de configurar o modo ECEF

Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.

Então, primeiro, clique em “Advanced Configuration” para exibir todos os registros de configuração.

Em seguida, clique no pequeno "+" na linha CFG-TPMODE

Agora você pode acessar um menu expandido e clicar em CFG-TPMODE-POS_TYPE

Selecione "0-ECEF" no menu suspenso

Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)

Verifique se os 3 comandos correspondentes estão presentes na caixa "Pronto para enviar" e, em seguida, clique em "Enviar"


Change GNSS constellations

Primeiro, conecte seu dispositivo GNSS a um computador usando um micro cabo USB.



Agora inicie o software U-blox “u-center”. Em seguida, no canto superior esquerdo da tela, clique com o botão esquerdo do mouse no triângulo preto invertido para selecionar a Porta COM relacionada ao seu dispositivo GNSS. (pode diferir da COM7 como mostrado nas fotos)


Certifique-se de que o ícone de conexão esteja piscando na barra de estado inferior. Indica que a comunicação serial entre o computador e o dispositivo GNSS está funcionando.






Em seguida, vá para "Visualizar" e clique em "Exibição de configuração da geração 9"





 Uma nova janela mostrando por padrão “Configuração GNSS” é aberta.

Então, primeiro, se a configuração GNSS não for exibida, clique em “GNSS Configuration”.

Agora você pode ter acesso a todas as constelações GNSS e bandas de freqüência.

Marque ou Desmarque os sistemas GNSS como desejar, tendo em mente que a Taxa de Atualização do Nav pode ser afetada pelo número de sistemas GNSS ativados.

Clique consecutivamente na RAM, BBR e Flash para gravar alterações na RAM e em ambas as memórias não voláteis (BBR e Flash)

Clique em "Enviar configuração"


Updating ZED-F9P Firmware


Acesse o site do u-Blox ZED-F9P

Role para baixo e clique na guia "Documentação e recursos"
Role para baixo mais uma vez até ver a seção “Atualização de firmware” e baixe o Firmware mais recente (a partir de 19 de fevereiro de 2019, a versão do firmware é a seguinte: UBX-F9-100-HPG-110-ZED-F9P, também conhecido como 1,10)
Primeiro, conecte seu dispositivo GNSS a um computador usando um micro cabo USB.

Agora inicie o software U-blox “u-center”. Em seguida, no canto superior esquerdo da tela, clique com o botão esquerdo do mouse no triângulo preto invertido para selecionar a Porta COM relacionada ao seu dispositivo GNSS. (pode diferir da COM7 como mostrado nas fotos)
Certifique-se de que o ícone de conexão esteja piscando na barra de estado inferior. Indica que a comunicação serial entre o computador e o dispositivo GNSS está funcionando.


Em seguida, clique em "Ferramentas" -> "Atualização de Firmware ..."


A janela Utilitário de atualização de firmware é aberta:
Clique no botão "Imagem de firmware" "..."
Vá para o local certo em seu computador para escolher o arquivo binário de atualização correspondente ao seu dispositivo ZED-F9P
Em seguida, clique em "Abrir"
Certifique-se de que ‘use esta taxa de transmissão para atualização’ esteja marcada e a taxa de transmissão está definida para 9600 bauds
Agora você pode começar a atualizar sua placa ZED-F9P clicando no ícone "Ir"


Depois que o processo de atualização é concluído, uma mensagem informando “Utilitário de atualização de firmware concluído com êxito” deve ser exibida na caixa do console.


A atualização está completa agora!
No entanto, você pode querer verificar o novo número de versão. Para fazer isso, siga os próximos passos.
No centro, enquanto o dispositivo RTK ainda estiver conectado, clique em "Visualizar" -> "Visualização da mensagem"


A janela de mensagens do UBX é aberta:
Na estrutura de árvore à esquerda, clique em "UBX"
Em seguida, clique em "MON (Monitor ')
Finalmente em 'VER (Version)'
No painel lateral direito, verifique o número da versão do firmware ZED-F9P


Você atualizou com sucesso seu dispositivo RTK e verificou o número da versão.

Hardware



Interface Mínima


Fontes: