Kazalo:

Ultrazvočni sistem za določanje položaja: 4 koraki (s slikami)
Ultrazvočni sistem za določanje položaja: 4 koraki (s slikami)

Video: Ultrazvočni sistem za določanje položaja: 4 koraki (s slikami)

Video: Ultrazvočni sistem za določanje položaja: 4 koraki (s slikami)
Video: Business Analyst Interview Questions and Answers | 35 Essential Questions 2024, November
Anonim
Ultrazvočni sistem pozicioniranja
Ultrazvočni sistem pozicioniranja

Vse različice ultrazvočnih radarjev, ki sem jih našel za arduino naprave (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project), so zelo lepi radarji, vendar so vsi "slepi". Radar nekaj zazna, kaj pa zazna?

Zato predlagam, da razvijem sistem, ki lahko zazna predmete in jih identificira. Z drugimi besedami, sistem za določanje položaja brez uporabe naprav GPS, ampak ultrazvočnih detektorjev.

To je rezultat, upam, da vam je všeč.

1. korak: Kako deluje?

Kako deluje?
Kako deluje?

Sisteme za določanje položaja tvorijo tri senzorske postaje z ultrazvočnimi detektorji in id_node 1, 2 in 3, ki tvorijo pravokotnik ali kvadrat, ki zavije pod kotom 90 ° in kjer so razdalje med njimi znane, kot je prikazano na sliki 1.

const plavajoča razdalja med 1 in 2 = 60,0;

const plavajoča razdalja med 2 in 3 = 75,0;

Ti senzorji merijo razdaljo in kot drugih predmetov z id_node večjim od 3, ki imajo tudi ultrazvočni detektor, ki premakne kot 170 °.

Vsi pošiljajo razdalje, izmerjene kote in id_node na drugo glavno postajo z uporabo brezžičnih komunikacij za analizo, izračun položaja predmetov z izračunom trigonometrije in njihovo identifikacijo.

Da bi se izognili motnjam, glavna postaja sinhronizira vse ultrazvočne detektorje tako, da v vsakem trenutku meri le en ultrazvočni detektor

Po tem in z uporabo serijske komunikacije glavna postaja pošlje informacije (kot, razdalja, id_objekt) na skico za obdelavo, da nariše rezultate.

2. korak: Kako konfigurirati tri postaje senzorjev in objekte

Kako konfigurirati tri senzorske postaje in objekte
Kako konfigurirati tri senzorske postaje in objekte
Kako konfigurirati tri senzorske postaje in objekte
Kako konfigurirati tri senzorske postaje in objekte

Edina funkcija vsake senzorske postaje je odkrivanje predmetov in pošiljanje glavne razdalje, kota in id vozlišča izmerjene glavne postaje.

Zato morate posodobiti največjo dovoljeno razdaljo zaznavanja (»valid_max_distance«) in najmanjšo (»valid_min_distance«) (centimetre), da izboljšate zaznavanje in omejite območje zaznavanja:

int valid_max_distance = 80;

int valid_min_distance = 1;

ID vozlišče teh senzorskih postaj ("this_node" v spodnji kodi) je 1, 2 in 3, id vozlišče glavne postaje pa 0.

const uint16_t this_node = 01; // Naslov našega vozlišča v oktalni obliki (Node01, Node02, Node03)

const uint16_t other_node = 00; // Naslov glavnega vozlišča (Node00) v oktalni obliki

Vsaka senzorska postaja premakne in kot 100 ° ("max_angle" v spodnji kodi)

#define min_angle 0

#define max_angle 100

Kot zgoraj je edina funkcija predmeta zaznavanje predmetov in pošiljanje seznama merjenih razdalj, kotov in id predmetov na glavno postajo. ID enega predmeta (»this_node« v spodnji kodi) mora biti večji od 3.

Vsak predmet premakne in ima kot 170 °. Kot zgoraj je mogoče posodobiti največjo in najmanjšo razdaljo zaznavanja.

const uint16_t this_node = 04; // Naslov našega vozlišča v oktalni obliki (Node04, Node05,…)

const uint16_t other_node = 00; // Naslov glavnega vozlišča (Node00) v oktalni obliki int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170

3. korak: Kako konfigurirati glavno postajo

Kako konfigurirati glavno postajo
Kako konfigurirati glavno postajo
Kako konfigurirati glavno postajo
Kako konfigurirati glavno postajo
Kako konfigurirati glavno postajo
Kako konfigurirati glavno postajo

Funkcija glavne postaje je sprejemanje prenosov senzorskih postaj in predmetov ter pošiljanje rezultatov prek serijskih vrat na procesno skico, da jih nariše. Poleg tega sinhronizira vse objekte in tri senzorske postaje tako, da le eden od njih vsakič meri, da bi se izognili motnjam.

Za začetek morate posodobiti razdaljo (centimetre) med senzorjema 1 in 2 ter razdaljo med 2 in 3.

const plavajoča razdalja med 1 in 2 = 60,0;

const plavajoča razdalja med 2 in 3 = 70,0;

Skica izračuna položaj predmetov na naslednji način:

  • Za vse prenose objektov (id_node večje od 3) poiščite enako razdaljo pri vsakem prenosu ultrazvočnih senzorjev (id_node 1, 2 ali 3).
  • Vse te točke tvorijo seznam "kandidatov" (razdalja, kot, id_node) za položaj enega predmeta ("proces_pointobject_with_pointssensor" na skici).
  • Za vsakega "kandidata" prejšnjega seznama funkcija "kandidat_izbrani_med_senzorjem2 in 3" izračuna z vidika ultrazvočnega senzorja 2 in 3, kateri se ujemata z naslednjim pogojem trigonometrije (glej sliki 2 in 3)

plavajoča razdalja od2 = sin (radiani (kot)) * razdalja;

float distancefroms3 = cos (radiani (kot_kandidat)) * razdalja_kandidat; // Pogoj trigonometrije 1 abs (razdalja od2 + razdalja od3 - razdalja med 2 in 3) <= float (max_diference_distance)

Kot zgoraj, za vsakega "kandidata" na prejšnjem seznamu funkcija "kandidat_izbrani_med_sensorjem1 in 2" izračuna z vidika ultrazvočnega senzorja 1 in 2, kateri se ujemata z naslednjo trigonometrično relacijo (glej sliko 2 in 3)

float distancefroms1 = sin (radiani (kot)) * distance; float distancefroms2 = cos (radiani (kot_kandidat)) * razdalja_kandidat; // Pogoj trigonometrije 2 abs (razdalja od1 + razdalja od2 - razdalja med1 in 2) <= float (max_diference_distance)

Samo kandidati (razdalja, kot, id_ vozlišče), ki ustrezajo pogojem trigonometrije 1 in 2, so identificirani objekti, ki jih zaznajo senzorske postaje 1, 2 in 3

Nato glavna postaja pošlje rezultate na obdelavo skice, da jih nariše.

4. korak: Seznam materiala

Image
Image

Seznam materiala, potrebnega za eno senzorsko postajo ali en predmet, je naslednji:

  • Nano plošča
  • Ultrazvočni senzor
  • Mikro servo motor
  • Brezžični modul NRF24L01
  • NRF24L01 adapter

seznam materialov za glavno postajo pa je naslednji:

  • Nano plošča
  • Brezžični modul NRF24L01
  • NRF24L01 adapter

Priporočena: