MEMS sensörleri kullanarak ölü hesaplamanın sınırları


13

Bir insanın gövdesine göre vücut parçalarını izlemeye çalışıyorum. Ölü hesaplaşma için MEMS ivmeölçerlerini ve jiroskopları kullanma hakkında birkaç soru görüyorum ve çeşitli faktörlerin bu tür uygulamalar için yararlılıklarını büyük ölçüde sınırladığına dair şüphelerimi teyit ediyorlar, ancak bu sınırların açıklanmasını arıyorum:

  • Bu sınırlar tam olarak nedir?

    Diğer cevaplar bu sınırların neden bulunduğunu ele aldı . Doğal olarak, söz konusu sistemdeki parçaların özellikleri ve sistem için "kabul edilebilir hata" olarak kabul edilen özellikler, hem kesin sınırları değiştirir, ancak zaman içinde tek bir büyüklük sırası veya ölü hesaplamanın çalışmasını bekleyebileceğim mesafe var mı? Uzun mesafelerde (birkaç metre kadar) hatanın çoğu pratik amaç için çok büyük hale geldiğinin farkındayım, ama birkaç metre içinde ne olacak?

  • Bu sınırları geliştirmek için ne yapabilirim?

    Şu anda bir ivmeölçer ve bir jiroskop kullanıyorum. Hata oranını artırmak için sisteme başka hangi sensörleri ekleyebilirim? GPS'in daha uzun mesafelerde kullanılabileceğini biliyorum, ancak herhangi bir tüketici elektroniği sınıfı GPS'in benim durumumda yardımcı olacak kadar iyi çözünürlüğe sahip olduğundan şüpheliyim.

    Buna ek olarak, genel bir fikir birliği, gelişmiş sınırların ötesinde bu limitleri iyileştirmenin tek yolunun, hataya tabi olmayan bir referans sağlamaktır. Bazı sistemler bunu kameralar ve işaretleyiciler kullanarak çözer. Taşınabilir / giyilebilir bir cihaz ne tür referans noktaları sağlayabilir?

    Uzun mesafeleri doğru bir şekilde ölçmek için radyo dalgalarının kullanımını gördüm, ancak böyle bir sistemin "kullanıma hazır" bileşenleri kullanarak bu kadar küçük ölçekte (ölçülen mesafe açısından) doğru olup olmadığını anlayamıyorum.


9
Bunu kapanış için işaretleyen kişiye ve bu ilkeden diğerlerine - bu ilk düzenin elektronik bir tasarım sorusudur. COTS parçalarını kullanarak daha iyi ataletsel bir navigasyon ünitesinin nasıl oluşturulacağını ve başka ne mümkün olduğunu ve mevcut sınırların ne olduğunu ve önerilen iyileştirmelerden neler beklenebileceğini soruyor. Soru, daha iyi bir sonuç elde etmek için tüm faktörlerin entegrasyonu olarak, kapsamını ele alamayanlar için makul bir şekilde daha küçük sorulara bölünemez.
Russell McMahon

6 DOF cayro ve ivmeölçer çipine bir manyetometre eklenebilir.
Russell McMahon

Aslında sorunun iki küçük sorudan oluştuğunu düşünüyordum, ancak @RussellMcMahon'un tam olarak sonucuna vardım.
Selali Adobor

1
Herhangi bir tüketici elektroniği sınıfı GPS benim durumumda yardımcı olmak için yeterince iyi bir çözünürlük olduğundan şüpheliyim. Aslında santimetre doğruluğu sağlayan bir tüketici GPS'i vardır. Belirttiğiniz uygulama için +/- 1 cm'nin yeterince doğru olup olmadığı. Ve tabii ki, tipik +/- 3m doğru GPS modüllerinizden biraz daha pahalı
krb686

1
Aramamda hiç görmemiştim, bunlardan herhangi birinin parça numarası var mı?
Selali Adobor

Yanıtlar:


6
  • Tam olarak nedir?

Hata kaynakları arasında sıfır ofseti (sapma) ve ölçek hataları (yavaşça değişme eğilimindedir) ve gürültü yer alır. MEMS sensörlerinin fiyatları 10 $ 'dan 1000 $' a kadar değişir ve hata terimlerinin büyüklüğü sensörün kalitesine bağlı olarak geniş bir aralığı kapsar.

Büyük sorun, entegrasyonun genellikle sensör değerinden (hızlanma, açısal hız) istenen değere (pozisyon, açı) ulaşmak için gerekli olmasıdır. Tüm hata kaynakları entegre edildiğinde - zamanla büyür - birleşir. Ölü hesaplaşma için verilerin değeri zamanla azalır, ucuz sensörler size en fazla birkaç dakika yararlı veri sağlar ve üst düzey sensörler belki birkaç saat boyunca iyi olur.

  • Bu sınırları geliştirmek için ne yapabilirim?

Bulduğunuz gibi, artan entegre hatalardan kurtulmanın en iyi yolu, sensör verilerini aynı tür hatalara sahip olmayan diğer bağımsız veri kaynaklarıyla birleştirmektir. Örneğin, GPS size uzun vadede sürüklenmeyen, ancak nispeten büyük bir "gürültü" bileşenine sahip mutlak bir konum değeri verebilir. Bu verileri, ivmeölçerlerinizin önyargılarını ve ölçek hatalarını tahmin etmek için kullanabilirsiniz, bu da bunları gerçek zamanlı olarak düzeltmenizi sağlar. Ayrıca sensör gürültüsü tarafından oluşturulan "rastgele yürüyüşü" iptal etmenizi sağlar. Kalman Filtresi, sistemi modellemek için kullanılan (sensör hata terimleri dahil) yaygın bir yöntemdir ve verileri, herhangi bir zamanda sistem durumunun en uygun tahminini bulmak için bir araya getirir.

Başka bir örnek, jiroskopların açısal sapmasını iptal etmek için ivmeölçerler tarafından ölçüldüğü gibi "yerçekimi vektörünü" kullanmaktır. Buradaki hile, geçerli bir yerçekimi vektörünüzün tam olarak ne zaman olduğunu bilmek; yani sistem herhangi bir yönde hızlanmıyor. Bunu gerçekleştirmek için çeşitli buluşsal yöntemler (örneğin, "sıfır güncelleme") kullanılır. Manyetik alanın mutlak yönünü bilmeseniz bile jiroskop hatalarını ölçmek için bir manyetometre kullanılabilir - sabit olduğunu varsayabildiğiniz sürece.

Optik algılama, sapmasız hız, açı veya pozisyon tahmini almanın başka bir yoludur, ancak gereken görüntü işleme çok fazla CPU (veya FPGA) döngüsü gerektirebilir ve böyle bir sistemin geliştirilmesi oldukça karmaşıktır.


Bu gerçekten harika bir cevap, ama bence sorunun bir kısmının amacını özlüyor (belki de yukarıda açıklığa kavuşturmam gerekiyor). “Onlar nedir” bu sınırların ne olduğunu ifade eder. Soruda bununla ne demek istediğimle ilgili ayrıntılara giriyorum, çünkü değerlerin birçok faktöre bağlı olarak değişeceğini fark ediyorum.
Selali Adobor

Hataların doğasını veya hataların büyüklüğünü sorup sormadığınızı söyleyemedim. Cevabımın ilk kısmında ikisini de ele almaya çalıştım.
Dave Tweed

Oh, anlıyorum, bu yüzden zaman muhtemelen bu durumda mesafeden daha büyük bir faktördür ( her zaman biri ya da diğeri
olmayacağını anlıyorum

3

Başka ne eklenebileceğini sordunuz. 3 eksenli bir manyetometre yardımcı olmalıdır. Dünya'nın manyetik alanı, ortalama bir kullanıcıdan (neyse ki) önemli ölçüde daha yavaş hareket etme eğilimindedir.
Muhteşem MPU6000 / 6050'ye bakın

Bir sürüm SPI ve IIC arabirimini, diğer IIC'yi sağlar.

Bu, 3 eksenli jiroskop + 3 eksenli ivmeölçer artı girişleri ve harici 3 eksenli manyetometreden sinyali entegre etmesini sağlayan girişler içerir.
IC, 3 x 3 sensör dizisinden gelen sinyalleri entegre eden bir 'dijital hareket işlemcisi' içerir. Henüz sağlanan hassas işlevsellik ile başa çıkmadım ama amaç 3 ayrı sinyal kaynağını kullanışlı bir hareket analiz sistemine işlemek

Buradaki veri sayfası

IC, Digikey'den yaklaşık 10/1 $ ve bir değerlendirme kurulu üreticiden yaklaşık 50 $ +. Ya da Çin'den komple bir tahta satın alabilirsiniz - burada 1'lerde yaklaşık 6 ABD doları perakende satıyorlar - IC ve PCB monte edilmiş.
Bunun nasıl olduğunu ya da gerçek olup olmadıklarını hala anlamadım ya da .... Dün bir tane aldım ama bir süre onunla oynamaya başlayamayacağım. ('Whiles', büyüklük bakımından büyük ölçüde değişir, çok küçükten bazen büyük olanı aşan). Web'de, örneğin Arduinos ile bunları kullanma konusunda bir dizi makale vardır.

Ne kadar isabetli?:

Bunun web üzerinde muhtemelen çok fazla tartışması var.
Veri sayfasını doğru okursam (ve çok aşina olduğum bir cihaz türü değilse)
Tablo 6.1 sayfa 12, Jiroskop'un 25 ° C'de +/- 20 derece / saniye maksimum kaymaya sahip olduğunu ve yine - 40 ila + 85C sıcaklık aralığı. Gerçek 20 derece / saniye hızının 18 saniyede bir tam dönüş olduğunu varsayarsak. Bununla birlikte, hem manyetometre hem de ivmeölçer harici referans vektörlerine (yerçekimi ve dünyanın manyetik alanı) erişim sağlar ve bunlardan gelen sinyaller kısa ve uzun vadeli jiroskop kayma hızını türetmek ve telafi etmek için kullanılabilir. Bu, "hareket işlemcilerinin" yaptıklarının bir parçası olabilir.

İvmeölçer hatası tipik olarak +/-% 5'in altında görünüyor.
Beklenen (ve çok yanlış olabilir), jiroskop sapma hatalarını esasen sıfır uzun vadeye ayarlamak için ivmeölçer ve manyetometre kullanmanın, jiroskop sinyallerini saniyeler ve dakikalar arasında navigasyon için kullanmanızı sağlar. GPS ayrıca hız sinyalleri sağlar ve GP'lerin konum + hızının 9DOF ünitesi ile kombinasyonu son derece yararlı geliyor.

Wooly: Yukarıdaki sesler istediğimden daha woolier. Önümüzdeki birkaç hafta içinde bu konuyla ilgili daha fazla şey bilmeyi umuyorum. Ne bulduğunuzu duymak isterim ve yararlı şeyler öğrenirsem geri bildirmeye çalışır.

.


Uygulamanıza bağlı olarak, referans bir GPS ve alıcıyı uygun bir yere geçici olarak yatırabilirsiniz.Bu, son derece kompakt olabilir - GPS + pil + TX. Yatırıldıktan sonra nerede olduğunu bilir ve sistemin nerede olduğunu söyleyerek düzeltmeleri iletebilir. Aynı uydu takımyıldızının kullanılması 'muhtemelen iyi bir fikirdir'. Kullanıcı ve referans GPS çok daha iyi bırakıldığında aynı noktada ise, ancak bu sistemler her zaman mekânsal olarak ayrılmış olsalar bile çalışma eğilimindedir.

... herhangi bir tüketici elektroniği sınıfı GPS benim durumumda yardımcı olmak için yeterince iyi bir çözünürlük olduğundan şüpheliyim.

Davanızın ne olduğunu bilmemek söylemeyi zorlaştırır. Ancak örnek GPS çözünürlüğünden bağıl numune tipik olarak dakikalar veya saatler içinde elde edilenlerden çok daha üstündür. Kentsel bir rotada sürdüğüm ve GPS koordinatlarını çizdiğim ve birkaç saat sonra egzersizi tekrarladığım testler yaptım. İki yol, bazı durumlarda birkaç metre aralıklıydı, ancak kentsel bir cadde boyunca düz bir çizgide sürüldüğünde, arsa, belki de bir metreden daha az düz bir çizginin her iki tarafında "gürültü" ile düz bir çizgiydi. (Bu birkaç yıl önceydi - bunu kendiniz denemek kolaydır. GPS seri RS232 çıkışından (genellikle 4800 baud) veri kaydettim ve bu durumda Excel'de bir XY grafiği olarak çizdim.

Sabit konumlu yerel sabit bir alıcının nerede olduğunu bildiği ve sistemin şimdi nerede söylediğini temel alarak hata düzeltmeleri sağladığı durumlarda, bu tür sistemlerin birçok sağlayıcısı vardır, ancak kavramın uygulanması basit ve kolaydır. sıkı bir bütçeyle.


Bu sapmayı tartışmak istiyorum. Veri sayfasında bahsettikleri şey sürüklenme değil, Gyro'nun 0 dönüş hızında iken değer olarak çıkardığı şey. İkinci rakam, bu değerin tüm sıcaklık aralığında ne kadar farklı olduğu olacaktır. Bunun mantıklı olduğunu düşünüyor musunuz?
Jonas Schäfer

Bir kişinin gövdesine göre vücut kısımlarını izlemeye çalışıyorum (soruda bahsetmiştim, ama muhtemelen girişe taşımalıyım, yanlışlıkla gömdüm). E-bay'da bunun için birkaç koparma panosu görüyorum, bir tane sipariş etmek üzereyim. Veri sayfasına bakmak çok umut verici bir cihaz. GPS ile ilgili not, mesafenin ne kadar kısa olduğuna (<1 metre) atıfta bulunur. Bu tür bir ölçüm için gördüğüm cihazlar çok özel donanım kullandı. Farklı bir GPS sistemi kullanmayı hiç düşünmemiştim. Onları duydum, ama onlar hakkında çok şey bilmiyorum, bu yüzden okuyacağım, teşekkürler!
Selali Adobor

"Aynı uydu takımyıldızının kullanılması muhtemelen iyi bir fikirdir." DGPS böyle çalışmaz. Referans istasyonu, görüşüne göre bireysel uydulara sözde düzeltmeler hesaplar ve bunları iletir. Diğer istasyon düzeltmeleri sadece kendi görüşünde olan uydular için kullanır.
Dave Tweed

Invensense artık MPU-6000'i (Gyro / Accel) 3 eksenli manyetometre (Asahi Kasei AK8963) ile birleştirerek MPU-9250'ye sahip ve bir yonga üzerinde 9 eksen veriyor. Ve MPU-6000'den daha küçük :)
bitsmack

Ben (! Bu panoları emin ucuz) koparma panolarında manyetikmetrelerde ortalama fiyat beri bir tane sipariş yaklaşık olarak aynı ettik böylece aynı zamanda benzer e-bay listeleri vardı
Selali Adobor

3

Bu cevaplarda henüz ele alınmayan bir şey, çok akıllı insanlar tarafından en azından bir düzine kez ele alınan özel uygulamanızdır. Buradaki iki anahtar kelime ters kinematik ve Kalman filtreleridir.

Şimdiye kadar, uygulamanız için hata kaynağının ne olduğu ve nasıl düzeltileceği açık olmalıdır. Ancak esas olarak bir insana sabitlenmiş sensörler ile uğraşırken, denkleme ters kinematik uygulayarak sensörlerinizin uzamsal ve açısal pozisyonlarını azaltabilirsiniz. Bu temel olarak vücuttaki mümkün olduğunca fazla eklemin göreli pozisyonlarını izlediğiniz ve buna insan vücudunun kinematik bir modelini uyguladığınız anlamına gelir. Örneğin, insanların kollarının uzunluğu zamanla değişmez ve hareket açıklıkları da önemli ölçüde değişmez. Kemikler bükülmez (normal şartlar altında). Tüm bunlar sensör konumlarınızı kısıtlamak için kullanılabilir.

Diğer çözüm mümkün olduğunca çok sayıda dikey sensör kullanmaktır. Anlam açısından dik: temelde farklı ölçüm prensiplerini kullanma. Mümkün olduğunca fazla sensör girişi kullanarak, sensörlerinizin bulunduğu veriler göz önüne alındığında, mümkün olduğunca hassas bir şekilde çalışmak için Kalman filtresi kullanabilirsiniz. Kalman filtreleri, en iyi yanıtı ortaya çıkaran büyülü bir varlık değildir. Özel uygulamanıza göre ayarlanması ve değiştirilmesi gereken matematiksel modellerdir ve iyi çalışmalarını sağlamak oldukça güç olabilir. Ancak, dolambaçlı bir şekilde, sensör verilerini ilişkilendirmek için çok zor bir şekilde birleştirmenize izin verir. Bu tür filtreler için girişler herhangi bir şey olabilir: konum, hızlanma ve hız sensörleri, aynı zamanda belirli açılardan görülebilen ışık kaynaklarına yanıt vererek bilgi ekleyebilen ışık sensörleri.

Bu çalışma prensibine (kinematik + kalman filtreleri) sahip birkaç 'powerglove' şirketler ve üniversiteler tarafından gösterilmiştir. TU Eindhoven'da en son gördüğüm, MPU6050'leri eldiven içine dokunan esnek yüzeylerde ve aynı zamanda büyük bir Matlab destekli Kalman filtresine beslenen bazı destek sensörlerinin (sanırım şu anda sadece web kameraları) kullandı. 1mm tekrarlanabilirlik içinde çalışır.


Sorunun bu yönlerini şimdiye kadar özel durumum için inceledim, bu yüzden donanımla neler yapabileceğimle daha fazla ilgileniyorum, ancak bunlar mükemmel noktalar (özellikle kısıtlamalar için IK kullanma).
Selali Adobor

0

Temel Sorun

Doğal olarak, söz konusu sistemdeki parçaların özellikleri ve sistem için "kabul edilebilir hata" olarak kabul edilen özellikler, hem kesin sınırları değiştirir, ancak zaman içinde tek bir büyüklük sırası veya ölü hesaplamanın çalışmasını bekleyebileceğim mesafe var mı? Uzun mesafelerde (birkaç metre kadar) hatanın çoğu pratik amaç için çok büyük hale geldiğinin farkındayım, ama birkaç metre içinde ne olacak?

Bu, ataletsel bir navigasyon sisteminin kısa vadeli hata dinamiklerini inceleyerek ele alınabilir . Birçok metinde ayrıntılı olarak ele alınmaktadır , ancak işte kısa "denklemsiz" versiyon.

Ataletsel gezinme aşağıdaki gibi çalışır:

  1. Başlangıç ​​pozisyonunuzu, hızınızı ve tutumunuzu (yani yuvarlanma rulosu ve sapma) kesin olarak bilin.

  2. Saha, yuvarlanma ve sapma artışları elde etmek için jiroskoplarınızın ( açısal hız ) çıktısını kısa bir süre boyunca entegre edin ve mevcut tutumunuza ekleyin.Δt

  3. Yeni hesapladığınız yeni tutumunuzu, ivmeölçer okumalarınızı dünya ile aynı hizada olacak şekilde matematiksel olarak döndürmek için kullanın.

  4. Yeni seviye ivmeölçer okumalarınızdan yerçekimini çıkarın.

  5. Hız -eksi-yerçekimi ölçümlerinizi kısa bir sürede entegre edin hız artışını elde etmek için. Bunu mevcut hızınıza ekleyin.Δt

  6. Pozisyon artışını elde etmek için yeni hesaplama hızınızı kısa bir sürede entegre edin . Bunu mevcut konumunuza ekleyin.Δt

  7. 2-6 arasındaki adımları istediğiniz kadar tekrarlayın.

bazı hatalar olduğunu varsayalım - örneğin bir önyargı . Hata, tutum için bir kez entegre edilecek, hız için tekrar entegre edilecek ve konum için tekrar entegre edilecek. Böylece, bu hata sadece bir . b g × Δ t × Δ t × Δ t = b g ( Δ t ) 3bgbg×Δt×Δt×Δt=bg(Δt)3

Dahası, bu önyargı ivmeölçerlerin yanlış hizalanmasına neden olacak, hızlanmanın yanlış yönde dengelenmesine neden olacak ve daha sonra yanlış yöne entegre edilecektir - üç hata hatası.

Bu, jiroskop hatalarının konum hatalarının zaman küpü ile büyümesine neden olduğu anlamına gelir .

Aynı mantık ivmeölçer hatası ile konum hatalarının zaman karesi ile büyümesine neden olur .

Bu nedenle, cep telefonu sınıfı MEMS sensörlerinden yalnızca birkaç saniye yararlı (saf) ataletsel gezinme elde edersiniz .

Son derece iyi atalet sensörleriniz olsa bile (örneğin, uçak sınıfı), temelde on dakikalık (saf) ataletsel navigasyonun biraz altında kalmanız gerekir . Nedeni Adım 3 - yerçekimi yükseklikle değişir. Boyunuzu yanlış yapın ve yerçekiminiz yanlış olacaktır, bu da boyunuzun yanlış olmasına neden olur, bu da yerçekiminizin daha yanlış olmasına neden olur - üstel hata büyümesi. Böylece, askeri jetlerde bulunanlar gibi "saf" ataletsel bir navigasyon sistemi bile genellikle barometrik bir altimetre gibi bir şeye sahip olacaktır. Kaynak .

Çözümler

Buna ek olarak, genel bir fikir birliği, bu sınırları iyileştirilmiş sensörler noktasının ötesine geçmenin tek yolunun, hataya tabi olmayan bir referans sağlamaktır.

Bir referans tutumunuz olsa bile (örn. İstikamet sağlamak için magentometre ve doğru eğim ve yuvarlanma sağlamak için başka bir şey) bile , ivmeölçerlerde hatası ile sınırlı kalacaksınız . Bu nedenle, bir tür konumlandırma gereklidir.t2

Bazı sistemler bunu kameralar ve işaretleyiciler kullanarak çözer. Taşınabilir / giyilebilir bir cihaz ne tür referans noktaları sağlayabilir?

Orada hem araştırma ve ticari yapabilirsiniz ürünleri.

Kavramsal olarak, stereo görüş gibi çalışır - kameralar arasında bilinen bir temeliniz vardır ve her kameradan bakıldığında her bir işaretleyiciye farklı bir açınız vardır. Bundan, her işaretin 3B konumu hesaplanabilir (kameraya göre). Daha fazla kamerayla daha iyi çalışabilir.

Uzun mesafeleri doğru bir şekilde ölçmek için radyo dalgalarının kullanımını gördüm, ancak böyle bir sistemin "kullanıma hazır" bileşenleri kullanarak bu kadar küçük ölçekte (ölçülen mesafe açısından) doğru olup olmadığını anlayamıyorum.

Ucuz donanım kullanarak, dekawave UWB bazı kullanımlarda olabilir (10 cm kadar). Kendi algoritmalarınızı bulmanız gerekecek.

GPS'in daha uzun mesafelerde kullanılabileceğini biliyorum, ancak herhangi bir tüketici elektroniği sınıfı GPS'in benim durumumda yardımcı olacak kadar iyi çözünürlüğe sahip olduğundan şüpheliyim.

Vücudun yanında bir GPS sistemi mücadele edecek. Cm seviyesi GPS elde etmek (çok, çok zayıf) GPS sinyallerinin sürekli faz izlemesine dayanır, bu anten antenin vücudun yanındaysa ve vücut hareket ediyorsa son derece zordur! Yalnızca L1 sistemleri için - hangisi ucuz veya pahalı olursa olsun - izleme çok uzun bir süre (10dk +) olmalıdır ve bu nedenle bu sorun için pratik değildir. Bir çift frekanslı alıcı olabilir işe bazen , ama bunlar gerçekten ucuz (binlerce dolar) değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.