MODÜL 05 DERS 5 / 5 · 60 DK

Görevler: tut, taşı, bırak

Bu modülde robotuna bir el taktın: gripperi monte ettin, servonun kablolarını bağladın, açı komutu veren kodu yazdın ve kavrama açılarını deneyerek buldun. Şimdi bütün bu parçalar tek bir işte birleşiyor. Bu ders bir toplama parkuru. Robotun yerde duran cisimleri bulacak, kavrayacak, hedefe taşıyacak ve bırakacak. Ama bu sefer tek başına sürüş ya da tek başına gripper yetmiyor; ikisini aynı anda, akıcı biçimde kullanman gerekiyor. İşin sırrı hızda değil, hassasiyette.

Kanca: neden tutmak sürmekten zor? (10 dk)

Şimdiye kadar robotun sadece hareket ediyordu. Bir yere çarparsan geri gider, düzeltir, yola devam ederdin. Kavramada böyle bir lüksün yok. Cismi kaçırırsan devrilebilir, yanlış açıdan yaklaşırsan gripper onu iteler, çok sert kavrarsan servo inler ve cisim fırlar.

🎬 VİDEO · kanca · 45 sn · robot bir şişeyi kavrayıp kutuya taşıyor ve bırakıyor, kronometre akıyor

Videoyu izledikten sonra sınıfça bir dakika tartışın:

Bugünkü kural şu: her görevde önce yaklaş ve dur, sonra kavra, sonra taşı. Acele eden puan kaybeder. Robotu bir yarış arabası gibi değil, bir vinç operatörü gibi süreceksin.

Ana etkinlik: toplama parkuru (20 dk)

Önce parkuru kur. Yere bantla bir başlangıç çizgisi çek. Çizgiden 1-2 metre öteye kavranabilir cisimleri dağıt (şişe, küçük kutu, köpük blok). Bir yere de bir hedef kutu ya da bantla çizilmiş bir bölge koy. Amaç basit: cisimleri tek tek toplayıp kutuya taşımak.

Başlamadan önce kodunun tek bir loop'ta hem sürüşü hem gripperi çalıştırdığından emin ol. Bu, önceki derslerde kurduğun iki parçanın birleşmiş hali:

void teleopLoop() {
  auto js = probot::io::joystick_api::makeDefault();
  float ileri = js.getLeftY();
  float donus  = js.getRightX();
  surMotor(SOL_RPWM, SOL_LPWM, ileri + donus);   // suruş: onceki derslerdeki iki satirin aynisi
  surMotor(SAG_RPWM, SAG_LPWM, ileri - donus);

  if (js.getA())      servoAci(20.0f);   // A: gripperi kapat (kavra)
  else if (js.getB()) servoAci(110.0f);  // B: gripperi aç (bırak)
  delay(20);
}

Kavrama (20) ve bırakma (110) açıları senin robotunda farklı olabilir; kalibrasyon dersinde bulduğun kendi değerlerini kullan.

Her cisimden önce tahmin et, sonra dene, sonra gözle. Tahminini kağıda yaz.

Cisim 1 (kolay: şişe): Şişeye yaklaş, dur, kavra, kutuya taşı, bırak. Tahmin: ilk denemede başarabilecek misin, yoksa bir kez kaçıracak mısın? Denedikten sonra gerçekle karşılaştır.

Cisim 2 (yön önemli: küçük kutu): Kutuyu hangi yönden kavrarsan gripper daha iyi tutuyor? Önce dar kenarından, sonra geniş kenarından dene. Hangisi tutuyor, hangisi kayıyor?

Cisim 3 (kaygan: top ya da köpük): Bu en zoru. Yuvarlak ya da hafif cisimler gripper kapanırken kayıp kaçar. Yaklaşımını değiştirmen gerekebilir: daha yavaş yaklaş, tam ortalayarak dur.

Her cisimden sonra kendine tek bir soru sor: kaçırdıysan neden kaçırdın? Yaklaşım açısı mı yanlıştı, çok mu hızlıydın, yoksa gripper açısı mı uygun değildi?

Kavram köprüsü: hizalama ve sıralama (7 dk)

Şimdi durup az önce ellerinle keşfettiğin şeyi adlandıralım. Kavrama işi aslında iki ayrı beceriden oluşuyor ve ikisini karıştırmak en çok puanı burada kaybettiriyor.

Birincisi hizalama: robotu, gripperin cismi tam ortalayacağı konuma ve açıya getirmek. Bu tamamen bir sürüş işi ve robot dururken bitmesi gerekir. Elinle bir şeyi almadan önce elini nasıl doğru yere götürüyorsan, robot da önce doğru yere gelmeli.

İkincisi sıralama: doğru komutları doğru sırayla vermek. Kavramanın tek bir mantıklı sırası var: yaklaş, dur, kavra, taşı, bırak. Bu sırayı bozarsan, örneğin daha kavramadan hareket edersen, cismi düşürürsün. Robotun aynı anda birçok şey yapamaz; her adımı bitirip diğerine geçer.

Buradan çıkan tek cümlelik kural şu: Önce sürüşle hizala, dur, sonra kavra; kavrama bitmeden hareket etme. Kavramayı zorlaştıran neredeyse her sorun, ya kötü hizalamadan ya da bu sırayı bozmaktan gelir. Gerçek robot kollarında da mühendisler tam olarak bu iki şeyi çözmeye uğraşır: nereye gideceğini bilmek ve adımları doğru sırada yapmak.

Uygulama: hassasiyet puanı ve takım yarışı (15 dk)

Hassasiyet turu (kendi skorun)

Şimdi parkuru bir kez daha, ama bu sefer puanlı geç. Kağıda bir çetele tut. Her cisim için puanını şu tablodan al:

Ne yaptınPuan
Cismi tek denemede kavradın ve kutuya bıraktın20
Bir kez kaçırdın ama düzelttin ve bıraktın12
Kavradın ama taşırken düşürdün6
Cismi hiç kavrayamadın0

Dört cismi de topla ve toplam puanını yaz. En yüksek 80. Sonra kendine bir kısıt koy ve tekrar dene: bu kez robotu hiç durdurmadan, hareket halinde kavramaya çalış. Puanın ne oldu? Neredeyse herkeste düşer. İşte "önce dur, sonra kavra" kuralının değerini kendi çetelenle görüyorsun.

Takım bayrak yarışı

Bu dersin finali. İki takıma bölünün. Her takımın başlangıç çizgisinde bir yığın cismi (bayrakları) ve bir hedef kutusu olsun. Kronometreyi başlatın: takımlar sırayla robotu sürüp bir cismi toplar, kutuya taşır, bırakır ve robot başlangıca döner; sonra sıra diğer oyuncuya geçer. Bütün cisimleri kutuya ilk taşıyan takım kazanır.

Kural: Düşürülen bir cisim yerinde kalır; onu almak için geri dönmen gerekir. Bu yüzden hızlı ama dikkatsiz sürmek geri teper. Yarışı hız değil, kaçırmamak kazandırır.

Yarıştan sonra tartışın:

Pekiştirme ve öz-değerlendirme (7 dk)

Önce hassasiyet puanına bak. 80 üzerinden kaç yaptın?

SkorNe anlama geliyor
64-80Hizalamayı ve sırayı içselleştirdin. Usta.
40-63Temeli oturttun; hız ve akıcılık pratikle gelecek.
40 altıSorun genelde hizalamadadır: robotu kavramadan önce tam durdurup ortaladığından emin ol.

Şimdi puanı bir kenara koy ve kendine dürüstçe bak. Her satırda kendine en uygun sütunu işaretle:

SoruBaşlangıçGelişiyorUstalaştım
Kavramadan önce robotu hizalayabiliyorumDenk gelirseBirkaç düzeltmeyleTek yaklaşımda tam
Sürüşü ve gripperi birlikte kullanabiliyorumSırayla, kafam karışarakİkisini ayrı ayrı düşünerekİkisini akıcı, düşünmeden
Bir kaçırmanın nedenini bulabiliyorumBilemiyorumDeneyerek buluyorumBakar bakmaz teşhis ediyorum
Kavrama açımı ayarlayabiliyorumHazır değeri kullanıyorumDeneyerek düzeltiyorumCisme göre bilinçle seçiyorum

Günlük hayat bağı: Bir cismi tutup taşıyan robot kolları hayatının her yerinde. Fabrikada bir kutuyu banttan alıp palete dizen kollar, bir depoda ürün toplayan robotlar, hatta ameliyatta cerrahın komutlarını hassas hareketlere çeviren kollar hep aynı iki şeyi çözer: doğru yere hizalanmak ve adımları doğru sırada yapmak. Bugün senin çözdüğün problem tam olarak buydu.

Erken bitirene ek görev

Parkuru ve yarışı erken bitirdiysen boş durma:

Modül kapanışı: neyi başardın?

Bu, Servo ve Gripper modülünün son dersiydi. Baştan buraya kadar şunları yaptın:

Robotun artık dünyaya dokunabiliyor. Ama şu ana kadar robotun sana hiçbir şey söylemedi: hangi hızda gittiğini, hangi butona bastığını, gripperin hangi açıda olduğunu ekranda göremedin. Bir sonraki modülde robotuna bir ekran veriyorsun. Robot artık ne yaptığını sana yazacak; bu da hem hataları bulmayı hem de daha akıllı davranışlar kurmayı kökten kolaylaştıracak.