Kanca
Bir robot A noktasından B noktasına 2 saniyede gidiyor. Bu 2 saniye boyunca hızı hiç sabit kalmıyor — üç kez değişiyor. Aniden tam hızla başlayıp aniden durmak robotun gövdesini sarsar; cevap bir hız profili tanımlamaktan geçer.
Ne oldu
Yamuk (trapezoidal) profil. Hız-zaman grafiği bir yamuğa benzer:
hız
| ______________
| / \
| / \
| / \
|__/____________________\____ zaman
hızlan sabit hız yavaşla
Üç aşama vardır: sabit ivmeyle hızlanma, sabit hızda seyir, sabit ivmeyle
yavaşlama. a sabit ivme, v_maks seyir hızı, t1 hızlanmanın bittiği an,
t2 yavaşlamanın başladığı an, T toplam süre olsun:
v(t) = a·t , 0 ≤ t ≤ t1 (hızlan)
v(t) = v_maks , t1 ≤ t ≤ t2 (sabit hız)
v(t) = v_maks − a·(t − t2) , t2 ≤ t ≤ T (yavaşla)
Basit ve hesaplaması ucuzdur, ama ivme aniden değiştiği köşelerde (t1 ve t2
anlarında) sarsıntı (jerk — ivmenin türevi, j = da/dt) matematiksel olarak
sonsuza sıçrar (ivme grafiği orada süreksiz/dik bir basamak yapar).
S-eğrisi profili. Fikir basit: yamuk profildeki köşeleri yok etmek için,
bu sefer ivmenin kendisini yamuk yaptır (sarsıntı j sabit ve sınırlı
kalır, aniden sıçramaz). İvme yamuk olduğunda onun integrali olan hız,
S harfine benzer bir eğri çizer — hızlanma başında ve sonunda yumuşak geçiş
olur. Köşelerdeki ani ivme değişimi ortadan kalkar, hareket daha yumuşak
hissettirir ama profili hesaplamak ve ayarlamak (jerk sınırı, 7 aşamalı
zamanlama) daha karmaşıktır.
hız
| ________
| / \
| / \
| / \
|_/____________________\____ zaman
(köşeler yuvarlatılmış)
Gerçek dünyada
Hassas parça taşıyan bir robotta (ör. yarı iletken üretiminde) ani ivme değişimleri parçanın kaymasına veya titreşime yol açabilir — bu tür uygulamalarda S-eğrisi tercih edilir. Basit malzeme taşıma gibi işlerde yamuk profil, hız ve maliyet avantajı sağladığı için yeterlidir.
Dene
Bir sonraki derste (MoveJ/MoveL) hareket komutlarını incelerken, çoğu robot dilinin hız/ivme profilini ayrı bir parametre olarak (ör. "hızlanma yüzdesi") sunduğunu göreceksin — bu ders o parametrenin ne anlama geldiğini açıklıyor.
Sonraki
Şimdi bu kavramları gerçek robot komutlarında göreceksin: MoveJ ve MoveL.