Usando UAVCAN para electrónica modular UAV, o cómo no quemar un dron confundiendo cables

¡Hola! Mi nombre es Roman Fedorenko, soy profesor asociado del Centro de Competencia NTI en la dirección de "Tecnologías de Componentes Robóticos y Mecatrónicos" en la Universidad de Innopolis. Trabajo con un equipo de robótica que se especializa en vehículos aéreos no tripulados. En su mayor parte, nos centramos en el control de UAV de "alto nivel": planificación de movimientos, evitación de obstáculos, filmación y soluciones de escaneo del terreno. Aunque también montamos nuestros propios helicópteros pequeños y trabajamos con hardware. El año pasado, comenzamos el desarrollo de un gran avión de despegue y aterrizaje vertical, que incluye todos los niveles, desde la fabricación del portaaviones hasta el montaje de sensores y control inteligente. Y mientras desarrollamos este proyecto, nos familiarizamos con UAVCAN .



UAVCAN es un protocolo ligero abierto para la red móvil a bordo. Recientemente, su desarrollador y mantenedor Pavel KirienkoSpymhabló sobre el protocolo en el PX4 Developer Summit , una importante conferencia de la comunidad de drones que utiliza el ecosistema de código abierto en torno al piloto automático PX4 , del cual UAVCAN forma parte. Y Pavel también preparó un artículo detallado para la comunidad de habla rusa sobre Habré a raíz de su informe.



En este artículo, hablaré sobre el lado práctico del uso del protocolo desde el punto de vista de los desarrolladores de sistemas de control automático para UAV: ​​cómo elegimos UAVCAN, qué hacemos con él y qué oportunidades vemos en el futuro.







UAV híbridos



Un avión de despegue y aterrizaje vertical (VTOL) es un híbrido de un helicóptero y un avión que puede durar más que un helicóptero debido a la sustentación aerodinámica del ala y no requiere una pista o un dispositivo de lanzamiento y un paracaídas como los aviones no tripulados convencionales. El desarrollo de tales dispositivos es ahora una dirección popular y prometedora. Un dispositivo de este tipo se puede utilizar para la entrega, el mapeo, el seguimiento y otros fines. La mayoría de los proyectos de taxis voladores se basan en el mismo principio de diseño, por ejemplo:



  • taxi aéreo totalmente eléctrico Lilium Jet de la empresa alemana Lilium ;

  • el avión eléctrico Heaviside de bajo ruido de la compañía Kitty Hawk de Sebastian Thrun (a quien muchos conocen por los vehículos no tripulados);

  • Proyecto Vahana de Airbus.



Avión Innopolis VTOL

Aviones verticales de despegue y aterrizaje de la Universidad de Innopolis



Hemos desarrollado tres modelos de pequeños vehículos aéreos no tripulados con diferente envergadura, carga útil y fuentes de energía, todos eléctricos y con motores de combustión interna. Cooperamos con el Instituto de Aviación de Kazán y las empresas de aviación de Kazán en el diseño de aviones, y el enfoque de nuestro trabajo es la electrónica, los algoritmos y el control automático.



¿Qué tiene que ver UAVCAN con eso?



Para aquellos en el negocio de los drones, una estructura de control típica se parece a esto:



Esquema de drones PixHawk


Diseño típico de UAV basado en el piloto automático PX4. Fuente Los



motores se controlan mediante controladores de velocidad (ESC), a los que se suministran puntos de ajuste del piloto automático mediante señales PWM. Los sensores están conectados a través de un montón de interfaces diferentes: UART, I2C, SPI. Además de la telemetría, el control remoto, la fuente de alimentación, y obtiene una "araña" de los cables. Pero este no es el problema principal.



Cuanto más largos sean los cables, es decir, cuanto más grande sea el aparato, más susceptible a interferencias este circuito. Tuvimos que pensar en esto desde el principio, porque nuestro avión tiene una envergadura de 2 y 4 metros, y este no es el límite.



Anteriormente, para el proyecto de un dirigible de 40 metros, trabajamos con CAN (solo el protocolo estaba basado en CANOpen). Y la decisión de usar UAVCAN fue algo natural para nosotros: PX4 ya cuenta con su apoyo, y ni siquiera hubo disputas en el equipo al respecto. Inicialmente, queríamos reemplazar las largas líneas PWM con una interfaz digital para escalar nuestras soluciones a aviones con diferente envergadura.



Resulta que UAVCAN no es CAN para UAV
UAVCAN CAN UAV (). , , Uncomplicated Application-level Vehicular Communication And Networking (« ») UAV, CAN, . UAVCAN middleware ROS (Robot Operating System). .



Al reemplazar los enlaces PWM con enlaces UAVCAN, dejamos de preocuparnos por cables largos y problemas de ruido, y también redujimos significativamente la cantidad de conexiones al piloto automático.



Había dos opciones sobre cómo hacer esto. El primero es utilizar reguladores de motor y servoaccionamientos con interfaz UAVCAN. Tales son, por ejemplo, en Zubax . El segundo es hacer adaptadores UAVCAN que se instalan directamente al lado del ESC. Optamos por la segunda opción, porque la elección de ESC con interfaz UAVCAN es pequeña. Primero, usamos adaptadores del proyecto UAVCAN for Hobbyists ( UC4H ), luego decidimos hacer nuestros propios dispositivos con un convertidor DC-DC incorporado, nuestros propios circuitos, firmware y diodos aburridos.



Dispositivos Innopolis UAVCAN

Nuestros dispositivos con interfaz UAVCAN



Tengo el sabor



Luego nos dimos cuenta de que en lugar de una docena de cables, podíamos usar el bus UAVCAN para interactuar no solo con los actuadores, sino también con la mayoría de los dispositivos externos. Esto también tiene un buen efecto en el aislamiento de vibraciones del controlador instalado en una plataforma especial. Como resultado, desarrollamos una serie de dispositivos para nuestro propio uso, pero ahora vemos que son interesantes para otros:



  • Convertidor CAN-PWM hasta 4 canales: el dispositivo se conecta al bus CAN, recibe y procesa señales de control, salidas PWM. Puede alimentar la placa directamente desde la batería hasta 60 V, incluye un convertidor DC-DC que proporciona a la placa y al consumidor un voltaje de 5 V (3 A) (por ejemplo, una servo máquina);

  • GPS / Magnetómetro / Barómetro;

  • , Power Management Unit (PMU): ( ). . — , DC-DC . 1000 . CAN ;

  • ;

  • ;

  • ;



Técnicamente, estos dispositivos se basan en el microcontrolador STM32. Nosotros mismos diseñamos y encargamos la producción en pcbway.ru. El firmware se implementa mediante libcanard .



Nuestro sentimiento de trabajar con UAVCAN es un umbral de entrada bastante bajo. El nuevo empleado tardó menos de una semana en descubrir y programar el sensor de distancia en los lados del piloto automático STM32 y PX4.



Drone oscuro


Probamos nuevos dispositivos en un pequeño dron oscuro



y luego los usamos en un avión:





Un breve video de un vuelo de prueba de nuestro avión VTOL en todos los modos



Organización de vuelos
, , . .



.



Como resultado, nuestro esquema se ve así: Esquema de nuestra aeronave VTOL usando sensores y actuadores UAVCAN



Esquema Innopolis VTOL UAVCAN





Qué ventajas nos dará UAVCAN en el futuro



Reserva



La tarea más importante a la hora de vender un producto basado en un UAV es garantizar la fiabilidad. Ya hemos empezado a trabajar en esto. Por ejemplo, varios de nuestros sensores GPS y de velocidad del aire se pueden conectar y utilizar en paralelo. Pero aún queda mucho por hacer. Lo más probable es que se facilite la duplicación de sensores y controladores mediante el bus CAN. Puede conectar dos buses a Pixhawk y dejar varios sensores idénticos en el bus para redundancia.



Escalada



En el futuro, queremos fabricar vehículos grandes con un peso de despegue de más de 30 kg, aunque esto es difícil de certificar. La escalabilidad de la arquitectura basada en UAVCAN le permite realizar planes ambiciosos.



Verdadera simulación de HIL



Ahora el tema de la operación de UAV en el entorno urbano se está desarrollando activamente: Urban Air Mobility (UAM). Para implementar tareas de UAM, debe confiar más en sensores como cámaras y lidars. Aquí se hace necesario desarrollar y depurar sistemas de control inteligentes, así como aumentar su confiabilidad. Para estos fines, otro equipo de Innopolis University está desarrollando el Innopolis Simulator para objetos en movimiento autónomos basado en Unity 3D para pruebas, depuración y entrenamiento. Simulador de Innopolis Para nuestra aeronave VTOL , usamos el Simulador de Innopolis junto con Gazebo para simulación fotorrealista , pruebas de control y procesamiento de datos de sensores: lidars y cámaras.













Ahora estamos trabajando en nuestro propio módulo de simulación dinámica en lugar de Gazebo con una aerodinámica más precisa, así como en otra característica: la verdadera simulación HIL (de hardware en el bucle, o simulación de software y hardware, PAM).



En nuestra solución, todos los datos provienen de los sensores y los controles a los motores y servos se envían a través del bus UAVCAN. ¿Por qué no hacer un módulo para simular estos sensores en el mismo nivel de bus? Es solo que en lugar de dispositivos, conectamos una computadora con un simulador al controlador.



Ahora la simulación HIL en PX4 se realiza mediante mensajes especiales HIL_ * MAVLINK (protocolo de telemetría, funciona en un puerto serie o UDP / TCP), que simulan sensores y actuadores.



PX4_HITL


Diagrama de funcionamiento del PX4 en modo HITL. La



simulación de fuente , tal como se implementa actualmente en el PX4, es un modo de operación separado para el controlador de vuelo, diferente de la configuración de vuelo de "combate". Simulamos mensajes UAVCAN directamente, lo ideal es que el piloto automático ni siquiera sepa qué está funcionando en el entorno simulado. Pero debo decir que el problema de la simulación de IMU, que están dentro del piloto automático y no están conectadas vía CAN, aún no se ha resuelto conceptualmente. El esquema propuesto de operación PX4 en modo HITL usando UAVCAN Esta solución aumenta la confiabilidad de los resultados de depuración en el simulador, por lo que puede proceder con mayor seguridad a las pruebas de vuelo. Simulador de aviación HIL. Fuente Un enfoque similar, cuando los dispositivos se simulan a nivel de interfaz,



Esquema del simulador Innopolis VTOL UAVCAN HIL















utilizado en la gran aviación, pero con UAVCAN lo hacemos más accesible y fácil.



Salida



Es genial que los problemas de ligereza, confiabilidad y "tiempo real" del protocolo UAVCAN ya hayan sido pensados ​​para nosotros, así como lo que son PX4, ROS y Linux, al final. Sería muy difícil para nosotros hacer nuestros helicópteros, aviones, sistemas de control y planificadores si todo esto no estuviera ahí.



La estandarización de protocolos y software permite a los desarrolladores hablar el mismo idioma. Al mismo tiempo, no solo es importante la estandarización, sino también la accesibilidad, que en gran medida proporciona un enfoque de código abierto. Esto permite, apoyándose en los hombros de gigantes, pasar rápidamente a sus tareas, en lugar de construir una larga "infraestructura" para el trabajo, que, espero, hayamos demostrado con nuestro ejemplo en este artículo. 





Bebemos brue frío después de vuelos exitosos



All Articles