Robota yolu ezberletmek

Başlatan ozgurelkt, 14 Ocak 2012, 23:11:30

ozgurelkt

Pololunun sitesinde bulunan 3 pi  nin youtube da ki videosunda gördüğüm gibi   çıkmaz yolları ezberleyip daha sonra oralara hiç uğramadan hedefi bulmasını sağlayan programın mantığını çözmeye çalışıyorum. örnek robot sala dönüp geri döndüğünde L+ B kodu veriliyor. Ben Bu kodları eproma yazıp nasıl bir yöntemle geri çağırmalıyım orada takılıyorum.yardımcı olursanız sevinirim.

ete

Sen en iyisi robota nasıl yol ve yon verdigini burada ornekle acıkla ve birde cıkmaz yol ornegi ver bizde sana yol ezberlemeyi nasil yapacagını anlatmaya calısalım. Bu işte önemli olan motor sürücülerine nasıl hareket emri veriliyor, yönlendirme nasıl yapılıyor ve bir zaman sayacın varmıdır bunlar önemlidir.  Basit bir akıl vereyim. Bir hareket değişkeni tanımlarım. Arac duracak ise H=0 ,ileri gidecek ise H=1, geri gidecek ise H=2, Sola donecek ise H=3 Sağa dönecek ise H=4 şeklinde kodlama yapar ve her haraket icin birde zaman belirlersem ve bu iki parametreyi eproma kayıt edersem işim görülür diye düşünüyorum. Mesela ,
0 - 100.  (arac 100 ms duracak)
1 - 250.  (250 ms ileri gidecek)
3 - 30.    (30 ms sola donece)
1 - 100.  (100 ms düz gidece)
Gibir sistem kurulabilir. Tabiiki ileri, geri , sola gibi hareketlerin karsılığı surücü komutlarına göre verilmelidir.
Ete

xoom


ete

Zamanı kayda aldığını sanmıyorum. Yalnızca dönüşleri sayıyor ve çıkmaz girişleri yada dönüşlerin hesabını tutuyor.
Karmaşık bir yol seçme algoritması var sanırım. Bazen 3 yol seçeneklerinde sapmayıp doğru gidiyor bazende sapıyor.
Ancak kesinlikle dönüşlerin kaydını tutuyor.   Şöyle bir mantık da olabilir.  Düz giderken bir sapak gördü ve sola saptı. Düz gitti ancak yol bitince geri döndü . Kayıt olarak bir adet sola dönüş kayıt etti Ama geri dönünce yeniden sola dönüp ana yola çıkması gerek geri döndüğü için bu sefer ana yoldan saptığı dönüşü buluncaya kadar kayıtlarını silerek geri gelecektir. Bu örnekte tek dönüş vardı onu bulunca o kaydı silecek ve yoluna devam edecektir. Sonuç olarak geri dönmediği bütün dönüşleri numarası ile kayıt edecek ger döndüğü gidişleri ana yola çıkana kadar geri silecektir. Böylece kayıt ettiği yol sıralamasında yalnızca düz gidiş ve doğru dönüşler kayıt edilmiş olacaktır.
Bana kalırsa bir kaç deneme ile kolaylıkla bulunabilecek bir yöntem bence.

Ete

xoom

#4
mantık doğru olabilir ama 3lü sapakları neye göre pas geçiyor veya neye göre solu veya sağı tercih ediyor ? girdiği 3 lü sapak çıkmaz yollar içeriyorsa geri sapağa geldiğinde sola dönmediği yer artık sağında kalıyor ? ve neden geldiği yere düz gitmiyorda dönmediği sapağı tercih ediyor ? çünkü tekrar 3 lü yol seçeneği karşısında oluyor.. tüm bunları neden söyledim.. acaba 3lü sapaklarda koordinat (x y ) olarak tutuluyor olabilirmi? eski sapağa geldiğini anlayabilmesi için?

ozgurelkt

http://www.pololu.com/catalog/product/975  burdaki videoda dikkat ederseniz  sola dönmeye ayarlı.  ilk turda  yol ayrımlarına geldiğinde sola dönüyor. geri döndüğündede soldan devam ediyor. sürekli sola dönerek hedefi bulabilir. ben bu pi ye benzer bir robot yaptım.  birkaç deneme yapayım daha sonra  anlayamadığım kısımları sizle paylaşırım teşekkürler.

xoom

#6
evet videoyu  tekrar izlediğimde robotun sadece sola döndüğünü farkettim.. önce sağlara girmiyor ne zaman soluna denk gelirse o zaman giriyor ve hedefi buluyor.. son olarakta Ete Bey'in sölediği gibi, çıkmazlara girdikten sonraki her sol dönüş hanesini arttırmak değilde  sağa dönüş hanesini bir arttırarak hem sol dönüş adetlerini ve hemde sağa dönüşleri sırasıyla  tutmuş olucak ve tabi 2.defa piste koyarken hafızasındaki yolu tercih edeceği bir pini aktif ederek doğru hedefe yönlendirilmiş oluyor..

Powered by EzPortal