Tabla de contenido:
- Paso 1: la idea y las conexiones
- Paso 2: Conexiones y configuración de Raspberry Pi
- Paso 3: Conexiones y configuración de APM
- Paso 4: Configuración de Arduino Leonardo
- Paso 5: primer vuelo
Video: Drone seguidor de línea autónomo con Raspberry Pi: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Este tutorial muestra cómo se puede hacer eventualmente un dron seguidor de línea.
Este dron tendrá un interruptor de "modo autónomo" que ingresará al dron en modo. Por lo tanto, aún puede volar su dron como antes.
Tenga en cuenta que llevará tiempo construirlo y aún más tiempo ajustarlo. Pero la final … te hace pensar que vale la pena.
Para comenzar a crear su propio dron rastreador de línea autónomo, asegúrese de tener;
- Rasberry Pi 3 o Raspberry Pi Zero W con acceso SSH
- Dron listo para volar con controlador de vuelo APM o Pixhawk
- Arduino Leonardo u otro Arduino con velocidad de reloj rápida
- Transmisor de al menos 6 canales
- Cámara web USB compatible con Raspberry Pi y OpenCV
- Una PC
- 6 transistores de propósito general
- Cables de cableado
Paso 1: la idea y las conexiones
APM, también conocido como ArduPilot, es un controlador de vuelo basado en Arduino Mega. Esto significa que podemos modificarlo para que sea mejor para nuestro caso. Pero como no tengo la información para hacerlo, voy a ir a seguir otro camino.
Las Raspberry Pi, desafortunadamente, no son sensibles al tiempo, lo que significa que no pueden lidiar con señales PPM.
Por eso necesitamos la placa Arduino adicional.
De esta manera, Raspberry Pi procesará las imágenes y calculará las instrucciones de vuelo y las enviará a Arduino a través de la interfaz Serial UART. La tarjeta Arduino permanecerá aquí como un codificador / decodificador PPM, que codifica las instrucciones de vuelo en señales PPM que APM desea. Para tener una idea, puede examinar el diagrama de circuito simbólico.
Raspberry Pi se comportará como transmisor de telemetría junto con la línea de detección.
El circuito esencial se muestra en las imágenes. Continuaré explicando en los próximos pasos.
Paso 2: Conexiones y configuración de Raspberry Pi
Raspberry Pi se conectará al adaptador Wi-Fi (opcional), cámara web USB, Arduino Leonardo a través de USB, APM a través de la interfaz en serie incorporada. APM - Se muestra la conexión RPI con detalles en las imágenes.
Para configurar, tiene dos opciones: Raspbian puro con los paquetes necesarios o una imagen especial para la conexión MAVLink llamada APSync. Si va a utilizar Raspbian, asegúrese de haber instalado estos paquetes:
sudo apt-get update
sudo apt-get install -y pantalla python-wxgtk3.0 python-matplotlib sudo apt-get install -y python-opencv python-pip python-numpy python-dev sudo apt-get install -y libxml2-dev libxslt-dev python- lxml sudo pip instalar futuro pymavlink mavproxy pyserial
Para usar la interfaz serial incorporada de Raspberry Pi, debe decirle al sistema operativo que no la use. Para hacerlo, escriba
sudo raspi-config
y siga Opciones de interfaz> Interfaz serial
Debe deshabilitar la interfaz serial pero habilitar el hardware serial.
En este punto, el resto es adecuado tanto para Raspbian como para APSync.
En el directorio de inicio, cree tres archivos: secuencia de comandos de reinicio y secuencia de comandos del procesador de imágenes. La segunda línea hace que el script de reinicio sea ejecutable.
toque reboot.sh image_processor.py
chmod + x reboot.sh
Copie todas las líneas de los archivos que se indican a continuación en su directorio de inicio (/ home / pi) en Raspberry Pi.
El script de reinicio contendrá activadores que activarán el procesador de imágenes y los scripts de telemetría. También pocos ajustes. Tenga en cuenta que si no desea la función de telemetría, agregue # antes de esa línea.
nano reboot.sh
#! / bin / bash
python3 /home/pi/image_processor.py
Guárdelo con CTRL + O y salga con CTRL + X. El último paso es registrarlo en el archivo de inicio del sistema operativo, rc.local
sudo nano /etc/rc.local
Agregue esta línea sobre la salida 0:
/home/pi/reboot.sh
Nuestro script de reinicio se ejecutará en cada arranque.
Queremos que Raspberry Pi grabe video en vivo, lo procese sobre la marcha, calcule las instrucciones de vuelo, lo envíe al controlador de vuelo y sea telemetría. Pero dado que Raspberry Pi no puede generar la señal PPM que APM quiere, necesitamos otra forma de lograrlo.
Raspberry Pi enviará su salida de procesamiento de imágenes a Arduino (en mi caso Arduino Leonardo) a través del puerto serie. Arduino generará una señal PPM a partir de esa entrada y la enviará al controlador de vuelo a través de cables de puente. Todo esto es para Raspberry Pi.
Pasemos al siguiente paso.
Paso 3: Conexiones y configuración de APM
Las cosas sobre APM son simples ya que ya está listo para volar. Necesitamos conocer las velocidades en baudios de los puertos seriales y asegurarnos de que el puerto TELEM esté habilitado.
En su software terrestre, en mi caso Mission Planner, verifique la lista de parámetros del controlador de vuelo y descubra las velocidades en baudios. Por ejemplo, SERIAL_BAUD es la velocidad en baudios USB y SERIAL_BAUD1 es la velocidad en baudios del puerto TELEM para APM. Tenga en cuenta que los valores.
La parte más importante son las conexiones de los pines INPUT. Como se muestra en la imagen, conecte los pines digitales 4 de Arduino a través del 9. Es posible que desee utilizar un breadbord para esto, ya que vamos a agregar algunos transistores y salidas de receptor. (Ver imágenes) (Los transistores estarán funcionando en caso de que quieras tomar el control de tu dron)
ARD 4 ↔ APM ENTRADA 1
ARD 5 ↔ APM ENTRADA 2
ARD 6 ↔ APM ENTRADA 3
ARD 7 ↔ APM ENTRADA 4
ARD 8 ↔ APM ENTRADA 5
ARD 9 ↔ APM ENTRADA 6
Conecte todos los pines de 5V en la entrada APM al pin Arduino Leonardo 5V. Asimismo, conecte todos los pines GND de entrada APM al pin Arduino Leonardo GND.
Paso 4: Configuración de Arduino Leonardo
Hemos conectado todos los cables para Leonardo, por lo que solo queda el código.
Sube el código dado a continuación a tu Arduino Leonardo. Preste atención a las velocidades en baudios.
Paso 5: primer vuelo
Cuando haya terminado con todos los pasos anteriores, significa que está listo.
Encienda todas las tarjetas y conéctese con SSH a Raspberry Pi. Escriba terminal:
sudo su
mavproxy.py --master = / dev / [SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --aircraft [CUSTOM NAME
La interfaz serial incorporada predeterminada de Raspberry Pi es ttyS0 (/ dev / ttyS0)
La velocidad en baudios del puerto APM TELEM predeterminado es 57600
La velocidad en baudios del puerto USB APM predeterminado es 115200
Puedes darle cualquier nombre a tu avión, elígelo sabiamente, para que puedas reconocerlo más tarde.
Si todo está bien, ahora conéctese a su Raspberry Pi a través de VNC, para que pueda ver lo que ve el dron en tiempo real.
Ahora puedes armar tu dron. Emocionante, ¿verdad?
Quítese el dron y vuele por encima de la línea. Ahora, puede activar el modo de seguimiento de línea usando el interruptor CH6.
Recomendado:
Robot seguidor de línea con PICO: 5 pasos (con imágenes)
Robot seguidor de línea con PICO: antes de que seas capaz de crear un robot que pueda acabar con la civilización tal como la conocemos y sea capaz de acabar con la raza humana. Primero debes poder crear los robots simples, los que pueden seguir una línea dibujada en el suelo, y aquí es donde vas a
Robot seguidor de línea con Arduino Uno y L298N: 5 pasos
Robot seguidor de línea con Arduino Uno y L298N: Line Flower es un robot muy simple ideal para principiantes en electrónica
Pizarra blanca para el aula de Wallrides del seguidor de línea de Arduino: 8 pasos (con imágenes)
Pizarra blanca Arduino Line Follower Wallrides Classroom: ¡Seguir la línea en el suelo es demasiado aburrido! Intentamos mirar desde un ángulo diferente a los seguidores de línea y llevarlos a otro plano, a la pizarra de la escuela
Seguidor de línea con Arduino - Proyecto de bricolaje fácil: 6 pasos
Seguidor de línea con Arduino | Proyecto de bricolaje fácil: en este tutorial, crearemos un seguidor de línea usando Arduino Partes necesarias: Chasis: BO Motores y ruedas: https://amzn.to/2Yjh9I7 L298n Motor Driver: https://amzn.to/2IWNMWF Sensor IR : https://amzn.to/2FFtFu3 Arduino Uno: https://amzn.to/2FyTrjF J
Robot seguidor de línea controlado móvil con evitación de obstáculos: 6 pasos
Robot seguidor de línea controlado móvil con evitación de obstáculos: esta era solo una idea en la que varias características como evitar obstáculos, seguidor de línea, control móvil, etc. se combinaron y se convirtieron en una sola pieza. Todo lo que necesita es un controlador con algunos sensores y un atuendo para esta configuración. En esto, yo ha