Okullar için Robotik ve Mühendislik · anaokulundan liseye

5. ünite / 10 · 4 saat

Tutucu ve al-bırak

Tutucunun modeli, tutma kuralı (mesafe, açıklık, eğim), parçayı taşıma ve bırakma, al-bırak sırasının iskeleti.

Bu ünitenin sonunda

  • Tutucuyu açıklık, tutma yarıçapı ve eğim sınırıyla modellemek
  • Al-bırak sırasını (üstüne git, in, kapat, kalk, taşı, in, aç, kalk) yazmak
  • Parçanın bırakıldığı yüksekliğin neden önemli olduğunu açıklamak
  • Tutma başarısızlığını koddan okumak (holding)

Ders notları

Bir al-bırak programının en önemli kısmı hareket değil, sıradır: tutucu açıkken parçanın üstüne git, dikey in, kapat, dikey kalk, taşı, dikey in, aç, dikey kalk. Dikey iniş ve kalkışlar LIN, aradaki serbest uçuş PTP (ya da engel varsa plan) olur.

Tutucu modeli

Bu derste tutucu üç sayıyla tanımlıdır (GRIPPER): en çok açıklık 0,08 m, tutma yarıçapı 0,03 m, araç ekseninin dikeyden en çok sapması 25°. close komutu, TCP'ye 0,03 m içinde, 0,08 m'den dar bir parça varsa ve araç aşağıya yakın bakıyorsa parçayı tutar; hiçbiri sağlanmazsa tutucu boş kapanır ve holding() false döner. Hata yoktur, çünkü gerçek tutucu da boş kapanabilir; program holding() ile kendini denetlemelidir.

Taşıma ve bırakma

Tutulan parça TCP'yi izler. open parçayı bırakır: parça TCP'nin altındaki yüzeye iner. Yüzey masa ya da altında bir parçadır; üstüne bırakılan parça altındakinin üstünde durur (0,06 m'lik üç parçayla merkez yükseklikleri 30, 90 ve 150 mm). Parça 0,03 m'den yüksekten bırakılırsa "düşürme" sayılır (drops istatistiği). Bu yüzden bırakma yüksekliği, parçanın merkez yüksekliğine eşit seçilir.

Güvenli yaklaşma noktası

Her alma ve bırakma noktasının 0,22 m kadar üstünde bir yaklaşma noktası tanımla. Serbest uçuş bu noktalar arasında yapılır; parçaya yalnızca dikey çizgiyle girilir ve çıkılır. Böylece kol parçaya yandan çarpmaz ve engellerin üstünden geçecek yolu planlamak kolaylaşır.

Simülasyon

Öğretim modeli: sanal kol bu dersin kendi modelidir. Uzuv ölçüleri, eklem sınırları, hız ve ivme değerleri ve güvenlik eşikleri bu sayfadaki kodda tanımlı ders sabitleridir; hiçbir robot üreticisinin ürünü, dili ya da eğitim içeriği değildir ve ders resmî bir üretici eğitimi değildir. Gerçek bir hücrede ölçüler üreticinin belgelerinden, güvenlik değerleri risk değerlendirmesinden gelir.

Tutucu ve al-bırak: parça boyutu ve tutma kuralı

Hazır al-bırak programı çalışır: A'dan parça al, B'ye bırak. Parça boyutunu değiştir: tutucu 0,08 m'den geniş parçayı tutamaz ve holding() false kalır. Tutma ve bırakma sayısı, düşürme ve süre okunur.

Kendin dene

Al-bırak simülasyonunda parça boyutunu 0,06 m'den 0,09 m'ye çıkar: tutucu parçayı neden alamıyor? Sonra boyutu 0,06 m'ye döndür, programı çalıştır ve okuma kutusunda tutma ve bırakma sayısını gör. Bırakma yüksekliğini koddan 0,2 m yap ve düşürme sayısının arttığını izle.

Kod

ArmScript bloklarını ArmScript simülasyonuna yapıştırıp tarayıcında çalıştırabilirsin. Python blokları yalnızca standart kütüphane kullanır; kendi bilgisayarında çalıştır.

ArmScript: al-bırak: serbest uçuş PTP, iniş LIN
# A noktasından parça al, B noktasına bırak
var ust_a = pose(0.55, -0.32, 0.25)   # A'nın üstü
var al_a = pose(0.55, -0.32, 0.03)    # parçanın tutulacağı yer
var ust_b = pose(0.55, 0.32, 0.25)
var koy_b = pose(0.55, 0.32, 0.03)
open
ptp ust_a          # serbest uçuş: eklem uzayı
lin al_a           # dikey iniş: doğru çizgi
close
lin ust_a
ptp ust_b
lin koy_b
open
lin ust_b
print "tutuyor mu:", holding()
ArmScript: üç parçayı alıp üst üste dizmek
# üç parçayı sırayla alıp B'de üst üste diz
proc al(x, y)
  open
  ptp pose(x, y, 0.25)
  lin pose(x, y, 0.03)
  close
  lin pose(x, y, 0.25)
end
proc koy(x, y, z)
  ptp pose(x, y, z + 0.22)
  lin pose(x, y, z)
  open
  lin pose(x, y, z + 0.22)
end
for i = 1 to items()
  call al(item_x(i), item_y(i))
  call koy(0.55, 0.32, 0.03 + 0.06 * (i - 1))
  print "parça", i, "yerleşti"
end

Sık yapılan hatalar

  • Parçaya yandan yaklaşmak: tutucu parçayı iter ya da çarpar; her zaman üstten dikey in.
  • holding() denetimini atlamak: boş kapanan tutucuyla taşıma sürer ve parça yerinde kalır.
  • Bırakma yüksekliğini fazla seçmek: parça düşer, konumu sapar ya da devrilir.
  • Parça boyutunu tutucu açıklığıyla karşılaştırmamak: 0,08 m'den geniş parça tutulmaz.

Yazılım mühendisliği bağlantısı

Al-bırak bir durum makinesidir: açık, yaklaşıyor, iniyor, tutuyor, taşıyor, bırakıyor. Her durumda bir ön koşul ve bir son koşul vardır ("kapat" öncesi TCP parçanın yanında, sonrası holding() true).

  • Son koşulu kodda denetle ve başarısızlıkta durup hata bildir; sessizce devam etme.
  • Parça sayısı, düşürme ve süre gibi ölçümleri her çalıştırmada kaydet: bu bitirme projesinin kabul ölçütleridir.

Kendini sına

  1. Tutucu boş kapanırsa bu derste ne olur?

  2. Üç parça (0,06 m) üst üste dizilirse üstteki parçanın merkez yüksekliği nedir?

  3. Parçaya neden üstten dikey inilir?

  4. Bu derste tutucu hangi parçayı tutamaz?

Bu üniteden sonra bitirme projesinde

  • Tek parça al-bırak: Duvarsız hücrede bir parçanın al-bırakı; süre ve düşürme ölçümü.

Macademia'da ilgili

Esc
  • PanelAna sayfaSayfa
  • ModüllerTüm modüllerSayfa
  • ParçalarParça ansiklopedisiSayfa
  • Mühendislik yoluBüyükler için robotik: 128 parça, 7 seviyeSayfa
  • Robotik dersi (ESOF 323)Üniversite robotik dersi, 14 haftaSayfa
  • Drone dersiBüyükler için: parça, simülasyon, yazılım; 10 üniteSayfa
  • Blok atölyesiSerbest blok programlamaAraç
  • Devre laboratuvarıSanal Arduino ve devreAraç
  • Robot arenasıSanal robot sürüşüAraç
  • OyunlarBloklarla 8 öğretici oyunAraç
  • Mikro Kart atölyesiSanal LED kartı bloklarla programlaAraç
  • Robot atölyesiMikro Kart'ı robota tak, bloklarla görev yapAraç