Tarayıcı + ArmScriptBitirme
Bitirme projesi: paletleme hücresi
Duvarlı sanal hücrede alma bölgesindeki üç parçayı alıp bırakma bölgesinde bir palet düzenine yerleştiren, çarpışmasız, ölçülen ve test edilen bir ArmScript programı.
Senaryo
Hücrede alma bölgesi A'da üç küp (0,06 m), bırakma bölgesi B'de boş bir palet ve aralarında 0,42 m yüksekliğinde bir duvar var. Program parçaları tek tek alır, duvarın üstünden ya da çevresinden taşır ve 2x2 düzenin hücrelerine koyar. Sonunda kaç parça taşındığını yazar.
Gereksinimler (test edilebilir)
- G1: Program hatasız biter (yorumlayıcı hata vermez) ve üç parçanın üçü de bırakma bölgesinde, birbirinden en az 0,08 m uzakta durur.
- G2: Hiçbir benzetim karesinde kol masaya, duvara ya da yasak bölgeye değmez (kare kare denetlenir).
- G3: Parça düşürülmez: her bırakma, TCP parçanın merkez yüksekliğindeyken yapılır (düşürme sayısı 0).
- G4: Duvarı aşan serbest uçuşlar plan ile, parçaya dikey iniş ve kalkışlar lin ile yapılır.
- G5: Toplam benzetim süresi 30 saniyenin altındadır; süre ve plan sayısı rapora yazılır.
- G6: Program tutma sonrası holding() ile kendini denetler ve başarısızlıkta halt eder.
Mimari
- Program: yordamlar (al, taşı, bırak), hedefler tek yerde tanımlı değişkenlerle; sihirli sayı yok.
- Hareket seçimi tablosu: serbest uçuş duvarsız yarıda ptp, duvarı aşarken plan, dikey hareketlerde lin; gerekçesiyle.
- Hücre: alma ve bırakma bölgeleri, duvar, isteğe bağlı yasak bölge ve parça listesi tek bir hücre tanımında.
- Ölçüm: parça, düşürme, plan sayısı, süre ve çıktı satırı her çalıştırmada kaydedilir.
- Sınır notları: çarpışma modeli kapsül–kutu yaklaşığıdır, güvenlik katmanı öğretim modelidir.
Doğrulama: birim testinden ölçüme
- Birim: ArmScript yordamları tek tek çalıştırılır (bu dersin testleri gibi); hedeflerin erişilebilir olduğu ileri/ters kinematikle doğrulanır.
- Özellik: bütün karelerde violation() null; aynı program iki çalıştırmada aynı kareleri verir.
- Hata: bilerek erişim dışı hedef, duvara ptp ve sonsuz döngü; her biri beklenen hata koduyla durur.
- Ölçüm: parça 3, düşürme 0, plan sayısı ve süre eşikleri otomatik denetlenir (G1, G3, G5).
- Güvenlik: yasak bölge eklendiğinde program ona girmez ya da zone hatasıyla durur (G2).
Başlangıç programı, burada çalışır
ArmScript: yaz, çalıştır, 3B sahnede izle
Platformun kendi robot dili. Örnek seç ya da kendi programını yaz, Çalıştır'a bas: yorumlayıcı programı tarayıcıda, sınırlı adımla koşturur, konsola çıktıyı ve hatayı satır numarasıyla yazar, sonucu 3B sahnede oynatır. Sunucuda hiçbir şey çalışmaz.
# bitirme: paletleme, 2x2 düzen, duvar aşılarak
proc tasi(x, y, px, py)
open
plan pose(x, y, 0.25)
lin pose(x, y, 0.03)
close
lin pose(x, y, 0.25)
plan pose(px, py, 0.25)
lin pose(px, py, 0.03)
open
lin pose(px, py, 0.25)
end
var n = 0
for i = 1 to 3
call tasi(item_x(i), item_y(i), 0.5 + 0.09 * (i % 2), 0.28 + 0.09 * floor(i / 2))
n = n + 1
end
print "taşınan parça sayısı:", nTeslimler
- 3. üniteden sonraHücre ve erişim raporu
Alma ve bırakma noktalarının ileri/ters kinematikle erişilebilirliği ve çözüm sayıları.
Ters kinematik: hedeften eklem açılarına - 5. üniteden sonraTek parça al-bırak
Duvarsız hücrede bir parçanın al-bırakı; süre ve düşürme ölçümü.
Tutucu ve al-bırak - 7. üniteden sonraYordamlı program
Üç parçayı yordamlarla ve döngüyle taşıyan, hata iletileri denenmiş program.
ArmScript II: yordam, sensör, hata ayıklama ve yalıtım - 8. üniteden sonraDuvarlı hücrede plan
Programın duvarı plan ile aşması; kare kare çarpışma testi ve tohum.
Çarpışmasız yörünge: çarpışma denetimi ve RRT ile planlama - 9. üniteden sonraGüvenlik notu
Bir yasak bölge ekleme ve programın ona girmediğini gösterme; sınırların açıkça yazıldığı not.
Basit hücre güvenliği: bölgeler, hız sınırı, insan yakınlığı, acil durdurma - 10. üniteden sonraRapor ve sunum
Gereksinimler, mimari, ölçümler (parça, düşürme, plan, süre), sınırlar; canlı çalıştırma ve bilerek üretilmiş bir hata.
Bitirme hazırlığı: paletleme hücresi
