t3-gem-o1 konfigürasyonu kullanılarak çalışır. Uçuş yazılımı kart
açıldığında otomatik olarak başlar ve QGroundControl yer kontrol uygulaması
araca ağ üzerinden bağlanır.
Bağımsız bir NuttX derlemesinin aksine PX4, hem NuttX’i hem de uygulama
framework’ünü git submodule olarak barındırır. Bu nedenle recursive bir klonlama,
Gemstone’a uyarlanmış doğru NuttX’i otomatik olarak çeker; NuttX’i ayrıca
indirmenize veya derlemenize gerek yoktur.
1. Derleme
1.1. Kaynak Kodları İndirme
Ubuntu/Debian sistemlerde önce indirme ve derleme için gereken araçları paket yöneticisi ile kurun:--recursive bayrağı, doğru NuttX’i (Gemstone px4 dalı) ve NuttX‑apps’i
platforms/nuttx/NuttX dizinine yerleştirir; böylece ayrı bir NuttX indirmesi
gerekmez. --recursive olmadan klonladıysanız, submodule’leri sonradan
git submodule update --init --recursive ile çekebilirsiniz.
1.2. Python Ortamının Kurulumu
PX4’ün build sistemikconfiglib, empy ve jinja2 gibi bir dizi Python
aracına dayanır. Güncel Debian/Ubuntu sürümleri sistem genelinde pip
kurulumunu kısıtladığından, bu araçları bir sanal ortama kurun (bölüm 1.1’de
klonlanan PX4-Autopilot dizininden çalıştırın):
source ~/px4-venv/bin/activate ile aktifleştirin.
1.3. Projeyi Derleme
PX4, belirli bir kart hedefini doğrudan derler; bu nedenle ayrı bir konfigürasyon adımı gerekmez. Bölüm 1.2’deki Python ortamı aktifken Gemstone kart imajını derleyin:build/t3gemstone_o1_default/t3gemstone_o1_default.elf dosyasını .bin ve
.px4 dosyalarıyla birlikte üretir.
2. Çalıştırma
Bare NuttX imajında olduğu gibi PX4 de ana domain R5F çekirdeğinde çalışır ve Linux ya da U-Boot’tanremoteproc mekanizması ile yüklenir. PX4 R5F
çekirdeğinde çalışırken A53 çekirdeklerinde Linux çalışmaya devam eder.
Remoteproc ile çekirdeklere yüklenecek program dosyaları /lib/firmware dizini
altına önceden tanımlı isimlerde kopyalanmalıdır. Sistem başlangıcında, remoteproc
mekanizması programları ilgili çekirdeklere otomatik olarak yükleyecektir. PX4’ü
remoteproc ile çalıştırmak için aşağıdaki adımları takip edin.
- Derleme sonucu oluşan
build/t3gemstone_o1_default/t3gemstone_o1_default.elfdosyasını/lib/firmwaredizininej722s-main-r5f0_0-fwisminde kopyalayın. - Kartı yeniden başlatın.
- UART-MAIN1’in 40-pin HAT’te yer alan GPIO-14 (TX) ve GPIO-15 (RX) pinlerine USB-to-TTL cihazı bağlayarak NuttShell’e erişebilirsiniz.
- Açılan
nshkonsolundanver all,topveuorb statusgibi komutlarla çalışan sistemi inceleyebilirsiniz.
3. Sensörlerin Kullanımı
Kart üzerindeki InvenSense ICM‑20948 bir ivmeölçer, jiroskop ve entegre AK09916 manyetometre içeren 9 eksenli bir IMU R5F’ye SPI üzerinden bağlıdır. Açılış betiği (bölüm 4) sürücüyü uçuş yığınının geri kalanıyla birlikte zaten başlatır; aşağıdaki komutlar sürücüyle tek başına deney yaparken kullanışlıdır:-s SPI arayüzünü, -b 1 SPI hattını, -c 3 chip-select’i seçer ve -M
ek olarak manyetometreyi etkinleştirir. Sürücü çalışmaya başladıktan sonra, canlı
sensör verilerini PX4’ün uORB ara katmanı üzerinden listener komutuyla
izleyebilirsiniz:
uorb top tüm aktif topic’lerin yayın oranlarını,
work_queue status ise sürücünün iş kuyruğunun zamanlamasını gösterir.
4. Uçuş Yazılımının Otomatik Başlatılması
R5F açıldığında PX4 tüm bileşenlerini otomatik olarak başlatır: sensör sürücüsü, duruş (attitude) kestirimi, uçuş kontrolcüleri ve telemetri bağlantısı. Kart, Generic Quadcopter X gövdesi olarak yapılandırılmıştır. Elle başlatma komutlarına gerek yoktur. Sistemin çalıştığınınsh konsolundan doğrulayabilirsiniz. uorb top komutu, PX4 bileşenlerinin yayınladığı veri
topic’lerini güncelleme oranlarıyla birlikte listeler; sensör ve duruş topic’lerinin düzenli bir hızda güncelleniyor
olması uçuş yazılımının çalıştığı anlamına gelir:
listener komutu bir topic’in canlı içeriğini yazdırır. Örneğin aracın anlık duruşu:
5. Ağ Bağlantısı ve QGroundControl
PX4 ile Linux tarafı bir ağ bağlantısıyla birbirine bağlıdır: NuttX tarafındaeth0, Linux tarafında eth1.
- NuttX IP’si:
192.168.10.2 - Linux
eth1IP’si:192.168.10.1 - MAVLink Portu: UDP
14550
5.1. Ağ Modülünün Kurulumu
Ağ modülü paketini kurun ve kartı yeniden başlatın:5.2. Bağlantının Yapılandırılması
Bağlantının Linux tarafını yapılandırın (her açılıştan sonra gereklidir):nsh konsolundan yapılandırın ve bağlantıyı doğrulayın:
5.3. Kart Ağına PC’den Erişim
Gemstone kartını USB Type-C kablosu ile bilgisayarınıza bağlayın ve192.168.10.0/24 ağına kart üzerinden
erişilebilmesi için bir rota ekleyin:
5.4. QGroundControl Bağlantısı
QGroundControl (QGC), aracı PC üzerinden izlemek ve kontrol etmek için kullanılan uygulamadır. qgroundcontrol.com adresinden kurun ve başlatın.192.168.7.60 adresini bir önceki adımda bulduğunuz PC adresinizle değiştirerek telemetri bağlantısını nsh
konsolundan başlatın:
6. Sorun Giderme
6.1. Linux Tarafında eth1 Arayüzü Yok
virtio_net modülünün yüklü olduğunu kontrol edin:
6.2. MAVLink Bağlantısı Yok
PC’den ağ yapılandırmasını doğrulayın; kart yanıt vermelidir:tx rate değeri sıfırdan
büyük olmalıdır:

