İçindekiler:
- Adım 1: Fikir ve Bağlantılar
- 2. Adım: Raspberry Pi Bağlantıları ve Yapılandırması
- 3. Adım: APM Bağlantıları ve Yapılandırma
- Adım 4: Arduino Leonardo Yapılandırması
- Adım 5: İlk Uçuş
Video: Raspberry Pi ile Otonom Hat Takipçisi Drone: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
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, 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 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:
Raspberry Pi - OpenCV Nesne Takibi ile Otonom Mars Gezgini: 7 Adım (Resimlerle)
Raspberry Pi - OpenCV Nesne Takipli Otonom Mars Gezgini: Bir Raspberry Pi 3, Açık CV nesne tanıma, Ultrasonik sensörler ve dişli DC motorlar ile güçlendirilmiştir. Bu gezici, eğitildiği herhangi bir nesneyi takip edebilir ve herhangi bir arazide hareket edebilir
İlk Müdahale Edenlere Yardımcı Olması İçin Kızılötesi Kameralı Otonom Drone: 7 Adım
Kızılötesi Kameralı Otonom Drone İlk Müdahale Edicilere Yardımcı Oluyor: Bir Dünya Sağlık Örgütü raporuna göre, doğal afetler her yıl yaklaşık 90.000 kişiyi öldürüyor ve dünya çapında 160 milyona yakın insanı etkiliyor. Doğal afetler arasında depremler, tsunamiler, volkanik patlamalar, toprak kaymaları, kasırgalar, sel
Otonom Drone: 7 Adım
Otonom Drone: Bu projede, Mission Planner ve MATLAB kullanarak otonom uçuşu araştırmaya geçmeden önce bir drone inşa etme ve yapılandırma sürecini öğreneceksiniz. Lütfen bu talimatın yalnızca rehberlik amaçlı olduğunu unutmayın. Drone kullanmak çok d
Bluetooth ile Çizgi Takipçisi: 7 Adım
Bluetooth'lu Çizgi Takipçisi: Bu talimat bir okul projesi için yapıldı. Birkaç spesifikasyona sahip bir çizgi takipçisi yapmak zorunda kaldık:- 50€'luk bir hedef fiyatla ucuz olmalıydı.- Mümkün olduğunca hızlı: > 0,5m/s.- Çizginin genişliği: 1,5cm / bir eğrinin yarıçapı: 10cm / kesişme
Verimlilik Takipçisi - Raspberry Pi Tarafından Desteklenir: 9 Adım (Resimlerle)
Verimlilik İzleyici - Güçlendirilmiş Raspberry Pi: Verimlilik İzleyicisi sihirli bir aynadır, ancak zamanı, hava durumunu ve motive edici bir alıntıyı görüntülemek yerine 4 şeyi görüntüler; o gün.(KurtarmaZamanı)Yo