Kanca
Hedefin sana verdiği tek bilgi (x, y) konumu — açıları vermiyor. Kosinüs teoremi, kolun bu iki açıyı kendi başına nasıl çözdüğünü açıklıyor.
Keşif görevi
Çalışma uzayı sınırını iki ölçümle bul
Aynı kol için önce çözülebilen, sonra gerçek açılı çözümü olmayan bir hedef seç. İki ölçüm birlikte sınırı gösterir.
Genel 2 eklemli kol — jenerik örnek kol, belirli bir üretici modeline karşılık gelmez. Hesaplanan azami erişim: 1.80 m (bağlantı uzunluklarının toplamı).
Ya şunu denesen? Hedefi robotun azami erişiminin biraz dışına taşısan robot yine ulaşabilir mi?
Uç nokta: (1.08, 0.63) · Çözücü: analitik · 1 iterasyon · hata 0 m
Eklem açıları: θ1=-9.468° · θ2=92.748°
Bağlantı yalnız bu sahnenin durumunu taşır; hesap veya ad içermez.
Önce dene
Dene
Hedefi kolun tam önüne, kola yakın bir noktaya götür. Dirsek düğmesine bas ve iki duruşun ne kadar farklı göründüğünü karşılaştır. Sonra hedefi kolun erişebileceği en uzak noktaya götür — iki duruş neredeyse aynı hale gelir. Neden?
Ne oldu
Kolun iki parçası (a1, a2) ve hedef (x, y) ile θ1, θ2'yi bulmanın yolu kosinüs teoreminden geçer:
cos(θ2) = (x² + y² − a1² − a2²) / (2·a1·a2)
θ1 = atan2(y, x) − atan2(a2·sin(θ2), a1 + a2·cos(θ2))
Burada kritik nokta: cos(θ2) tek bir değer verir, ama bir açının kosinüsü hem pozitif hem negatif açı için aynı sonucu verebilir (cos(60°) = cos(−60°)). Bu yüzden θ2 için iki çözüm çıkar — biri "dirsek yukarı", diğeri "dirsek aşağı". İkisi de aynı (x, y) hedefine ulaşır, farklı bir duruşla.
Yukarıdaki sahnede "Dirsek" düğmesine bastığında gördüğün değişim, tam olarak θ2'nin işaret değiştirmesi.
Gerçek dünyada
Bir robot programcısı, hedefe iki yoldan da ulaşılabildiğinde hangisini seçeceğine engellerin konumuna göre karar verir — biri masaya çarpabilir, diğeri çarpmaz. Bu seçim çevrim dışı programlama yazılımlarında elle veya otomatik yapılır.
Sonraki
Şimdiye kadar açılar hep derece cinsindendi. Sıradaki ders neden robot kodunun içinde radyan kullanıldığını açıklıyor.