RoboMobil Tasarım Kılavuzu

Transkript

RoboMobil Tasarım Kılavuzu
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
RoboMobil Kiti Tasarım Kılavuzu
Bu kılavuz, hazır bir robot kiti yapmanın yanında, kendi robotunuzu tasarlamanızı
sağlamaya çalışmaktadır. Bu yüzden farklı alternatifler de gösterilmektedir.
Robotumuzu 3 ana bölümden oluşturacağız;
1- Mekanik Bölüm
İlk önce robotun diğer bütün parçalarının bağlanacağı gövdeyi yapmamız
gerekiyor. Bu yüzden gövdeyi tasarlarken hangi parçaları bağlayacağınıza
önceden karar vermelisiniz. Bizim yapacağımız ilk robot İzci olacak, bir çizgi
izleyen robot.
İzci’nin üzerinde 2 adet motor, çizgi izleme sensörleri, kontrol kartı ve piller
olacak.
Motorun yandan gösterimi
.
Motorun önden gösterimi
L bağlantı parçası
.
.
. .
L bağlantı
parçasını önce
motora cıvata ile
bağlayın, sonra
motoru bu L
bağlantılarından
gövdeye
bağlayın.
Daha sonra da
tekerlekleri RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com
bağlayabilirsiniz
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Motorları L parçası olmadan bağlamanın
bir yolu da gövde malzemesinden bir parça
kesip motoru bu parça ile gövdenin arasına
cıvata ile sıkıştırmaktır.
Motorları gövdenin altına ya da üstüne
bağlayabilirsiniz. İlk durumda gövde
yerden daha yukarda, incisinde ise yere
daha yakın olur. Bu, sizin tasarımınıza
bağlıdır.
Motorları uzun tarafı içe gelecek şekilde
bağlarsanız, ağırlık merkezini gövdenin
içine doğru kaydırmış olursunuz.
Motorları yukarı tarafa
bağlarsanız, aynı sarhoş
teker ile daha büyük
tekerlek kullanabilirsiniz
Ön tarafa takılacak olan sarhoş
tekerin yerini belirlerken çizgi
izleme sensörlerine
çarpmamasına dikkat edin.
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Robotunuzu çalıştırırken sensörlerin
yüksekliğini ayarlamanız gerekebilir.
Bunun için uzun bir cıvata ile sensör
kartını ayarlanabilir şekilde bağlayın
RoboMobil kontrol kartınızı robotun
üzerine ekleyeceğiniz bir kata
koyabilirsiniz. Aradaki boşluk da
piliniz için.
2- Elektronik bölüm:
Robotumuzun elektronik elemanları öncelikle kontrol kartı ve buna bağlı olan
motorlar ile sensörlerdir. Kontrol kartı sensörlerden aldığı sinyalleri değerlendirir ve
kararlarını motorlara sinyaller olarak gönderir.
Motorlar: Robotumuzda iki adet motor var. Bu motorları iki yönlü kullanarak
robotumuzun hareket etmesini; ileri, geri, sağa ve sola gitmesini sağlayacağız.
DC motorlar iki kutupludur, birine – diğerine + voltaj bağlarsanız döner, kutupları
değiştirirseniz diğer tarafa döner. RoboMobil Kitinde kullandığımız motorlar 4V-9V
arasında çalışabilir. Fakat elektrik motorları zorlanınca, yani mesela önlerine bir engel
çıkınca ya da yokuş yukarı çıkarken normalden fazla akım çeker. Motorun kendisi bu
akıma dayanabilir, ama akımın geldiği yere de dikkat etmek gereklidir. Eğer bu akımı
doğrudan mikrodenetleyici çipten (yongadan) çekerseniz, çipi yakabilirsiniz. Bu
yüzden kontrol çipi ile motorların arasına motor sürücüsü koymanız gereklidir.
RoboMobil Kontrol Kartının üzerindeki L293D sürücü entegresi bu işe yaramaktadır.
0
1
0
1
0
1
1
0
1
0
1
0
P1
P2
P3
P4
V+
V-
M1
M2
Sağ
Motor
M3
M4
Sol
Motor
L293D
Eğer motorlarınızı RoboMobil kartının üzerindeki sürücü çıkışlarından sürerseniz,
motorlar karttan gelen sinyallere göre yönlendirilir, fakat motorlara giden elektrik
doğrudan pilin üzerinden alınır, mirodenetleyiciden geçmez. Eğer doğrudan
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
mikrodenetleyicinin I/O (giriş/çıkış) pinlerinden alırsanız en fazla 5V alabilirsiniz ve
amperin yükselmemesine dikkat etmeniz gerekir.
P1, P2, P3 ve P4 portlarına kırmızı, yeşil ve mavi gruplar halinde verdiğimiz
sinyallerin çıkışlarını motorların dönüş yönlerinde görebilirsiniz. Kutupları
değiştirdiğinizde motorun dönüş yön de değişir, böylece robotunuzu kontrol
edebilirsiniz.
Sensörler: Çizgi izlemek için CNY70 optikçift (optocouple) kontrast sensörlerini
kullanacağız. Bu sensörleri iki şekilde kullanabiliriz; 1- beyaz görünce sinyal verme
modu, 2- siyah görünce sinyal verme modu. Hangisini seçeceğiniz size bağlı, robotu
programlarken hangisini seçtiğiniz fark etmez, iki modda da aynı şekilde
programlama yapabilirsiniz.
RoboMobil kitindeki çizgi izleme sensör takımında 3 adet CNY70 var. Bu sensörler
ayrı ayrı da olabilir, böylece aralarındaki mesafeyi ayarlayabilirsiniz. 3’lü sensör
kartında 5 adet kablo göreceksiniz, bu kablolardan ikisi güç için, yani + (kırmızı) ve –
(siyah) kutuplar. Diğer 3 tanesi de 3 farklı sensörden gelen sinyaller için.
(+)
1
2
1 P5
2 P6
3 P7
3
(-)
(+)
(sinyal)
(-)
Güç kablolarını RoboMobil kartının 5V (+) ve 0V (-) portlarına bağlayın, sensör
kablolarını ise boştaki herhangi üç I/O portuna bağlayabilirsiniz.
3- Yazılım:
Gövdeyi bitirip motorları ve sensörleri de kontrol kartına bağlayınca, robotu
programlama aşamasına geçebiliriz. Yazılıma geçmeden önce ise algoritma denilen
yazılım mantığını oluşturmanız, yani robotun nasıl çalışacağını tanımlamanız gerekir.
Öncelikle robotu nasıl döndüreceğimize karar verelim:
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Örneğin, robotu sağa döndürmek için 3 yöntem kullanılabilir.
1- Sağ motoru yavaşlatıp sol motoru ileri döndürebilirsiniz
2- Sağ motoru durdurup sol motoru ileri döndürebilirsiniz
3- Sağ motoru geri döndürüp sol motoru ileri döndürebilirsiniz.
Her durumdaki dönme modlarını yukarıdaki şekillerden görebilirsiniz. 1’den 3’e
doğru, robotun yaptığı manevra daha fazla oluyor, daha keskin dönüşler yapabiliyor.
Çizgi takip etmek için ise en basit olarak şu mantığı kullanabilirsiniz:
- Orta sensör çizgiyi görüyorsa düz git
- Sağ sensör çizgiyi görüyorsa sağa git
- Sol sensör çizgiyi görüyorsa sola git
- Hiçbir sensör çizgiyi görmezse düz git
Şimdi, elimizdekileri birleştirirsek;
1- Orta sensör görüyorsa, iki motoru da ileri çalıştırmak gerekir, yani;
Eğer P5=0 ve P6=1 ve P7=0 ise, P1=1 ve P2=0 ve P3=1 ve P4=0
Bu satırı BasicStamp dili ile yazarsak;
IF IN5=0 AND IN6=1 AND IN7=0 then;
P1=1 AND P2=0 AND P3=1 AND P4=0;
2- Eğer sağ sensör görüyorsa, sağa döndürmek için sağ motoru geri, sol motoru
ileri döndürelim;
IF IN5=0 AND IN6=0 AND IN7=1 then;
P1=0 AND P2=1 AND P3=1 AND P4=0;
3- Sol sensör görüyorsa da tam tersini yapacağız;
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
IF IN5=1 AND IN6=0 AND IN7=0 then;
P1=1 AND P2=0 AND P3=0 AND P4=1;
Bu kılavuzda anlattığımız izci robotu birçok farklı şekilde yapabilirsiniz. Farklı sürüş
teknikleri, farklı algoritmalar, farklı özelikler, kullanabilirsiniz. Robotunuz farklı
sensörler takarak daha da geliştirebilirsiniz. Bu tamamen sizin hayal gücünüze bağlı.
Trafik Robotu
İzci robotumuzu biraz geliştirerek bir trafik robotu yapabiliriz. Trafik robotunun
özelliği izlediği çizginin yanına koyulan işaretleri tanıyarak gerektiğinde durmak,
yavaşlamak, korna çalmak ya da ışık yakmak, durakta biraz bekleyip yola devam
etmek gibi farklı işleri yapabilmek.
Çizgimizin tek tarafına ya da iki tarafına birden işaretler yerleştirebiliriz. İşaretleri
yerleştirirken çizgi izleme sensörlerin kapladığı alana girmemesine dikkat edin, yoksa
robotunuz işaretleri de çizgi olarak algılayıp takip etmeye çalışabilir.
İşaretleri algılamak için çizgi izleme sensörü olarak kullandığımız CNY70’i
kullanacağız. Bu sefer sadece 1 adet yeterli, tabi eğer yolun iki tarafına işaret
koyacaksanız 2 adet gerekiyor.
İşaret tanıma sensörü
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Tampon
Trafik robotumuza ya da herhangi bir başka robota çok ucuz ve kolay bir şekilde akıllı
bir tampon yapabiliriz. Bunun için sensör olarak anahtar (switch) kullanacağız.
C
NO
NC
Bağlama delikleri
Anahtarın 3 adet bağlantısı bulunur. Bu bağlantılarda C
yazanı “Common” yani genel bağlantıdır. – ya da +
kabloyu bağlayabilirsiniz. NO ucu “Normally Open” yani
normalde açıktır, anahtara basınca devre kapanır, elektrik
geçirmeye başlar. NC, “Normally Closed” ucu ise tam
tersi şekilde çalışır. Yani normalde devre kapalıdır, akım
geçmez. Anahtara basınca devre açılır akım geçmez.
Anahtarı bağlama deliklerinden bir L bağlantı parçası ile gövdeye bağlayın.
Yan görünüş
Anahtarın ucuna tampon olarak kestiğiniz şerit şeklindeki bir parçayı anahtarın
hareketli kısmına daha kısa bir parça ile monte edin.
Robotunuzun çarptığı cismin sağ tarafta mı sol tarafta mı olduğunu anlamak için
tamponunuzu iki parçalı yapabilirsiniz. Bunu için tampon şeridini azaltıp aynı şekilde
robotunuza bağlamanız yeterli. Böylece bir robotunuz ilerlerken bir tarafını engele
çarparsa, diğer tarafa doğru gidebilir.
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Sumo Robot
Sumo robotun gövdesi temel olarak çizgi izleyen ile aynıdır. Gövdedeki temel
farklılık Sumo Robotların önündeki rampadır. Sarhoş tekerlek yerine bu rampayı
kullanırsanız Robotunuzun gövdesini yapmış olursunuz. Diğer bir alternatif de
rampayı robot gövdesi olarak kullanmaktır.
Sumo Robotun bu rampasına Süpürücü Rampa diyebiliriz. Çünkü amacı robotu
dengede tutmanın yanında rakip robotu sahadan süpürmektir. Bu rampayı gövdeye
monte etmenin çeşitli yolları vardır,
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Bunlardan biri, rampaya gövde malzemesi ile yapılan yan destekler yapıştırıp bu
destekleri gövdeye L-bağlantı parçaları ile bağlamaktır.
Ya da L bağlantı parçalarını istediğiniz açıda bükerek rampayı gövdeye monte
edebilirsiniz.
Sumo robotlar dohyo adı verilen sahada güreşirler. Siyah renkli bir daire
şeklindeki bu sahanın dış kenarı beyazdır. Robotlar sahanın kenarına geldiğini bu
beyaz çizgiyi algılayarak anlarlar. Bu kenar çizgilerini algılama işi aynı çizgi izleyen
robotun çizgiyi algılaması gibidir. Robotun gövdesinin bazı yerlerine CNY70
sensörlerini koyarak bu algılamayı yapabiliriz. Aslında sadece öne 2 adet koymak
yeterlidir, fakat robotunuzun güreş performansını arttırmak için arkaya ya da yanlara
da koyabilirsiniz.
Çizgi algılama
sensörleri
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Sumo Robotların olmazsa olmaz bir özelliği de tabiî ki diğer sumoyu algılamaktır.
Bunun için iki tip algılama yapabilirsiz; cisim algılama ve mesafe algılama. Cisim
algılama tipinde sensör önünde bir cisim olup olmadığını 1 ve 0 olarak bildirir.
Mesafe algılama tipinde ise bu cismin sensöre olan mesafesini bildirir. Ne tür
algılama ve kaç adet sensör kullanacağınız sizin güreş stratejinize göre değişir.
Burada en temel şekli ile 2 sensörlü ve cisim algılamalı tipi gösteriyoruz. Sensör
olarak 10-80 cm agılama mesafeli
Sharp GP2Y021 kulanacağız. Bu
sensörle 10-24 cm arasındaki
cisimleri “var” yani 1 olarak
algılayabilirsiniz (bkz. Grafik).
Cisim algılama, algılanan cismin
ebatlarına göre daha ileride ya da
daha geride de gerçekleşebilir, yani
mutlaka 24cm olacak diye bir kural
yok.
0
10
24
80cm
Sensör
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Bu sensörler en az 10cm’de algılama yaptığı için yerleştirirken robotun ortasına doğru
yerleştirmek gerekir. Kenara yerleştirirseniz yakına gelen cisimleri algılamayabilir.
Rakip robotun nerede olduğunu anlamak için robotun her tarafını sensörle
donatmanıza gerek yok. En uygunu öne doğru sağa ve sola bakan iki sensör
kullanmaktır. Eğer bu iki sensör rakip algılamıyorsa robotu kendi etrafında döndürüp
tarama yapabilirsiniz. Rakibi bir kere yakaladıktan sonra ne tarafa kaçarsa o sensöre
yakalanacağından hedefe kilitlenebilir, takip edebilirsiniz.
Şöyle bir algoritma düşünülebilir;
S1: sağ sensör
S2: sol sensör
A1, A2, A3, A4: alt çizgi sensörleri
Dön: sağa doğru kendi etrafında dönme alt programı
Sağ, sol, düz, geri: Hareket alt programları
Sağlı ileri, Sollu ileri: Hareket alt programları
If A1 or A2 or A3 or A4 =0 then;
If S1= 0 and S2=0 then;
Dön;
Else if S1=1 then
Sağlı ileri;
Else if S2=2 then,
Sollu ileri;
Else if S1=1 and S2=1 then
İleri;
End if
Else;
Geri
End if
* kenar çizgilerini algılamıyorsan*
*sensörler cisim algılamıyorsa dönerek cisim ara*
* Sağ sensör görürse*
* Sağa ve ileri doğru hareket et*
* Sol sensör görürse*
* Sola ve ileri doğru hareket et *
* İki sensör de görürse*
* İleri doğru hareket et*
* Kenar çizgilerini algılıyorsan*
* Geri git*
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Takipçi Robot
Bu robotun işi önüne gelen ve hareket eden herhangi bir cismi belli bir mesafeden
takip etmektir. Temel olarak yapısı ve yazılımı sumo robot ile aynıdır, farkı ise;
1- Herhangi bir şeyi itmeyeceği için rampa yerine sarhoş tekerlek kullanılabilir.
2- Sumo Robot gibi hedefini bulup kilitlenir, fakat gidip ona çarpmaz, bunun
yerine, belli bir mesafeye gelince durur.
Bu robotu yapabilmek için cisim algılama
yetmez, cismin mesafesinin de algılanması
gereklidir. Sharp mesafe sensörleri algıladığı
mesafeye göre grafikte görüldüğü gibi bir
voltaj çıkışı verir.
Bu voltajı doğrudan mikroişlemciye giriş
olarak veremeyiz, çünkü mikroişlemciler
sadece dijital bilgiden anlarlar. Doğrudan
giriş yaparsak Sumo Robot örneğindeki gibi
sadece 24cm civarında var sinyali alırız. O
yüzden sensörün bu analog çıkışını dijitale
çevirmemiz gerekir. Bu iş için ise AnalogDijital çevirici, yani ADC kullanılır.
ADC kullanımı
ADC
(+)
(GND)
Mikroişlemci
Sensörden gelen 0 ile 5V arasındaki voltaj değerlerini ADC ile mesela 4 bitlik bir
dijital bilgiye çevirirsek bu bilgiyi mikroişlemcide kullanabiliriz.
Karanlıktan korkan robot
Bu robot aslında etrafındaki ışık miktarını karşılaştırarak yazdığınız programa göre en
fazla ya da en az ışık olan tarafa gider. Eğer en fazla ışık olan tarafa gitmesi için
programlarsanız doğal olarak karanlıktan kaçan, yani korkan bir robot olur.
Işık miktarını algılamak için Fotorezistör kullanabilirsiniz. Fotorezistör aslında
değişken bir dirençtir. Üzerine ne kadar fazla ışık düşerse direnç değeri o kadar azalır,
geçen akım artar. Karanlıkta ise akım geçirmez. Bu sayede fotorezistörün üzerinden
geçen akım okunarak ışık miktarı algılanabilir.
Robotunuzun fazla ışık gelen tarafı algılayabilmesi için sensörleri gövdenin 4
kenarına ya da 4 köşesine yerleştirebiliriz.
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2
Fotorezistörler
Fotorezistörlerin algıladıkları ışığı karşılaştırabilmeleri için analog algılama yapmak
gerekir. Eğer sadece 1-0 yani ışık var-yok şeklinde bir algılama yapılırsa, mesela 3
sensörden de “ışık var” sinyali gelirse robot nereye gideceğine karar veremez. Bu
yüzden analog algılama yapmak gerekir, hangi sensörün ışığı diğerlerinden daha fazla
ise robotu o tarafa yönlendirebilirsiniz.
Yazdığınız programla bunun tam tersini yaptırmak da mümkün. Yani yazılımdaki
ufak bir değişiklikle robotunuzu ışığa giden değil de ışıktan kaçan, karanlık, kuytu
yerlere giden bir robota dönüştürebilirsiniz. O zaman da adına “Saklanan robot”
dersiniz. Bunun için tek yapmanız gereken robotu en az ışık gelen sensörün yönüne
götürmek.
www.RobotOkulu.com RoboMobil Tasarım Kılavuzu 1.2

Benzer belgeler

RobotOkulu e-Dergisi Sayı 4

RobotOkulu e-Dergisi Sayı 4 Motorlar: Robotumuzda iki adet motor var. Bu motorları iki yönlü kullanarak robotumuzun hareket etmesini; ileri, geri, sağa ve sola gitmesini sağlayacağız. DC motorlar iki kutupludur, birine – diğe...

Detaylı