Robot sürüsünü yerelleştirme


9

25 cm yüksekliğinde bir tavana sahip 300 cm x 300 cm'lik bir odam var (evet yirmi beş santimetre). 50 küçük tekerlekli robot içerir (yaklaşık 20cm x 20cm). Merkezi bir bilgisayar, konum komutları göndermek için kablosuz bir ağ kullanarak robotların hareketlerini düzenler. Robotlar kablosuz bant genişliğinden tasarruf etmek için kendi kapalı döngü konum kontrolünü gerçekleştireceklerdir. Robotlar 32 bit ARM mikrodenetleyicilerine sahiptir. Tekerlek konum sensörleri ve doğru tekerlek kontrolü yapabilme yetenekleri vardır.

Sorun: Robotlar bunu henüz yapamıyorlar çünkü odadaki konumlarını ölçmenin bir yolu yok.

Soru: Robotlara, konumlarını ve yönlerini ± 5 mm'den daha iyi bir hassasiyetle ölçme yeteneği nasıl verilebilir? Oklüzyonlardan etkilenmeyen ve her robot için yüksek güçlü bir PC gerektirmeyen doğru ve sağlam bir çözüm arıyorum. Lokalizasyon için gerekli olan sensörler robotlara kolayca eklenebilir. Eğer yerelleştirme çözümü talep ederse, mikrodenetleyiciler daha güçlü olanlar için kolayca değiştirilebilir.


Robotların ne tür sensörleri var ve ne tür hesaplama gücü var?
DaemonMaker

1
@DaemonMaker - Bu bilgileri ekledi ve soruyu açıklığa kavuşturmaya çalıştı.
Rocketmagnet

1
Bu iyi bir güncelleme @Rocketmagnet ama soru hala açık uçlu. Lokalizasyon literatüründe, robotlarınızın kendileri, çevreleri ve birbirleri hakkında neler gözlemleyebileceğine bağlı olarak kullanabileceğiniz birçok püf noktası vardır. Örneğin, herhangi bir robotun inancının doğruluğunu artırmak için çoklu robotların inançlarını birleştirmekle ilgili çok fazla çalışma var. Bu, her bir robota küçük bir kamera ve kayıtsız işaretleyici eklenerek elde edilebilir ve işlemeyi fazla artırmaz.
DaemonMaker

Oklüzyonlar xy görüş hattını veya z'yi engeller mi? Örneğin, tavanda çizgiler, lazerler veya aynalar varsa, robotlar genellikle bunları görebilir mi?
James Waldby - jwpat7

@ jwpat7 - Tavan çok düşük olduğundan ve robotlar pratik olarak ona dokunduğundan, Z yönünde hiçbir zaman bir görüş çizgisi yoktur.
Rocketmagnet

Yanıtlar:


4

Bazı fikirler başımın üstünden ... Genelde her robotun kendi pozisyonunu hissetmesini sağlayabilir veya bir çeşit sistemin robotları bulup konumlarıyla (veya kombinasyonlarıyla) ilgili bilgi göndermesini sağlayabilirsiniz. Kendinizi bulmak için diğer robot konumlarını kullanmak, iletişim kurabildikleri takdirde başka bir seçenektir. Ayrıca robotlardan ve diğer kaynaklardan gelen sensör bilgilerini birleştirebilirsiniz.

Optik

Mutlak pozisyonu veya zemindeki veya tavandaki bağıl pozisyonu kodlayabilirsiniz. Robot üzerindeki bir sensör bunlara bakabilir. Optik farenizdeki gibi bir sensör, herhangi bir desen olmadan bile çoğu yüzeyden göreceli hareket elde edebilir. Desenli bir ızgara kullanan eski stil fareler vardı.

Her robotta farklı yönlere bakan iki (veya daha fazla) kameranız olabilir, eğer odanın duvarları doğru desende ise resimlere göre konumunuzu belirleyebilirsiniz. Dönen bir kamera başka bir seçenektir. Kameranın diğer robotlar tarafından engellenmesi endişe yaratabilir.

Yerdeki veya tavandaki bir sensör dizisi veya kamera robotları bulabilir ve daha sonra robotları konumlarına gönderebilirsiniz.

Optik işaret ışığının yönünü bulabilen bir çeşit dönen optik sensör (örn. Bir LED).

Ses

Ultrason cıvıltıları yaymak için birkaç işaretiniz olabilir. Hepsi senkronize edilmişse (örneğin, aralarındaki sabit gecikme), konumları verildiğinde, robotun konumunu belirlemek için bir uçuş süresi hesaplaması kullanabilirsiniz. Yıllar önce, bir metrelik bir mesafe boyunca yaklaşık bir mm'ye kadar doğru olan bir ultrasonik sayısallaştırıcı ile çalıştım, böylece ballparkta görünüyor. Robotunuzun şekline ve sürünün yansıma ve engellemelerinin konfigürasyonuna bağlı olarak bir sorun olabilir veya olmayabilir. Denemeniz gerekecek ama benim içimdeki his, yeterli işaretçilerle iyi bir performans elde edebileceğinizdir.

Her robotta ultrason telemetre. Diğer robotlara veya duvarlara olan mesafeyi haritalayabilir.

Bunlardan herhangi biri ilginç geliyorsa bu fikirleri biraz daha geliştirmeyi deneyebilirim.


Ultrason yöntemini seviyorum. Acaba rahatsız etmeden ya da sürünün yansıması olmadan seyahat edebilmesi için yere gönderebilir miyim acaba?
Rocketmagnet

@Rocketmagnet: Zeminden gönderebilirsiniz. Sorun genellikle jel ile yapılan dönüştürücüyü uygun şekilde birleştirmektir. Muhtemelen uygulamanız için biraz dağınık olurdu. Doğru bağlantı olmadan ultrason yüzeyden sekecektir. Belki robotunuzun tekerlekleri hile yapabilir.
Guy Sirton

@GuySirton Başka bir cihazdan yayılan bir cihazdan ultrason cıvıltılarının algılanmasını uygulamak istiyorum. Bunu yapmak için uğraşıyorum çünkü mevcut gördüğüm tüm bileşenler yankıyı yayan ve algılayan menzil bulucular. Aralığı çıkarırlar ve onları yayarlar ve parçalar alırlar. Sinyalleri havadan göndermem gerekiyor. Herhangi bir işaretçi veya öneriniz var mı? Teşekkürler!
necromancer

Eğer satın gerekir @necromancer vericileri / alıcıları örn görüyoruz digikey.ca/product-detail/en/MA40S4R/490-7706-ND/4358146 ve daha aynı kategorideki ...
Guy Sirton

@GuySirton çok teşekkür ederim. büyük yardım!
necromancer

4

Tavan, robotların üst kısımlarından görülebilen düz bir yüzey ise, düzenli aralıklarla tavana işaret çizgileri (veya bilinen başka bir referans desen) yerleştirebilirsiniz. Çizgiler, robotların üstündeki fotosensörler kullanılarak tespit edilen beyaz veya siyah çizgiler veya dar yansıtıcı bant olabilir.

Tekerlek konum sensörleri ve hassas tekerlek kontrolü, bir robot doğru bilinen bir konumdan d mesafesinden daha uzağa gitmediğinde istenen konum verilerinin doğruluğunu koruyacak kadar iyiyse , şeritler (beyaz şeritler, siyah şeritler veya dar yansıtıcı bant olabilir) yaklaşık d / √2 aradan daha fazla yerleştirilmemesi gerekebilir .

Hareket planlama yazılımının muhtemelen uyum sağlaması gerekir. Bir robotun bir çizgiyi geçtiğinde sürekli olarak yanlış olması durumunda, tekerlek enkoder sayısı oranını kat edilen mesafeye ayarlayın; veya bir seyahat ayağı sadece biraz daha uzunsa bir şerit görülecekse, şeridi geçmek için bacağı uzatın; veya konuma duyarlı işlemlerden hemen önce birkaç çizgiye göre kalibre etmek için hareket edin; veya şerit geçiş noktasında konuma duyarlı işlemler gerçekleştirin.

Oldukça çeşitli fiducial desenler var. X ve y eksenlerine paralel olarak oluşturulan ortogonal şeritler, oluşturulması ve çalışması en kolay olanıdır. Ancak boğa gözü, artı kıllar, takozlar, barkodlar ve diğer desenler de dikkate değer.


+1 Benim cevabımı göndermeden önce cevabını oklasam da, yine de inançlarla ilgili aynı cevabı yayınladım ... Uyku eksikliğini suçluyorum.
ThomasH

@ThomasH, teşekkürler! Ben OP bazı cevaplar, tüm yararlı bilgiler sağlayan herhangi bir oy vermedi şaşırdım .
James Waldby - jwpat7

4

Robotun üstü ve tavan arasındaki düşük mesafe gerçekten seçeneklerinizi kısıtlar. Tüm odanın merkezi bir görünümünü almak ve oradan çalışmak neredeyse imkansız görünüyor.

Ne tür bir 'odadan' bahsettiğinizden ve ne kadar enstrüman kullanabileceğinizden emin değilim, ancak robotlardan ziyade tavana marker yerleştirmek bir seçenek olabilir. Kısa mesafe göz önüne alındığında, tavanı her robotta yukarı doğru işaret eden bir kamera tarafından tamamen gözlemlenebilen küçük işaretleyicilerle tamamen doldurmanız gerekir, ancak bu kamerayı robotun üzerine daha alçak bir şekilde yerleştirebilirsiniz. size daha geniş bir görüş açısı sağlamak için ön ve arka tekerlekler. Ancak en büyük zorluk tüm tavanı gösterecek kadar belirgin işaretler basmak olacaktır.

Alternatif olarak, yeterince küçük bir aralığa sahip okuyucuları bulmanız şartıyla zemini çok sayıda RFID etiketi ile enstrümanı düşünmek mümkün olabilir (AFAIK, RFID okuyucular size sadece belirli bir etiketin nerede olduğunu değil, menzil içinde olduğunu söyleyecektir). Phidgets RFID okuyucu zaten yaklaşık bir yelpazesine sahiptir. 3 inç, yani hangi etiket grubunu gözlemleyebileceğinizi görerek yerelleştirmezseniz (aynı anda birden fazla etiketi gözlemlemek mümkünse - RFID ile gerçek bir çalışma deneyimim olmadığını söyleyebilir misiniz?), Denemeniz gerekir daha küçük etiketler elde etmek ve bunları okuyucudan bir dereceye kadar 'korumak', böylece çok yakın mesafeden okunamazlar.

Sonuçta zor ama çok ilginç bir meydan okuma gibi görünüyor. Eğer iş içinse, bize projenin amacını söyleyemeyeceğinizi varsayıyorum, ama kulağa ilginç geliyor :)


Cevap için teşekkürler. Sinir bozucu bir şekilde, projeyle ilgili açıklayabileceğim çok az şey var, soruyu sormayı çok zorlaştırdı.
Rocketmagnet

Ben de aynı şeyi düşünüyordum. Yüzme havuzları, yüzücüye havuzdaki şeridindeki yerini gösteren renkli bayraklara ve aşağıdaki çizgilere sahiptir. Aynı konsept ama bir yerine 2 eksen.
zkent

3

Bir vicon sistemi söz konusu değilse , robotların üzerine yerleştirilmiş işaretleri okumak için kalibre edilmiş bir kamera sistemi kullanabilirsiniz.

  1. Çevreye en uygun kameraları yerleştirin. Amazon.com'dan 20 $ web kameraları kullanıyorum
  2. Kameraları kalibre etmek için OpenCV kalibrasyon araçlarını kullanın.
  3. İşaretleyicileri robotların üzerine yerleştirin
  4. Kameralar ortamdaki göreli konumlarını bilirler, bu nedenle işaretleyici konumlarını üçgenleştirerek, işaretleyicilerin konumunu ve yönünü doğru bir şekilde çıkarabilirler.

Bu araştırmacıların bu makalede yaptıkları gibi (bkz. Sayfa 16)

Bununla birlikte, diğerlerinin de belirttiği gibi, tavan çok alçaksa, robotların tepesine iyi bir görüş açısı olmaz ve bu yöntemi kullanmakta zorlanırsınız.


Cevap için teşekkürler. Vicon gibi bir şeyle ilgili sorun, böyle bir alçak tavana sahip bir odayı kalabalıklaştıran 50 robotunuz olduğunda meydana gelen büyük miktarda tıkanıklıktır. Bu tür bir çözümü imkansız kıldığını düşünüyorum.
Rocketmagnet
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.