matris ezberletme sistemi

Başlatan yusuf.ozyer, 13 Ocak 2015, 22:12:19

yusuf.ozyer

hocalarım daha önce bu şekilde bir konu açılmışsa affola forumda bulamadım
hocalarım bir mayın tarlası robotu yaptım herşey güzelce çalıştı pisti tamamladı  (ilk gittiği turda gittiği yerleri ezberleyecek ) 2.tura geldiğinde ezberinden gitmesi lazım o ezberletme kısmını yapamadım nasıl bir şey kullanmalıyım 
bunun mantığı nedir ? pist bu şekilde ilk turu ezberleme turu ikinci turda ezberinden gidecek (yandaki beyaz yol ile ikinci tura geçecek ) belirli yerlerde mıknatıslar mevcut ve o mıknatısların üzerinden geçmeyecek o kısımları hallettim bir tek ezberlemeyi yapamadım

yardımcı olup olmayan herkese teşekkür derim

ete

Şekil çok açıklayıcı değil. Siyah kutularmı taranıyor yoksa beyaz çizgilerden mi gidiliyor oda belli değiş. Ayrıca yatay tarama mı yoksa dikey taramamı oda belli değil.
Ama yinede şunu söylemek mümkün, sorunu kaynağı konum belirlemeya dayanıyor.
Araç nereden ne süre ile gttiğini bilmez ve nereden döneceğinide bilmez ise nasıl bulacak yerini yada neyi ezberleyecek.?
Bir yol yada güzergah ezberletme işlemindebaşlangıç noktasına ait koordinatlar olmalıdır. Yada buna referans noktası diyelim o noktaya araç manuel olarak getirilmelidir. Bundan sonrasını araç gittiği süre, durduğu süre döndüğü noktalar bu ların hepsi kayda alınmalıki tekrar aynı şeyleri yapabilsin.
Bu soruyu şöyel sormak daha iyi olurdu.
- araç A noktasından başlayacak
- B noktasına kadar  2000 ms düz gidecek,
-Sonra C noktasına 2000 ms gidecek
- 90 derece sağa dönecek
-1000 ms düz gidecek ve D noktasına ulaşacak
- buradan tekrar 90 derece dönerek 2000 ms düz gidecek
Bu açıklamada verilen nokta bilgilerine ulaşma bilgileri yol ezberleme için gerekli olan bilgilerdir.
İşi dahada hassaslaştırmak ve garantiye almak açısınından nirengi noktalarına ilave sensörler koyulabilir.
Ete

yusuf.ozyer

Hocam bu beyaz cizgiyi izleyecek ve robot tamamen otonom
her kavsaga geldiginde saga donus yapiyor belirli yerlerde miknatis mevcut o miknatislarin yeri belli degil robot onu algiliyor kural ise miknatisdan gecmeyecek
İlk turu ise ezberletecek ikinci turu ezberinden gidecek yani hangi noktada miknatis gorduyse ikunci turda o yola hic girmeyecek miknatissiz yollardan gidecek
ornek video atayim

yusuf.ozyer

http://m.youtube.com/watch?v=3l0fQQ_DO0Y
http://m.youtube.com/watch?v=RsiQHbyVOFc

ilk linkdeki benim robotun eski videosu simdi o yolu tamamliyor ama ezberletmeyi yapamadim

ete

Çigi izleyen kelimesini kullansaydın daha anlaşılır olacak idi mesajın. Şimdi her şey anlaşılıyor ama hala anlamsız olan şeyler var.
Senin ilk robotun çizgi nin kesildiği noktalarda geri dönüş yapıyor. Ama bir sonraki harekette aynı yere gelmesine rağmen geri dönmeden geçiyor orasını. Burada , aracın algoritmasıda önem kazanıyor demekki.
Araç kendi keniden bu çizgiyi dolaşabiliyor ise neden birde ezberletme yoluna gidiliyor. Acaba bilmediğimiz şey şumudur.
Çizgileri olan bir arazide aracı çizgi kontrolünde hareket ettirip hareketleri hafızaya almak ve aynı işi çizgileri olmayan bir arazide yapmasını sağlamakmıdır? Şayet bu değil ise mantıksız bir istek gibi geliyor bana.

Tekrardan yol ezberlemeye gelirsek, tamamen ilk mesajımda açıkladığım şekilde düz gidişler , dönüş hareketleri hepsi kayda alınması gerekiyor.
Bu durumda işi biraz daha derine götürürsek. Araç referans noktasından kalkmadan önce ilk parametreyi epromdan okuyacak. Okuyacağı parametreler şunlar olmalı;
1. Toplam Kaç nokta geçeceği (başlangıç dahil) .Bu bilgi kaç tane konum bilgisi alınacağınıda gösterecek.
2. İlk konum bilgisi için Aracın dönme parametresi : 0 = dönüş yok, 1=sola dönecek , 2= sağa dönecek
3. İlk konum bilgisi için aracın Okunan parametreye bağlı olarak hareket parametresi, Daha doğrusu düz gidiş yada dönme süresi parametresi. Tabiiki önce bütün kayıtların okunup dizi değişkenlerine yerleştirilmesi gerekiyor. Böylece araç bir kere harekete başladımı kesiksiz olarak yapacağını yapar ve sonunda durur.
Bir yandan da alınan bilgilerin işlenmesinide gösterelim. Bu ilk parametre okunduktan sonra  (diyelimki 0,1,244 bilgileri okundu bu şu demek araç ilk hareketini düz giderek yapacak 1x256+244=500 ms düz gidecek demektir) bilgisi program tarafından değerlendirilerek,
SAG_MOTOR=1
SOL_MOTOR=1
PAUSE 500
denildimi araç bu hareketi yapabilir aslında.
Bu aşamadan sonra ikinci kayıt bilgisi olarak Dönüş=1;Süre=100 okunduğunu varsayalım.
Bu bize motorun sola döneceğini dönme süresinin 100 ms olacağını gösterecek.
SAG_MOTOR=1
SOL_MOTOR=0
PAUSE 100
bu komut dizisi motoru SOL a 100 ms süre ile döndürecektir.
Benzer şekilde hareket ve yön bilgileri bitene kadar araç hareket edecektir.
Yazdıklarım örnektir. Elbette aracın hareket algoritması daha hassas bir şekilde tamamen timer kontrollu yapılabilir.
Yine de aracın bu bilgilerle istenilen hassasiyeti tutturup tutturamayacağı konusunda çok fazla emin değilim. Özellikle dönme süreleri çok iyi ayarlanmalı araç üzerinde süreli dönme hareketi ile ilgili denemeler epeyce yapılmalı ve en uygun dönüş süreleri tespit edilmelidir.

Veya araç çizgi izlerken her yaptığını parametre bazında birebir kayda almak gerekir. O zaman ayısını yapabilir diye ümid ediyorum. Bu işte konum değişiklikleri esas alınarak kayıt mekanizması oluşturulmalıdır.
Araç ref noktasında iken başla komutu veridiği anda motorlar düz gidecektir. Her dönme hareketi emri alındığında bir önceki gidiş süresi gidiş yönü hemen kayda alınıp kayıt adresi bir artırılmalıdır. Örnek vermek gerekirse;
BASLA: YON=0 SÜRE=0 ile düz gidiyor, ilk dönme emri geldi o halde hemen KAYIT 1,YON,SURE.Byte1,SURE.Byte0
Dönme durdur o halde hemen YON=1:SURE=100, KAYIT 2,YON,SURE.Byte1,SURE.Byte0
Bu şekilde her hareket sonunda o harekete ait parametreler kayıt edilmelidir. Burada tek sorun epromun kayıt için 10 ms lik bir gecikmeye ihtiyaç duymasıdır. Biraz araştırılır ise özel epromlar bulunabilir. 1 ms lik sürelerla kayıt yapabilen epromlar olduğunu duymuş idim.

Eldeki imkanlarla bunun başka bir yolu olduğunu sanmıyorum. Elde başka ne imkan bulunabilir diye sorarsan GPS verilerinden yararlanmak mümkün. Bu en doğru yol bence. Olmadı açı ölçerler yada pusula ölçerler yardımı ile dönüş yönü konusunda daha fazla bilgi ednilebilir diye düşünüyorum.

Ete

Burak

İngilizce bir kaynak ama şekillerle ve harflerle labirent algoritmasını nasıl çözebileceğini matematiksel olarak çok güzel anlatmış ..

https://www.pololu.com/file/0J195/line-maze-algorithm.pdf

Burak.
Ω Gens Una Sumus Ω

yusuf.ozyer

hocam benim bunu ezberletmemdeki araç mıknatısın bulunduğu yola hiç dönmesin üstteki videonun biri benim değil o örnek olması için attım benim robot o sıralar düzgün değildi ve hataları vardı şimdi ise yok ezberletmemdeki amacım bu yani  o yarıda döndüğü yerlerde mıknatıs bulunmakda
pistin örnek çizimi bu o aralarda mıknatıs mevcut benimki öyle her bir yanı taramıyor  sadece mıknatıssız bir yol buldumu ora gidiyor

yusuf.ozyer

#7
yani giderken ezberleyecek ama mıknatısın gördüğü yere dönemeyecek mıknatısın bulunduğu yola dönemk yerine başka bir yere gidecek
sizin verdiğiniz örnekde gittiği yeri tümüyle ezberliyor bana mıknatısı gördüğü yerleri ezberlemeyecek ve mıknatıssız yerden gidecek şekilde ezberleyecek

ete

#8
Yusuf ,
Ortada bir sistem var ve muhtemelen ya sen yaptın yada bir yerden şema alıp uyguladın. Sistem senin kafanda ama benim kafamda bir şey yok. Ben bu nedenle açıklamamı genel anlamda veriyorum. Bahsini ettiğin şey tamamen bir algoritma meselesidir.
Bir konum değiştirme noktasında mıknatıs görüyor ise sistem kayıt almayacak. Ama bu durumda kopukluk olmazmı?
Araç hafızadan bir işlem yapacak başladı çalışmaya ve bir dönüm noktasına geldi ama orasını kayda almadığı için bir sonraki noktaya kadar aynı şekilde hareket etmeye devam edecek acaba parkur buna uygun olacakmı?. Her neyse "uygula gör " politikası uygulamak gerek Akasaklıkları uyguladıktan sonra görmek en iyisi. Sistem nasıl çalışıyor bilmiyoruz. Araç hem çizgi takibi yapıyor hemde mıknatısları görüyor olacak öyle değilmi. Bu işler farklı sensör gurubunu gerektirir.
Sonuç olarak programda neyi emredersen sonuçta onu alırsın. Bunada algoritma deniliyor.

Ete

yusuf.ozyer

Hocapyoutubede kullandiginiz gmail adresi verinde su anda nasil calisdigini gosteren video atayim
onemli oldugu icin herkeze acik paylasmiyorum . Sistem bana ait hocam tumuyle istersenuz ozelden kodlari gondereyim dedigim gibi videoyu bile paylasmiyorum su anda

ete

Çok özel ise bende görmesem daha uygun olur. Boş ver zaten görüp de ne yapacağım. Çok gerekirse yani bana lazım olursa ben kendi sistemimi kolaylıkla tasarlarım.

Ete

Burak

Alıntı yapılan: yusuf.ozyer - 14 Ocak 2015, 20:53:21
yani giderken ezberleyecek ama mıknatısın gördüğü yere dönemeyecek mıknatısın bulunduğu yola dönemk yerine başka bir yere gidecek
sizin verdiğiniz örnekde gittiği yeri tümüyle ezberliyor bana mıknatısı gördüğü yerleri ezberlemeyecek ve mıknatıssız yerden gidecek şekilde ezberleyecek

Merhaba Yusuf ;

Benim lisans bitirme tezim , Tasarım ve uygulama çalışmam , labirent çözen bir robot sistemiydi .  Yukarıda verdiğim dökümanı kullanarak istediğin şeye ulaşman mümkün . Seninkindeki fark şu , mıknatısın bulunduğu sokaklar "çıkmaz yol" olarak kabul edilecek sadece , başka hiçbir fark yok . Konuyu 2 gün önce açtığını gördüm dökümanı paylaşmak istedim ama algoritma ve dökümanlara ulaşamıyorum , bulamıyorum , sadece yukarıdaki kaynağa ulaşabildim , çünkü bundan çok uzun bir süre önce yapılmış bir tezdi bu , lakin yukarıdaki paylaştığım dökümandaki yöntemle (harf yöntemiyle sadeleştirme methodu ) Labirenti robota çözdürmüştük . Pololu'nun 3pi isimli bir robotundan yola çıkarak birşeyler yapmaya çalışmıştım . Bu 3pi isimli robot PID algoritması ile çizgi izleyip yukarıdaki dökümandaki sisteme göre labirenti çözümlüyordu . Ben sadece düşük kazançlı oransal hata kontrolü kullanarak (P control) robota çizgi izlettim ve yukarıdaki paylaştığım dökümanıda kullanarak labirenti çözümlettim . Bu dökümanı ne yap et , anlamaya çalış . Dökümanı bulabilirsem direkt olarak buraya yüklerim . Kolay gelsin

Burak .
Ω Gens Una Sumus Ω

yusuf.ozyer

#12
sağolun hocam teşekkür ederim pdf yi türkçeye cevirmeye çalışıyorum
ete hocam yarışma dönemi olduğu için paylaşamıyorum kusuruma bakmayın yarışmalardan sonra paylaşım yapacağım zaten aynlış anlaşıldıysa özür dilerim
hepinize teşekkür ederim vakit ayırıp ilgilendiğiniz için teşekkür ederim

ete

Yanlış anlama yok aksine doğru anladım ve bu gibi şeylere önem verdiğim için bana bile gösterme dedim. Sorun yok bak keyfine. İnşallah yarışmayı kazanırsın .
Ete

Burak

Alıntı yapılan: yusuf.ozyer - 15 Ocak 2015, 21:24:17
sağolun hocam teşekkür ederim pdf yi türkçeye cevirmeye çalışıyorum
ete hocam yarışma dönemi olduğu için paylaşamıyorum kusuruma bakmayın yarışmalardan sonra paylaşım yapacağım zaten aynlış anlaşıldıysa özür dilerim
hepinize teşekkür ederim vakit ayırıp ilgilendiğiniz için teşekkür ederim

Senin ihtiyacın olan kısım PDF'in en sonunda yer alıyo , metnin tümünü çevirmene gerek yok ,
S - U - L - R gibi ifadelerin ne anlama geldiği zaten açık .

S - Straight (Doğru ilerlemek)
U - (U dönüşü)
L - Left - Sol
R - Right - Sağ

Mecburi yön dönüşlerinin eeprom'a kayıt edilmediğini bil , kavşak (interception) noktalarındaki dönüşlerin sol veya sağ el kuralına yapıldğını zaten biliyorsun . U yapması giriş yaptığı kavşakta yanlış bir yön seçimi yaptığının ifadesidir .

Örnek : Sol el kuralını seçmiş bir robot :  Önce S sonra U sonra L yapmışsa kavşak noktasındaki yapması gereken asıl seçim R olmalıydı şeklinde sentezliyosun , Yani eeprom'a "SUL" kaydı girilmişse ilk kavşakta bu ifadeyi silip yerine "R" yazıp yoluna devam ediyosun ...

Umarım faydalı olur .

Burak .
Ω Gens Una Sumus Ω

Powered by EzPortal