Bir cümlelik özet
Bir robot; çevresini algılayan, algıladığına göre karar veren ve bu karara göre hareket eden bir sistemdir; bu üç halka eksikse cihaz otomatik olabilir ama robot sayılmaz.
Neden önemli?
Günlük dilde "robot" kelimesi çok geniş kullanılıyor. Bazen bir çamaşır makinesine, bazen bir oyuncak arabaya, bazen de telefondaki bir uygulamaya robot deniyor. Karışıklık burada başlıyor.
Robot ne demek olduğunu net bilirsek, kendi projemizi tasarlarken doğru soruları sorarız: "Bu cihaz çevresini gerçekten algılıyor mu?", "Aldığı bilgiye göre kararı değişiyor mu?" Bu sorular, bir sonraki dersten itibaren kuracağımız robotların temelini oluşturur.
Önceki derste yaptığın mini otomatik sulama prototipini hatırla. Toprak nemini ölçen bir sensör, bir eşik değeri ve suyu açan bir pompa vardı. İşte o prototip, bu dersin tam kalbinde duran fikri zaten kullanıyordu: algıla, karar ver, hareket et.
Robotun tanımı: üç halkalı zincir
Giriş dersinde robotların "sense–decide–act", yani algıla–karar ver–hareket et döngüsüyle çalıştığını görmüştük. Şimdi bu üç halkayı biraz daha derinleştirelim.
Algılama
Robot, dünyayı sensörleriyle "hisseder". Mesafe sensörü önündeki engeli, ışık sensörü aydınlığı, nem sensörü toprağı, düğme ise senin dokunuşunu algılar. Sensör olmadan robot kördür; ne olduğunu bilmeden hareket eder.
Karar verme
Robot, sensörden gelen bilgiyi bir kural ile karşılaştırır. Bu kural genellikle bir "eğer" cümlesidir: "Eğer önümdeki engel 10 santimetreden yakınsa dur." Karar halkası, robotun beynidir. Aynı sensör bilgisiyle farklı kararlar yazarsak robot farklı davranır.
Hareket etme
Robot, kararını dış dünyaya bir eylemle yansıtır: motoru döndürür, yönünü değiştirir, LED yakar, ses çıkarır. Bu halka olmadan robot düşünen ama hiçbir şey yapamayan bir kutu olurdu.
Bu üç halkayı sözde kodla birlikte görelim:
Sürekli tekrarla
mesafe = ön sensörü oku # ALGILA
eğer mesafe < 10 santimetre # KARAR VER
motorları durdur # HAREKET ET
kırmızı LED'i yak
değilse
ileri git
Aynı mantık kısa bir Arduino (C++) parçasında şöyle görünür:
void loop() {
int mesafe = mesafeOku(); // ALGILA
if (mesafe < 10) { // KARAR VER
motorDurdur(); // HAREKET ET
digitalWrite(LED_KIRMIZI, HIGH);
} else {
ileriGit();
}
}
Sözde kod ile Arduino kodunun görünüşü farklı; ama mantık birebir aynı: algıla, karar ver, hareket et.
Her otomatik cihaz robot değildir
Burası dersin en önemli ayrımı. "Otomatik çalışıyor" demek "robot" demek değildir. Farkı iki örnekle görelim.
Örnek 1: Robot süpürge gerçekten robottur
Bir robot süpürgeyi düşün. Duvara çarpmadan önce mesafe sensörüyle engeli algılar. "Önümde engel var, yön değiştireyim" diye karar verir. Sonra tekerleklerini çevirerek hareket eder ve rotasını değiştirir. Zemin kirliyse tekrar üzerinden geçer, şarjı bitince istasyona döner. Üç halkanın hepsi burada: algıla, karar ver, hareket et. Bu yüzden robot süpürge gerçek bir robottur.
Örnek 2: Zamanlayıcılı lamba robot değildir
Şimdi de akşam saat 19:00'da otomatik yanan, sabah 07:00'de sönen zamanlayıcılı bir lamba düşün. Bu lamba otomatiktir, kendi kendine çalışır; ama çevresini algılamaz. Odada biri var mı, dışarısı karanlık mı, hiçbirini bilmez. Sadece saate bakar. Kararı çevreye göre değişmez; her gün aynı saatte aynı şeyi yapar.
Bu lamba "hareket eden" bir karar da vermez; sadece önceden ayarlanmış bir zamanı tekrarlar. Algılama ve gerçek karar halkası eksik olduğu için robot değildir, sadece otomatik bir cihazdır.
Sınırdaki durumlar
Bazı cihazlar arada kalır. Hareket algılayınca yanan bir sokak lambası, bir sensör (algıla) ve basit bir kural (karar) kullanır. Bu, zamanlayıcılı lambaya göre robota bir adım daha yakındır; ama tek bir düğme gibi davrandığı, ortama uyum sağlamadığı için çoğu insan buna tam anlamıyla "robot" demez. Önemli olan kesin bir sınır ezberlemek değil, üç halkayı sorarak düşünebilmektir.
Kısa bir karşılaştırma tablosu:
| Cihaz | Algılar mı? | Karar değişir mi? | Hareket eder mi? | Robot mu? |
|---|---|---|---|---|
| Robot süpürge | Evet | Evet | Evet | Evet |
| Zamanlayıcılı lamba | Hayır | Hayır | Hayır | Hayır |
| Hareketle yanan lamba | Evet | Basit | Hayır (sadece yanar) | Sınırda |
| Uzaktan kumandalı araba | Hayır (sen karar verirsin) | Hayır | Evet | Hayır |
Uzaktan kumandalı araba ilginç bir örnek: hareket eder ama kararı sen verirsin, kendisi algılayıp karar vermez. Bu yüzden o da tam bir robot sayılmaz.
Mini uygulama
Elektronik ya da motor gerekmeyen bir düşünme çalışması yapalım. Aşağıdaki cihazları teker teker ele al ve her biri için üç soruyu yanıtla:
- Çevresini algılıyor mu? (Hangi sensör?)
- Aldığı bilgiye göre kararı değişiyor mu?
- Bir eylemle hareket ediyor mu?
Üç sorunun üçüne de "evet" diyorsan cihaz robota çok yakındır. Eksik halka varsa hangisinin eksik olduğunu yaz.
İncelenecek cihazlar:
- Otomatik kayan kapı (yaklaşınca açılan market kapısı)
- Ekmek kızartma makinesi
- Çizgi izleyen bir robot
- Klasik bir el feneri
- Sıcaklığa göre çalışan bir klima
Not defterine küçük bir tablo çizip her cihaz için üç halkayı işaretle. Cevap tek kelime değil; kısa gerekçe de yaz. Örneğin: "Ekmek kızartma makinesi ısıyı bir zamanlayıcıyla ölçer ama ekmeğin ne kadar kızardığını gerçek anlamda algılamaz."
Uygulama laboratuvarı: Robot Nedir, Ne Değildir?
Robot Nedir, Ne Değildir? konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Robotun tanımı: üç halkalı zincir ile Karar verme arasındaki ilişkiyi kullanarak algıla–karar ver–hareket et diyagramı, güvenli robot davranışı ve test parkuru kaydı hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.
Görev senaryosu
Şu senaryoyu ele al: zemindeki çizgiyi iki sensörle takip eden araç. Dersin ana hedefi “Bir cihazı robot yapan özellikleri ve her otomatik makinenin neden robot olmadığını öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.
- Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
- En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
- Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
- Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
- Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.
Başarı ölçütleri
- Robot açıldığında motorlar beklemeden çalışıyor mu?
- Sensör kaybında güvenli duruş tanımlı mı?
- Mekanik parçalar kablolara sürtüyor mu?
- Test parkuru aynı koşullarda tekrar edilebilir mi?
- Hız, doğruluk ve enerji kullanımı birlikte değerlendirildi mi?
“Robot Nedir, Ne Değildir?” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın zemindeki çizgiyi iki sensörle takip eden araç senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Robotun tanımı: üç halkalı zincir ve Karar verme ilişkisini daha küçük adımlara bölerek düzelt.
Sık yapılan hatalar
"Otomatik olan her şey robottur" sanmak
Bir cihazın kendi kendine çalışması onu robot yapmaz. Zamanlayıcılı lamba bunun en açık örneğidir. Robot olabilmesi için algılama ve gerçek karar halkasının da bulunması gerekir.
Kararla zamanlayıcıyı karıştırmak
"19:00'da yan" bir karar gibi görünür ama çevreyi hesaba katmaz. Gerçek karar, sensörden gelen değişen bilgiye göre farklı sonuç üretir.
Uzaktan kumandalı aracı robot sanmak
Hareket etmek tek başına yetmez. Kararı sen veriyorsan robot sensin, araç sadece bir araçtır. Robot kendi kararını kendi verebilmelidir.
Sensörü unutmak
Bazen bir projeyi tasarlarken doğrudan "motoru şöyle döndüreyim" diye başlarız. Algılama halkasını atlarsak elimizde robot değil, sadece hareket eden bir mekanizma kalır.
Güvenlik notu
Bu ders çoğunlukla kavramsaldır, ama üç halkayı gerçek bir robotta denemeye başlarsan hareket, motor ve akım devreye girer. Şunlara dikkat et:
- Hareketli bir robot sıkıştırabilir, düşebilir veya bir yere çarpabilir. Test etmeden önce masanın veya zeminin etrafında güvenli, boş bir alan aç.
- Parmaklarını, saçını ve kabloları tekerleklerden ve dişlilerden uzak tut. Dönen dişliler saç ve kablo yakalayabilir.
- İlk denemeleri her zaman düşük hızda yap. Robot beklenmedik hareket ederse hazırlıklı ol.
- Motorları doğrudan mikro denetleyici pininden besleme. Bir motor sürücü ve motorlar için ayrı, düşük gerilimli bir pil paketi kullan; iki devrenin ortak topraklaması (common ground) olsun.
- Asla şebeke elektriği (priz) kullanma. Yalnız düşük gerilimli piller.
- Motor, lehim veya kesici alet söz konusuysa mutlaka bir yetişkinle birlikte çalış.
Ders özeti
- Robot; algılayan, karar veren ve hareket eden bir sistemdir; bu üç halka birlikte bulunmalıdır.
- Otomatik çalışmak tek başına robot olmak için yeterli değildir.
- Robot süpürge üç halkanın hepsini taşıdığı için robottur; zamanlayıcılı lamba algılama ve gerçek karar olmadığı için robot değildir.
- Uzaktan kumandalı araç hareket eder ama kararı insan verdiği için robot sayılmaz.
- Sözde kod ile Arduino kodunun görünüşü farklı olsa da "algıla–karar ver–hareket et" mantığı aynı kalır.
Kontrol soruları
- Bir robotu tanımlayan üç temel halka nedir?
- Zamanlayıcılı bir lamba neden robot sayılmaz?
- Robot süpürgenin "karar verme" halkasına bir örnek ver.
- Uzaktan kumandalı bir araba neden tam olarak robot değildir?
- Hareketli bir robotu test ederken alınması gereken iki güvenlik önlemi yaz.
Cevaplar
- Algılama (sensörle çevreyi hissetme), karar verme (bilgiyi bir kuralla karşılaştırma) ve hareket etme (motor, LED gibi bir eylemle tepki verme).
- Çünkü çevresini algılamaz ve kararı ortama göre değişmez; sadece önceden ayarlanmış saate göre aynı işi tekrar eder. Algılama ve gerçek karar halkaları eksiktir.
- "Önümde engel var, yön değiştireyim" veya "Şarjım bitti, istasyona döneyim" gibi sensör bilgisine göre verilen kararlar geçerli örneklerdir.
- Çünkü hareket eder ama kararı kendisi vermez; algılama ve karar halkalarını insan üstlenir. Robot kendi kararını kendi verebilmelidir.
- Örnekler: etrafta güvenli boş bir alan açmak, düşük hızda test etmek, parmak ve saçı dişlilerden uzak tutmak, ayrı pil paketi ile motor sürücü kullanmak (herhangi ikisi).
Kaynak ve doğrulama notu
“Robot Nedir, Ne Değildir?” dersi için doğrulama odağı Robotun tanımı: üç halkalı zincir ile Karar verme arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Robot davranışı yalnız kodla açıklanamaz; mekanik yapı, güç sistemi, sensör konumu ve zemin koşulları birlikte değerlendirilmelidir. Test sonuçları aynı parkurda birkaç tekrar yapılarak kaydedilmelidir.
Sonraki ders
Robotun Temel Parçaları: Bir robotu oluşturan gövde, motorlar, sensörler, denetleyici ve güç kaynağını tek tek tanıyacağız.