Kanca
Meca500'ün ne bir RAPID'i ne bir KRL'si var. Robotu iki şekilde sürebilirsin: bir terminalden düz metin komutları göndererek, ya da aynı metinleri senin yerine üreten bir Python kütüphanesiyle. İkisi de aynı yere varır.
Ne oldu
ABB'nin RAPID'i ve KUKA'nın KRL'si dosyaya yazılıp robot kontrolörüne
yüklenen birer PROGRAMLAMA DİLİ. Mecademic farklı bir yol seçmiş:
robot, bir TCP/IP soketi üzerinden ASCII metin komutları dinleyen bir
sunucu çalıştırır. MoveJoints(0,-60,60,0,0,0) gibi bir metin satırı
gönderirsin, robot onu okur ve hareket eder. Dil yok, dosya yok — sadece
bir komut-yanıt döngüsü.
Mecademic'in resmi mecademicpy Python kütüphanesi bu metin
protokolünü SARAR: robot.MoveJoints(0, -60, 60, 0, 0, 0) gibi bir
Python çağrısı yazarsın, kütüphane arka planda tam olarak yukarıdaki
metni oluşturup soketten gönderir. Kütüphanenin kendi belgelerinde bu
açıkça söyleniyor: Python API, robotun "native metin tabanlı (TCP/IP)
API'siyle aynı fonksiyon isimlerini ve argümanlarını" kullanıyor.
Aşağıdaki kod, gerçek bir Meca500'e gönderilecek metni üretiyor ve
aynı hareketi bu sahnedeki simüle kolda gösteriyor — ama bir ağ soketi
AÇMIYOR. Bu platform hiçbir zaman gerçek bir robota bağlanmaz (bkz.
docs/00-vizyon.md); gerçek bir Meca500'le konuşmak istersen bu kodu
kendi bilgisayarında, mecademicpy kurulu, robotla aynı ağda
çalıştırman gerekir.
Sahnedeki kol da jenerik bir örnek değil: Mecademic'in kamuya açık teknik veri sayfasındaki bağlantı uzunlukları, eklem limitleri ve azami hızlarla tanımlı gerçek bir Meca500 R4. Sahnenin altındaki kimlik satırı kaynağı gösteriyor.
Hazır
BoştaBağlantı yalnız bu sahnenin durumunu taşır; hesap veya ad içermez.
Bu robot: Mecademic Meca500 R4 · maks. erişim 330 mm · azami yük 0.5 kg · kaynak: Mecademic
TCP: x 0.19 · y 0 · z 0.308 m · Alet RPY: R 180° · P -90° · Y 0°
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
Gerçek dünyada
mecademicpy'nin gerçek kullanımında bir bağlantı adımı da var:
from mecademicpy.robot import Robot
robot = Robot()
robot.Connect(address="192.168.0.100")
robot.ActivateRobot()
robot.Home()
robot.MoveJoints(0, -60, 60, 0, 0, 0)
robot.WaitIdle()
Connect gerçek bir ağ bağlantısı açar — bu satır bu platformda hiç
çalıştırılmaz, sadece burada METİN olarak gösteriliyor. Bu, Hat D'nin
diğer dillerinden (RAPID, KRL) farklı bir mühendislik kararını
gösteriyor: robotu kontrol eden mantığı, robotun kendi belleğine
yüklenen bir dosya yerine, dışarıdaki bir bilgisayarda (PC, PLC, hatta
bir Raspberry Pi) çalışan bir Python sürecine taşımak. Bu, laboratuvar
ve küçük ölçekli hassas otomasyon uygulamalarında tercih edilen bir
yaklaşım çünkü robotu bir üretim hattı PLC'siyle veya görüntü işleme
koduyla aynı Python sürecinden yönetmeyi kolaylaştırır.
Dene
Sonraki
Sıradaki ders, şimdiye kadar gördüğün üç yaklaşımı (RAPID, KRL, Mecademic) bir tabloda karşılaştırıp dördüncü bir yaklaşımı — FANUC'un teach pendant tabanlı, satır numaralı programlarını — ekliyor.