Kanca
hedefe_git seni her seferinde TEK bir noktaya götürüyordu. Şimdi
movel'i (aynı fikrin gerçek ismi) bir nokta listesiyle ve bir for
döngüsüyle birleştirip robotu arka arkaya üç farklı noktaya, üç satır kodla
gezdireceksin.
Hazır
BoştaBağlantı yalnız bu sahnenin durumunu taşır; hesap veya ad içermez.
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ı).
Geliştirici ayrıntıları · çalışma sınırları
- azami çalışma süresi
- 8 s
- azami çıktı boyutu
- 64 KiB
- azami çıktı olayı
- 100
- azami eklem izi örneği
- 500
Öğrenme köprüsü
Kavram → Simülasyon → Kod
1. Kavram
Bir for döngüsü, rota listesindeki her hedefi aynı hareket gövdesinden sırayla geçirir; hedef sayısı artsa da döngü kodu değişmez.
2. Simülasyon
Yukarıdaki CodeRunner, rota noktalarını movel ile sırayla çözer ve robotun her hedefte oluşan eklem izini gösterir.
3. Kod
Kod Akademisi'nde aynı liste ve for yapısını eklem hedefleriyle kur; orada hareket movej ile verilir ama Python döngüsü aynıdır.
Döngüyle üç nokta modülünü aç
Ne oldu
robot.movel(x, y, z, speed=None) üç koordinatı alır (bu kol düzlemsel
olduğu için z her zaman 0) ve robotu oraya götürür — açıları kendisi
hesaplar, tıpkı hedefe_git gibi. speed parametresi kabul edilir ama
(önceki derste gördüğün gibi) sahnede gerçek zamanlı bir hız farkı
yaratmaz; şimdilik sadece gerçek robot kodlarına benzerlik için orada.
for x, y in rota: satırı, listedeki her (x, y) çiftini sırayla alıp
döngü gövdesini (iki satır) o değerlerle çalıştırır. Üç nokta için üç kez,
otuz nokta için otuz kez — kod satır sayısı DEĞİŞMEZ. Bu, önceki
dersteki hedef_acilar değişkenindeki fikrin bir adım ilerisi: tek bir
değer yerine tüm bir LİSTE üzerinde tekrar kullanım.
movel, hedefe_git'in aksine sayısal (iteratif) bir çözücü kullanır —
kapalı formda değil, tahmin ede ede yakınsayan bir yöntemle çalışır. İki
eklemli bu kolda sonuç pratikte aynı, ama bu yöntem ileride altı eklemli
robotlarda da (kapalı form formülü olmayan durumlarda) çalışacak — üniversite
dersinde bunu göreceksin.
Gerçek dünyada
Bir RAPID programında bu döngü genelde bir dizi (num dizisi veya
robtarget listesi) üzerinde FOR döngüsüyle yazılır; her adımda bir
MoveL çağrılır. Kaynak taşıma hatlarında, kalite kontrol istasyonlarında —
"aynı hareketi farklı noktalar için tekrarla" neredeyse her endüstriyel
programın omurgasıdır.
Dene
rota listesine kendi seçtiğin dördüncü bir nokta ekle (kolun erişimi 0.2
ile 1.8 birim arası, ikinci dersten hatırla). Sonra listedeki bir noktayı
kolun kesinlikle erişemeyeceği kadar uzak yap (ör. (5, 5)) ve çalıştır —
movel bu sefer NE yapıyor, hedefe_git'in sessizce False dönmesinden
farkı ne?
Sonraki
Sıradaki ders if/else ile robotun güncel durumunu (get_tcp()) kontrol
edip harekete karar vermeyi ele alıyor.