Dron autónomo de bricolaje con control de internet

imagen

Primero, escribí una larga introducción de dónde provenía esa tarea, y luego me pareció aburrida y la eliminé.

Entonces, la tarea: la creación de un UAV autónomo para monitorear el estado de las líneas eléctricas (líneas eléctricas).

Desde:

  1. este es un proyecto de pasatiempo y puedo cometer un gran error en mis cálculos
  2. los objetos voladores representan un peligro para los seres vivos y sus propiedades,

entonces este artículo debe tomarse solo como un horizonte en expansión y no como una guía de acción.

Lista de defectos para la detección en líneas eléctricas.

Requisitos de UAV


  • Despegue y aterrizaje vertical (sin catapultas y paracaídas), es decir, un helicóptero
  • Capaz de despegar, volar en puntos determinados, regresar y aterrizar automáticamente
  • Puedes editar una misión de vuelo, dar un comando para despegar y aterrizar desde cualquier parte del mundo
  • Transmitir telemetría y video en tiempo real a través de Internet
  • Subir fotos y videos desde la cámara a bordo al servidor durante o después del vuelo
  • Cargue o reemplace mecánicamente la batería sin intervención humana.

Y también dos requisitos en conflicto:

  • Electrónica confiable (si cae en algún lugar, considérelo perdido)
  • El costo relativamente bajo del experimento (si cae en algún lugar, considérelo perdido)

El grado de autonomía, idealmente, es fantástico: el dron vuela a lo largo de una ruta previamente planificada, carga una foto en el servidor, el software en el servidor identifica defectos en la foto y forma una solicitud al equipo de reparación con las coordenadas de los sitios de trabajo. El dron en sí no debería requerir la atención de una persona antes del final de la vida útil de ninguna parte, por ejemplo, una batería o cojinetes.

Está claro que esta tarea no es por un año, pero comenzaré, y tal vez alguien retome y continúe.

Por ejemplo, versiones industriales terminadas de complejos autónomos: uno , dos , tres , cuatro , cinco , seis , siete , ocho , nueve , diez , once , doce , trece , catorce . Escribí solicitudes a todos como comprador potencial para averiguar los precios. De ellos listos para la venta: 2; listo para la venta en Rusia: 0.

Elegir un controlador de vuelo


Como necesito transmitir video y telemetría a través de Internet, inmediatamente me viene a la mente poner una microcomputadora con un módem 4G y una cámara en el dron y hacer una transmisión web desde este kit. Tales soluciones fueron encontradas: una , dos , tres . Estas son placas simples ordinarias con un módem USB 4G externo y una cámara. Para codificar y transmitir video, se usa gstreamer . Pero estas cosas en sí mismas no saben cómo controlar el avión no tripulado, deben usarse junto con el controlador de vuelo.

El controlador de vuelo es el cerebro del dron. Supervisa el estado de los sensores de posición (giroscopio, acelerómetro, brújula), las coordenadas GPS, la posición de las manijas en el panel de control y, en base a estos datos, controla los motores para colgar en un punto o volar a algún lado. El controlador de vuelo deberá estar conectado de alguna manera con la computadora de a bordo para que pueda cargar la tarea de vuelo o indicar un punto arbitrario donde volar y cuándo encender la cámara.
A la venta, puede encontrar muchos controladores diferentes que son muy diferentes entre sí en cuanto a precio y funcionalidad. Algunos de ellos trabajan en su propio software, y otros usan software de código abierto, como Ardupilot y su fork PX4 .

Con Ardupilot, jugué en atmegs de 8 bits que no tenían un cargador de arranque USB, pero estaban cosidos en el programador. Desde entonces no lo he encontrado y me sorprendió gratamente cuando descubrí que ahora puede trabajar en computadoras Linux de 64 bits, tiene una gran comunidad de usuarios, tanto aficionados como profesionales, una larga lista de sensores admitidos de fábrica y pintados planes para 2018-2019 . Durante este tiempo, logró convertirse en un proyecto DroneCode y luego desconectarse de él.

A primera vista, acaba de implementar todas las funciones necesarias: despegue y aterrizaje automático, carga de tareas de vuelo, hay aplicaciones de escritorio y móviles para todas las familias principales de sistemas operativos. Los programas de control (GCS - Ground Control Station) se comunican con el controlador de a bordo a través de mensajes cortos a través del protocolo abierto MAVLink a través de un conjunto de módems de radio (el dron envía telemetría, el GCS envía comandos de control). Sospecho que estos mensajes se pueden lanzar a través de Internet.

Eche un vistazo a la lista de controladores compatibles y seleccione algo. Hay una docena de opciones, desde pequeñas hasta grandes y con diferentes características.

De toda la variedad de controladores, me gustaron varias opciones:

Controlador de vueloErle PXFMiniBorde EmlidNavio 2Erle Brain 3PixHawk 2 Cube
Computadora adicionalRaspberry Pi Zero WnoFrambuesa pi 3noFrambuesa pi 3
Establecer peso, g849798145150
CPUs, total12213
Sistema operativo simultáneamente11112
Sensores de IMU, kits12213
Sensor de presión de aire12111
Redundancia de energíano2x3xno2x
GPS, Glonassmódulo externo
con magnetómetro adicional
módulo externo
con magnetómetro adicional
receptor incorporado, antena externamódulo externo
con magnetómetro adicional
módulo externo
Entrada de videoCSI en frambuesaHDMICSI en frambuesaCSICSI en frambuesa
Wifiesta ahiesta ahi
Largo alcance 2 km
+52 g
esta ahiesta ahiesta ahi
El costo del kit, $212700215341331

El kit más ligero (84 g) se obtiene del microordenador Raspberry Pi Zero W (9 g), el controlador Erle PXFMini (15 g), el módulo GNSS externo nativo (46 g) y un concentrador USB adicional (14 g).


Solo hay un procesador en funcionamiento en este kit: en la Raspberry Pi. En él cuelga el control PWM de los reguladores del motor, la lectura de las lecturas del sensor, el sistema operativo Linux con todas las agallas y la decodificación del video de la cámara. Dado que el Pi Zero no tiene puertos USB, en esta opción debe usar un concentrador externo. Sensores IMU y entrada de energía sin redundancia.

El siguiente conjunto (97 g) de una empresa de Hong Kong con nombres rusos en el equipo de desarrollo es el controlador Emlid Edge (59 g) con un módulo GNSS (38 g). El módulo GNSS funciona de acuerdo con el protocolo UAVCAN y además está equipado con un magnetómetro y un sensor de presión de aire. Aquí, un procesador ARM Cortex-M3 separado es responsable de PWM, el sistema operativo Linux está girando en el núcleo principal ARM Cortex-A53 de cuatro núcleos.



El controlador tiene una entrada de video HDMI, que le permite conectarlo directamente a cualquier cámara con tal salida, por ejemplo GoPro 4 o 5. El costo relativamente alto se explica por los transceptores wifi de largo alcance en el kit (hasta 2 km con transmisión de video HD). El peso del módulo a bordo (52 g) no está incluido en la tabla general, ya que necesito comunicación 4G, sin embargo, puede tener en cuenta esta opción: desde un wifi de largo alcance puede hacer un canal de comunicación de respaldo a través de un enrutador estacionario con Internet por cable.

La siguiente opción (98 g) consiste en el famoso microordenador Raspberry Pi 3 (45 g) con un controlador de pantalla Navio 2 (23 g) del mismo Emlid y una antena GNSS externa (30 g). El controlador tiene un procesador Cortex-M3 separado para controlar PWM en 14 canales y descifrar las señales entrantes SBUS y PPM del receptor. A su vez, se controla a través del controlador en el kernel de Linux, que se ejecuta en Raspberry.



El controlador está equipado con un par de sensores IMU separados (acelerómetro, giroscopio, magnetómetro) MPU9250 y LSM9DS1, un sensor de presión de aire y módulo GNSS U-blox NEO-M8N , que ve GPS, Glonass y BeiDou con una antena externa a través del conector MCX.

Puede alimentar este "pastel" desde 5 voltios al mismo tiempo desde tres lados, que funcionan como fuentes independientes que se duplican entre sí: el conector de alimentación principal en el escudo, las salidas de servo PWM, micro-USB en Raspberry.

El controlador Erle Brain 3 (100 g) con un módulo GPS externo (45 g) por su peso, precio y un conjunto de sensores se ve en la tabla para que ni siquiera inserte una foto aquí.

A continuación, tenemos el kit más confiable y pesado (150 g), que consiste en el popular controlador de vuelo PixHawk 2 Cube (80 g) con una arquitectura abierta y una computadora Raspberry Pi 3. En lugar de Raspberry en este caso, puede usar cualquier placa única liviana, por ejemplo, Odroid XU4 , NVIDIA Jetson o cualquier otro con las interfaces correctas y el peso correcto.

PixHawk tiene 2 procesadores instalados: el primer STM32F427 Cortex M4 de 32 bits, el principal que ejecuta el sistema operativo NuttX en tiempo real (RTOS) y el segundo STM32F103 a prueba de fallos de 32 bits. El controlador está hecho en forma de módulos: los procesadores y sensores IMU se instalan en el cubo (en un soporte antivibraciones, e incluso con calefacción), y la alimentación y los conectores a toda la periferia se llevan a la base. Se supone que los conceptos básicos pueden ser diferentes y cada uno puede desarrollar los suyos para cumplir con los requisitos específicos, en los que luego puede colocar el cubo terminado. Por cierto, hay una versión lista para usar con un conector para instalar la microcomputadora Intel Edison . Pero, dado que Intel ya no lanza estas computadoras, Raspberry también estará en este kit como una computadora a bordo.

Raspberry se usa como una computadora adicional para conectarse a Internet y puede ejecutar cualquier tarea que requiera muchos recursos (por ejemplo, reconocimiento de patrones en OpenCV), sin temor a que las fallas en este proceso "pesen" funciones críticas, como el control del motor.

Entonces, dado el peso, las especificaciones y el precio, el primer lugar para mí es el kit Navio 2 + Raspberry, y el segundo Pixhawk 2 Cube + Raspberry (+52 g). Ahora, si bajo Pixhawk hubiera una base en el conector para el pequeño Raspberry Zero, e incluso una salida USB, sería más interesante. Pero aún no puede comprar uno, pero aún no es interesante hacerlo.
Escribiré notas que aumenten la confiabilidad cuestan 52 gramos adicionales y $ 110. Según el resultado total de los cálculos, estas cifras pueden ser insignificantes.

Carga autónoma


Como puede ver en las versiones terminadas anteriores, hay varios enfoques para preparar un dron autónomo para el próximo vuelo: cargar la batería a través de almohadillas de contacto, carga de inducción sin contacto y reemplazo de batería mecanizada con su posterior carga en la estación.


Cada método tiene sus pros y sus contras, escribiré sobre ellos por separado, pero en cualquier caso, para su funcionamiento, el dron debe poder aterrizar en el punto deseado con una precisión de casi un centímetro.

Aterrizaje "al punto"


Para un aterrizaje exacto, puede usar la cámara de computadora a bordo estándar, los marcadores visuales y OpenCV para reconocerlos. Aquí hay una solución que puedes buscar en Google. Otro nuevo apareció cuando escribí este artículo. Pero el reconocimiento de patrones es un proceso que consume bastante tiempo para Raspberry, y no desea descargarlo sin una necesidad especial. Además, la calidad del reconocimiento dependerá en gran medida del material del que está hecho el marcador y las condiciones de iluminación. Es deseable que este sea un sensor separado y que proporcione coordenadas preparadas para el punto visual deseado, independientemente de la presencia y el ángulo de incidencia de la luz. Y eso está en la lista de equipos Ardupilot compatibles, llamado IR-Lock .



Airobotics de la lista anterior también usa esta solución. Se basa en el módulo de cámara de código abierto Pixy CMUcam5 . Este módulo está equipado con una cámara y un procesador, y se le puede "enseñar" a reconocer ciertas imágenes de objetos, y luego, a la salida, obtener coordenadas preparadas de estos objetos en la imagen.




Al conocer las coordenadas de la imagen reconocida en la imagen y la distancia a ella, el controlador de vuelo calcula qué tan lejos y en qué dirección debe moverse el dron.
La modificación de IR-Lock consiste en el hecho de que una linterna IR de LED se utiliza como un marcador para ser reconocido, y en la cámara, las lentes convencionales son reemplazadas por aquellas que solo transmiten luz IR. Como resultado, con cualquier luz, la cámara ve la luminiscencia de la lámpara en blanco sobre un fondo negro (y nada más), lo que aumenta en gran medida la precisión del reconocimiento.

Para el funcionamiento normal de este sensor, también se necesita un telémetro , que medirá la altura sobre el suelo. Los desarrolladores recomiendan usar un telémetro láser, por ejemplo, LightWare LW20 (20 gramos y $ 299, mide hasta 100 m), o el VL53L0X barato y corto (menos de 1 gramo y $ 10, mide hasta 2 m), que ha sido compatible con las últimas versiones de Ardupilot. Por alguna razón, el sensor ultrasónico para aterrizaje no merece la confianza de los desarrolladores de IR-Lock.
Por cierto, los drones DJI aterrizan automáticamente usando cámaras de ultrasonido y estéreo.

Colgar como un hombre muerto


Para que el dron cuelgue en un lugar y no "nade", el GPS por sí solo no es suficiente. Desafortunadamente, debido a la atmósfera, las coordenadas de los receptores GPS pueden flotar dentro de decenas de metros, y los sistemas de corrección GPS RTK deben usarse para una precisión de centímetros. Este sistema utiliza una estación fija terrestre como estándar para las desviaciones de coordenadas y la comunicación por radio con la placa para enviar los valores de estas desviaciones allí. Tal cosa es necesaria para disparar planos fotográficos, seguido de pegarlos en tarjetas grandes, y con el fin de colgar en su lugar, me limitaré al sensor óptico PX4Flow por ahora .


Funciona según el mismo principio que un mouse óptico. A diferencia de IR-Lock, no reconoce una imagen específica y en Ardupilot funcionan en diferentes modos de vuelo. La imagen de la cámara se analiza a un desplazamiento de 400 veces por segundo, y el controlador puede leer los valores de desplazamiento calculados utilizando el protocolo I2C. El sensor ( hardware abierto ) pesa 15 gramos y tiene todo lo que necesita en su placa: una CPU Cortex M4F de 168 MHz (128 + 64 KB RAM), un sensor óptico 752 × 480 MT9V034 y un giroscopio de 3 ejes L3GD20. Para su funcionamiento normal, también se recomienda utilizar un telémetro láser, en lugar de uno ultrasónico. Aunque el módulo en sí mismo proporciona un conector solo para el sensor ultrasónico.

Kit de electrónica mínima


Aquí está lo que se reunió:



El peso total es de 199 G. Todos los componentes funcionan a partir de 5 voltios y consumen casi 2 amperios (10 vatios) en el modo de transmisión de video.

El kit contiene un sensor de distancia ultrasónico que mirará hacia adelante en el tema de los obstáculos. Dejé estéreo-visión y lidares circulares para más tarde, si surge una necesidad real en ellos.

Carga útil


Dado que la cámara nativa de Raspberry toma fotos de calidad promedio y no sabe cómo capturar fotos al mismo tiempo que el video, solo se usará para la transmisión por Internet, y como la cámara principal necesita una adecuada para detectar defectos en las líneas eléctricas. GoPro Hero 5 Session , Parrot Sequoia multiespectral, doble Sentera Double 4K e infrarrojo FLIR Vue Pro son adecuados para la mayoría de los elementos de la lista de defectos detectados. Cada uno de ellos pesa unos 100 g.

Para estabilizar la cámara y mejorar la calidad de las imágenes, una suspensión axial de 2 o 3 volará en la carga con ella.



Las suspensiones simples de 3 ejes pesan aproximadamente 160 gy funcionan con 12 voltios, tienen una corriente de trabajo a este voltaje de aproximadamente 50 mA y una corriente máxima de 700 mA cuando los motores se atascan.

Nutrición


Para alimentar todos los componentes electrónicos, se requieren fuentes de 5 voltios (mínimo 2.2 amperios) y 12 voltios (mínimo 1 amperios). Dada la potencia de respaldo del controlador de vuelo, necesita dos fuentes independientes de 5 voltios. Puede hacer un sistema de alimentación a partir de módulos individuales de valor nominal adecuado o encontrar un "3 en 1" ya preparado, por ejemplo, (24 g, voltaje de entrada máximo de hasta 28 voltios, salidas de 3 A). Se conectará un sensor de corriente (22 g) para que sea posible medir el consumo de mAh en la batería.

El kit electrónico + cámara + suspensión + sistema de potencia pesan 505 g.

Motores y Hélices


En muchos drones profesionales, vi motores y hélices T-Motor . Aparentemente no casual. En la documentación de Ardupilot, también se recomiendan como un sistema de propulsión para drones profesionales. Por lo tanto, buscaremos motores adecuados para ellos.

Para que el dron vuele durante mucho tiempo, se necesitan motores con la máxima eficiencia. La eficiencia de los paquetes de motor y hélice se mide por la cantidad de empuje en gramos por 1 vatio de energía consumida.
Para saber qué motor es el más adecuado, debe conocer el peso total del dron completamente ensamblado, teniendo en cuenta el marco, la batería y los motores con tornillos. La batería es necesaria para que dure 30 minutos. El marco es necesario para que todo encaje y los tornillos no toquen nada.

Demasiadas incógnitas, así que usaré la calculadora en línea para los cuadricópteros E-calc .

Después de jugar en la calculadora, elegí los motores Antigravity 4004 KV300 (53 g) con tornillos 15x5 (27 g). En el modo óptimo, con un voltaje de alimentación de 24 voltios, un kit de este tipo extrae 474 gramos a una corriente de 1.4 A. La eficiencia es 14.11 g / W, la relación de tracción a peso muerto = 5.9: 1. A toda velocidad, el empuje es de 1311 gramos a una corriente de 7.5 A. El helicóptero estará con cuatro motores, es decir, un quad. Peso de despegue óptimo = (474 ​​g * 4 motores) = 1896 g, máximo (teniendo en cuenta la relación peso-empuje de 2: 1) = (1311 g * 4 motores) / 2 = 2622 g.

Los motores son controlados por controladores de velocidad. El voltaje de la fuente de alimentación de los motores = 24 voltios, la corriente de funcionamiento máxima = 7.5 A, por lo que necesita un regulador para ese voltaje y con una corriente de trabajo, teniendo en cuenta el margen, al menos 10A. T-Motor tiene el regulador más ligero (7 g sin cables) para este voltaje: es FPV 35A-32bit 3-6S . Está hecho sobre la base del popular firmware BLHeli-32 , con código cerrado, pero con una amplia configuración y una gran cantidad de análogos .

Subtotal:

VMG (grupo hélice-motor), compuesto por motores, hélices y reguladores (4 piezas cada uno) pesa 346 g.

Junto con la electrónica y una carga útil (346 + 505), se obtienen 851 g. Teniendo en cuenta los sujetadores, cables y conectores (estimamos +100 g) = 951 g.

Con un peso óptimo, el marco y la batería permanecen (1896 - 951) = 945 g. Con un máximo (2622 - 951) = 1671 g.

Marco


Calculamos el tamaño mínimo del cuadro para que las hélices seleccionadas de 15 pulgadas no interfieran entre sí para crear tracción. Las dimensiones de los fabricantes de cuadros indican la distancia entre los ejes de los motores ubicados diagonalmente entre sí.



En la imagen puede encontrar la hipotenusa, que se calcula a partir de la pata, igual a la suma del diámetro del tornillo y la distancia entre las hélices. Las palas de la hélice adyacentes de 15 pulgadas girarán 1 milímetro de distancia en una diagonal del marco de 540 mm. Agregue un poco de espacio y el tamaño de un marco adecuado será de aproximadamente 600-700 mm.

Puede encontrar muchos en oferta, por ejemplo, una vez : 600 mm y 750 g, dos : 650 mm y 450 g, tres : 690 y 675 g, cuatro : 650 mm y 750 g. Todos se distinguen por su rendimiento y la presencia de elementos plegables (chasis, vigas) para facilitar su transporte.

Pospondré la selección de una instancia específica para mis necesidades, para el cálculo adicional tendré en cuenta el peso del cuadro de 450 g.

Queda una batería que pesa 495 g para el peso óptimo y 1221 g para el máximo.

Batería


Para seleccionar una batería, necesita saber qué debe proporcionar la corriente.

A toda velocidad, los motores "comerán" 30A (motores 7.5A * 4), y la electrónica aproximadamente 0.45A (10 vatios). Dado el pequeño margen, redondeamos la corriente mínima de la batería operativa de 35A. Para baterías Li-Po con salida de corriente alta a 30 ° C, la capacidad mínima será de 1.2 Ah (35/30), y para Li-Po y Li-Ion más livianos con salida de corriente a 10 ° C, la capacidad mínima es 3.5 Ah (35/10) .

Como opción, el ensamblaje de 6S2P del Li-Ion Sony VTC6con un BMS, pesa aproximadamente 630 g (con una capacidad de 6 Ah). Con esta batería, el dron pesará 2031 g, que es 135 g más que lo óptimo, pero dentro del máximo. Ahora calculemos cuánto tiempo puede congelarse el helicóptero en condiciones ideales. Con un peso total de 2031 g, cada motor tiene 508 g. Echemos un vistazo a las características del motor y encuentre el consumo de corriente con esta tracción. Será aproximadamente igual a 1.6A. 4 motores y componentes electrónicos darán un total de 6.85A (1.6 * 4 + 0.45). Teniendo en cuenta la descarga de la batería hasta un 20%, resultará (6 Ah * 80% / (6.85 A)) = 0.7 horas o 42 minutos.

Diseño




Mientras elegía un marco adecuado y pensaba en cómo colocar todo esto y cómo arreglarlo, llegué a la conclusión de que sería más fácil dibujar algunos detalles y ordenar la impresión 3D de plástico y la molienda de carbono. Se puede pedir un par de piezas de hierro y hardware terminados en Aliexpress.



Después de experimentar un poco con el diseño y el centro de gravedad, obtuvimos dicho marco:



consta de tubos y placas de carbono, piezas de aluminio y sujetadores de titanio. El peso estimado del marco es de 350 g con una diagonal de 700 mm. Modelo de marco 3D y lista de piezas .

Un modelo completamente ensamblado (sin cables):



el peso total del helicóptero con electrónica, una batería de Li-Ion 6S2P y cables debe ser 1931.

Sí, también me pareció que el dron resultó estar demasiado desnudo para una versión autónoma y que la lluvia fina mojaría fácilmente la electrónica de a bordo. Por lo tanto, agregué un poco de plástico:



modelo 3D del marco . Lista de detalles del cuadro .
Ensamblaje de modelos 3D . Lista de componentes .

El peso de un marco vacío con una caja de 384 g, peso total 2020 g, tiempo estimado de suspensión con una carga (descarga de la batería hasta 20%): 44 minutos.

Caja para cargar






La caja de carga estará hecha de un perfil de aluminio, hardware de montaje y paneles sándwich de aluminio. Tendrá un enrutador, una computadora, sensores meteorológicos y una cámara con una vista de la zona de aterrizaje. Decidí hacer un techo inclinado de dos alas para que en invierno no acumule nieve y no interfiera con la apertura. El mecanismo para abrir las válvulas aún no está completamente pensado, y el sistema de carga aún no está definido (necesito consejos).



En el próximo artículo, le diré cómo configurar e iniciar un dron a través de Internet utilizando la GUI o la línea de comando, sobre las opciones del sistema de carga que ahora elijo, el software para controlar el helicóptero y analizar imágenes y por qué mi primer vuelo a través de Internet no duró tanto:





Continuará ...

Parte 2 sobre el software.

Source: https://habr.com/ru/post/es414121/


All Articles