↯ Robotik KodlamaTüm projeler

Bozuk ölçümü fark eden mesafe gözlemcisi

Tek bir aşırı uzaklık okuması yüzünden robotun karar değiştirmesini önle. Son üç geçerli örneğin medyanını kullan; negatif ölçümü ayrıca reddet.

13+ yaş · 45 dakika · Python 3 · deney modeli

İnteraktif atölyede aç →

Neler öğreneceğiz?

Tek bir aşırı uzaklık okuması yüzünden robotun karar değiştirmesini önle. Son üç geçerli örneğin medyanını kullan; negatif ölçümü ayrıca reddet.
Bu atölyede yalnız sonuca değil, tahmininin neden doğru veya yanlış çıktığına da bak. Bir deney günlüğünde giriş, beklenen sonuç, gözlenen sonuç ve düzeltme olmak üzere dört sütun aç.
Python kodu ölçüm/algoritma modelidir; GPIO pinlerine veya motora komut göndermez. Animasyon ise konuyu gösteren ayrı ve ideal bir modeldir.

Öğrenme hedefleri

  1. Ham dizide 200 ve −1 değerlerinin neden farklı sorunlar olduğunu açıkla.
  2. En son geçerli ölçüm çok eskiyse filtreli değer yerine DUR çıktısı üret.
Bozuk ölçümü fark eden mesafe gözlemcisi — proje görseli
Özgün kavram ve algoritma çizimi. Yazılım örneğinin akışı resimli rehberde açıklanır; fiziksel devre kurulumu değildir.

Malzeme listesi

  1. Python 3 çalıştırabilen bilgisayar
  2. Kareli kâğıt, kalem ve deney günlüğü

Adım adım yapalım

  1. Ham dizide 200 ve −1 değerlerinin neden farklı sorunlar olduğunu açıkla.
  2. Üç elemanlı pencereyi her yeni ölçümde güncelle.
  3. 200 örneğinde ortalama ve medyanı elle hesaplayıp karşılaştır.
  4. Kodu çalıştır; negatif ölçümün pencereye eklenmediğini doğrula.
  5. Üç ardışık 200 ekle; medyanın artık yüksek olmasını yorumla.
  6. Filtrenin arızayı tamamen çözemeyeceği bir durum yaz.

Kod · Python 3 · deney modeli

from statistics import median
samples=[30,31,29,200,30,-1,28,29]
window=[]
for value in samples:
 if value<0:print("Geçersiz ölçüm");continue
 window=(window+[value])[-3:]
 print(value,"medyan",median(window))

Kod nasıl çalışır?

Medyan ortadaki sıralı değerdir; tek aykırı değere ortalamadan dayanıklıdır. Etkileşimli alan hareketli ortalamayı gösterir; iki filtrenin farkını karşılaştır.

Beklenen sonuç

Python modelinin çalıştırılan çıktısı (fiziksel ölçüm değildir):
30 medyan 30
31 medyan 30.5
29 medyan 30
200 medyan 31
30 medyan 30
Geçersiz ölçüm
28 medyan 30
29 medyan 29

Sıra sende

En son geçerli ölçüm çok eskiyse filtreli değer yerine DUR çıktısı üret.

Güvenli atölye

Bu çalışma düşük gerilimli eğitim içindir. Donanımı enerji kapalıyken, bir yetişkinle kur. Şebeke elektriği kullanma. Kodun derlenmesi fiziksel devrenin test edildiği anlamına gelmez.

Çalışmıyorsa kontrol et

  1. Sonucu alamıyorsan programın ilk satırından başlayıp girdileri tek tek kontrol et.
  2. Donanım varsa enerjiyi ayır; GND, sinyal uçları ve parça yönlerini bağlantı tablosundan doğrula.
  3. Aynı anda yalnız bir şeyi değiştir; değişiklik öncesi ve sonrası sonucu günlüğe yaz.

Kontrol noktaları

  1. Başlamadan önce: gerekli malzemeleri say ve giriş değerlerini deney günlüğüne yaz.
  2. Kurulumdan sonra: her bağlantıyı aşağıdaki tabloyla karşılaştır; yazılım projesinde giriş listesini kontrol et.
  3. Testten sonra: beklenen sonucu kendi çıktınla karşılaştır. Fark varsa ilk farklı adımı bul.

Kaynakların kullanımı

Kaynak, ilgili kavramı öğrenmek ve karşılaştırmak içindir. Türkçe görev, örnek kod ve görseller bu atölye için özgün hazırlanmıştır; kaynak makalenin çevirisi veya kopyası değildir.

Algoritmanın yol haritası
Algoritmanın yol haritası
Deney günlüğü: altı adım
Deney günlüğü: altı adım

https://docs.python.org/3/library/statistics.html