Saltar al contenido principal

Integración de ArduPilot

Esta guía muestra cómo configurar Reach para enviar la posición a los pilotos automáticos ArduPilot.

Resumen

Reach admite la salida de coordenadas mejoradas RTK a Navio2 y Pixhawk. Para hacerlo posible, implementamos un protocolo GPS personalizado denominado ERB. Si es necesario, puede utilizar el formato NMEA estándar de la industria en su lugar.

Requisitos de ArduPilot

La compatibilidad con ERB se incluye en ArduPilot a partir de las siguientes versiones:

  • ArduCopter 3.4
  • ArduPlane 3.5.0
  • APMrover 3.1

Puede consultar la descripción del protocolo ERB aquí.

Aquí tiene un vídeo de demostración con nuestros resultados:

Configuración recomendada


Recomendamos la siguiente configuración:

  • Navio2, Edge o Pixhawk con el firmware ArduPilot. Es preferible utilizar la última versión estable.
  • La estación base es la unidad Reach RS2/RS2+/RS2+ o Reach RS/RS+ en modo Wi-Fi AP, configurada como servidor TCP.
  • GCS (Ground Control Station) es un ordenador portátil con Mission Planner (versión 1.3.35 y superior), conectado a la red Wi-Fi de la base Reach.
  • Conexión de telemetría que se proporciona a través de una radio serie.
  • La unidad Rover Reach M2 o Reach M+ se monta en un dron y se conecta a Navio2 o Pixhawk mediante el cable de 6P a 6P. Este tipo de conexión resolverá tres problemas a la vez: alimentar Reach, permitir a la placa ArduPilot pasar correcciones de base y permitir a Reach pasar la solución RTK de vuelta.

La siguiente guía le mostrará cómo configurar Navio2 o Pixhawk y Reach para trabajar en esta configuración. Si quieres cambiar el flujo de trabajo, debería ser fácil hacerlo, ya que cada parte del sistema es independiente de las demás.

Conectar Reach a Autopilot

Para pasar los datos de posición de Reach, conéctalo a tu piloto automático. Puedes conectar su Reach a Pixhawk, Navio2 y Edge.

Conectar Reach a Pixhawk

Para proporcionar una solución RTK a Pixhawk, Reach necesita conectarse a través de un puerto serie. Puedes hacerlo conectando el cable serie al puerto JST-GH del receptor Reach y al conector Serial 4/5 del Pixhawk.


note

Se recomienda alimentar Reach desde una fuente de alimentación externa. Pixhawk puede no proporcionar suficiente energía para Reach en algunos casos.

Conectar Reach a Navio2

Puede conectar el receptor Reach a Navio2 de dos formas: a través de UART o USB. Para proporcionar a Navio2 una solución RTK a través de UART, conecte el puerto JST-GH del receptor Reach con el puerto UART de Navio2.


Para trabajar con USB, conecta el puerto Micro-USB del receptor Reach con un puerto USB de su Raspberry Pi.


Configurar el módulo Reach para que funcione con ArduPilot

Configure su Rover

note

La conexión serie se utiliza para aceptar correcciones de la base y enviar la solución al mismo tiempo.

En primer lugar, configure la entrada de correcciones:

  1. Abra Emlid Flow y conéctese a su rover.

  2. Pulse Entrada de corrección.

  3. Seleccione Serial.

  4. Elija S1 (UART) o USB a PC como puerto.

  5. Elija la velocidad en baudios deseada (57600 por defecto).

  6. Pulse el botón Guardar para guardar la configuración.


Después, configure la transmisión de posición:

  1. Vuelva a la pantalla Receptores y pulse Configuración.

  2. Toque Transmisión de posición 1.

  3. Seleccione Serial.

  4. Elija S1 (UART) o USB a PC como puerto.

  5. Elija la velocidad en baudios deseada (57600 por defecto).

  6. Elija NMEA o ERB como formato de transmisión de posición.

  7. Pulse el botón Guardar para aplicar los cambios.

Establezca un enlace de corrección

Reach admite varias formas de aceptar correcciones de base, incluida la popular en radios serie de área UAV. Sin embargo, disponer de un radioenlace independiente solo para las correcciones de la base es muy poco eficaz. Para solucionarlo, puede utilizar la radio de telemetría como portadora para las correcciones RTK. El GCS puede pasar estas correcciones al piloto automático con una función llamada GPS inject. Esta funcionalidad solo está disponible en Mission Planner.

Configurar la radio para incrustar correcciones en la telemetría

Con la configuración por defecto, la radiotelemetría no está optimizada para enviar correcciones RTK. Esto puede causar retrasos en la entrega de datos de corrección e incluso su pérdida. Estos deslices deteriorarán la calidad de la solución RTK, por lo que hay que minimizarlos.

note

La configuración de la radio se realiza con la telemetría desconectada.

Para configurar una radio, haga lo siguiente:

danger

Asegúrese de que la conexión MAVLink está desactivada antes de cambiar la configuración de la radio.

  1. Haga clic en CONFIGURACIÓN INICIAL en la barra de menú.

  2. Vaya a Hardware opcional y seleccione Radio Sik en el menú lateral.

  3. Haga clic en Cargar configuraciones y espere a que se carguen los parámetros de ambas radios.

  4. Desmarque el campo ECC.

  5. Elija RawData en el campo Mavlink.

  6. Haga clic en Guardar configuración.

Configurar ArduPilot para aceptar la solución del módulo Reach

danger

Se recomienda utilizar Reach solo como segunda unidad GPS.

Para iniciar ArduPilot en Navio2, añada al comando de inicio uno de los siguientes argumentos:

  • Para conexión UART:

    -E /dev/ttyAMA0
  • Para conexión USB:

    bash -E /dev/ttyACM0

Esto permitirá utilizar Reach como GPS externo.

La configuración de ArduPilot requerirá establecer algunos parámetros a través de Mission Planner. Después de conectarse, haga lo siguiente:

  1. Vaya al menú CONFIG.

  2. Seleccione Lista completa de parámetros en el menú de la izquierda. Para encontrar rápidamente el parámetro deseado, utilice el cuadro de búsqueda situado a la derecha (resaltado en rojo).

    danger

    Si trabaja con Pixhawk, reinícielo cada vez que configure un parámetro para que el cambio surta efecto. Desenchúfelo y vuelva a enchufarlo al puerto USB.

  3. Establezca el parámetro GPS_TYPE2 en 5 - NMEA o 13 - ERB. Esto habilitará la segunda entrada GPS.

    note

    Asegúrese de seleccionar el mismo parámetro que estableció en Transmisión de posición en su rover.

  4. Ajuste el parámetro SERIAL4_BAUD a la misma velocidad en baudios elegida en los ajustes de Emlid Flow Transmisión de posición. Observe las opciones correspondientes a las diferentes velocidades en baudios.

  5. Establezca el parámetro SERIAL4_PROTOCOL en 5 - GPS.

  6. Configure GPS_AUTO_SWITCH a 1 - Activado. El piloto automático cambiará automáticamente entre los dos receptores GPS eligiendo el que tenga mejor solución.

  7. Establezca el parámetro GPS_INJECT_TO en 1. Aquí, representa la segunda entrada GPS. Si ha configurado Reach como primera entrada, ajuste este parámetro a 0.

Mal estado de la señal GPS

Si Mission Planner informa de un error Bad GPS Signal Health, asegúrese de que la Frecuencia de actualización GNSS en Reach es de 5 Hz o superior.

Establezca su base

Ahora tiene que configurar su base Reach para enviar las correcciones. Siga los pasos que se indican a continuación:

  1. Abra Emlid Flow y conéctese a su base.

  2. Toque Salida base.

  3. Elija Servidor TCP.

  4. Establezca 9000 como puerto.

  5. Pulse el botón Guardar para guardar la configuración.

Configurar el Planificador de Misiones para inyectar correcciones en la telemetría

Para activar y configurar las opciones de inyección de GPS en Mission Planner, es necesario abrir una ventana con la configuración avanzada de GCS. Haga lo siguiente:

  1. Pulse la combinación de teclas CTRL+F . Se abrirá una ventana con la configuración avanzada de GCS.

  2. Haga clic en Inyectar GPS botón de la derecha.

Después de eso, en la nueva ventana, tiene que elegir los parámetros para la conexión de base. Siga los pasos que se indican a continuación:

  1. Elija Cliente TCP y pulse Conectar.

  2. Introduzca la dirección IP de la base Reach y pulse Aceptar.

  3. Introduzca el número de puerto del servidor y pulse Aceptar.

  4. Por último, compruebe que llegan las correcciones.