¿Cómo se programan los quadcopters?

Hay muchos niveles de bricolaje aquí. Tienes muchas opciones.

Hay * mucha * ciencia detrás de la teoría del control. Se ha escrito una gran cantidad de trabajos de investigación sobre cómo hacer que las máquinas hagan lo que se les ordena. Necesitas entender mucho de esto si quieres tener éxito en la construcción de una máquina voladora en el nivel más bajo.

Pero no necesita comprender esto solo para construir uno. Hay muchos controladores de vuelo disponibles en el mercado que puede adquirir de forma muy económica y utilizar software escrito por personas que han dedicado mucho tiempo a pensar en los sistemas de control para construir su máquina. Este es el punto medio del camino y es muy común. En este nivel, solo necesita un controlador de vuelo, radio, motores (y ESC para motores sin escobillas, que probablemente desee), un marco, hélices y una batería. Hay tantas opciones para cada una de las cosas que necesitará.

Incluso si planea bajar un poco, tiene una variedad de opciones. Puede comenzar con un RTOS incorporado, como ChibiOS, para administrar las tareas separadas con las que tiene que lidiar (por ejemplo, tomar la entrada del usuario y la IMU y traducir eso a las instrucciones a los diversos motores para garantizar que la velocidad de rotación y el empuje sean los que se ordenan ) Algunos sistemas intentan implementar sus propios RTOS, o piratear la falta de ellos. Los proyectos que hacen esto pueden tener éxito, pero no lo recomendaría.

Otro nivel bajo que podría hacer es usar una pila de software existente y construir su propio hardware. Por ejemplo, uso dRonin y conozco a algunas personas que diseñan sus propios controladores de vuelo y portan la pila de dRonin. Esto lo lleva muy lejos, ya que tiene una aplicación de teoría de control realmente buena y solo requiere que adapte la pila a su nueva máquina. Hacer este tipo de cosas significa que no tienes que entender todo de una vez, pero aún puedes progresar.

El único inconveniente que he encontrado al construir mi propio hardware y avión es que sigo queriendo construir más hardware y avión. 🙂 Trabajar con el software es divertido y beneficia a otros, pero soy ingeniero de software, por lo que los aspectos de hardware son generalmente más interesantes para mí.

Si está construyendo el suyo desde cero, lea lo siguiente, de lo contrario, ignore la respuesta. De todos modos, hackea tu ArDrone y mejora la estabilidad.

Depende de qué tablero uses para controlar el quad. Hay muchos tableros que puedes comprar en la web. Mi consejo es usar un Arduino o Raspberry Pi con y Arduino.

Básicamente, hay algunas formas de programar un quadcopter.
Si usa una placa de control tipo Arduino, el lenguaje es C / C ++. Puede programar utilizando el IDE de Arduino.
Las principales ventajas de estas placas son el precio, la cantidad de pines de entrada / salida (digitales y analógicos) y la cantidad infinita de sensores con los que puede interactuar. En su caso, solo necesitará un giroscopio, un acelerómetro, un barómetro, un magnetómetro, un GPS, 2 módulos Xbee / Blutooth para la transmisión WiFi (funciona como una comunicación en serie) y un sensor de corriente.

Casi todas las placas de “expansión” tienen su propia biblioteca.
El único inconveniente es la frecuencia de reloj que no le permite implementar estrategias de control complejas.

Si desea algo más serio, con mucho más poder de cómputo, debe usar una placa con un sistema operativo Linux como [BeagleBone o] Raspberry Pi.
Obtendrá un procesador [1000 MHz] 700 MHz y [1GB] 512MB de ram por [80 $] 40 dólares.
Puede programar la Raspberry Pi con scripts de Python y hacer el trabajo con unas pocas líneas de código o en C si desea personalizar su núcleo y agregar características en tiempo real para un control robusto.

Ya tiene respuestas relacionadas con la construcción de su propio controlador de vuelo quadcopter, así que voy a seguir el camino, creo que su pregunta va y le diré cómo hacer bricolaje mientras usa componentes de controlador de vuelo COTS (Common Off The Shelf).

Si conoce cosas de RC, estará familiarizado con los motores Brushless y los ESC. Si no lo está, conecta el motor al ESC (controlador de velocidad electrónico) y le da energía y una señal del receptor de radio, generalmente PWM.

En el caso de un dron, obtienes al menos 4 motores sin escobillas, 4 ESC y luego necesitas un controlador de vuelo.

Los controladores de vuelo más comunes cuestan alrededor de $ 20 y ejecutan Betaflight o Cleanflight. Realmente no los “programa” tanto como los configura. Puede conectarse a ellos a través de un puerto serie o mediante un software como el configurador. Estos proporcionan los resultados para sus cuatro ESC.

Dentro de este software, puede ajustar cómo funciona el controlador de vuelo. Lo adaptas al quadcopter que estás construyendo. Proporcionará las cuatro salidas a los ESC y tiene giroscopios, sensores de aceleración y, a menudo, también barómetros y sensores magnéticos.

Eso es todo. Es bastante simple si lo haces de esa manera, aunque técnicamente no es programación ya que no hay lenguaje involucrado. Simplemente se llama configuración.

¿La manera más fácil? Compre un quadcopter barato por un par de cientos de dólares, tal vez uno con un GPS incluso y luego desmóntelo y aprenda cómo funciona. No se preocupe, lo bloqueará lo suficientemente rápido si está aprendiendo a volar, y cuando lo haga, puede reconstruirlo y configurarlo desde cero si lo desea.

Entonces, después de trabajar en un proyecto genial, puedo arrojar respuestas a mis propias preguntas 🙂

Creé AR Drone que funciona a través del protocolo WIFI y MAVLINK.

QGroundControl es un software de código abierto C ++ que puede comunicarse con AR Drone.

Además AR Drone tiene su propio SDK escrito en C.

Hay pocos jugadores nuevos como NodeCopter y Java API para hablar Mavlink.

No hay necesidad de programar quadcopters usted mismo.

Puede obtener firmwares preprogramados de multiwii, cleanflight, betaflight y ARDUCOPTER.

Por lo tanto, puede elegir según el controlador de vuelo que esté utilizando.

Si está haciendo un controlador de vuelo propio, puede usar ARDUCOPTER.

Use Arduino mega como controlador de vuelo porque el controlador de vuelo APM 2.6 también usa el mismo microcontrolador que en el arduino mega

Saludos

Anuj

Aquí está el código de Flexbot HexAirbot (Flexbot)
El sistema de control de vuelo está basado en Arduino.

Normalmente se programa el microcontrolador que es el cerebro del quadcopter usando USB. Leer http://copter.ardupilot.com/

Puede usar controladores ya preparados como kk2, multi wii, naza, ardupilot, etc. Solo necesita configurar los controladores de acuerdo con su quad

More Interesting

Para un ingeniero electrónico, ¿será útil tomar un entrenamiento de un mes en Emb.Sys? En caso afirmativo, ¿cuáles son los institutos que brindan la mejor capacitación?

¿Se supone que un desarrollador incrustado realiza codificación de nivel de bit banging (spi / i2c) en las entrevistas?

¿Cuáles son algunos perfiles de trabajo en el campo de sistemas integrados?

¿Qué opinas sobre IAR Systems Embedded Workbench? ¿Lo recomendarías en lugar de las soluciones de código abierto?

¿En qué medida se utilizan las bases de datos en sistemas embebidos?

¿Puedo conectar un sensor de corriente ACS712 con un microcontrolador 8051?

¿Es necesario aprender sobre microcontroladores y microprocesadores para sistemas integrados?

¿Por qué debería elegir la ingeniería de sistemas integrados en lugar de la ingeniería de software?

Soy un ingeniero electrónico que se graduó recientemente y obtuve un trabajo como ingeniero de sistemas integrados donde tengo que trabajar en la programación C. ¿Es un buen trabajo para mí o no? ¿Debería continuarlo?

¿Cuáles podrían ser los criterios de selección para la distribución de Linux, VxWorks o Threadx RTOS para una aplicación integrada?

Soy un ingeniero profesional de sistemas embebidos que está bastante versado en C. Quiero comenzar a aprender C ++ para comprender la programación orientada a objetos. ¿Qué tipo de proyectos debería intentar comprender bien el concepto y la familiaridad de C ++?

Sistemas integrados: Electrónica en India: ¿Por qué India no puede funcionar tan bien como China en la fabricación de productos electrónicos?

¿Los robots tienen sistemas integrados en ellos?

¿Un control remoto basado en IR funciona bajo el agua?

¿Cuáles son las diferencias entre la computadora de placa única y el microcontrolador?