Robotik Kodlama Derslerine Dön
Robotik Kodlama1. Dönem 3. Hafta

Robotik Sistemlerde Algoritmik Düşünebilme

AS
Ali Suner

Algoritma Nedir?

Bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan, başı ve sonu belli olan, sıralı ve mantıklı adımlar listesidir.

Önemli Bilgi: Bilgisayarlar ve robotlar kendi başlarına düşünemezler. Onlara ne yapacaklarını, hiçbir adımı atlamadan, en ince ayrıntısına kadar ve sırasıyla söylemek zorundayız.

Algoritma Yazarken Nelere Dikkat Edilmeli

Başlangıcı ve bitişi olmalıdır: Her algoritma mutlaka "Başla" adımı ile başlamalı ve görevi tamamladığında "Bitir" adımı ile sona ermelidir.

Net ve kesin olmalıdır: Adımlar kişiden kişiye değişmeyecek kadar açık olmalıdır ("Biraz bekle" yerine "5 saniye bekle" gibi kesin komutlar verilmelidir).

Doğru sıralanmalıdır: İşlem adımları mantıklı bir sıraya sahip olmalıdır; sıra bozulursa tüm sistem çöker.

Tüm ihtimaller düşünülmelidir: Ters gidebilecek durumlar (örneğin suyun bitmesi veya sensörün kirlenmesi) önceden hesaplanarak algoritmaya her duruma uygun yeni kurallar eklenmelidir.

Günlük Hayattan Örnek Algoritma

Ayran Yapımı

1) Başla.

2) Yoğurdu kaba koy.

3) Üzerine su ve tuz ekle.

4) Çırpıcı ile karıştır.

5) Bardağa doldur.

6) Bitir.

NOT: Algoritma oluştururken adımların sırası çok önemlidir. Ayran yaparken önce suyu bardağa koyup sonra yoğurdu eklersek aynı sonucu alamayız. Robotlar için de bu kural geçerlidir; yanlış sıra, yanlış sonuç doğurur!

Robotlar Hangi Problemleri Çözer?

Robotik sistemler, günlük hayatımızdaki zor, sıkıcı veya sürekli tekrar eden problemleri çözmek için tasarlanır. İyi bir bilişimci, çevresindeki sorunları fark eden ve bu sorunlara teknolojik çözümler üretebilen kişidir.

Örnek Sorun: Hafta sonu tatillerinde veya yazın okuldaki bitkilerin susuz kalıp kuruması.

Hedef: İnsan müdahalesi olmadan bitkilerin ihtiyacı oldukça sulanmasını sağlamak.

Çözüm Yolu: Bu işi otomatik yapacak bir "Akıllı Sulama Robotu" tasarlamak.

Girdiler ve Çıktılar

Girdi (Input): Robotun dış dünyadan veya çevresinden bilgi almasını sağlayan, insanlardaki duyu organları (göz, kulak, deri) gibi çalışan sensörlerdir (Örnek: Işık sensörü, mesafe sensörü, buton, toprak nem sensörü).

Çıktı (Output): Robotun aldığı bilgilere göre dış dünyaya verdiği, insanlardaki kaslar veya ses telleri gibi düşünülebilen tepkilerdir (Örnek: Motorların dönmesi, LED lambaların yanması, hoparlörden ses gelmesi).

Bir "Akıllı Sulama Robotu" örneğinde toprak nem sensörü ve su seviye sensörü girdi olarak kullanılırken; su pompası ve kırmızı uyarı ledi çıktı olarak kullanılır.

Akıllı Sulama Robotunun Girdi ve Çıktıları

Kullanılacak Girdiler: Toprak Nem Sensörü (Toprağın ıslak/kuru durumunu ölçer), Su Seviye Sensörü (Su tankında su kalıp kalmadığını kontrol eder).

Kullanılacak Çıktılar: Su Pompası / Motoru (Suyu bitkiye aktarır), Kırmızı Uyarı Ledi (Su bitince yanar).

Eleştirel Düşünme Noktası: Bir algoritma tasarlarken ilk aklımıza gelen çözüm yeterli olmayabilir. Sadece toprağın kuruduğunu ölçmek yeterli midir? Ya depoda su kalmamışsa ve su motoru boş yere çalışıp arızalanırsa? İşte bu ihtimalleri de düşünüp sistemimize yeni sensörler (girdiler) eklemeliyiz.

Akıllı Sulama Robotu Algoritması

1. Başla.

2. Su tankının seviyesini kontrol et (Girdi okuma).

3. Eğer su tankı boşsa, Kırmızı Işık yak (Çıktı verme) ve Adım 8'e git.

4. Toprağın nemini ölç (Girdi okuma).

5. Eğer toprak nemliyse, sulamaya gerek yok, Adım 8'e git.

6. Eğer toprak kuruysa, Su Pompasını 5 saniye çalıştır (Çıktı verme).

7. Su Pompasını durdur.

8. Bitir.

Algoritma yazmak sabır gerektiren bir iştir. Bazen bir adımı unutabilir, test aşamasında robotun yanlış çalıştığını görebilirsiniz. Başarılı bir yazılımcı, hatalarını sabırla arayıp bulan ve algoritmasını sürekli geliştiren kişidir.

Akış Şemaları ve Semboller

Akış şeması; yazdığımız algoritmaların evrensel (tüm dünyada geçerli) geometrik şekillerle çizilmiş haritasıdır. Kod yazmaya başlamadan önceki son hazırlık aşamasıdır.

Akış Şeması Sembolleri

SEMBOL ADI GÖREVİ

Elips (Oval)
Programın nerede başladığını ve nerede bittiğini belirtir (İçine "Başla" veya "Bitir" yazılır).

Paralelkenar
Dışarıdan veri girileceği (Girdi) veya dışarıya sonuç verileceği (Çıktı) zaman kullanılır.

Dikdörtgen
Matematiksel işlemler, hesaplamalar ve eylemler için kullanılır (Örneğin: "Motoru çalıştır, 5 saniye bekle").

Eşkenar Dörtgen (Elmas)
Karar verme sembolüdür; içinde cevabı "Evet" veya "Hayır" olan bir soru bulunur ve iki ayrı ok çıkar.

Altıgen (Döngü / Tekrar)
Belirli bir işlemin birden fazla kez tekrar etmesi (döngüye girmesi) gerektiğinde kullanılır ve aynı kodu tekrar tekrar yazma zahmetinden kurtarır.

Dalgalı Dörtgen (Belge / Çıktı)
Bilgileri veya sonuçları ekrana yazdırmak için kullanılır.

Oklar (Akış Yönü / Bağlantı Çizgileri)
Şekilleri birbirine bağlayan yollardır; işlem adımlarının hangi sırayla ilerlediğini gösterir ve okun ucu daima bir sonraki adımı işaret etmelidir.

Akıllı Sulama Robotu Algoritması Akış Şeması

Soru ve Yorumlar (0)

Spam Koruması: 0 + 0 = ?

Henüz yorum yapılmamış. İlk mesajı sen bırak!

Defter Notu: Robotik Sistemlerde Algoritmik Düşünebilme

Cihaza İndir

Sunum Dosyası: Robotik Sistemlerde Algoritmik Düşünebilme

Cihaza İndir