İçindekiler:

Görme Engellilere Yardım Etmek İçin Mikrodenetleyicilerde Sonar, Lidar ve Bilgisayarla Görme Kullanımı: 16 Adım
Görme Engellilere Yardım Etmek İçin Mikrodenetleyicilerde Sonar, Lidar ve Bilgisayarla Görme Kullanımı: 16 Adım

Video: Görme Engellilere Yardım Etmek İçin Mikrodenetleyicilerde Sonar, Lidar ve Bilgisayarla Görme Kullanımı: 16 Adım

Video: Görme Engellilere Yardım Etmek İçin Mikrodenetleyicilerde Sonar, Lidar ve Bilgisayarla Görme Kullanımı: 16 Adım
Video: Nostalji Köşesi : İlk öğrendiğim mikrodenetleyiciler: PIC'ler 2024, Temmuz
Anonim
Görme Engellilere Yardım Etmek İçin Mikrodenetleyicilerde Sonar, Lidar ve Bilgisayarla Görme Kullanımı
Görme Engellilere Yardım Etmek İçin Mikrodenetleyicilerde Sonar, Lidar ve Bilgisayarla Görme Kullanımı

Görme engelli insanlara mevcut çözümlerden çok daha fazla yardımcı olabilecek akıllı bir "baston" yaratmak istiyorum. Baston, surround ses tipi kulaklıklarda gürültü yaparak öndeki veya yanlardaki nesneleri kullanıcıya bildirebilecek. Baston ayrıca küçük bir kameraya ve LIDAR'a (Işık Algılama ve Mesafe Belirleme) sahip olacak, böylece odadaki nesneleri ve insanları tanıyabilecek ve kulaklık kullanarak kullanıcıyı bilgilendirebilecek. Güvenlik nedenleriyle, kulaklıklar tüm gereksiz sesleri filtreleyen ve araba kornalarını ve insanları konuşmaya devam ettiren bir mikrofon olacağından tüm gürültüyü engellemeyecektir. Son olarak sistemde bir GPS bulunacak, böylece yol tarifi verebilecek ve kullanıcıya nereye gideceğini gösterebilecek.

Lütfen Mikrodenetleyici ve Outdoor Fitness yarışmalarında bana oy verin!

Adım 1: Projeye Genel Bakış

Projeye Genel Bakış
Projeye Genel Bakış
Projeye Genel Bakış
Projeye Genel Bakış
Projeye Genel Bakış
Projeye Genel Bakış

World Access for the Blind'e göre, fiziksel hareket kör insanlar için en büyük zorluklardan biridir. Seyahat etmek veya sadece kalabalık bir caddede yürümek çok zor olabilir. Geleneksel olarak tek çözüm, öncelikle kullanıcının yakınındaki engellere çarparak çevreyi taramak için kullanılan ve yaygın olarak bilinen "beyaz baston"u kullanmaktı. Daha iyi bir çözüm, görme engelli kişinin bilinmeyen ortamlarda dışarı çıkabilmesi ve kendini güvende hissetmesi için engellerin konumu hakkında bilgi vererek gören asistanın yerini alabilecek bir cihaz olabilir. Bu proje sırasında, bu kriterleri karşılayan, pille çalışan küçük bir cihaz geliştirildi. Cihaz, kullanıcıya göre nesnelerin konumunu ölçen, bu bilgiyi bir mikro denetleyiciye aktaran ve ardından kullanıcıya bilgi sağlamak için sese dönüştüren sensörler aracılığıyla nesnenin boyutunu ve konumunu algılayabilir. Cihaz, mevcut ticari LIDAR (Işık Algılama ve Menzil), SONAR (Ses Navigasyonu ve Menzil) ve mikrodenetleyicilere bağlı bilgisayarlı görme teknolojileri kullanılarak inşa edilmiş ve kulaklıklar veya kulaklıklar kullanılarak gerekli sesli bilgi çıkışını sağlamak üzere programlanmıştır. Algılama teknolojisi, diğerlerine kullanıcının durumunu belirtmek ve ek güvenlik sağlamak için bir "beyaz baston" içine yerleştirildi.

Adım 2: Arka Plan Araştırması

Arkaplan araştırması
Arkaplan araştırması
Arkaplan araştırması
Arkaplan araştırması
Arkaplan araştırması
Arkaplan araştırması
Arkaplan araştırması
Arkaplan araştırması

2017 yılında Dünya Sağlık Örgütü, dünya genelinde 39 milyonu tamamen kör olmak üzere 285 milyon görme engelli insan olduğunu bildirdi. Çoğu insan görme engellilerin her gün karşılaştığı sorunları düşünmez. World Access for the Blind'e göre, fiziksel hareket kör insanlar için en büyük zorluklardan biridir. Seyahat etmek veya sadece kalabalık bir caddede yürümek çok zor olabilir. Bu nedenle, görme engelli birçok kişi, yeni ortamlarda gezinmeye yardımcı olması için gören bir arkadaş veya aile üyesi getirmeyi tercih ediyor. Geleneksel olarak tek çözüm, öncelikle kullanıcının yakınındaki engellere çarparak çevreyi taramak için kullanılan ve yaygın olarak bilinen "beyaz baston"u kullanmaktı. Daha iyi bir çözüm, görme engelli kişinin bilinmeyen ortamlarda dışarı çıkabilmesi ve kendini güvende hissetmesi için engellerin konumu hakkında bilgi vererek gören asistanın yerini alabilecek bir cihaz olabilir. IBM ve Carnegie Mellon Üniversitesi arasındaki bir işbirliği olan NavCog, rehberlik etmesi için Bluetooth işaretçilerini ve akıllı telefonları kullanan bir sistem oluşturarak sorunu çözmeye çalıştı. Ancak, çözüm zahmetliydi ve büyük ölçekli uygulamalar için çok maliyetli olduğu kanıtlandı. Benim çözümüm, herhangi bir harici cihaz ihtiyacını ortadan kaldırarak ve kullanıcıyı gün boyunca yönlendirmek için bir ses kullanarak bunu ele alıyor (Şekil 3). Teknolojinin bir "beyaz baston" içine gömülmesinin avantajı, çevredeki insanların davranışlarında değişikliğe neden olan kullanıcının durumu hakkında dünyanın geri kalanına sinyal vermesidir.

Adım 3: Tasarım Gereksinimleri

Tasarım gereksinimleri
Tasarım gereksinimleri

Mevcut teknolojileri araştırdıktan sonra, görme engellilerin çevrelerinde gezinmelerine yardımcı olacak en iyi yaklaşım konusunda vizyon uzmanlarıyla olası çözümleri tartıştım. Aşağıdaki tablo, birinin cihazıma geçmesi için gereken en önemli özellikleri listeler.

Özellik Açıklama:

  • Hesaplama - Sistem, kullanıcı ve sensörler arasında değiş tokuş edilen bilgiler için hızlı bir işlem sağlamalıdır. Örneğin, sistemin kullanıcıyı önündeki en az 2m uzaktaki engeller hakkında bilgilendirebilmesi gerekir.
  • Kapsam - Görme engelli kişilerin yaşam kalitesini iyileştirmek için sistemin hizmetlerini iç ve dış mekanlarda sağlaması gerekir.
  • Saat - Sistem, gece olduğu kadar gündüz de çalışmalıdır.
  • Menzil - Menzil, kullanıcı ile sistem tarafından algılanacak nesne arasındaki mesafedir. İdeal minimum menzil 0,5 m, maksimum menzil ise 5 m'den fazla olmalıdır. Daha uzak mesafeler daha da iyi olurdu ama hesaplanması daha zor olurdu.
  • Nesne Türü - Sistem, nesnelerin ani görünümünü algılamalıdır. Sistem, hareketli nesneler ile statik nesneler arasındaki farkı söyleyebilmelidir.

Adım 4: Mühendislik Tasarımı ve Ekipman Seçimi

Mühendislik Tasarımı ve Ekipman Seçimi
Mühendislik Tasarımı ve Ekipman Seçimi
Mühendislik Tasarımı ve Ekipman Seçimi
Mühendislik Tasarımı ve Ekipman Seçimi
Mühendislik Tasarımı ve Ekipman Seçimi
Mühendislik Tasarımı ve Ekipman Seçimi

Birçok farklı bileşene baktıktan sonra aşağıdaki farklı kategorilerden seçilen parçalara karar verdim.

Seçilen parçaların fiyatı:

  • Zungle Panter: $149,99
  • LiDAR Lite V3: 149,99 $
  • LV-MaxSonar-EZ1: 29,95 $
  • Ultrasonik Sensör - HC-SR04: 3,95 Dolar
  • Ahududu Pi 3: 39,95 $
  • Arduino: $24.95
  • Kinect: 32,44 $
  • Floureon 11.1v 3s 1500mAh: 19,99$
  • LM2596HV: 9,64 ABD doları

Adım 5: Ekipman Seçimi: Etkileşim Yöntemi

Ekipman Seçimi: Etkileşim Yöntemi
Ekipman Seçimi: Etkileşim Yöntemi
Ekipman Seçimi: Etkileşim Yöntemi
Ekipman Seçimi: Etkileşim Yöntemi

Cihazla etkileşime girme yöntemi olarak ses kontrolünü kullanmaya karar verdim, çünkü bir bastonda birden fazla düğme olması görme engelli bir kişi için zor olabilir, özellikle bazı işlevler bir düğme kombinasyonu gerektiriyorsa. Ses kontrolü ile kullanıcı, olası hataları azaltan bastonla iletişim kurmak için önceden ayarlanmış komutları kullanabilir.

Cihaz: Artıları --- Eksileri:

  • Düğmeler: Sağ düğmeye basıldığında komut hatası yok --- Doğru düğmelere basıldığından emin olmak zor olabilir
  • Ses kontrolü: Kolay çünkü kullanıcı önceden ayarlanmış komutları kullanabilir --- Yanlış telaffuz hatalara neden olabilir

Adım 6: Ekipman Seçimi: Mikrodenetleyici

Ekipman Seçimi: Mikrodenetleyici
Ekipman Seçimi: Mikrodenetleyici
Ekipman Seçimi: Mikrodenetleyici
Ekipman Seçimi: Mikrodenetleyici
Ekipman Seçimi: Mikrodenetleyici
Ekipman Seçimi: Mikrodenetleyici

Cihaz, düşük maliyeti ve derinlik haritasını hesaplamak için yeterli işlem gücü nedeniyle Raspberry Pi'yi kullandı. Tercih edilen seçenek Intel Joule olurdu, ancak fiyatı sistemin maliyetini iki katına çıkarırdı, bu da kullanıcılara daha düşük maliyetli bir seçenek sunmak için geliştirilen bu cihaz ideal olmayacaktı. Sensörlerden kolayca bilgi alabildiği için sistemde arduino kullanılmıştır. Bu düşük maliyetli sistem için kötü olan düşük fiyat performans oranı nedeniyle BeagleBone ve Intel Edison kullanılmadı.

Mikrodenetleyici: Artıları --- Eksileri:

  • Raspberry Pi: Engelleri bulmak için yeterli işlem gücüne sahiptir ve entegre WiFi/Bluetooth'a sahiptir --- Sensörlerden veri almak için çok fazla seçenek yoktur
  • Arduino: Küçük sensörlerden kolayca veri alın. yani. LIDAR, Ultrasonik, SONAR, vb --- Engelleri bulmak için yeterli işlem gücü yok
  • Intel Edison: Hızlı işlemci ile engelleri hızla işleyebilir --- Sistem için çalışması için ekstra geliştirici parçaları gerektirir
  • Intel Joule: Bugüne kadar tüketici pazarındaki herhangi bir mikro denetleyicinin işlem hızının iki katıdır --- Bu sistem için çok yüksek maliyet ve sensör etkileşimi için GPIO ile etkileşimi zor
  • BeagleBone Black: Kompakt ve Genel Amaçlı Giriş Çıkışı (GPIO) kullanılarak projede kullanılan sensörlerle uyumlu --- Nesneleri etkili bir şekilde bulmak için yeterli işlem gücü yok

Adım 7: Ekipman Seçimi: Sensörler

Ekipman Seçimi: Sensörler
Ekipman Seçimi: Sensörler
Ekipman Seçimi: Sensörler
Ekipman Seçimi: Sensörler
Ekipman Seçimi: Sensörler
Ekipman Seçimi: Sensörler

Yüksek konum doğruluğu elde etmek için birkaç sensörün bir kombinasyonu kullanılır. Kinect, bir seferde engelleri tarayabileceği alan miktarı nedeniyle ana sensördür. Işık Algılama ve Uzaklaştırma anlamına gelen LIDAR, sensörün bulunduğu yerden nesnelere olan mesafeleri hızlı bir şekilde ölçmek için darbeli lazer biçiminde ışık kullanan bir uzaktan algılama yöntemidir; bu sensör 40 metre (m) mesafeye kadar olan bir alanı takip edebildiği ve çeşitli açılarda tarayabildiği için, herhangi bir adım inip çıkmadığını algılayabildiği için kullanılmaktadır. Kinect'in kullanıcı için tehlike oluşturacak bir direği kaçırması veya zemine çarpması durumunda, Sound Navigation And Mesafe (SONAR) ve Ultrasonik sensörler yedek izleme olarak kullanılır. 9 Serbestlik Derecesi Sensörü, kullanıcının hangi yöne baktığını izlemek için kullanılır, böylece cihaz, kişinin aynı yerde bir sonraki yürüyüşünde yönlendirmek için daha yüksek doğruluk için bilgileri saklayabilir.

Sensörler: Artıları --- Eksileri:

  • Kinect V1: Çevreyi algılamak için --- yalnızca bir kamera ile 3B nesneleri izleyebilir
  • Kinect V2: Yüksek hassasiyetli 3D nesne algılama için 3 kızılötesi kameraya ve bir Kırmızı, Yeşil, Mavi, Derinlik (RGB-D) kamerasına sahiptir --- Isınabilir ve soğutma fanına ihtiyaç duyabilir ve diğer sensörlerden daha büyüktür
  • LIDAR: 40 m mesafeye kadar konumları takip edebilen ışın --- Nesneye doğru konumlandırılması gereken ve sadece o yöne bakabilen ışın
  • SONAR: 5 m öteden ancak uzak mesafeden takip edebilen ışın --- Tüy gibi küçük nesneler sensörü tetikleyebilir
  • Ultrasonik: 3 m'ye kadar menzile sahiptir ve çok ucuzdur --- Mesafeler bazen yanlış olabilir
  • 9 Serbestlik Derecesi Sensörü: Kullanıcının yönünü ve hızını algılamak için iyi --- Sensörlere herhangi bir şey müdahale ederse, mesafe hesaplamaları yanlış hesaplanabilir

Adım 8: Ekipman Seçimi: Yazılım

Ekipman Seçimi: Yazılım
Ekipman Seçimi: Yazılım
Ekipman Seçimi: Yazılım
Ekipman Seçimi: Yazılım
Ekipman Seçimi: Yazılım
Ekipman Seçimi: Yazılım

Kinect V1 sensörüyle oluşturulan ilk birkaç prototip için seçilen yazılım Freenect'ti ancak çok doğru değildi. Kinect V2 ve Freenect2'ye geçildiğinde, Kinect V1'deki tek kameranın aksine V2'de bir HD kamera ve 3 kızılötesi kamera bulunduğundan, gelişmiş izleme sayesinde izleme sonuçları önemli ölçüde iyileştirildi. Kinect V1 ile OpenNi2 kullanırken fonksiyonlar kısıtlıydı ve cihazın bazı fonksiyonlarını kontrol edemiyordum.

Yazılım: Artıları --- Eksileri:

  • Freenect: Her şeyi kontrol etmek için daha düşük bir kontrol düzeyine sahiptir --- Yalnızca Kinect V1'i destekler
  • OpenNi2: Kinect'ten gelen bilgi akışından nokta bulutu verilerini kolayca oluşturabilir --- Yalnızca Kinect V1'i destekler ve düşük seviye kontrolü desteklemez
  • Freenect2: Sensör çubuğu için daha düşük bir kontrol düzeyine sahiptir --- Yalnızca Kinect V2 için çalışır
  • ROS: Kamera işlevlerini programlamak için ideal işletim sistemi --- Yazılımın çalışması için hızlı bir SD karta yüklenmesi gerekir

Adım 9: Ekipman Seçimi: Diğer Parçalar

Ekipman Seçimi: Diğer Parçalar
Ekipman Seçimi: Diğer Parçalar
Ekipman Seçimi: Diğer Parçalar
Ekipman Seçimi: Diğer Parçalar

Lityum İyon piller hafif olması, yüksek güç kapasitesine sahip olması ve şarj edilebilir olması nedeniyle seçilmiştir. Lityum iyon pilin 18650 çeşidi silindirik bir şekle sahiptir ve baston prototipine mükemmel şekilde uyar. 1. prototip baston içi boş olduğu için PVC borudan yapılmıştır ve kamışın ağırlığını azaltır.

Adım 10: Sistem Geliştirme: Donanım Bölüm 1'i Oluşturma

Sistem Geliştirme: Donanımın Oluşturulması Bölüm 1
Sistem Geliştirme: Donanımın Oluşturulması Bölüm 1
Sistem Geliştirme: Donanımın Oluşturulması Bölüm 1
Sistem Geliştirme: Donanımın Oluşturulması Bölüm 1
Sistem Geliştirme: Donanımın Oluşturulması Bölüm 1
Sistem Geliştirme: Donanımın Oluşturulması Bölüm 1

Önce Kinect'i daha hafif hale getirmek ve bastonun içine sığması için sökmemiz gerekiyor. Kullanılan plastik çok ağır olduğu için tüm dış kasayı Kinect'ten çıkararak başladım. Sonra kabloyu kesmek zorunda kaldım, böylece taban çıkarılabildi. Resimde görülen konnektörden kabloları alıp sinyal telleri ile usb kablosuna lehimledim ve diğer iki bağlantı 12V giriş gücü içindi. Bastonun içindeki fanın diğer tüm bileşenleri soğutmak için tam güçte çalışmasını istediğimden, fanı Kinect'ten ayırdım ve Raspberry Pi'den 5V kablo bağladım. Ayrıca LiDAR kablosu için küçük bir adaptör yaptım, böylece arada herhangi bir sistem olmadan doğrudan Raspberry Pi'ye bağlanabilir.

Beyaz kabloyu yanlışlıkla siyah olana lehimledim, bu yüzden bağlantı şemaları için resimlere bakmayın

Adım 11: Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma

Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma
Sistem Geliştirme: Donanım Bölüm 2'yi Oluşturma

Raspberry Pi gibi 5V gerektiren tüm cihazlara güç sağlamak için regülatör parçası oluşturdum. Çıkışa bir metre koyarak ve rezistörü regülatör 5.05V verecek şekilde ayarlayarak regülatörün akordunu yaptım. 5V'dan biraz daha yükseğe koydum çünkü zamanla akü voltajı düşüyor ve çıkış voltajını biraz etkiliyor. Ayrıca pilden 12V gerektiren 5 cihaza kadar güç vermeme izin veren bir adaptör yaptım.

Adım 12: Sistem Geliştirme: Sistem Bölüm 1'in Programlanması

Sistem Geliştirme: Sistemin Programlanması Bölüm 1
Sistem Geliştirme: Sistemin Programlanması Bölüm 1
Sistem Geliştirme: Sistemin Programlanması Bölüm 1
Sistem Geliştirme: Sistemin Programlanması Bölüm 1
Sistem Geliştirme: Sistemin Programlanması Bölüm 1
Sistem Geliştirme: Sistemin Programlanması Bölüm 1

Bu sistemin en zorlu kısımlarından biri programlamadır. Kinect'i onunla oynamak için ilk aldığımda, Kinect'ten veri akışını alan ve onu bir nokta bulutuna dönüştüren RTAB Haritası adlı bir program kurdum. Nokta bulutu ile, tüm nesnelerin bulunduğu yerin derinliğini görebilmek için döndürülebilen bir 3D görüntü oluşturdu. Bir süre onunla oynadıktan ve tüm ayarları yaptıktan sonra, Kinect'ten gelen veri akışını görmeme izin vermek için Raspberry Pi'ye bazı yazılımlar yüklemeye karar verdim. Yukarıdaki son iki resim Raspberry Pi'nin saniyede yaklaşık 15-20 kare hızında neler üretebileceğini gösteriyor.

Önerilen: