Pular para o conteúdo principal

Integração com o ArduPilot

Este guia mostra como configurar o Reach para enviar a posição para os pilotos automáticos ArduPilot.

Visão geral

O Reach suporta a saída de coordenadas melhoradas RTK para o Navio2 e o Pixhawk. Para que isso fosse possível, implementamos um protocolo GPS personalizado chamado de ERB. Se necessário, você pode utilizar o formato NMEA padrão da indústria.

Requisitos do ArduPilot

O suporte a ERB está incluído no ArduPilot a partir das seguintes versões:

  • ArduCopter 3.4
  • ArduPlane 3.5.0
  • APMrover 3.1

Você pode consultar a descrição do protocolo ERB aqui.

Eis um vídeo de demonstração com os nossos resultados:

Configuração recomendada


Recomendamos a seguinte configuração:

  • Navio2, Edge, ou Pixhawk com o firmware ArduPilot. É preferível utilizar a última versão estável.
  • A estação base é a unidade Reach RS2/RS2+/RS2+ ou Reach RS/RS+ no modo AP Wi-Fi, configurada como um servidor TCP.
  • O GCS (Ground Control Station) é um computador portátil com o Mission Planner (versão 1.3.35 e superior), ligado à rede Wi-Fi da base Reach.
  • Conexão de telemetria que é fornecida através de um rádio serial.
  • A unidade Rover Reach M2 ou Reach M+ é montada num drone e conectada ao Navio2 ou Pixhawk através do cabo 6P-to-6P. Este tipo de ligação resolverá três questões de uma só vez: alimentar o Reach, permitir que a placa ArduPilot passe as correções de base e permitir que o Reach passe a solução RTK de volta.

O guia seguinte mostra como configurar o Navio2 ou o Pixhawk e o Reach para funcionarem nesta configuração. Se você quiser alterar o fluxo de trabalho, deve ser fácil fazê-lo, uma vez que cada parte do sistema é independente das outras.

Conectar o Reach ao Autopilot

Para passar os dados de posição do Reach, ligue-o ao seu autopilot. Você pode conectar o seu Reach ao Pixhawk, Navio2 e Edge.

Conectar o Reach ao Pixhawk

Para fornecer uma solução RTK ao Pixhawk, o Reach precisa ser conectado através de uma porta serial. Para isto, basta ligar o cabo serial à porta JST-GH do receptor Reach e ao conector serial 4/5 do Pixhawk.


note

Recomenda-se a alimentação de Reach a partir de uma fonte de alimentação externa. Em alguns casos, o Pixhawk pode não fornecer energia suficiente para o Reach.

Conectar o Reach ao Navio2

Você pode conectar o receptor Reach ao Navio2 de duas formas: através de UART ou USB. Para fornecer ao Navio2 a solução RTK através de UART, conecte a porta JST-GH do receptor Reach à porta UART do Navio2.


Para trabalhar com USB, conecte a porta Micro-USB do receptor Reach a uma porta USB no seu Raspberry Pi.


Configure o módulo Reach para funcionar com o ArduPilot

Configure seu rover

note

A conexão serial é utilizada para aceitar as correções da base e enviar a solução ao mesmo tempo.

Primeiro, configure a entrada de correções:

  1. Abra o Emlid Flow e conecte-se ao seu rover.

  2. Toque em Entrada de correção.

  3. Selecione Serial.

  4. Escolha S1 (UART) ou USB para PC como porta.

  5. Escolha a velocidade de transmissão pretendida (57600 por padrão).

  6. Toque no botão Salvar para salvar as configurações.


Em seguida, configure a transmissão de posição:

  1. Volte à tela Receptores e vá para Configurações.

  2. Toque em Transmissão de posição 1.

  3. Selecione Serial.

  4. Escolha S1 (UART) ou USB para PC como porta.

  5. Escolha a velocidade de transmissão pretendida (57600 por padrão).

  6. Selecione NMEA ou ERB como formato de transmissão de posição.

  7. Toque no botão Salvar para aplicar as alterações.

O Reach suporta uma série de formas de aceitar correções de base, incluindo as populares em rádios seriais de área de VANTs. No entanto, ter uma ligação de rádio separada apenas para as correções de base é altamente ineficaz. Para resolver este problema, você pode utilizar o rádio de telemetria como portador para as correções RTK. O GCS pode passar estas correções para o piloto automático através de uma funcionalidade chamada GPS inject. Esta funcionalidade só está disponível no Mission Planner.

Configure o rádio para incorporar correções na telemetria

Com as configurações padrão, a telemetria de rádio não está otimizada para o envio de correções RTK. Isto pode causar atrasos na entrega dos dados de correção e até mesmo a sua perda. Esses desvios deterioram a qualidade da solução RTK, pelo que é necessário reduzi-los ao mínimo.

note

A configuração do rádio é realizada com a telemetria desligada.

Para configurar um rádio, faça o seguinte:

caution

Certifique-se de que a ligação MAVLink está desativada antes de alterar as configurações do rádio.

  1. Clique em CONFIGURAÇÃO INICIAL (INITIAL SETUP) na barra de menus.

  2. Vá para Hardware opcional (Optional Hardware) e selecione Rádio Sik (Sik Radio) no menu lateral.

  3. Clique em Carregar configurações (Load Settings) e aguarde que os parâmetros de ambos os rádios sejam carregados.

  4. Desmarque o campo ECC .

  5. Selecione Dados brutos (RawData) no campo Mavlink.

  6. Clique em Salvar Configurações.

Configure o ArduPilot para aceitar a solução do módulo Reach

caution

Recomenda-se a utilização do Reach apenas como uma segunda unidade GPS.

Para iniciar o ArduPilot no Navio2, adicione ao seu comando inicial um dos seguintes argumentos:

  • Para conexão UART:

    -E /dev/ttyAMA0
  • Para conexão USB:

    bash -E /dev/ttyACM0

Isto permitirá utilizar o Reach como GPS externo.

A configuração do ArduPilot exigirá a definição de alguns parâmetros através do Mission Planner. Depois de conectado, faça o seguinte:

  1. Acesse o menu CONFIG.

  2. Selecione Lista completa de parâmetros (Full Parameter List) no menu do lado esquerdo. Para encontrar rapidamente o parâmetro desejado, utilize uma caixa de pesquisa à direita (destacada a vermelho).

    caution

    Se você estiver usando o Pixhawk, reinicie-o sempre que definir um parâmetro para que a alteração tenha efeito. Desligue-o e volte a ligá-lo à porta USB.

  3. Defina o parâmetro GPS_TYPE2 para 5 - NMEA ou 13 - ERB. Isto ativará a segunda entrada GPS.

    note

    Certifique-se de selecionar o mesmo parâmetro que você definiu em Transmissão de posição (Position streaming) no seu rover.

  4. Definir o parâmetro SERIAL4_BAUD para a mesma taxa de transmissão escolhida nas definições do Emlid Flow Transmissão de posição (Position streaming). Observe as opções correspondentes às diferentes taxas de transmissão.

  5. Definir o parâmetro SERIAL4_PROTOCOL para 5 - GPS.

  6. Definir GPS_AUTO_SWITCH para 1 - Ativado. O Autopilot alternará automaticamente entre os dois receptores GPS, escolhendo o que tiver a melhor solução.

  7. Defina o parâmetro GPS_INJECT_TO para 1. Aqui, representa a segunda entrada GPS. Se você tiver configurado o Reach como primeira entrada, defina este parâmetro para 0.

Mau estado do sinal GPS

Se o Mission Planner reportar o erro Bad GPS Signal Health, certifique-se de que a taxa de atualização GNSS no Reach é de 5 Hz ou superior.

Configure a sua base

Agora, é necessário configurar a base do Reach para enviar as correções. Siga os passos abaixo:

  1. Abra o Emlid Flow e conecte-se à sua base.

  2. Toque em Saída da base.

  3. Selecione Servidor TCP.

  4. Defina 9000 como uma porta.

  5. Toque no botão Salvar para salvar as configurações.

Configure o Mission Planner para injetar correções na telemetria

Para ativar e configurar as opções de injeção de GPS no Mission Planner, é necessário abrir uma janela com configurações avançadas do GCS. Proceda da seguinte forma:

  1. Pressione a combinação de botões CTRL+F. Abre-se uma janela com as configurações avançadas do GCS.

  2. Clique no botão à direita Injetar GPS.

Depois disso, na nova janela, é necessário escolher os parâmetros para a conexão da base. Siga os passos abaixo:

  1. Escolha Cliente TCP e pressione Conectar.

  2. Digite o endereço IP da base Reach e pressione OK.

  3. Digite o número da porta do servidor e pressione OK.

  4. Por último, verifique se as correções estão chegando.