↯ Robotik KodlamaTüm projeler

FFRFFRFF rotası: hedefi bul

Dönme ile ilerleme komutunu ayır. F bir kare ileri, R sağa, L sola dönüş anlamındadır.

6+ yaş · 30 dakika · Python 3 · hesaplama modeli

İnteraktif atölyede aç →

Neler öğreneceğiz?

Dönme ile ilerleme komutunu ayır. F bir kare ileri, R sağa, L sola dönüş anlamındadır.
Bu proje bir robot davranışını kâğıt üzerinde ve Python modeliyle kurar. Gerçek motor sürmez; tekerlek ve sensör donanımı olmadan yapılabilir.
Bu deney serisinde verilen değerler bir tasarım örneğidir. Hedef, yalnız sonucu okumak değil ölçmek/modellemek, tahminle karşılaştırmak ve ek görevi yapmaktır.

FFRFFRFF rotası: hedefi bul — proje görseli
Projeye özel eğitim ve bağlantı haritası; gerçek ürün fotoğrafı değildir. Uç isimleri bağlantı tablosunda verilmiştir.

Malzeme listesi

  1. Kareli kâğıt
  2. Renkli kalem
  3. Oyuncak robot veya piyon
  4. Python 3 bulunan bilgisayar

Adım adım yapalım

  1. Başlangıcı kâğıdın ortasına koy ve kuzeye bak. FFRFFRFF dizisini tek tek uygula; her F sonrasında konumu işaretle.
  2. Girdi değerlerini kâğıda yaz; programı çalıştırmadan önce sonuç tablosunu doldur.
  3. Kodu Python 3 dosyasına kaydet ve çalıştır.
  4. Her çıktı satırını kâğıttaki robotun durumuyla eşleştir.
  5. Bir tek girdiyi değiştir; yeni sonuç için önce tahmin, sonra test yap.
  6. Deney raporuna başlangıç, komutlar, son durum ve bulduğun hatayı yaz.

Kod · Python 3 · hesaplama modeli

route="FFRFFRFF"
x=y=0
d=0
vectors=[(0,1),(1,0),(0,-1),(-1,0)]
for command in route:
 if command=="R": d=(d+1)%4
 elif command=="L": d=(d-1)%4
 else:
  dx,dy=vectors[d];x+=dx;y+=dy
 print(command,"konum",x,y,"yön",["K","D","G","B"][d])

Kod nasıl çalışır?

Konum (x,y) ve yön d ayrı tutulur. Dönüşler konumu değiştirmez.
Kod bir hesaplama/öğrenme modelidir; fiziksel devreyi kontrol etmez. Ölçülen değeri kodun girişine yazarak tahminle karşılaştır.

Beklenen sonuç

F konum 0 1 yön K
F konum 0 2 yön K
R konum 0 2 yön D
F konum 1 2 yön D
F konum 2 2 yön D
R konum 2 2 yön G
F konum 2 1 yön G
F konum 2 0 yön G

Sıra sende

Aynı hedefe ulaşan daha kısa bir komut dizisi bul; son yönün de aynı olmasına dikkat et.

Güvenli atölye

Kâğıt ve oyuncakla yapılan davranış modeli. 6–8 yaşta bir yetişkin kodu çalıştırırken çocuk rotayı uygular. Gerçek motor veya güvenlik sistemi kontrol etmez.

Çalışmıyorsa kontrol et

  1. Bağlantıları enerji kapalıyken tabloda verilen sırayla karşılaştır.
  2. Birimleri kontrol et: 1000 Ω = 1 kΩ, 1000 ms = 1 s.
  3. Ölçümün ideal hesaptan sapmasında parça toleransı ve ölçü aletinin etkisini araştır.

https://docs.python.org/3/tutorial/controlflow.html