Ana Sayfa · Akademi · Robotik ve Kodlama · Robotik Sistemler · Test Parkuru Hazırlama

Test Parkuru Hazırlama

Robotunu güvenle ve tekrarlanabilir biçimde denemek için bir test parkuru hazırlamayı öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Bir robotu güvenilir biçimde test etmek için, her seferinde aynı koşulları sunan güvenli bir parkur kurar, testi yazılı bir senaryo hâline getirir ve sonuçları ölçüp not ederiz.

Üretilecek kanıt

Elinde çizgi izleyen bir robot olduğunu düşün (ya da hayalinde kur). Şu adımları uygula: Bir başlangıç çizgisi ve robotun hizalanacağı bir işaret belirle. Bandla üç bölümlü bir parkur yap: düz kısım, geniş viraj, keskin viraj. Aşağıdaki gibi bir test senaryosu tablosu yaz. En az üç satır olsun ve her satırda beklenen sonuç bulunsun. | Test | Başlangıç |…

Kontrol tuzağı

Her testi farklı koşulda yapmak Robotu bir kez halıda, bir kez parkede, farklı noktalardan başlatırsan sonuçlar karşılaştırılamaz. Koşulları sabit tut, yalnızca test ettiğin ayarı değiştir. Beklenen sonucu yazmadan test etmek "Bakalım ne olacak" bir test değil, bir gözlemdir. Önce ne olmasını beklediğini yaz; ancak o…

Sonraki bağlantı

Arıza Analizi: Robot testte beklenmedik davrandığında, sorunun kaynağını adım adım daraltarak bulmak.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre30–45 dk
Ön koşulOtonom ve Yarı Otonom Sistemler
İçerikStandart ders · 1.416 kelime
Son güncelleme

Bir cümlelik özet

Bir robotu güvenilir biçimde test etmek için, her seferinde aynı koşulları sunan güvenli bir parkur kurar, testi yazılı bir senaryo hâline getirir ve sonuçları ölçüp not ederiz.

Neden önemli?

Bir robot kodunu yazdın, motorlar dönüyor, sensör bir şeyler okuyor. Peki robot gerçekten *doğru* çalışıyor mu? Bunu ancak onu deneyerek anlayabilirsin. Ama masanın ortasında, kabloların arasında, her seferinde farklı bir yerden başlatarak yapılan denemeler sana pek bir şey öğretmez. Bir sefer çalışır, bir sefer çalışmaz ve nedenini asla bulamazsın.

İşte bu yüzden robotçular ayrı bir test parkuru hazırlar. Test parkuru, robotun davranışını her defasında aynı koşullarda gözlemleyebildiğin, sınırları belli ve güvenli bir alandır. İyi bir parkur iki şey sağlar: tekrarlanabilirlik (aynı testi tekrar tekrar aynı şekilde yapabilmek) ve güvenlik (hareket eden bir robotun sana, çevrene veya kendine zarar vermemesi).

Bu ders, önceki modüllerden tanıdığın fikirleri bir araya getirir. Otonom sistemlerden robotun kendi kararlarını verdiğini biliyorsun; bir sonraki ders olan Arıza Analizi ise robot beklenmedik davrandığında sorunu bulmayı anlatacak. Ama iyi bir arıza analizi ancak iyi bir teste dayanır. Düzgün bir test parkuru olmadan, "robot neden bocaladı?" sorusuna dürüst bir cevap veremeyiz.

Güvenli ve tekrarlanabilir bir test alanı kurmak

Bir robot bir kâğıt üzerindeki kod değildir; hareket eder, döner, bazen beklenmedik yöne fırlar. Bu yüzden testin ilk kuralı, alanı önceden hazırlamaktır.

Alanı temizle ve sınırla

Test alanını düz, engelsiz ve boş bir zeminde kur. Yerde takılabilecek kablo, dağınık parça veya kırılacak eşya bırakma. Robotun alandan çıkıp masadan düşmesini engellemek için alanın kenarlarına düşük bir bariyer (örneğin kitaplar veya köpük çıtalar) koy. Küçük bir robot için bile 1 metreye 1 metrelik boş bir alan çoğu zaman yeterlidir.

Her testi aynı yerden başlat

Tekrarlanabilirliğin sırrı, başlangıç koşullarını sabitlemektir. Robotu her seferinde tam olarak aynı noktadan, aynı yöne bakacak şekilde bırak. Bunu kolaylaştırmak için zemine bir başlangıç çizgisi ve robotun ön tarafını hizalayacağın bir işaret koyabilirsin.

Düşün: Robotu bir kez sol köşeden, bir kez ortadan başlatırsan ve davranış farklı çıkarsa, bunun sebebi kod mu yoksa başlangıç noktası mı? Bilemezsin. Başlangıç sabitse, değişen tek şey senin denediğin ayardır.

Kısa kural: Bir testte aynı anda yalnızca tek bir şeyi değiştir. Hem başlangıç noktasını hem hızı hem de zemini değiştirirsen, sonucun hangisinden kaynaklandığını ayıramazsın.

Parkuru tasarlamak: çizgi ve engel düzeni

Parkurun nasıl olacağı, robotunun ne yapması gerektiğine bağlıdır. İki yaygın örneğe bakalım.

Örnek 1: Çizgi izleyen robot parkuru

Çizgi izleyen bir robot, zemindeki koyu bir şeridi takip eder. Bu robot için parkuru şöyle kurabilirsin:

Böylece robotun nerede zorlandığını görürsün. Düz çizgide sorunsuz ilerleyip keskin virajda çizgiyi kaybediyorsa, sorunun dönüş davranışında olduğunu anlarsın.

Örnek 2: Engelden kaçan robot arenası

Engelden kaçan bir robot, mesafe sensörüyle önündeki cisimleri algılar ve çarpmadan yön değiştirir. Bunun için:

Aynı düzende üst üste testler yaptığında, robotun her seferinde aynı engelde takılıp takılmadığını görürsün. Bu bilgi, bir sonraki dersteki arıza analizinin başlangıç noktasıdır.

Test senaryosu yazmak ve ölçmek

Parkuru kurmak yeterli değildir; testin kendisini de bir algoritma gibi yazılı hâle getirmek gerekir. Buna test senaryosu denir. İyi bir senaryo üç şeyi net söyler: başlangıç koşulu, yapılacak işlem ve beklenen sonuç.

Test senaryosunu tabloyla planlamak

Test senaryosunu tabloyla planlamak tablosu
Test noBaşlangıç durumuYapılan işlemBeklenen sonuç
1Robot başlangıç çizgisinde, düz zeminRobotu çalıştırÇizgiyi 10 saniye boyunca kaybetmeden izler
2Robot çizginin başında, önde geniş virajRobotu çalıştırVirajı çizgiden çıkmadan döner
3Robot arenada, 20 cm önde engelRobotu çalıştır15 cm'de durur, sağa döner, ilerler

Bu tablo, otonom sistemler dersinden hatırladığın algıla–karar–hareket mantığının test edilebilir hâlidir. "Beklenen sonuç" sütunu olmadan test yapamazsın; çünkü neyin doğru olduğunu önceden bilmezsen, çıkan sonucun doğru mu yanlış mı olduğunu da söyleyemezsin.

Gözlemi ölçüme dönüştürmek

"Robot iyi gitti" bir gözlemdir ama ölçüm değildir. Ölçüm, karşılaştırılabilir bir sayıdır. Örneğin:

Robotun kendi ölçümlerini de kullanabilirsin. Arduino'da sensör değerlerini seri porta yazdırarak, robotun o an *ne gördüğünü* gözlemleyebilirsin:

void loop() {
  int mesafe = mesafeSensoruOku();   // sensörden gelen değer, cm
  Serial.print("Mesafe: ");
  Serial.println(mesafe);            // bilgisayarda gözlemlemek için

  if (mesafe < 15) {                 // karar eşiği
    motorlariDurdur();
    saga_don();
  } else {
    ileri_git();
  }
  delay(100);                        // her turda kısa bekleme
}

Seri porttaki sayıları izlerken, robotun engele "15 cm" derken mi yoksa "8 cm" derken mi durduğunu görebilirsin. Bu sayılar, bir sonraki derste sorunun kaynağını bulmanı çok kolaylaştırır.

Mini uygulama

Elinde çizgi izleyen bir robot olduğunu düşün (ya da hayalinde kur). Şu adımları uygula:

  1. Bir başlangıç çizgisi ve robotun hizalanacağı bir işaret belirle.
  2. Bandla üç bölümlü bir parkur yap: düz kısım, geniş viraj, keskin viraj.
  3. Aşağıdaki gibi bir test senaryosu tablosu yaz. En az üç satır olsun ve her satırda beklenen sonuç bulunsun.
| Test | Başlangıç | İşlem | Beklenen sonuç |
| 1    | ...       | ...   | ...            |
  1. Aynı testi 5 kez tekrarla ve her seferinde tek bir sonucu not et (örneğin: "çizgiyi kaybetti / kaybetmedi").
  2. 5 denemeden kaçının başarılı olduğunu bir sayı olarak yaz.

Sonunda kendine şunu sor: Hangi bölümde robot en çok zorlandı? Bu bölüm, üzerinde çalışman gereken ilk yerdir.

Sık yapılan hatalar

Her testi farklı koşulda yapmak

Robotu bir kez halıda, bir kez parkede, farklı noktalardan başlatırsan sonuçlar karşılaştırılamaz. Koşulları sabit tut, yalnızca test ettiğin ayarı değiştir.

Beklenen sonucu yazmadan test etmek

"Bakalım ne olacak" bir test değil, bir gözlemdir. Önce ne olmasını beklediğini yaz; ancak o zaman sonucun doğru mu yanlış mı olduğunu söyleyebilirsin.

Tek denemeye güvenmek

Robot bir kez başardı diye "çalışıyor" demek yanıltıcıdır. Hareketli sistemlerde küçük farklar sonucu değiştirir. Aynı testi birkaç kez tekrarla ve kaçında başarılı olduğunu say.

Ölçüm yerine izlenim not etmek

"Güzeldi", "hızlıydı" gibi ifadeler karşılaştırılamaz. Süre, mesafe veya başarı sayısı gibi bir sayı yaz ki bir sonraki denemeyle kıyaslayabilesin.

Güvenlik notu

Hareket eden bir robot; parmağı, saçı veya kabloyu tekerleklerin ve dişlilerin arasına sıkıştırabilir, masadan düşebilir veya bir cisme çarpabilir. Bu yüzden:

Ders özeti

Kontrol soruları

  1. Bir test parkurunun sağlaması gereken iki temel şey nedir?
  2. "Tekrarlanabilir test" ne demektir ve bunu sağlamak için başlangıçta neyi sabit tutarız?
  3. Bir test senaryosunda mutlaka bulunması gereken üç bölüm nedir?
  4. "Robot iyi gitti" bir ölçüm müdür? Bunun yerine hangi tür bilgiyi not etmeliyiz?
  5. Motorları neden doğrudan Arduino pininden değil de ayrı bir pil ve motor sürücüden besleriz?

Cevaplar

  1. Tekrarlanabilirlik (aynı testi tekrar tekrar aynı şekilde yapabilmek) ve güvenlik (hareketli robotun kimseye, çevreye veya kendine zarar vermemesi).
  2. Testi her seferinde aynı koşullarda yapıp aynı sonucu alabilmektir. Bunun için başlangıç noktasını, robotun baktığı yönü ve zemini sabit tutarız; sadece test ettiğimiz ayarı değiştiririz.
  3. Başlangıç durumu, yapılan işlem ve beklenen sonuç. Beklenen sonuç olmadan, çıkan sonucun doğru mu yanlış mı olduğunu söyleyemeyiz.
  4. Hayır, "iyi gitti" bir izlenimdir, ölçüm değildir. Bunun yerine karşılaştırılabilir bir sayı not etmeliyiz: tamamlama süresi, durma mesafesi veya 5 denemenin kaçında başarılı olduğu gibi.
  5. Motorlar, Arduino pininin güvenle verebileceğinden çok daha fazla akım çeker; bu akımı doğrudan pinden çekmek Arduino'ya zarar verir. Motor sürücü, ayrı pilden gelen gücü güvenli biçimde motorlara aktarır, Arduino ise yalnızca kontrol sinyali gönderir. İki devrenin ortak GND'ye bağlanması şarttır.

Kaynak ve doğrulama notu

“Test Parkuru Hazırlama” dersi için doğrulama odağı Güvenli ve tekrarlanabilir bir test alanı kurmak ile Her testi aynı yerden başlat 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

Arıza Analizi: Robot testte beklenmedik davrandığında, sorunun kaynağını adım adım daraltarak bulmak.

Quiz’i BaşlatRobotik Sistemler bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.