İçindekiler:

Raspberry Pi ile Otonom Hat Takipçisi Drone: 5 Adım
Raspberry Pi ile Otonom Hat Takipçisi Drone: 5 Adım

Video: Raspberry Pi ile Otonom Hat Takipçisi Drone: 5 Adım

Video: Raspberry Pi ile Otonom Hat Takipçisi Drone: 5 Adım
Video: BUNU YAŞAMAYAN YOKTUR 😂 #emirbeşli #shorts 2024, Temmuz
Anonim
Raspberry Pi ile Otonom Hat Takipçisi Drone
Raspberry Pi ile Otonom Hat Takipçisi Drone

Bu eğitim, sonunda nasıl çizgi takipçisi drone yapabileceğinizi gösterir.

Bu drone, drone moduna girecek bir "otonom mod" anahtarına sahip olacak. Böylece dronunuzu eskisi gibi uçurabilirsiniz.

Lütfen inşa etmenin zaman alacağını ve ayarlamanın daha da fazla zaman alacağını unutmayın. Ama son… buna değer olduğunu düşündürür.

Kendi otonom hat izci dronunuzu oluşturmaya başlamak için şunlara sahip olduğunuzdan emin olun;

  • SSH erişimli Rasberry Pi 3 veya Raspberry Pi Zero W
  • APM veya Pixhawk uçuş kontrolörlü Uçmaya Hazır drone
  • Arduino Leonardo veya hızlı saat hızına sahip başka bir Arduino
  • En az 6 CH verici
  • Raspberry Pi ve OpenCV'nin desteklediği USB Webcam
  • bilgisayar
  • 6 genel amaçlı transistör
  • Kablolama kabloları

Adım 1: Fikir ve Bağlantılar

Fikir ve Bağlantılar
Fikir ve Bağlantılar

APM, diğer adıyla ArduPilot, Arduino Mega tabanlı bir uçuş kontrolörüdür. Bu, durumumuz için en iyi olacak şekilde değiştirebileceğimiz anlamına gelir. Ama bunu yapacak bilgiye sahip olmadığım için başka bir yol izleyeceğim.

Raspberry Pi'ler ne yazık ki zamana duyarlı değildir, yani PPM sinyalleriyle baş edemezler.

Bu yüzden ek Arduino kartına ihtiyacımız var.

Bu sayede Raspberry Pi görüntüleri işleyip uçuş talimatlarını hesaplayacak ve Seri UART arayüzü üzerinden Arduino'ya gönderecektir. Arduino kartı, uçuş talimatlarını APM'nin istediği PPM sinyallerine kodlayan bir PPM kodlayıcı/kod çözücü olarak burada duracaktır. Fikir sahibi olmak için sembolik devre şemasını inceleyebilirsiniz.

Raspberry Pi, algılama hattının yanında telemetri vericisi gibi davranacaktır.

Temel devre resimlerde gösterilmiştir. Sonraki adımlarda açıklamaya devam edeceğim.

2. Adım: Raspberry Pi Bağlantıları ve Yapılandırması

Raspberry Pi Bağlantıları ve Yapılandırması
Raspberry Pi Bağlantıları ve Yapılandırması
Raspberry Pi Bağlantıları ve Yapılandırması
Raspberry Pi Bağlantıları ve Yapılandırması

Raspberry Pi, Wi-Fi Adaptörüne (opsiyonel), USB Webcam'e, USB üzerinden Arduino Leonardo'ya, dahili seri arayüz üzerinden APM'ye bağlanacaktır. APM - RPI bağlantısı resimlerde detaylarıyla gösterilmiştir.

Konfigüre etmek için iki seçeneğiniz var: gerekli paketlerle saf Raspbian veya APSync adı verilen MAVLink bağlantısı için özel görüntü. Raspbian kullanacaksanız, şu paketleri kurduğunuzdan emin olun:

sudo apt-get güncellemesi

sudo apt-get kurulumu -y ekranı python-wxgtk3.0 python-matplotlib sudo apt-get kurulumu -y python-opencv python-pip python-numpy python-dev sudo apt-get kurulumu -y libxml2-dev libxslt-dev python lxml sudo pip gelecekteki pymavlink mavproxy pyserial'ı kurun

Raspberry Pi'nin yerleşik seri arayüzünü kullanmak için OS'ye kullanmamasını söylemelisiniz. Bunu yapmak için şunu yazın

sudo raspi yapılandırması

ve Arayüz seçenekleri > Seri arabirimi izleyin

Seri arabirimi devre dışı bırakmanız, ancak seri donanımı etkinleştirmeniz gerekir.

Bu noktada geri kalanı hem Raspbian hem de APSync için uygundur.

Ana dizinde üç dosya oluşturun: yeniden başlatma komut dosyası ve görüntü işlemci komut dosyası. İkinci satır, yeniden başlatma komut dosyasını çalıştırılabilir hale getirir.

yeniden başlatma.sh image_processor.py'ye dokunun

chmod +x yeniden başlatma.sh

Aşağıdaki dosyalarda bulunan tüm satırları Raspberry Pi'deki ana dizininize (/home/pi) kopyalayın.

Yeniden başlatma komut dosyası, görüntü işlemcisini ve telemetri komut dosyalarını tetikleyecek tetikleyicileri içerecektir. Ayrıca birkaç ayar. Telemetri özelliği istemiyorsanız, bu satırın başına # ekleyin.

nano yeniden başlatma.sh

#!/bin/bash

python3 /home/pi/image_processor.py

CTRL+O ile kaydedin ve CTRL+X ile çıkın. Bununla ilgili son adım, onu işletim sistemi başlangıç dosyası olan rc.local'a kaydettirmektir.

sudo nano /etc/rc.local

Bu satırı 0 çıkışının üstüne ekleyin:

/home/pi/reboot.sh

Yeniden başlatma komut dosyamız her önyüklemede yürütülecektir.

Raspberry Pi'nin canlı video kaydetmesini, anında işlemesini, uçuş talimatlarını hesaplamasını, uçuş kontrol cihazına göndermesini ve telemetri olmasını istiyoruz. Ancak Raspberry Pi, APM'nin istediği PPM sinyalini üretemediğinden, bunu başarmak için başka bir yola ihtiyacımız var.

Raspberry Pi, görüntü işleme çıktısını Seri Port üzerinden Arduino'ya (benim durumumda Arduino Leonardo) gönderecek. Arduino, bu girişten PPM sinyali üretecek ve jumper kabloları aracılığıyla Flight Controller'a gönderecektir. Bunların hepsi Raspberry Pi için.

Bir sonraki adıma geçelim.

3. Adım: APM Bağlantıları ve Yapılandırma

APM Bağlantıları ve Yapılandırma
APM Bağlantıları ve Yapılandırma

APM ile ilgili şeyler, zaten uçmaya hazır olduğu için basittir. Seri portların baud hızlarını bilmemiz ve TELEM portunun etkin olduğundan emin olmamız gerekiyor.

Yer yazılımınızda, benim durumumda Mission Planner, uçuş kontrolörünün parametre listesini kontrol edin ve baud hızlarını bulun. Örneğin, SERIAL_BAUD, USB baud hızıdır ve SERIAL_BAUD1, APM için TELEM bağlantı noktası baud hızıdır. Değerlere dikkat edin.

En önemli kısım INPUT pinlerinin bağlantılarıdır. Resimde görüldüğü gibi Arduino'nun digital pinlerini 4'e 9 bağlayın. Bunun için bir breadbord kullanmak isteyebilirsiniz, çünkü bazı transistörler ve alıcı çıkışları ekleyeceğiz. (Resimlere bakınız) (Drone'unuzun kontrolünü ele almak istemeniz durumunda transistörler çalışacaktır)

ARD 4 ↔ APM GİRİŞİ 1

ARD 5 ↔ APM GİRİŞİ 2

ARD 6 ↔ APM GİRİŞİ 3

ARD 7 ↔ APM GİRİŞİ 4

ARD 8 ↔ APM GİRİŞİ 5

ARD 9 ↔ APM GİRİŞİ 6

APM Girişindeki tüm 5V pinlerini Arduino Leonardo 5V pinine bağlayın. Aynı şekilde tüm APM Giriş GND pinlerini Arduino Leonardo GND pinine bağlayın.

Adım 4: Arduino Leonardo Yapılandırması

Leonardo için tüm kabloları bağladık, böylece sadece kod kaldı.

Aşağıda verilen kodu Arduino Leonardo'nuza yükleyin. Baud hızlarına dikkat edin.

Adım 5: İlk Uçuş

Önceki tüm adımları tamamladığınızda, hazır olduğunuz anlamına gelir.

Tüm kartları güçlendirin ve SSH ile Raspberry Pi'ye bağlanın. Terminali yazın:

sudo su

mavproxy.py --master=/dev/[SERIAL INTERFACE] --baudrate [TELEM PORT BAUDRATE] --aircraft [ÖZEL ADI

Varsayılan Raspberry Pi yerleşik seri arabirimi ttyS0'dır (/dev/ttyS0)

Varsayılan APM TELEM bağlantı noktası baud hızı 57600'dür

Varsayılan APM USB bağlantı noktası baud hızı 115200'dür

Uçağınıza herhangi bir isim verebilir, akıllıca seçin, böylece daha sonra tanıyabilirsiniz.

Her şey yolundaysa, şimdi Raspberry Pi'nize VNC aracılığıyla bağlanın, böylece drone'nun gerçek zamanlı olarak ne gördüğünü izleyebilirsiniz.

Artık dronunuzu silahlandırabilirsiniz. Heyecan verici, değil mi?

Uçağınızı çıkarın ve hat rayının üzerinde uçun. Artık CH6 anahtarını kullanarak hat takip modunu aktif hale getirebilirsiniz.

Önerilen: