| Yazan: Tuna BULUT,
Tarih: 06-05-2008 07:23
|
Okunma Sayısı : 1118 |
Beğenilme : 26 |
Yayınlama yeri : Dersler, Genel |
Robot Nedir?
Robotun tanımı birçok kişiye göre farklılık göstermektedir. Amerika Robot Enstitüsü’ne göre(bir çeşit endüstriyel robotik grubu): “ Robot,
yeniden programlanabilen, farklı görevleri yerine getirebilmek için önceden
programlanmış hareketleri yapan çok fonksiyonlu ve becerikli bir araçtır.”
Webster’s New World Dictionary
(Webster’in Yeni Dünya Sözlüğü) ise robotu şu şekilde tanımlamakta: “Robot,
insanlar için rutin işleri manuel veya otomatik olarak yapmak üzere yapılmış
mekanik araçtır.”
Robot tanımlarından ikisine baktık. Peki robot kelimesi
nerden gelmektedir. Robot kelimesi ilk olarak 1920’li senelerde, Çek yazar
Karel Capek tarafından yazılan R.U.R(Rossum’s Universal Robots) adlı bir oyunda
kullanılmıştır. Robot kelimesi Çekce’de köle, hizmetkar anlamına gelen “robota”
kelimesinden gelmektedir. Capek’in oyununda robotlar efendilerine kaşı gelerek
insanlara kötü şeyler yapıyorlardı. Daha sonra bu oyun birçok film ve oyuna
esin kaynağı oldu. Bugün, hala bir robotun nelerden oluştuğu tartışma konusu.
Çoğuna göre bir makine, kendi kendine karar veremiyorsa yani bir
mikrodenetleyici içermiyorsa robot değildir. Hatta kimine göre bir makinenin
gerçekten robot olması için Pentium 4 işlemci ve 512 Mb RAM içermesi,100 sensör
tarafından da beslenmesi gerekli. Görüldüğü üzere herkes kendine göre bir tanım
oluşturmuş ve herkesin ortak bir tanımda buluşması zor gibi görünüyor.
Robotiğe Başlarken
Bir rob
ot yapmaya karar verdiyseniz hayal gücünüzün
sınırlarını zorlamalısınız. Ancak teknolojiye sahip
olmayabilirsiniz. En iyi robotu nasıl tasarlayacağınızı size biz söyleyemeyiz.
En önce bu konuda tecrübeli kişilerle
konuşun ve vakit geçirmeden başlayın. Tasarımınıza, robotunuzun ne yapmasını
istediğinize karar vererek başlayın, labirent çözen bir robot mu yapacaksınız
yoksa mum söndüren bir robot mu yoksa başka bir robot mu? Yapmak istediğiniz
şeye göre robotlar farklı teçhizatlara ihtiyaç duyacaktır, mum söndüren robota
bir pervane takmanız gerekirken veya mumu söndürmek için bir alete ihtiyaç
duyarken, labirent çözen robota böyle bir parça takmak gereksiz ve de yersiz olacaktır.
Elektronik ve programlama becerisi, robot yapımında önemli faktörlerdir. Tabi
ki radyo kontrollü bir robot yapıyorsanız, sensör ve yazılıma ihtiyaç
duymayacaksınız. Robotunuzun tasarımını ona yükleyeceğiniz göreve göre
belirlemelisiniz, bir yarışmaya katılacaksanız, yarışmanın kurallarını da göz
önünde bulundurmalısınız. Yapmak istediğiniz şeye göre değişmekle beraber,
genel olarak bir robot aşağıdaki kısımlardan oluşur.
- Şasi
- Motorlar
- Aktarım elemanları
- Batarya
- Tekerlekler
- Devreler
- Sensörler
- Yazılım
Tasarımınız ilk olarak robotunuzu hareket ettiriş biçiminize
göre şekillenecektir: robotunuz düz bir yolda mı yoksa engebeli bir arazide mi
gidecek, yüzecek mi yoksa bir duvara mı tırmanacak. Büyük ihtimalle karada
hareket eden mobil bir robot yapmak isteyeceksiniz. Hareketi sağlamak için de
tekerlek, palet veya ayaklara ihtiyacınız olacak. Tekerlekler daha fazla itiş
gücü sağlayacaktır. Diğerlerine göre ucuz, kontrolü ve montesi daha kolaydır.
Ayrıca tekerlekleri oyuncaklardan söküp kullanabilirsiniz. Robotunuzun hareket
edeceği yeri, nasıl hareket edeceğini belirledikten sonra hangi sürüş sistemini
kullanacağınıza karar vermelisiniz. Genellikle robotlarda diferansiyel(tank
tipi) sürüş sistemi tercih edilir.
Diferansiyel sürüş
biçiminde, sağ ve sol tekerlekler arasındaki hız farkından faydalanılarak
dönüşler gerçekleştirilir. Sağdaki 2 teker dururken diğer 2 tekeri hareket
ettirerek robotun duran tekerleklerin olduğu nokta etrafında dönmesini
sağlayabilirsiniz, ya da sağdaki 2 teker ileri doğru dönerken diğer 2 tekeri de
geriye doğru döndürürseniz, robotunuz kendi ekseni etrafında dönecektir.
Bir diğer sürüş biçimi
de otomobillerde kullanılan Ackermann sürüş biçimidir. Bu yöntemde araç önde
bulunan ve birbirine bir mille bağlı iki tekerin sağa ve sola dönmesiyle
dönüşlerini gerçekleştirir. Sürüş
biçimine karar verdikten sonra nasıl motor kullanacağınızı da saptamalısınız.
Çoğu motor, robotu kontrol edebileceğinizden daha hızlıdır. Bu yüzden motorun
hızını düşürmek için dişli kullanmalısınız. Bazı motorlar dişli kutulu olarak
satılırlar, böyle motorlara dişli motor(gear motor) denir. Dişli kullanmanın,
hızı düşürmenin yanında torku da yani itiş gücünü de artırması avantajdır.
Ayrıca motor seçiminde motorun tüketeceği elektriksel güç de, kullanılacak batarya
ve motor sürücü devre seçiminde etkili olacağından dikkate alınmalıdır. Bütün
bu aşamaları yaptıktan sonra artık devreleri tasarlayabiliriz. Kullanılacak
motorlar, hareket şekli, robottan beklentilerimiz devre tasarımı için
belirlenmesi gereken kriterlerdir. Otonom bir robot yapacaksanız robotu kontrol
edecek bir beyne, mikrodenetleyiciye ihtiyacınız olacak. Mikrodenetleyici,
içerisinde işlemci, RAM, ROM ve diğer çevresel birimleri barındıran
tümleşik(entegre) devredir. Mikrodenetleyicinin işlem hızı, bellek boyutu,
giriş/çıkış(I/O) birimleri için ayrılmış port sayısı ve diğer özellikler seçiminizde
etkili olacaktır. Küçük robot projeleri için genellikle Microchip firmasının
ürettiği PIC’ler kullanılır. Bunun sebebi de ucuz olması, erişim ve kullanım
kolaylığı. Ancak PIC’in yeterli olmadığı robot projeleri vardır, bunlar için de
daha gelişmiş kontrol birimlerine ihtiyaç duyulacaktır. Otonom bir robot
yapıyorsanız robotunuz birtakım duyu organlarına, sensörlere ihtiyaç
duyacaktır. Kontrast, basınç, ısı, hareket sensörleri gibi birçok sensör çeşidi
vardır. Gene seçiminizde robota yaptırmak istedikleriniz etkili olacaktır.
Örneğin, bir çizgi izleyen robot yapacaksanız, çizgiyi izleyebilmek için
kontrast sensörlerine ihtiyacınız olacak ve ya mum söndüren bir robot
yapacaksanız mumu algılayabilmek için ısı sensörüne ihtiyacınız olacak. Bir
diğer devre de motorları hareket ettirebilmek için gerekli olan motor sürücü
devrelerdir. Peki, motor sürücüler neden gereklidir? Motoru kontrol ederken
mikrodenetleyiciye direk bağlayamazsınız, arada motor sürücü bir devrenin
olması gereklidir. Çünkü mikrodenetleyiciden çekebileceğiniz maksimum akım
seviyesi çoğu motoru döndürmek için yeterli değildir. Özetlemek gerekirse, bir
robotun elektronik aksamı, kabaca mikrodenetleyici, sensörler ve motor sürücü devreden
oluşmaktadır. Bir sonraki aşama robotun
şasisi, yani motorları, devreleri, tekerlekleri ve bataryayı taşıyacak parça.
Şasiyi yaparken motorların, devrelerin, tekerleklerin ve bataryanın boyutu ve
biçimi göz önünde bulundurulmalı, ayrıca bu parçaların şasi içindeki yerleşim
planı yapılmalıdır. Aksi halde istenilmeyen durumlar ortaya çıkacaktır. Tabi ki
bütün bunları yapabilmek için de, şasi içine yerleşecek parçaların boyutları ve
biçimleri önceden bilinmelidir. Bir sonraki aşama ise robotun tüketeceği
enerjiyi hesaplamak, bunun için de hep en kötü durum göz önünde bulundurulmalı
ki robotunuz sizi yarı yolda bırakmasın. Tüketilen toplam enerjiyi hesaplamak
için de devrelerin ve motorların çektiği akımı bilmek gerekir. Burada en çok
enerjiyi motorlar tüketecektir. Daha önce de söylediğim gibi en kötü senaryoyu
düşünmek ve motorun çekebileceği maksimum akımı hesaba katmak gerekir. Batarya
seçimi de tabi ki tüketilen enerji hesaba katılarak yapılır. Son olarak eğer
otonom robot yapıyorsanız mikrodenetleyicinizi programlamanız gerekecektir. Kullandığınız
mikrodenetleyici hangi dilde programlanıyorsa o dili tercih etmelisiniz.
Örneğin PIC programlarken PIC Assembly, PIC C ve PIC Basic dillerini
kullanabilirsiniz. Assembly diğerlerine göre daha temel bir dildir. O yüzden
assembly kullanırken kontrol edeceğiniz üniteyi donanımsal olarak iyi
bilmelisiniz. Örneğin bir LCD’ye yazı yazdırırken, eğer Assembly
kullanıyorsanız, ekranı temizleme, imleci başa alma, satır değiştirme gibi
belli sırayla yapmanız gereken işlemler vardır ve bunları bilmeniz
gerekmektedir. Ancak c veya basic dillerini kullanıyorsanız, LCD’ye yazı
yazmada fonksiyonları kullanabilir ve bu şekilde işleri daha da
kolaylaştırabilirsiniz. Assembly dilinde mikrodenetleyicinin belleğini daha
verimli kullanabilirken, c ve basic de böyle bir şansınız yoktur. Bu yüzden C
veya Basic dillerinin yanında Assembly dilini de bilmek sizi avantajlı konuma
getirecektir.
Yazan: Tuna BULUT
|
|
|
robot
Yazan:: ali (Misafir ) Tarih: 08-08-2008 21:35
» Yorumu cevapla...
» Tüm cevap(ları) 1 gör