Robot

Biz, genellikle farklı dünyalarda yaşayan iki şeyi birleştirdik: teknolojik görüş sistemini engiAI ile kendi yapay sinir ağı eğitim sistemimizi ve altı eksenli endüstriyel robotu BORUNTE BRTIRUS0707A. Sonuç, önceden programlanmış bir program yerine, detayı gerçek zamanlı olarak algılayan ve ona göre ayarlanan bir robot.

Test aşamasında başarılı olan bir sistem: Bir kutu, masanın üzerinde rastgele bir pozisyonda duruyor. Operatör, kutuyu istediği gibi döndürüyor; 0 ila 360 derece arasında herhangi bir açıyla. Kamera yukarıdan çekim yapıyor, yapay zeka sistemi dönüş açısını derece cinsinden belirliyor ve robot kolu, kutunun pozisyonunu taklit ediyor ve onu tam olarak altına yerleştiriyor. Herhangi bir destek, yatak veya konum sensörü kullanılmıyor; sadece kamera, yapay zeka sistemi ve robot var.
Sistemin Bileşenleri
engiAI – Görüntü işleme teknolojisi. Yapay zeka ile entegre çalışan bir sistem: Endüstriyel kameraların (SICK, Hikrobot, GigE Vision, USB) bağlanması, canlı videoda denetim bölgelerinin doğrudan işaretlenmesi, sınırlı sayıda çerçeveden oluşan eğitim veri setinin oluşturulması, GPU (CUDA) üzerinde YOLO modellerinin eğitilmesi ve kamera akış hızıyla gerçek zamanlı analiz yapılması. OUTPUT modülü, tanıma sonuçlarını eylemlere dönüştürür: Robotlara veya PLC'lere TCP paketleri gönderilmesi ve kameralardan gelen ayrık çıkışların kullanılması.
Robot1 – Robotun kontrolü. Kontrol cihazı HC1 ile açık JSON/TCP protokolü üzerinden doğrudan iletişim, herhangi bir terminal veya özel yazılım olmadan: her eksenin manuel kontrolü, kaydedilen pozisyonlar, robotun 3D modeli ve temel pozisyonlar. Ana hedef AI'den gelen TCP komutlarını almak: her eksen için komut adı, hız, kaydırma, ters çevirme ve açıyı en yakın değere (±180°) ayarlama.
Bu programlar arasındaki bağlantı, standart TCP/IP protokolüdür. Bu, zincire herhangi bir cihazın eklenmesinin mümkün olduğu anlamına gelir – PLC, başka bir robot, SCADA veya ERP sistemleri.
Nasıl Çalışır: Çerçeveden Hareket Haline Geçiş
- Görüntü. Kamera, denetim alanının (bizim standımızda SICK, 2048x2048'lik bir matris) görüntüsünü veriyor.
- Harika. YOLO modeli, parçanın konumunu sınıflandırır: her bir dönüş açısı, ayrı bir sınıfı temsil eder (0…359 derece, tam bir daire veya 0…180 derece, simetrik parçalar için).
- Paket. OUTPUT kuralı, bir komut oluşturur – örneğin "J6 315" – ve bunu TCP üzerinden gönderir. Bu kural, tüm model için tek bir şekilde oluşturulur: {class}, tanınan sınıfın adını otomatik olarak aktarır.
- Eksen kuralı. Robot1, eksen ayarlarını (ters çevirme, kaydırma, yakın rota) uygular ve belirlenen hızda hedef açıyı kontrolör ile komut eder.
- Hareket. Eksen dönerken, sabitleme mekanizması parçanın üzerine tam olarak oturur.
Kutu dönüşünden eksen başlangıcına kadar geçen gecikme yaklaşık olarak bir saniyedir ve bu gecikme ayarlanabilir: tüm gecikmeler ayarlar bölümüne taşınmıştır.
Veri Seti ve Makine Öğrenimi Mühendisi Olmadan Eğitim
Üretim ortamında makine öğrenimi alanındaki klasik bir sorun, binlerce görüntünün toplanması ve etiketlenmesidir. engiAI platformunda bu sorun, sentetik veri üretimiyle çözülmektedir: Bir operatör, parçanın belirli bir bölgesinin tek bir fotoğrafını çeker ve program, bu fotoğrafı kullanarak eğitim verisi setini otomatik olarak oluşturur.
- Bu özellik, kare alanı içindeki görüntüyü, belirtilen adımla (örneğin, 0,1°) döndürmeyi sağlar. Bu durumda, gerçek arka plan görüntüsü ve detay, çerçeve tarafından kesilmeden karemize dahil edilir; görüntü otomatik olarak, karenin köşegenine göre bir kareye genişletilir.
- Belirlenen sınırlar içinde parlaklık ve kontrast varyasyonları ve aynalama kopyaları oluşturur;
- Kareleri (0…359) derecelere göre otomatik olarak sınıflandırır ve eğitim ve doğrulama kümelerini ayırır.
Bir fotoğraf, yüzlerce eğitim dosyası oluşturabilir. Ardından, "AI MODELİNİ EĞİT" düğmesine basılır ve kısa süre sonra model çalışmaya hazırdır. Tüm "detayı göster → eğit → robot çalışır" döngüsü, operatör tarafından yürütülür, bir ML mühendisi değil.
Veri akışı, robotu bozmamalıdır.
Yapay zeka, tanıma işlemini saniyede onlarca kez yapar ve bu tanımaları doğrudan hareketlere dönüştürmek mümkün değildir; servo motorlar, sürekli yönlendirme akışından dolayı arızalanır. Bu, canlı bir robot üzerinde test edilmiş, çok aşamalı bir güvenlik sistemi ile birlikte uygulanır:
- Ölü Bölge – 315 ve 312 arasındaki sınıflar arasındaki küçük bir boşluk, ekseni hiç hareket ettirmez;
- Kararlılık Ayarı – Yeni bir sınıf, belirtilen süre boyunca kararlı kalmalıdır: Yapay zeka, tek başına yanlış sinyallerle, rotayı uzak destinasyonlara yönlendirmemelidir;
- Akıcı geçiş – Eğer hedef değiştiyse, robot, eksen hareket ederken, eski noktaya ulaşamaz. Kontrollü frenleme, kontrolör kuyruğunun temizlenmesi ve hemen son hedefe doğru hareket etme. Geçici komutlar iptal edilir – sadece geçerli olan komut önemlidir.
- Hareketler arasındaki bekleme süresi — Kontrolöre gönderilen komutların sıklığını sınırlayan bir kısıtlamadır;
- Otomatik Kurtarma – Bir arıza durumunda, kontrolör otomatik olarak sıfırlanır ve hedefin yeniden belirlenmesi sağlanır. Her iki program da sürekli bir dosya günlüğü tutar.
Bu, klasik bir robot manipülatöre göre ne kadar avantajlıdır?
Klasik bir endüstriyel robot, katı bir şekilde kaydedilmiş bir yolda hareket eder. Detay hakkında bildiği her şey, etrafındaki mekanizma tarafından sağlanır. Bu, başlıca maliyet kalemlerini ve otomasyonun başlıca sınırlamalarını oluşturur. Yapay zeka ile elde edilen görsel tanıma, bunları adım adım ele alır.
Para ve zaman
- Mekanik bir yerleştirme ekipmanına ihtiyaç yoktur – tabanlar, destekler, titreşim yatakları, merkezleme istasyonları. Parça, istediğiniz herhangi bir şekilde yerleştirilebilir; robot otomatik olarak buna uyum sağlayacaktır. Tek bir parça için kullanılan ekipman, genellikle robotun kendisi kadar pahalıdır; bu durumda hiçbiri yoktur.
- Yeni bir ürün (saatler) için yeniden yapılandırma, haftalar değil. Kameranın detayları gösterildi, model eğitildi, bir kural belirlendi (çizgi çalışıyor). Entegratörün gelmesine ve üretim sürecinin durmasına gerek yok.
- Küçük seri üretimler karlı hale geliyor. Klasik otomasyon, yalnızca büyük hacimli üretimlerde karlı oluyor. Ayarlanma maliyetinin düşük olması, hatta tek günlük bir partinin bile otomasyonla üretilmesi karlı olabilir.
- Üç sistem yerine tek bir araç: Robotun yönlendirilmesi, kalite kontrolü ve kusurların ayıklanması, tek bir kamerayla aynı programda çalışır.
Esneklik ve kalite
- Gerçek dünyaya uyum sağlama. Üretim hattı değişti, parça eğri durdu, farklı bir tonla gelen bir parti geldi – klasik hücre sistemi çalışmaya devam ediyor: Yapay zeka hücresi, parçayı değil, koordinatları inceliyor.
- Kalite kontrolü ücretsizdir. Aynı model, robot tarafından kontrol edilirken kusurları tespit eder: hasarlı kutu, yırtılmış etiket, yanlış montaj – ve aynı kurallara göre bu hatalı ürünleri geri gönderme mekanizmasıyla bertaraf eder.
- Her eksen için yapay zeka ile kontrol. Kurallar, altı eksen için ayrı ayrı belirlenir: bugün, bir dönme hareketi tutucu, yarın ise birden fazla eksende aynı anda tam konumlandırma kullanılır.
- Sürekli geri bildirim. Bu robot, sadece önceden belirlenmiş bir programı uygulayan bir "kör" değildir: Her hareket, kamerada gerçekte görülenlere yanıt olarak, tüm kararları içeren bir sistemle birlikte gerçekleştirilir.
Açıklık ve ölçeklenebilirlik
- Robotun marka bağımsızlığı. Bağlantı – açık TCP/IP: Bugün bu, BORUNTE ile sağlanıyor, ancak aynı prensip gelecekte farklı bir robot, dönen masa veya PLC ile de kullanılabilir.
- Yerinde ek eğitim. Model, "yazılım güncellemesi" gibi bir şey değil: Yeni bir detay veya kusur ortaya çıktığında, akşam saatlerinde, üretim hattında, gerçek ışık koşullarında gerçek görüntüler üzerinde model yeniden eğitildi.
- Modülün kopyalanması – programların ve model dosyasının kopyalanması, yeniden bir entegrasyon projesi oluşturmak yerine.
- Şeffaflık. Her iki programın sürekli güncel tutulan günlükleri ve veritabanındaki tetikleme kayıtları: Tüm geçmiş, karelerden eksen hareketlerine kadar, net bir şekilde görülebilir. Bu, parti istatistikleri, kalite metrikleri ve öngörücü bakım için bir temel oluşturur.
Bu nerede uygulanabilir?
- Ambalaj ve lojistik: Kutuların paketleme öncesindeki düzenlenmesi, karışık paletlerin paketlenmesi ve paketlenmeden çıkarılması, rastgele yere yığılmış eşyaların konveyörle alınması.
- Kalite kontrolü ve kusurların ayıklanması: Bir kamera hem kontrolü yapar, hem de yürütme mekanizmalarını yönetir.
- Makine teslimatı (CNC, presler): ham malzeme veya özel bir yüzey üzerinde, titreşim önleyici alanlar olmadan.
- Montaj: Parçaların yerleştirilmesi, her adımda doğru bir şekilde yerleştirilip yerleştirilmediğinin kontrol edilmesi.
- Gıda üretimi ve tarım: Bu, mekanik olarak yapılamayan, değişken özelliklere sahip üretim alanlarıdır.
- İşleme ve sınıflandırma: "Katalogda yer almayan" nesnelerin işlenmesi ve sınıflandırılması, klasik otomasyonun etkili olmadığı bir alandır.
Sonra ne olacak?
- Aşamalar ve dış tetikleyiciler: Aşamaların bir dizi adımı içeren teknolojik program (tüm eksenlerin ve her adımda hızın koordinatları), arayüzden aşamaların eklenmesi ve kaldırılması, görüş, PLC veya operatörden gelen TCP sinyalleriyle aşamaların başlatılması;
- Sabitleme (tam pozisyonda): Bir eksenden diğer eksene, parçanın birden fazla eksende konumunu ve yönünü aynı anda belirleme;
- Çoklu hücreli yapılar ve birden fazla robotun senkronizasyonu;
- Akışkan veri üzerinde otomatik öğrenme: Sistem, karmaşık görüntüleri otomatik olarak toplar ve bunları yeni bir eğitim veri kümesine sunar.
Teknoloji Yığını
.NET 9 (WinForms) · YOLO sınıflandırma, ONNX, CUDA · SICK / Hikrobot / GigE Vision / DirectShow kameraları · BORUNTE BRTIRUS0707A robotu (kontrolör HC1, açık JSON/TCP protokolü) · SQLite · TCP/IP ile herhangi bir donanımla entegrasyon.
Bu proje, temel noktayı vurguluyor: "pahalı" robot teknolojisine girmek artık çok daha kolay. ML mühendislerinden oluşan bir ekibe ve aylarca süren entegrasyon sürecine gerek kalmıyor; sadece bir parçanın fotoğrafı, bir eğitim düğmesi ve açık bir protokol yeterli. Robot, fabrikadaki en pahalı ve en esnek makine olmaktan çıkarak, tek bir akşamda yeniden eğitilebilen, çok yönlü bir işçi haline geliyor.
