Birbirine Çarpmadan Çizgi İzleyen Robotar

Başlatan alibay58, 23 Nisan 2012, 02:24:21

alibay58

Merhaba arkadaşlar. Bir proje üzerinde çalışıyorum ve biraz tıkandım yardım ederseniz fikir verirseniz cok iyi olur.
Kısaca projeden bahsedeyim:
Malumunuz çizgi izleyen robot yapımında bir cok calısan örnek var  ve ben de yaptım. Benim projem 2 adet çizgi izleyen robot karsı karsıya geldiğinde (tek düz bir çizgi ve bu çizgi üzerinden ayrılmıs bir subway olacak aşağıdaki resimde görüldüğü üzere) robotlardan biri subway'e girecek digeri geçinceye kadar orada bekleyecek sonra yoluna devam edecek. Bunun için araçların yol takibinde CNY70 sensörler kullandım araçların birbirini görmesi içinde ultrasonic sensörler koyacağım..
Benim sıkıntım bunu sisteme ve koda nasıl aktarabiliriz yapılmıs bildiğiniz örnekler var mı? Yardımlarınızı bekliyorum..

MrDarK

Kod olarak değilde mantık olarak belirteyim , 2 robot birbirini ultrasonik olarak gördüğünde bir robotu subway dediğin yola çek öbür robot düz gitsin yani hep aynı robot subway'e gidecek oluyor buda, subway'e giden robotunun sağına ve soluna ultrasonic veya sharp sensörlerinden tak diğer çizgi izleyen robot subwaydeki robotun sağına veya soluna geçtiği zaman subwaydeki robot ilerler ve kafandaki karmaşadanda kurtulursun

Biraz karışık gibi görünsede mantıklı bir yaklaşımla anlatmaya çalıştım. Anlamadığın bir yer olursa açıklayabiliriz tabiki (:
Picproje Eğitim Gönüllüleri ~ MrDarK

alibay58

Tsk ederim Mr. Dark.. Aslında mantiken de izlenmesi gereken yol budur diye düşünüyorum ben de ama burada bu sistemi kurarken yasanacak sorun çizgi izleyen robotun çalısma mantıgına aykırı bi sistem. Söyle ki 3 adet sensörümüz bulunmakta ve orta ve sag sensör aktifken sağa dön ta ki sağ sönsör inaktif oluncaya kadar diyoruz kodda. Bu sayede orta çizgiyi izletmeye çalısıyoruz. Şimdi tam subwayde orta ve sag sensör aktif olacak ve bu sayede düz devam edecek. Diğer türlü sağ sensör aktif oldugunda sağa dön orta sensöre bakma diye interrupt versek bu sefer de çizgi izletemeyiz araca.. Bilmiyorum nasıl anlatabildim ama durum bundan ibaret..

MrDarK

Açıkçası anlattığından pek bişey anlamadım :)

Ama aklıma başka bir yöntem daha geldi şimdi subway'in girişine ve çıkışına bir düz çizgi atacaksın, subway'e girecek çizgi izleyen robotun önünede sadece bir adet sensör koyacaksın. Subway'e gelen çizgi izleyenden biri çizgiden geçer geçmez düz çizgiyi algılayıp yan yola saptıracaksın öbür çizgi izleyen düz çizgileri umursamayacak şekilde yazdıracaksın. Olurda subway çıkışında diğer çizgi izleyen hala subway girişindeyse yani subway'e giren çizgi izleyen robotun sensörü aktifse hızını düşürüp diğer robotun geçmesini bekleyecek.

Bu şekilde konu başlığındaki sorunun bir başka çözümüde olabilir hemde daha basit bir yazılım ve daha az maliyetle.

Şekille ifade etmek gerekirse şöyle....

Picproje Eğitim Gönüllüleri ~ MrDarK

alibay58

:) valla kendimi daha fazla nasıl ifade ederim bilmiyorum sonucta mühendislik var bende de :)).. Senin söylediğin bu sistemi uygulama acısından olabilir ama koda dönüştürdüğünde sıkıntı olur söyle ki kesikli çizgiler subway'e dogru gidiyor sensörle karsıdan gelen arabayı algıladıgında sol taraftaki subway'e girecek mantiken ama çizdiğin sekilde her halükarda subway'e girer çizgi orayı takip ediyor. bu sefer de karsıdan gelen araba da subway'e girecek.. zaten sorun da orada bağlantı noktalarında yani bir bağlantı noktasında orta ve sol sensör aktif oldugunda sola veya saga dön demek lazım ama bu sefer de çizgi izleyen mantıgını çignemiş oluyorsun araba her sol ve orta sensör aktik oldugunda sola dönecek bu sekilde çizgi de izlemez...:((

MrDarK

Yapmak istediğin robot çizgi izleyense çizgi izleyen yap, istediğin şey çizgi izleyen mantığına aykırıysa başka bir robot yap o zaman (:

Söylediğimin çizgi izleyenin mantığına ters olduğunu düşünmüyorum. Anlatmak istediğimi bence tam anlayamadın, Robotlardan birisi hem düz çizgileri izleyecek hemde dik paralel çizgileri ( | ) algılayacak şekilde bir kod yapısına sahip olacak dik çizgiyi görünce dönmesi gerektiğini algılayıp yan yola girecek.

Diğer robot ise hem düz çizgileri takip edecek hemde ( | ) dik çizgi gördüğünde tepki vermeyip pas geçerek hatta belkide bir 200ms kör giderek yan yola girmeyip ana yolda kalacaktır.

Bana kalırsa kendinizi kod yazmak , hayal etmek , algoritma yapısı kurma konularında geliştirin. ODTU robot günlerinde bu anlattığınız senaryoların 3x4 katı zorlukta pistler yapılıyor ve gayet sağlıklı kod yazabilen arkadaşlar var.

Kolay gele (:
Picproje Eğitim Gönüllüleri ~ MrDarK