SLAM algoritmaları değişen bir ortamı nasıl ele alır?


13

Bir proje için zemin hazırlıyorum ve SLAM tekniklerinin mevcut durumu hakkında bir sorum var.

SLAM donanımlı bir cihaz bir nesne algıladığında, o nesnenin konumu kaydedilir. Cihazın oluşturduğu nokta bulutuna bakarsanız, bu nesne için noktalar görürsünüz ve ondan oluşturulan modeller burada geometri içerecektir.

Daha önce boş bir alana bir nesne yerleştirilirse, algılanır ve noktalar eklenir. Sonraki modeller, bu yeni nesneyi tanımlayan geometri içerecektir.

Bu nesne kaldırılırsa cihaz nasıl tepki verir? Gördüğüm kadarıyla, SLAM sistemleri noktaları yerinde bırakma eğiliminde olacak ve "hayalet" geometriye neden olacak. Geçici kontakların neden olduğu yalnız noktaları göz ardı edecek algoritmalar vardır, ancak sağlam bir model oluşturmak için yeterince uzun kalan nesneler cihazın hafızasında kalacaktır. Önceden işgal edilmiş alanın artık boş olduğunu algılayabilen herhangi bir sistem var mı?


Bu sorunun makine öğrenimi ile ilgisi yoktur.
Josh Vander Hook

Belki de değil; Hangi etiketlerin sığacağından% 100 emin değildim. Aklımdaki uygulama uygun görünüyordu, ama belki de bu bağlam olmadan daha az uygulanabilir ...
anaximander

Yanıtlar:


5

Bu çok değişkendir. SLAM bir çözüm değil bir problem (ya da en azından bir teknik) olduğu için kesin bir SLAM algoritması yoktur. Anlamsal olarak, ortamın "haritasına" neler olup bittiğine karar vermelisiniz ve bu algoritmanızın geçici (diğer adıyla hareketli) sinyalleri nasıl işlemesi gerektiğini belirler. Ama bu bir tartışma.

Kalıcı haritalar:

Kalıcı haritalar, bilinen geometriye göre kendinizi yerelleştirmek için yeterli bilgi içermelidir. Genellikle binalarda kullanılır. Genellikle insan tarafından okunabilir. Willow-Garage'ın çalışmalarına bakın. ya da Thrun'un oldukça ünlü ders kitabındaki herhangi bir şeyi. Bu haritayı kaybederseniz, zaman içinde yeniden oluşturmanız gerekir.

  1. Nesneleri kaldırma. Evet, nesne bir süre statik haritada görünecektir. Önceden algılanan nesneleri kaldırmak için herhangi bir önlem alınmazsa, devam edecektir. Tipik bir 2B ızgara tabanlı gösterim, her ızgara hücresini bir nesnenin olasılığını temsil etmek için kullanır, bu nedenle nesne bir süre sonra "kaybolur".

  2. Nesne ekleme. Yukarıdaki gibi.

Yerel haritalar:

Gerçekte, SLAM genellikle bir robotu hareket ederken yerelleştirmek için kullanılır ve harita kalıcı olarak tutulmaz (veya kalıcı olarak tutulur, ancak yalnızca en yakın Y özellikleri kullanılır). Yerel haritalar, robotun son X dakikada nasıl hareket ettiğini belirlemek için bilmesi gereken her şeydir, burada X, uygulamaya bağlıdır. Haritayı kaybederseniz, şu anda görünmekte olan özellikleri kullanarak hala iyi uçabilirsiniz.

  1. Görsel özellikleri kullanarak Paket Ayarlama gibi toplu yöntemler bu yönde çok yaygın bir tekniktir. Özellikler zaman içinde tutulabilir ve hatta tekrar ziyaret edilebilir, ancak hareketli bir özellik sadece güvenilir olmayan bir özelliktir ve robotun nerede olduğunu anlamaya çalışırken göz ardı edilir.

  2. Görsel SLAM tam da bu. Harita tabanlı bir yerelleştirme algoritması değil, bir delta-P (poz değişikliği) tahmincisidir.

  3. Kısacası, çoğu şey şu anda hareket etmediği sürece, robot ona "bakmadığında" bir nesneyi kaldırmanızın bir önemi yoktur.

Misal

Öyleyse bunu yap. Bir SLAM belgesini okurken aşağıdakilere karar verin:

  1. Gerçekten bir harita mı oluşturuyorlar?

  2. Sadece özelliklerin ve konumların bir listesini mi tutuyorlar?

  3. Eğer öyleyse, haritaya hangi "özellikler" girer? Çizgiler, noktalar, görsel özellikler?

  4. Bu özelliklerin taşınması muhtemel mi?

  5. Eğer öyleyse, bununla nasıl başa çıkabilirler?

  6. Son olarak, sensör gürültüsü genellikle hareketli özelliklere benziyor. Sensör gürültüsünü nasıl ele alırlar? Çünkü bu genellikle hareketli özelliklere ne olacağını belirler.

Her makale / yazar / kitap / uygulama için farklı bir cevap alacaksınız. Kısacası, robotun çok fazla yerelleşmesine yardımcı olmadıkları için genellikle atlanırlar ve sadece yerel bilgileri kullanan birkaç düşük seviyeli yol planlayıcıya sahip olmaktan kaçınabilirler.

İyi şanslar, slam çok büyük bir konu.


Teşekkürler! Nesnelerin nerede "elde edildiğini" ve "kaybolduğunu" izleyen herhangi bir teknik biliyor musunuz? SLAM tipi algoritmaların bir alt kümesinin uygulamalarına bakıyorum ve ilgi alanlarından biri, nesnelerin görünebileceği kapılar ve tıkalı köşeler gibi "geçiş" alanlarının tanımlanmasıdır. Bu uygulama, her zamanki solma olasılığı metriğini kafasına çevirir - görünürde değilken nesnelerin "solması" yerine, gözlemlenmeyen alanlar, burada ne olduğunu bilmediğimizi belirtmek için yavaş yavaş değerlerini arttırır, bu yüzden son zamanlarda bakmadık, bu alana taşınırken dikkatli olunmalıdır.
anaximander

Çok daha zor. Bunu doğru şekilde yapmanın tek yolu nesneleri benzersiz şekilde tanımlamaktır. Onlara bir barkod koyun. Aksi takdirde, A nesnesi B konumuna taşınmış olabilir veya A ve B yer değiştirmiş olabilir, vb. Semantik haritalama hakkında bilgi edinin. Hareket eden şeylerin aslında "duvarlara" bağlanması gereken "kapılar" olduğunu "ancak" içeride "olduğumda ancak" içeride "nin bir robot için ne anlama geldiğini" tanıyabilen "bir algoritmaya ihtiyacınız var. Bence daha fazla okumanız ve rapor vermelisin.
Josh Vander Hook

Evet, buradaki fikir, "bu daha önce orada olmayan şeyleri görmeye devam ettiğim veya orada olan şeyleri görmeyi bıraktığım" bir alanı vurgulayarak anlambilim sorununu ortadan kaldırmaktır. Muhtemelen, bu alan bir çeşit geçiştir - kapı, kutu, pencere, tıkalı köşe. Karşılaştığımızlardan hangisi daha az önemli; bu sadece çarpışmadan kaçınmak içindir, bu yüzden tüm bu alanlardan kaçınmak istiyoruz. Benzer şekilde, özellikle hangi nesnenin hangisi olduğunu bilmemize gerek yoktur; yalnızca Stuff tarafından kullanılan toplam alan miktarında önemli bir değişiklik olması.
anaximander

Gözden geçirmek. Edebiyat. Böyle bir sorun A) Hareket eden şeylerden kaynaklanır. B) robot hareket ediyor. C) Robot kayboluyor. D) yanlış haritalar. Bu 4 şeyin her birinin 4 farklı doğru çözümü vardır. 4'ün tamamını kullanmazsanız, tamamen yanlış haritalar oluşturacaksınız. Bu yüzden SLAM çözülmedi ve hala zor. Okuyun ve öğrendiklerinizle ilgili belirli sorularla tekrar gelin.
Josh Vander Hook

1
Ben de öyle yapıyorum; ne kadar çok okursam, okunacak şeyler listem o kadar uzun olur! Bu, okumamın gündeme getirdiği birçok sorunun ilkiydi. Soruyu yorumlarda biraz genişlettiğim için özür dileriz; Çok fazla yanıt almadım ve SLAM çok büyük bir konu ... neden bahsettiğinizi biliyor gibiydiniz, bu yüzden birkaç işaret alabileceğimi umuyordum. Listemde semantik haritalama kağıtlarım var, ama bunun için bir temel olarak okumam gereken birkaç tane daha var ... Her neyse, sanırım şimdilik okumaya geri döndüm.
anaximander
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.