Yüksek LisansAçık Erişim

Real–time target tracking and following with ur5 collaborative robot arm

Bu tez size mi ait?

Bu kayıt toplu arşivden geldi. Sizinse profilinize bağlayın.

2018
0 görüntülenme
0 i̇ndirme

Özet (EN)

Kamera kullanımının ve erişebilirliğinin artması, robotik ve bilgisayarlı görme uygulamaları için fırsatlar yaratmaktadır. Özellikle, derinlik algılamasındaki son gelişmeler (örneğin; Microsoft Kinect), insan robot etkileşimi (HRI) alanı için yeni yöntemlerin geliştirilmesine olanak sağlamaktadır. Öte yandan, imalat sanayisine bakıldığında, işbirlikçi robotların bu sanayi için uyarlandığı görülebilir. Bu tez, Microsoft Kinect, Universal Robot-5 (UR5), robot işletim sistemi (ROS) ve araçlarının yeteneklerini kullanarak HRI üzerine odaklanmaktadır. Bu spesifik çalışma alanında, parmak ucunun hareketi algılanmakta ve robot tarafında aynı hareket tekrarlanmaktadır. Gerçekleşen işbirliği sırasında sorunsuz bir işbirliğinin olması, doğru yörünge planlanması ve güvenlik HRI'nın en önemli bileşenleridir. Çalışma, parmak ucunu doğru bir şekilde tespit etmeyi ve izlemeyi, bu hareketi UR5'in hareketi olarak dönüştürmeyi amaçlamaktadır. Bunlara ek olarak, işbirliği sırasında UR5'in hareket performansını ve etkileşim verimliliğini artırmayı hedeflemektedir. İlk olarak, bu çalışma sırasında Microsoft Kinect v2 ve Universal Robot-5 kullanıldı. Yazılım ve kütüphane olarak, ROS, nokta bulutu kütüphanesi (PCL), libfreenect2, IAI Kinect2, açık kaynak bilgisayarlı görme kütüphanasi (OpenCV), Eigen, ur_modern_driver, MoveIt!, açık kaynak yörünge planlama kütüphanesi (OMPL) ve ROS görselleştirme aracı (rviz) kullanıldı. Microsoft Kinect v2 tarafından oluşturulan kırmızı, yeşil, mavi renk uzayı (RGB) ve derinlik bilgisi içeren veriler IAI Kinect2 (ROS ve libfreenect2 arasındaki köprü) ve libfreenect2 (Kinect'ten veri almak için gereken sürücü) aracılığıyla alındı. Daha sonra, bu veriler PCL aracılığıyla nokta bulutu olarak temsil edildi. Voxel Grid (VG), Radius Outlier Removal (ROR) ve Statistical Outlier Removal (SOR) filtreleri bu noktalardaki aykırı değerleri ve gürültüleri gidermek için uygulandı. En yakın nokta (parmak ucu), aykırı noktalardan ve gürültüden arındırılmış veriler kullanılarak Eigen matris hesaplama aracı yardımıyla gerçek zamanlı olarak hesaplandı. Her 1cm değerindeki değişimde hesaplama yeniden başlatıldı ve en yakın nokta güncellendi. Güncellenmiş en yakın nokta sürekli olarak bir ros_topic üzerinden yayınlandı. Bunu takiben, PCL ve rviz görselleştirme araçları ile görselleştirildi. Robot tarafında ise, UR5, ur_modern_driver kullanılarak ROS aracılığıyla kontrol edildi. Bu çalışmada, ROS'un Kinetic Kame sürümü Ubuntu 16.04 uzun süreli destek (LTS) yüklü bir bilgisayarda çalıştırıldı. En yakın nokta ilgili ros_topic üzerinden alındı. Bu parmak ucu farklılıkları robot yörüngesi hesaplanması amacıyla MoveIt!'e gönderildi. Daha sonra, bu hesaplamalarda uygulanabilir bir çözüm varsa UR5 harekete geçirildi. MoveIt! hakkında şunu belirtmek gerekir ki, uygulanabilir yörüngeyi hesaplamak için kullanılan parametrelerden "j" parametresi önemlidir. "Eklem için anlık izin verilebilir açışal değişim faktörü" olarak tanımlanan bu değişkenin değeri sıfırdan başka bir değere ayarlandığında robot eklemlerinin hareketi sırasında ne kadar anlık değişimin olacağı kullanıcı tarafından kontrol edilebilir. Gerçek zamanlı testte sıfıra ayarlanmamalıdır; çünkü bu, robotun istenmeyen bir hedefe hareket etmesine neden olur ve güvenlik sorunu teşkil eder. "j" parametresini ayarlamadan ve sisteme herhangi bir filtre uygulamadan sistemi 1 çevrim çalıştırmak 1.9 saniye zaman aldı. Bundan sonra, en yakın noktayı doğru olarak tespit etmek için VG, SOR ve ROR filtreleri sisteme uygulandı. Son durumda, VG ve SOR filtreleri kullanıldı. Filtre kullanılmasına ve daha fazla hesaplama yapılmasına rağmen gecikme süresi 0,14 saniyeye düşürüldü. Deneme ve gözlem sonucunda "j" parametresinin optimal değerini ayarlamak, gecikme ve güvenlik açısından oldukça önemli bir adımdır. İkinci olarak, çalışma ile ilgili sınırlamalar aşağıdaki gibi listelenebilir. ROS sadece Linux tabanlı işletim sistemlerinde çalışır, dolayısıyla Kinect'in yerleşik işlevleri kullanılamaz ve bunun için harici kütüphane kullanılmalıdır (örneğin; libfreenect2 ve IAI Kinect2). Öte yandan, alt örnekleme işlemi VG filtresi ile yapıldığında, nokta bulutundaki çözünürlük azalır ve nokta bulutu 50K'nın altına düşerse noktalar yanlış hesaplanır. PCL'de yerleşik filtreler kullanmak için, şu an sadece C++ programlama dili kullanılabilir. Son olarak, MoveIt! planlayıcısında, arama tabanlı hesaplama yöntemi kullanıldığından, yörünge planlaması için milisaniye mertebesine ulaşılamamaktadır. Uygulama bölümünde, Kinect sensörünün derinlik görüntüsü (RGB-D) ile en yakın nokta yaklaşımı kullanılır. Yaklaşım, farklı ortamlara karşı gürbüz özelliklere sahip olan Euclidean mesafesine dayanmaktadır. Ayrıca, PCL ve yerleşik filtreleri derinlik verilerini işlemek için kullanılır. Microsoft Kinect aracılığıyla sağlanan derinlik verileri işlendikten sonra, en yakın noktaların farkları ROS aracılığıyla robota iletilir. Robot tarafında, MoveIt! hareket planlayıcısı uygulanabilir yörünge hesaplaması için kullanılır. Robot yörüngesini test etmek için ham RGB-D verileri sisteme gönderilir ve sonuçlar elde edilir. Sistemin ne kadar doğru çalıştığını test etmek için UR5'in el kumandası yardımıyla bir test yörüngesi oluşturuldu. Kinect robota doğru döndürüldü ve test yörüngesi çalıştırıldı. Test yörüngesi çalıştırıldığı sırada, Kinect tarafından üretilen RGB-D verileri rosbag record kayıt fonksiyonu kullanılarak "rosbag" uzantısı olarak kaydedildi. Test için robot başlangıç pozisyonuna getirildi. Bu sefer sistem, rosbag play fonksiyonu yardımıyla Kinect kullanmadan kaydedilen veri ile çalıştırıldı ve robotun hareketi gözlemlendi. Testin ana fikri, algoritmanın parmak ucunu ne kadar doğruluk ile takip ettiğini görmektir. İlk test, VG, ROR ve SOR filtreleriyle "Kartezyen yol planlama metodu" kullanıdı ve X %85,79, Y %87.14 ve Z %79.63 doğruluk ile takip edildi. İkinci test için, VG ve SOR filtreleriyle "Zaman parametrelendirme metodu'' kullanıldı ve X %97,32, Y %93.34 ve Z %91.77 doğruluk ile takip edildi. Gecikme ve ön işleme tarafında, (j) için optimal olmayan bir değer seçildiğinden, uygulanabilir yörünge hesaplama süresi 3 ile 4 saniye arasındadır. Hatta mevcut sistemin toplam gecikme süresi 5 saniye civarlarındadır. Gecikmeyi ve ön işleme süresini azaltmak için, testleri ve gözlemleri kullanarak, j parametresi en uygun değere ayarlandı. (j=1,7). Başlangıçta, sistemde 200 bin nokta vardır ve buna SOR ve ROR filtreleri uygulandığında ön işleme süresi 1,9 saniyedir. VG filtresi oldukça hızlıdır ve ön işleme süresi üzerinde bir etkisi yoktur. Noktalar, VG filtresiyle 55-60 bin değerine düşürüldü ve Kinect tarafındaki maksimum ve minimum derinlik parametreleri optimum değerlerine ayarlandı. Bundan sonra sisteme, ROR ve SOR filtreleri uygulandığında ön işleme süresi 0,55 saniyeye düşürüldü. Bu değerin etkin etkileşim için yeterli olmadığı gözlemlendi. Bunu takiben, ROR filtresinin çok fazla hesaplama süresine sahip olması ve aykırı noktaları kaldırma yeteneğinin SOR filtresinden kötü olması nedenleriyle son aşamada kullanılmadı. Son olarak, VG filtresi, SOR filtresi ve en uygun j parametresi kullanıldığında, toplam gecikme süresi 0,14 saniyeye düşürüldü. Bu verimli işbirliği için kabul edilebilir bir düzeydir. Sonuç olarak, gecikme ne kadar düşük olursa, etkileşim o kadar iyi olur. Gelecekteki çalışmalar için, işbirliği sırasında yörünge hesaplama süresini azaltmak için kapalı form yörünge planlama yöntemine odaklanılabilir. Bunu başarmak için, düşük seviyeli programlama (örneğin; movej, servoj), ur_modern_driver ve ilgili sürücüler kullanılabilir. Nokta bulutunun ön işleme süresi için, Merkezi İşlem Birimi (CPU) kullanmak yerine Grafik İşlem Birimi (GPU) kullanılabilir. Ayrıca, PCL'deki farklı filtreler kullanılarak etkileşim verimliliği artırılabilir.

Yazar

Burak Teke

Bu Yayına Nasıl Atıf Yapılır

Burak Teke (Master Thesis). Real–time target tracking and following with ur5 collaborative robot arm, 2018, İstanbul Technical University.

Lisans

Tüm Hakları Saklıdır

Bu eser belirtilen lisans koşulları altında paylaşılmaktadır.

İstanbul Technical University tezlerinden daha fazlası