İçindekiler:

Ultrasonik Tabanlı Konumlandırma Sistemi: 4 Adım (Resimlerle)
Ultrasonik Tabanlı Konumlandırma Sistemi: 4 Adım (Resimlerle)

Video: Ultrasonik Tabanlı Konumlandırma Sistemi: 4 Adım (Resimlerle)

Video: Ultrasonik Tabanlı Konumlandırma Sistemi: 4 Adım (Resimlerle)
Video: SAMSUNG GALAXY WATCH 4 (CLASSIC) BİLİNMEYEN ÖZELLİKLER ⌚️ | 22 İpucu 2024, Kasım
Anonim
Ultrasonik Tabanlı Konumlandırma Sistemi
Ultrasonik Tabanlı Konumlandırma Sistemi

Ultrasonik radarların arduino cihazları için bulduğum tüm versiyonları (Arduino - Radar/Ultrasonik Dedektör, Arduino Ultrasonik Radar Projesi) çok güzel radarlar ama hepsi "kör". Yani radar bir şey tespit ediyor ama neyi tespit ediyor?

Bu yüzden kendimi objeleri algılayabilecek ve onları tanımlayabilecek bir sistem geliştirmeyi öneriyorum. Başka bir deyişle, GPS cihazları olmayan ancak ultrasonik dedektörler kullanan bir konumlandırma sistemi.

Beğeneceğinizi umduğum sonuç budur.

Adım 1: Nasıl Çalışır?

O nasıl çalışır?
O nasıl çalışır?

Konumlandırma sistemleri, ultrasonik dedektörler ve id_node 1, 2 ve 3'ün 90º'lik bir açıyı süpüren bir dikdörtgen veya kare oluşturan ve aralarındaki mesafelerin resim 1'de gösterildiği gibi bilindiği üç sensör istasyonundan oluşur.

const kayan nokta mesafesi1ve2 arasında = 60.0;

const kayan nokta mesafesi2ve3 arasında = 75.0;

Bu sensörler, id_node'u 3'ten büyük olan ve 170°'lik bir açıyı tarayan bir ultrasonik dedektöre sahip olan diğer nesnelerin mesafesini ve açısını ölçer.

Hepsi mesafeleri, ölçülen açıları ve id_node'u kablosuz iletişim kullanarak başka bir ana istasyona gönderir, analiz eder, trigonometri hesaplamasını kullanarak nesnelerin konumunu hesaplar ve tanımlar.

Girişimleri önlemek için ana istasyon, tüm ultrasonik dedektörleri, her an yalnızca bir ultrasonik dedektörün ölçüm yaptığı şekilde senkronize eder.

Bundan sonra ve bir seri iletişim kullanarak ana istasyon bilgileri (açı, mesafe, id_object) sonuçları çizmek için bir işleme çizimine gönderir.

Adım 2: Üç Sensör İstasyonunu ve Nesneleri Yapılandırma

Üç Sensör İstasyonunu ve Nesneleri Yapılandırma
Üç Sensör İstasyonunu ve Nesneleri Yapılandırma
Üç Sensör İstasyonunu ve Nesneleri Yapılandırma
Üç Sensör İstasyonunu ve Nesneleri Yapılandırma

Her sensör istasyonunun tek işlevi, nesneleri algılamak ve ölçülen mesafe, açı ve kimlik düğümü listesini ana istasyona göndermektir.

Bu nedenle, algılamayı iyileştirmek ve algılama bölgesini sınırlamak için izin verilen maksimum algılama mesafesini (“valid_max_distance”) ve minimum olanı (“valid_min_distance”) (santimetre) güncellemeniz gerekir:

int valid_max_mesafe = 80;

int valid_min_mesafe = 1;

Bu sensör istasyonlarının id düğümü (aşağıdaki kodda “this_node”) 1, 2 ve 3'tür ve ana istasyonun id düğümü 0'dır.

const uint16_t this_node = 01; // Düğümümüzün Sekizli formatında adresi (Node01, Node02, Node03)

const uint16_t other_node = 00; //Ana düğümün adresi (Node00) Sekizli biçimde

Her sensör istasyonu süpürür ve 100º'lik açı (aşağıdaki kodda "max_angle")

#define min_angle 0

#define max_angle 100

Yukarıdaki gibi, bir nesnenin tek işlevi nesneleri algılamak ve ölçülen mesafelerin, açıların ve id nesnesinin listesini ana istasyona göndermektir. Bir nesnenin kimliği (aşağıdaki kodda "this_node") 3'ten büyük olmalıdır.

Her nesnenin süpürme ve 170º açısı ve yukarıdaki gibi maksimum ve minimum algılama mesafesini güncellemek mümkündür.

const uint16_t this_node = 04; // Düğümümüzün Sekizli formatında adresi (Node04, Node05, …)

const uint16_t other_node = 00; // Ana düğümün adresi (Düğüm00) Sekizli formatta int valid_max_distance = 80; int valid_min_mesafe = 1; #define min_angle 0 #define max_angle 170

Adım 3: Ana İstasyon Nasıl Yapılandırılır

Ana İstasyon Nasıl Yapılandırılır
Ana İstasyon Nasıl Yapılandırılır
Ana İstasyon Nasıl Yapılandırılır
Ana İstasyon Nasıl Yapılandırılır
Ana İstasyon Nasıl Yapılandırılır
Ana İstasyon Nasıl Yapılandırılır

Ana istasyonun işlevi, sensör istasyonlarının ve nesnelerin iletimlerini almak ve seri bağlantı noktasını kullanarak sonuçları, bunları çizmek için bir işleme taslağına göndermektir. Ayrıca, parazitleri önlemek için tüm nesneleri ve üç sensör istasyonunu, her seferinde yalnızca birinin ölçüm yaptığı şekilde senkronize eder.

Öncelikle sensör 1 ve 2 arasındaki mesafeyi (santimetre) ve 2 ile 3 arasındaki mesafeyi güncellemeniz gerekir.

const kayan nokta mesafesi1ve2 arasında = 60.0;

const kayan nokta mesafesi2ve3 arasında = 70.0;

Çizim, nesnelerin konumunu aşağıdaki şekilde hesaplar:

  • Nesnelerin (id_node 3'ten büyük) tüm aktarımları için, ultrasonik sensörlerin (id_node 1, 2 veya 3) her aktarımında aynı mesafeyi arayın.
  • Tüm bu noktalar, bir nesnenin konumu (taslakta "process_pointobject_with_pointssensor") olacak bir "adaylar" (mesafe, açı, id_node) listesi oluşturur.
  • Önceki listenin her bir "aday"ı için, "candidate_selected_between_sensor2and3" işlevi, ultrasonik sensör 2 ve 3'ün bakış açısından, aşağıdaki trigonometri koşuluyla hangilerinin eşleştiğini hesaplar (resim 2 ve 3'e bakın).

kayan mesafefroms2 = sin(radyan(açı)) * mesafe;

kayan mesafefroms3 = cos(radyan(angle_candidate)) * Distance_candidate; // Trigonometri koşulu 1 abs(distancefroms2 + Distancefroms3 - Distancebetween2and3) <= float(max_diference_distance)

Yukarıdaki gibi, önceki listenin her bir "aday"ı için, "candidate_selected_between_sensor1and2" işlevi, ultrasonik sensör 1 ve 2'nin bakış açısından aşağıdaki trigonometri ilişkisine uygun olanını hesaplar (bkz. resim 2 ve 3)

kayan uzaklık1 = günah(radyan(açı)) * uzaklık;kayan uzaklık2 = cos(radyan(açı_aday)) * uzaklık_candidate; // Trigonometri koşulu 2 abs(mesafeden1 + uzaklık2 - uzaklık1 ve2 arasındaki mesafe) <= kayan nokta(maks_fark_mesafe)

Yalnızca 1 ve 2 trigonometri koşullarıyla eşleşen adaylar (mesafe, açı, id_node), sensör istasyonları 1, 2 ve 3 tarafından algılanan tanımlanmış nesnelerdir

Bundan sonra sonuçlar, ana istasyon tarafından bir işleme çizimine gönderilmeleri için gönderilir.

Adım 4: Malzeme Listesi

Image
Image

Bir sensör istasyonu veya bir nesne için ihtiyaç duyulan malzeme listesi aşağıdaki gibidir:

  • Nano kurulu
  • Ultrasonik sensör
  • Mikro servo motor
  • NRF24L01 kablosuz modül
  • NRF24L01 adaptörü

ve ana istasyon için malzeme listesi aşağıdaki gibidir:

  • Nano kurulu
  • NRF24L01 kablosuz modül
  • NRF24L01 adaptörü

Önerilen: