Please use this identifier to cite or link to this item:
https://hdl.handle.net/20.500.11851/2167
Title: | Bir Endüstriyel Robotun İnsan Kolu Hareketlerinin Derinlik Haritası ile Algılanmasıyla Kontrolü | Other Titles: | Teleoperation of an Industrial Robot Arm by Analyzing Human Arm Depth Image Sequences | Authors: | Mert, Burak | Advisors: | Taşcıoğlu, Yiğit | Keywords: | Artificial neural network Inverse kinematics Depth map Kinect Industrial robot arm Teleoperation Yapay sinir ağı Ters kinematik Derinlik haritası Kinect ToF kamera Endüstriyel robot kolu Teleoperasyon |
Publisher: | TOBB University of Economics and Technology,Graduate School of Engineering and Science TOBB ETÜ Fen Bilimleri Enstitüsü |
Source: | Mert, B. (2016). Bir endüstriyel robotun insan kolu hareketlerinin derinlik haritası ile algılanmasıyla kontrolü. Ankara: TOBB ETÜ Fen Bilimleri Enstitüsü. [Yayınlanmamış yüksek lisans tezi] | Abstract: | Bu çalışmada Microsoft Kinect ToF kamera kullanılarak operatör kolunun hareketleri eşzamanlı olarak teleoperasyon yöntemiyle altı serbestlik derecesine sahip olan Stäubli Rx160 endüstriyel robot koluna aktarılmıştır. Kinect derinlik kamerası 640x480 çözünürlükte derinlik görüntülerini 30 Hz frekansta sağlayabilmektedir. Microsoft firmasının sağladığı Kinect SDK'da tanımlı fonksiyonlar kullanılarak bu derinlik görüntüleri alınmış ve operatörün derinlik haritası çıkarılmıştır. Daha sonra bu harita üzerinde operatörü çubuk figürü olarak modelleyecek 20 ekleminin üç boyutlu uzay pozisyonları iskelet haritası üzerinden takip edilmiştir. Sağ kolda bulunan omuz, dirsek ve bilek eklemlerinin pozisyonları kullanılarak eklemler arası uzuvları temsil eden vektörler hesaplanmıştır. Bu vektörler daha sonra operatörün kol açılarının bulunması sırasında kullanılmıştır. Operatörün kol açıları ve Stäubli Rx160 robot kolunun parametreleri kullanılarak operatör çalışma uzayı robotun çalışma uzayına eşlenecek biçimde genişletilmiştir. Bulunan açılar arasında gürültü içeren derinlik görüntüsü kareleri yüzünden hatalı olabileceklerin elenmesi için insan kolunun kinematik modeli oluşturularak düz v kinematik eşitlikleri hesaplanmıştır. Bulunan açılar ve düz kinematik eşitlikler kullanılarak bilek pozisyonu hesaplanmıştır. Her görüntü karesi için hesaplanan ve kameradan alınan bilek pozisyonları karşılaştırılarak hesaplanan açıların doğruluğu kontrol edilmiş, kinematik modele uymayan açılar filtrelenmiştir. Operatör açılarının bulunmasından sonra robotun teleoperasyonunu sağlamak için üç farklı yöntem geliştirilmiştir. Bu yöntemler uç işlemcinin kontrolünü sağlayan üç serbestlik derecesinde oluşmaktadır. Robotun son üç eklemi bilek yönelimini vermektedir. Bu çalışmada bilek yönelimi uç işlemcinin açık pozisyonda kalacağı şekilde sabitlenmiş ve teleoperasyon yöntemlerinde robotun ilk üç ekleminin açıları hesaplanmıştır. Bu yöntemlerden ilkinde operatörün kolu ile robot kolunun benzer kinematik yapıları eşlenerek direkt açı besleme yöntemi kullanılmıştır. Diğer yöntemde gerçek zamanlı ters kinematik çözümü uygulanmış, operatörün robot çalışma uzayına eşlenmiş bilek ekleminin pozisyonu kullanılarak bu pozisyonu sağlayacak robot eklem açıları bulunmuştur. Aynı uç işlemci pozisyonuna robot farklı şekillerde ulaşabilmektedir. Bu nedenle operatörün hareketine en benzeyen çözüm kümesinin kullanılması için filtreleme eşitlikleri kullanılmıştır. Son yöntemde ise ters kinematik çözümü yöntemi ile oluşturulan çözüm örneklerinden oluşan veri setleri ve MATLAB Neural Network Toolbox kullanılarak yapay sinir ağı eğitilmiştir. Farklı sayıda çözüm örneği içeren veri setleri ile eğitilen yapay sinir ağlarının performansları karşılaştırılarak sonuçlar yorumlanmıştır. Farklı yöntemler kullanılarak bulunan robot açıları TCP/IP protokolü ile robotun kontrolcüsüne iletilmiştir. Kontrolcü üzerinde koşan VAL3 programlama dilinde yazılmış uygulama ile TCP/IP üzerinden gelen değerler eklem açılarına çevrilerek eklemlere iletilmiştir. Son olarak geliştirilen teleoperasyon yöntemleri doğruluk ve hesaplama zamanı kriterlerine göre karşılaştırılmış, çalışmanın devamında yapılabilecek araştırmalar ile ilgili öneriler sunulmuştur. In this study, human operator's arm movements synchronized to 6 DOF Stäubli Rx160 industrial robot arm by using Microsoft Kinect ToF camera. Kinect can provide depth images at 30 Hz rate in 640x480 resolution. By using Kinect SDK that is provided by Microsoft, depth images are analyzed and operator's depth map is obtained. Once depth map is obtained operator is modelled with a stick figure with 20 joints. Each joints' three dimensional position data can be obtained from the depth map using Kinect SDK. Vectors that represents the bones between joints are calculated using joint positions on operator's right arm shoulder, elbow and wrist joints. These vectors are then used for calculation of operator's arm angles. Operator's workspace extended to Stäubli Rx160's workspace by using arm angles and Stäubli Rx160' dimensions. Human arm kinematic model and its forward kinematic equations are calculated for checking the validity of the calculated arm angles. Calculated angles are filtered using human arm forward kinematic equations vii to eliminate angles that does not match human arm's kinematic model. After obtaining angles that match human arm kinematic model, three different teleoperation methods applied and tested. These methods are used to control Stäubli Rx160's end position with 3 DOF. Stäubli Rx160's last three joints represents orientation of its wrist joint. Wrist orientation is neglected in this study, thus last three joints of Stäubli Rx160 is setted to a position where end effector is in line with the robot arm's orientation. For the first method, direct angle calculation is used. In order to send angles directly, human arm joint anlges are mapped to Stäubli Rx160's joint angles. Inverse kinematics calculation method is used for the second method. Wrist position of the operator is calculated from the extended workspace parameters and used as robot's end effector position. Robot's joint angles are calculated from end effector position. Inverse kinematics calculations resulted in different solution sets where all sets lead to the given end effector position. These solution sets are filtered to obtain elbow-down operation mode which resembles operator pose. For the third teleoperation method, an artificial neural network is trained using data sets obtained from inverse kinematics solution method. Two different neural networks are trained using Matlab's Neural Network Toolbox. Accuracy of the trained networks, which are trained with different number of data points, are compared and discussed. Calculated angles are sent to Stäubli Rx160's emulator using TCP/IP protocol. A VAL3 program on the emulator accepted the connection and read data from the incoming stream. Then this program converts incoming data stream back to robot joint angles and sends angles to corresponding joints motor driver. Developed teleoperation methods are compared against each other by means of accura cy and calculation time performance. Results are discussed and recommendations for future work are presented at the conclusion. |
URI: | https://hdl.handle.net/20.500.11851/2167 https://tez.yok.gov.tr/UlusalTezMerkezi/tezSorguSonucYeni.jsp |
Appears in Collections: | Makine Mühendisliği Yüksek Lisans Tezleri / Mechanical Engineering Master Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
427881.pdf | 2.68 MB | Adobe PDF | View/Open |
CORE Recommender
Page view(s)
74
checked on Dec 16, 2024
Download(s)
36
checked on Dec 16, 2024
Google ScholarTM
Check
Items in GCRIS Repository are protected by copyright, with all rights reserved, unless otherwise indicated.