Robotik sistemlerde çevrim içi yazılım geliştirme sürecinde kullanılan bileşenlerden yararlanabilme.
- Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini tanımlar.
- Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini kullanır (Koşula Bağlı İşlemler - Şartlı Karar Yapıları).
- Robotik sistemlerde çevrim içi yazılım geliştirme süreci bileşenlerini değerlendirir.
1) Koşul (Karar Yapısı) Nedir?
Koşul: Bir eylemin gerçekleşmesini belirli bir durumun doğru (True) ya da yanlış (False) olmasına bağlayan mantıksal kuraldır.
Günlük hayattan bir örnek verelim:
- "EĞER hava yağmurlu İSE şemsiyeni al, DEĞİLSE güneş gözlüğünü tak."
Robotik sistemler de tıpkı bu şekilde sensörlerden gelen sayısal verileri inceler ve bir karara varır:
- "EĞER önündeki engel mesafesi < 15 cm İSE motorları durdur ve geri dön, DEĞİLSE tam gaz ileri git."
2) Dizge'de Kullanılan Koşul Blokları
Dizge ve Scratch tabanlı ortamlarda Kontrol (Turuncu) kategorisinde iki temel koşul bloğu bulunur:
| Blok Adı | Çalışma Mantığı | Örnek Robotik Senaryo |
|---|---|---|
| [eğer ... ise] (Tek Yönlü Koşul) | Yalnızca şart sağlandığında içindeki kodları çalıştırır. Şart sağlanmıyorsa hiçbir şey yapmadan bloğu atlar ve yola devam eder. | "Eğer butona basıldıysa korna çal." (Basılmadıysa ekstra bir şey yapma). |
| [eğer ... ise, değilse] (İki Yönlü Koşul) | Şart doğruysa üst kısımdaki kodları, şart yanlışsa [değilse] kısmındaki alternatif kodları çalıştırır. Mutlaka iki durumdan birini seçer. | "Eğer hava karanlıksa sokak lambasını yak, DEĞİLSE söndür." (Enerji tasarrufu modu). |
3) Şartı Oluşturan Araçlar: Mantıksal Operatörler (Yeşil Bloklar)
Koşul bloklarının ortasındaki altıgen boşluğa (şart yuvasına) Operatörler kategorisinden bloklar yerleştirilir:
- Küçüktür (<):
(Mesafe < 20)➔ Mesafe 20 cm'den yakınsa şart DOĞRU olur. - Büyüktür (>):
(Sıcaklık > 35)➔ Sıcaklık 35 derecenin üzerindeyse fanı çalıştır. - Eşittir (=):
(Şifre = 1234)➔ Girilen şifre doğruysa kapı kilidini aç. - VE (AND): İki şartın da AYNI ANDA doğru olmasını ister. Örn: (Hava Karanlık VE Saat 19'dan büyük).
- VEYA (OR): İki şarttan EN AZ BİRİNİN doğru olması yeterlidir. Örn: (Gaz Kaçağı VEYA Yangın Butonu).
4) En Yaygın Tuzak: Koşul Neden Bir Kere Çalışıp Durur?
Öğrencilerin en sık yaptığı hata, bir
[eğer ... ise] bloğunu doğrudan [Yeşil Bayrağa Tıklandığında] şapkasının altına koymaktır.Ne Olur? Bilgisayar programı başlatır başlatmaz salisenin binde birinde o şarta bakar. O anda sensör engeli görmüyorsa koşul biter ve program sonlanır! Sonradan robotun önüne duvar koysanız bile robot durmaz ve çarpar!
Çözüm — Ayrılmaz İkili: Koşul blokları, sistemin her an tetikte kalabilmesi için MUTLAKA bir [sürekli tekrarla] döngüsünün içerisine yerleştirilmelidir!
5) Sınav Tarzı Örnek Sorular ve Çözümleri
A)
[10 defa tekrarla] bloğuB)
[eğer (Nem < 30) ise ... değilse ...] bloğuC)
[bekle (30) saniye] bloğuD)
[tıklandığında] bloğuİki farklı senaryo (sulama yap veya durdur) bir sayısal şarta bağlandığı için çift yönlü karar bloğu kullanılmalıdır.
Çünkü her iki durumun da (hem gece hem yağmurlu) aynı anda gerçekleşmesi istenmektedir. Biri eksik olursa silecekler gereksiz yere çalışmamalıdır.
6) 11. Hafta Özeti ve Altın İlkeler
- Koşullar zekadır: Bir sistemin ortama uyum sağlaması ve otonom hareket etmesi koşul bloklarıyla mümkündür.
- Tek yönlü vs Çift yönlü: Alternatif bir eylem (değilse) varsa mutlaka
[eğer ... ise, değilse]yapısı seçilmelidir. - Döngü ile koşul ortaktır: Sensör verisini sürekli denetlemek için koşul blokları her zaman
[sürekli tekrarla]döngüsüyle sarmalanmalıdır.