Please use this identifier to cite or link to this item: http://hdl.handle.net/11527/15938
Title: İnsansı Bir Robot Kolunun Ters Dinamik Kontrolü
Other Titles: Inverse Dynamics Control Of A Humanoid Robot Arm
Authors: Ertuğrul, Şeniz
Cebe, Oğuzhan
10138193
Mekatronik Mühendisliği
Mechatronics Engineering
Keywords: Ters Dinamik
Görev Uzayı
Robot Kol
İnsansı Robot
Ros
Gazebo
Inverse Dynamics
Task Space
Robot Arm
Humanoid Robot
Ros
Gazebo
Issue Date: 10-Feb-2017
Publisher: Fen Bilimleri Enstitüsü
Institute of Science and Technology
Abstract: Günümüzde insansı robot teknolojisi dünyada yaygın olarak çalışılmaktadır. Bu insansı robotlar tekerlekli robotların ulaşamayacağı yerlere ulaşabilmekte ve iki kolları ile karmaşık görevleri yerine getirebilmektedir. Bu özellikleri, onları arama kurtarma ve insanlarla birlikte çalışma gibi senaryolarda vazgeçilmez kılar. İnsansı robotlar ile ilgili kapsamlı deneysel çalışmalar yapılmaktadır. Çevre ile etkileşime girmek, insanlarla iş birliği ve insansı hareketler yapmak, bu çalışmaların ana hedeflerindendir. Uzuv kontrolü, robota hızlı harekete imkan sağlamak için dinamik model tabanlı bir kontrol gerektirmektedir. Kol, engeller içeren bir çevrede çalışacağı için görev uzayında ters dinamik kontrol, bu senaryo için uygun görülmüştür. Ters dinamik kontrolünde, kontrol sinyali olarak robotun karar verilmiş ivmesi kullanılır. Bu ivme, ters dinamik modeline beslenerek eklemler için gereken kuvvetler bulunur. Görev uzayında yörünge takibinde hatalar, yine kartezyen koordinat sisteminde tanımlanır. Bu sayede eyleyicideki toplam hata, eklem uzayındaki kontrole göre daha düşük olur. Ayrıca bu yöntemde uç eyleyicinin yörünge boyunca hareketi tahmin edilebilmektedir, böylece engeller içeren çevrede hareket planlaması kolaylaşır. Görev uzayında yapılan bu kontrolde ters kinematik hesaplanması için sözde ters jakobiyen kullanılmıştır. İnsansı robotlar bir çok eyleyici ve sensörden oluşur. Robotu kontrol etmek için aynı anda sensor bilgilerini değerlendirmek, hareketi planlamak ve eyleyicileri denetlemek gerekmektedir. Bu yüzden bu robotların yazılımlarında çoklu işlemler ve zamanlayıcılar kullanılır. ROS (Robot İşletim Sistemi), bahsedilen uygulamalarda kullanılabilecek kütüphane ve araçları barındıran bir açık kaynaklı işletim sistemidir. Simulasyon ve donanım arayüzünün yanında gelişmiş algoritmalar sunar. ROS üzerinde koşan bir yazılım, nod adı verilen bir çok işlemden oluşur. Her bir nod, belirli frekanslarda farklı görevleri yerine getirir ve diğer nodlarla iletişime geçer. Bu yapı programlamayı kolaylaştırır ve açık kaynak kütüphaneleri nod olarak eklenmesini sağlayarak sisteme hızlı kuruylan modüler bir yapı kazandırır. ROS, şimdiden bir çok endüstriyel ve enstitü robotunu desteklemekte ve artık robotikte bir standart olarak görülmektedir. Yazılımında C++ ve Python kullanılabilmekte ve bu iki dilde yazılan kod parçaları, aynı anda birbiriyle haberleşerek koşabilmektedir. Gazebo, dört pervaneli helikopter, manipülatör, sürü robotiği ve tam-vücut insansı robotlar gibi bir çok robotu, çeşitli sensörler ve çevresel etkileşimle birlikte simüle edebilen bir açık kaynaklı dinamik simülasyon ortamıdır. Gazebo, ROS da dahil olmak üzere çeşitli platformlarla arayüze sahiptir. İçinde çok sayıda eklenebilir obje barındırır ve SDF formatında hazırlanan bütün objeler eklenebilir. Gerekli eklenti programları kullanılarak, ROS’un desteklediği URDF formatını SDF’ye çevirerek çalıştırabilir. Henüz ROS ortamında desteklenmese de birden fazla dinamik motoru ve aktarım elemanı sunar. ITECH Kolu, İstanbul Teknik Üniversitesi Makina Mühendisliği Otomatik Kontrol Laboratuarı’nda üretilmiş altı serbestlik dereceli bir insansı robot koludur. Robot, Maxon firmasına ait fırçasız doğru akım motorlarla tahrik edilmekte ve aktarım elemanı olarak harmonik dişliler kullanılmaktadır. Bu tezin amacı, Otomatik Kontrol laboratuarı için kapsamlı bir kinematik ve dinamik kütüphanesi yaratmak, bu kütüphanenin ROS ile kullanılabilmesi için gerekli yazılım paketlerini yasmak ve sonunda ITECH kolunun görev uzayında ters dinamik kontrolünü Gazebo simulasyon ortamında uygulamaktır. Bu tez altı bölümden oluşmaktadır. İlk bölümde tezin amacı, literatür taraması ve ITECH Robot Kolu’nun koşacağı işletim sistemi, motor güç ve limitleri, aktarım elemanları gibi mekanik-yazılımsal özelliklerinden bahsedilmiştir. İkinci bölümde bir robot kolun geometrik, kinematik ve dinamik modellenmesi anlatılmıştır. Seçilen mevcut kinematik ve dinamik çözümlerin, alternatiflerine göre yapılan işlem sayısı bakımından üstünlüklerinden bahsedilmiştir. ITECH Robot Kolu’nun geometrik, kinematik ve dinamik modeli türetilmiştir. Üçüncü bölümde Robot İşletim Sistemi tanıtılmıştır. ROS’un yazılım mimarisinden ve imkanlarından bahsedilmiştir. ROS’un ve Gazebo’nun neden tercih edildiği ve ilerideki çalışmalarda, bu çalışmada hazırlanan yazılımların gerçek robotta nasıl kullanılabileceği anlatılmıştur. ITECH Kolu’nun ROS ortamına entegrasyonu ve ROS ile Gazebo dinamik simulasyon ortamının arayüzünün oluşturulma basamakları tarif edilmiştir. Dördüncü bölümde robot kollarında yörünge oluşturulmasından ve bu yörüngeye ait zamanlama fonksiyonlarından bahsedilmiştir. Robot kollarının kontrol metodları tartışılmıştır. Merkezi olmayan ve merkezi kontrol algoritmalarına değinilmiştir. Görev uzayında yörünge takibi ve ITECH Kolu’nda ters dinamik kontrol algoritmasının uygulanması anlatılmıştır. Beşinci bölümde noktadan noktaya ve çember yörüngeye ait yüklü ve yüksüz durumlarda, çeşitli kazanç ve kontrolcü frekanslarında simülasyon sonuçları verilmiştir. Kontrolcünün performansını test etmek amacıyla bu simulasyonlar 1m/s hızında yapılmıştır. Yüklü durumda robot yükten habersiz olduğu ve bu ek kütle modele dahil edilmediği için sisteme bir bozucu olarak etki etmiştir.Ayrıca örnek bir görev olarak al-yerleştir senaryosu sonuçları eklenmiştir. Simülasyon sonuçları irdelenmiştir. Altıncı ve son bölümde tez boyunca yapılan çalışmalar özetlenmiştir. İleride dinamik algoritmaların geliştirilmesi için simulasyon ortamı seçimi ve gerçek robot üzerinde yapılacak çalışmalarda kullanılabilecek haberleşme teknolojileri için tavsiyelerde bulunulmuştur. Ekler bölümünde robotun geometrik ve kütle özelliklerinin yanı sıra, bu tez için yazılan nesne tabanlı Python kütüphanesinin sınıfları ve bu sınıflara ait fonksiyonların kullanımı verilmiştir. Bu kütüphane, bütün tek zincir seri robot kollarına uygun olduğu için ITECH Kolu’nda yapılacak serbestlik derecesi, eksen değişikliği gibi mekanik değişimler, birkaç satır kod ile bu tezdeki kodu kullanarak yeni robot koluna uygulanabilir. Ayrıca, tezde sözde ters jakobiyen yöntemi ile ters kinematik kullanıldığı için, serbestlik derecesi altıdan farklı olan robot kolları da bu kütüphaneyle yaratılacak kodla kontrol edilebilir. İnsan kolu gibi serbestlik derecesi altıdan büyük robotlar için fazlalık çözünürlüğünün eklenmesi gerekmektedir.
Nowadays, humanoid robot technology is studied extensively around the world. These humanoid robots can reach the places that wheeled robots cannot and can perform complicated tasks with their two arm manipulators. Experimental studies are being conducted for humanoid robots. Interacting with environment, cooperation with humans and executing human-like motions for various tasks are the key objectives of these studies. Control of the manipulators of humanoid robots require a dynamic model based control for fast movement cases. As the manipulator is supposed to move in a cluttered environment, task space control inverse dynamics control is a suitable control policy for this scenario, where the motion of the end-effector can be predicted during the execution of the desired trajectory. The humanoid robots consist of a high number of actuators and sensors. To control the robot, sensor processing, motion planning and actuator control need to be done simultaneously. Thus, the software of these robots consist of multi-processes and scheduling to handle this problem. ROS (Robot Operating System) is an open-source operating system that has software libraries and tools for such robotic applications. It offers both simulator and hardware interface, alongside state-of-art algorithms. A software that runs on ROS consists of multiple processes called ‘nodes’. Each node handles a different task, runs at a specified frequency and communicate with each other. This architecture eases the programming and enables use of open-source libraries in separate nodes in a plug-and-play way. Gazebo is an open-source dynamic simulation environment that enables the simulation of many type of robots such as full body humanoids with various sensors and environment interaction. Gazebo has interface with several platforms, including ROS and it offers several dynamic engines and number of transmissions, but not all of them are supported by ROS at the moment. ITECH Arm is a six degrees of freedom humanoid robot arm built in Mechanical Engineering Automatic Control Laboratory of İstanbul Technical University. The purpose of this thesis is creating a generic kinematics and dynamics library for the Automatic Control Laboratory, writing the software packages using this library for the ROS integration of the robot arm and finally implementing task space inverse dynamics control of ITECH Arm in Gazebo simulation environment. This thesis consists of six chapters. In the first chapter, purpose of the thesis, literature review and mechanical-software properties of ITECH Arm manipulator will be mentioned. In second chapter, kinematic and dynamic modelling of a robot manipulator is presented. The geometric, kinematic and dynamic models of ITECH Arm manipulator are derived. In chapter three, Robot Operating System is introduced. The software architecture and capabilities of ROS are mentioned. Integration steps of ITECH Arm to ROS environment and interfacing ROS and Gazebo simulation environment are described. In fourth chapter, trajectory generation for robot manipulators is mentioned. Several robot control methods are discussed. Implementation of task space trajectory tracking with inverse dynamics control algorithm on ITECH Arm is described. In chapter five, simulation results of circular trajectory for with and without payload cases using various gain sets and controller frequencies are presented. Also, as an example task, a pick and place scenario results are appended. The simulation results are discussed. In sixth and the last chapter, all the work done in the thesis is summarized and suggestions for future works are presented.
Description: Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2017
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2017
URI: http://hdl.handle.net/11527/15938
Appears in Collections:Mekatronik Mühendisliği Lisansüstü Programı - Yüksek Lisans

Files in This Item:
File Description SizeFormat 
10138193.pdf4.5 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.