Kanca
Bir robot programı bazen hareket etmeden önce KARAR vermeli: TCP güvenli
çalışma bölgesinde mi, yoksa tabana çok mu yakın? Bu kararı if/else ile
kodun içine yazacaksın — robotun kendi durumunu okuyarak.
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
if/else, robotun ölçülen güncel durumunu bir koşulla karşılaştırır ve yalnız uygun hareket dalını çalıştırır.
2. Simülasyon
Yukarıdaki CodeRunner, movel sonrasında gerçek TCP konumunu get_tcp ile okur; hesaplanan mesafeye göre güvenli veya uyarı dalını seçer.
3. Kod
Kod Akademisi'nde get_tcp ile okunan x konumuna göre dallanıp eksik hareket komutunu kendin tamamla.
Konuma göre dallan modülünü aç
Ne oldu
robot.get_tcp(), robotu HİÇ hareket ettirmeden güncel uç nokta (TCP)
konumunu okur — x, y, z alanları olan bir nesne döner
(tcp.x, tcp.y, tcp.z şeklinde okunur). Bu, önceki derslerdeki
movej/movel gibi robotu SÜRMÜYOR, sadece mevcut durumu SORUYOR.
mesafe = (tcp.x ** 2 + tcp.y ** 2) ** 0.5 iki koordinattan Öklid
uzaklığını hesaplar. if mesafe < 0.25: bu sayıyı bir eşikle karşılaştırır;
sonuca göre İKİ satırdan sadece BİRİ çalışır — if bloğu ya da else bloğu,
asla ikisi birden. İkinci derste gördüğün "kolun en yakın erişebildiği nokta
tabana 0.2 birim uzaklıktadır" bilgisi burada eşik seçimine ilham verdi:
0.25, o sınıra yakın ama biraz paylı bir eşik.
Gerçek dünyada
Gerçek hücrelerde robot programları hareket etmeden önce sık sık durum
kontrolü yapar: "tutucu boş mu?", "önceki hareket bitti mi?", "TCP güvenli
bölgede mi?" Bu kontroller genelde bir sensörden veya kontrolörün kendi
durumundan (get_tcp()'e karşılık gelen gerçek komut) okunur, sabit kodlanmış
bir sayı değildir — programın kendi kendini izlemesi böyle çalışır.
Dene
hedef_x, hedef_y değerlerini 0.15, 0.1 yap (uzaklık 0.25'in altına
düşecek şekilde) ve çalıştır — "Uyari" satırının basıldığını gör. Sonra tekrar
1.0, 0.3'e dön ve mesafe < 0.25 şartını mesafe < 1.5 yaparak iki dalın
da nasıl yer değiştirdiğini gözlemle.
Sonraki
Sıradaki ders bu bilgileri bir araya getirip TEKRAR KULLANILABİLİR hareket dizilerini fonksiyon olarak tanımlamayı ele alıyor.