Drone GPS Konumlandırma

Katılım
10 Kas 2019
Mesajlar
12
Puanları
1
İyi akşamlar,

Yapmak istediğim şey şu, drone'u elimle belirli yerlere götürüp gps ile bu konumları kaydetmesini sağlayacağım, sonrasında herhangi bir konumdan drone'u çalıştırıp bu işaretli konumlara gitmesini sağlayacağım. Mikrodenetleyici olarak STM32F4 kullanmam gerekiyor. Fakat çözümlemek istediğim şey şu, drone bu hafızasına kayıtlı konumlara nasıl gidecek? stm32f4'e özel bir fonksiyon mu kullanacağım? Drone'un bu belirli konum bilgilerine herhangi bir konumdan nasıl gideceğine dair algoritmayı oluşturmak istiyorum. Otonom uçuş mekanizmasının arkasındaki mantığı anlamaya çalışıyorum ve buna göre yazılım oluşturmaya çalışıyorum.
 
Sen istediğin şeyin ne kadar karmaşık olduğunun farkında değilsin.
 
Çoğu kişi gibi benim de dron merakım var, hatta her ne kadar sinyal gecikmesi olsa da gözlüğünden dünyayı seyretmek isterim. Hiç böyle bir şey yapmadım. Sadece gps-tracker programlarından gezilen yeri işaretlemek için *.kmz, *.kml ve yol güzergahını *.gpx uzantılı dosyalar halinde kaydettim. Bu dosyalar daha sonra Google Earth Pro veya benzeri programlarla okunabiliyor ve harita üzerinden gittiğiniz yerleri görebiliyorsunuz.

Konuya gelirsek, elinizdeki dron'da muhakkak ki gps modulü vardır. Dolaysıyla bağlantı sağlandığında belli bir tuş ya da komutla bulunduğu yerden itibaren yukarıdan (gps-glanoss uydularından) her saniye gelen bilgilerden konumu hesaplattığı için siz de belli bir aralık, mesela 3 saniyede bir hesaplanan dakika derece (ne cinsinden kullanacaksanız) olarak bir dizide (array veya bir sd kart okuyucu/yazıcı üzerine) kaydederek, kayıt sonunda da uçuş modunda kendi kendine en son konumdan başlayıp tersine konumları tutturmaya çalışırsınız. Uçuş esnasında çok sapan (bazen bilgi gelmeyebilir) hatalı konum çıkmasının kontrolunü ve herhangi bir engele çarpmamak için engel sensörünüz de olmalıdır.

Algoritma olarak gidilecek konuma göre mevcut konum değerlerini değiştirecek yönde dronun yönlenmesi yazılım tarafından otomatik olarak yapılacak. Burada aynı konunu saniyesine kadar tutturmak zor olacağından belli bir oranda tutturması diye programda opsiyon konulabilir.
 
Drone'un bu belirli konum bilgilerine herhangi bir konumdan nasıl gideceğine dair algoritmayı oluşturmak istiyorum.

GPS koordinatları waypoint olarak bir şekilde kaydedilecek. EEprom, SDcart vs.
Sonrasında iki GPS koordinatı arasındaki açı, uzaklık hesaplanacak.
Bu linkte nasıl hesaplanacağı anlatılıyor.
Bearing/Distance

Hız henüz sıfırsa pusula sensöründen alınan yön bilgisi manyetik sapma kadar düzeltilip yola çıkılacak.
Hız belli bir değerin üstüne çıkılınca GPS den alınan yön bilgisi de kullanılabilir.

Rüzgar vs. nedenlerle olaşacak kaymadan dolayı, güncel koordinata göre hedefe olan açı hesabı belli aralıklarla tekrarlanıp hedef açı güncellenecek.
Hedefe olan mesafe belli bir epsilon değerinin altına düşünce hedefe varılmış olacak.
 

Cevabınız için teşekkür ederim ancak bu site ve anlattıklarınızı STM32F4 mikrodenetleyicisi ile nasıl uygulayabilirim? Aslında tam olarak sormak istediğim şey şu, kurulan algoritmaya göre drone üzerindeki motorlara mikrodenetleyiciden nasıl bir PWM sinyal girdisi olacak ve motorlar o belirlenen konuma otonom olarak uçuşu sağlayacak. Algoritma ile ilgili verdiğiniz bilgiler için teşekkür ederim biraz da yazılım ve hareket mekanizması tarafında konuşabilir miyiz?
 
Cevabınız için teşekkür ederim ancak bu site ve anlattıklarınızı STM32F4 mikrodenetleyicisi ile nasıl uygulayabilirim?
32F4 kullanıyorsanız Keil, IAR, GCC vb. bir C derleyicisi kullanacaksınız sanırım.
Sitede excel, javascript ile verilen örnekleri C diline çevirerek başlanabilir.

Bu konu oldukça karışık. Dronu havada stabil bir şekilde tutabilmek bu konuda sorulan asıl sorudan çok daha karışık.
Bilgi birikiminizi bilmediğimden ne önerebileceğim konusu benim için muallak. Manuel kontrol edilen bir drone otonom hale getirilecek, sıfırdan otonom bir drone mu tasarlanacak.?

Varolan, manuel kontrol edilen bir drone kullanıldığını varsayarsak, dronu bir koordinattan diğerine otonom olarak götürebilmek için bence en kolay yol otonom moda geçildiğinde kumanda sinyallerine müdahale etmek olur. Direkt drone üzerinde az maliyetle(zaman/emek) uygulanabilir.

Yok, otonom dronu sıfırdan tasarlayacağım diyorsanız bayağı bir bilgi birikimi gerekir.
Sensörler detayına girmeden önce Euler, quaternion, analitik geometri, PID vb. konuları bilmeniz, ve mesela DCM (direction cosine matrix) gibi bir algoritma ile verileri işleyebilmeniz gerekir. GPS okumak, parse etmek, bir koordinattan, diğerine olan açı hesabı vs. bunların yanında çok basit kalır.
Bu durumda da açık kaynak kodlu bir drone projesini alıp, irdeleyip modifiye etmek daha kolay olur diye düşünüyorum.

Daha doğru yönlendirme/öneri için ne yapmak istediğinizi biraz daha açmanız lazım.
 
Bu iş için önce navigasyon bilgisi gerekir. Navigasyon da başlı başına bir ders konusudur. Biraz akıl karıştırıcıdır. Ama vektörler konusunu iyi biliyorsanız kolayca anlarsınız. Size kaptanın kılavuzu adıonda bir kitap vardı, onu tavsiye edebilirim. Veya navigasyonla ilgili herhangi bir kitap bulursanız onu iyice inceleyin. Böylece ne yapmanız gerektiğini anlamaya başlayacaksınız. Bu işler için de aliexpress'te falan bazı devreler de var. Onları da kullanabilirsiniz.
 
Yapmak istediğim aslında bir drone'un otonom uçuş yazılımını STM32F4 ile oluşturmak. Bunu varolan bir drone yazılımını modifiye ederek de gerçekleştirebilirim sıfırdan da yaratabilirim. Her iki seçenek de uygun ancak zaman problemi olduğu için varolan açık kaynak kodlu bir yazılımı modifiye etmek daha uygun gibi görünüyor. Önceden belirleyeceğim noktalara drone'un otonom uçuş sağlaması için hangi açık kaynak kodlu yazılımı incelemeliyim? İsterseniz doküman, kaynak vs de paylaşabilirsiniz hocam
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…