Bir servis robotunda temel veri iletişimi ve kontrol altyapısının tasarımı
Basic communcation and control infrastructure of a service robot
Yazar: AYDIN ÇAĞATAY SARI
Danışman: YRD. DOÇ. DR. PINAR BOYRAZ
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mekatronik Mühendisliği Ana Bilim Dalı / Mekatronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2013
Konu: Mekatronik Mühendisliği = Mechatronics Engineering
Dizin: Denetim = Control ; Denetim algoritmaları = Control algorithms ; Hareket analizi = Motion analysis ; Hareket denetimi = Motion control ; Kontrol teorisi = Control theory ; Kontrol yapıları = Control structures ; Robot sistemleri = Robot systems ; Robot tasarımı = Robot design ; Robotik = Robotics ; Robotlar = Robots

Özet:
İnsansı robotların gerek ev gerek çalışma ortamlarında insanlarla birlikte çalışacağı bir gelecek öngörüsü ile robotik alanında sosyal robotik ismi verilen yeni bir alan doğmuş ve son yıllarda bu alanda yapılan araştırmaların sayısı hızla artmıştır. İnsanlarla yan yana ve işbirliği içinde robotların çalışabilmesi için vazgeçilmez üç ana unsuru birleştirmeleri gerekmektedir: (1) İnsanlar için tasarlanmış bir ortamda gerekli olan hareket esnekliğine sahip olma, (2) kararlı ve uzun süre çalışabilecek bir iletişim altyapısı ve (3) çalıştığı ortamda verilen görevleri yerine getirirken karşılaştığı engellerden sakınma.Bu çalışmada yukarıda sıralanan üç temel özellik, kararlı bir robot işletim sistemi altyapısı kullanılarak gerçekleştirilmiş. Bu sayede donanım ile yazılımlar arasında kararlı bir bağlantı oluşturulup sistemin modüler olması sağlanmıştır.Geliştirilen uygulamalar sayesinde insansı robot için servis robotiğinde kullanılmak üzere bazı kontrol ve veri alış-verişi alt-yapısı hazırlanmıştır. Örneğin robot, ofis ve ev ortamlarını tanılayıp içerde bulunan insanları ve hareketli nesneleri takip edebilecektir. Verilen görevleri yerine getirirken engellerden sakınacaktır ve kararlı bir işletim sistemi altyapısıyla daha önceden planlanmış görevleri hata olmadan yerine getirecektir. Robotun öğrenmeyi belli bir başarımla gerçekleştirebilmesi için ilk öncül olan taklit etme yeteneği (mimesis) bulunmaktadır. Bu uygulamalar ile robot, servis amaçlı robotik uygulamalarına da hazır bir alt yapı içermektedir ve az bir güncelleme ve uyarlama ile yaşlı-hasta bakımı vb. uygulamalarda kullanılabilir.

Abstract:
A new research area called social robotics has been established since it was understood that in near future humans and robots will have to share the same working environment as in the office scenarios and the robots will be of service at our homes. In order to realize this visionary future, the robots need to be capable of (1) Flexibility to move around in the environments originally designed for humans and the compliance to handle dynamic force changes, (2) stable and long-term erro-free communication infrastructure, (3) mapping and navigating through non-collision roadmaps.In this work, all the three targets have been deployed on a robot specific operating system called ROS which is supported by several academical and professional institutions all over the world. By using such an operating system, robot?s high level software is made independent from hardware infrastucture. Standartization of a robot operating system help developers with using several libraries without software dependcy problems. Robot Operating System is modular so developers can change any algorithm with another causing no harm to software infrastructure.Using these applications and implementations, the service robot can navigate and perform tasks without causing any damage to humans. By using 3d sensors, robot can detect and follow people?s motions and imitate them. While performing pre-defined tasks such as daily house tasks ( unsetting table, emptying dishwasher ), robot can avoid dynamic or static obstacles. These applications contains three fundemantel operations that a service robot must have in an enviroment which is placed by humans. By applying small modifications, developers can adapt this system to various social applications such as elderly-care or child education.This work consists of five chapters. First one is the introduction chapter which gives detailed research on robots using robot operating system and its several benefits which fastens the design process for developers. The research is extending from academical works to industrial applications of robot operating system.The second chapter focuses on the hardware and software infrastructure and gives detailed description of tools that are used while developing the infrastructure. In this work, robot uses a Microsoft Kinect sensor for 3D perception, MINI-ITX board as the computer, ROS as the operating system. Robot uses several packages in order to fasten the software design of the robot such as transformation packages, robot description packages, motion planning packages, services and nodes which enables robot programs communicate with each others.Chapter 3 gives detailed theoratical information about algorithms which are used by packages,nodes and services and 3D design of the robot. 3D design of the robot is created by a 3D CAD program. Robot uses trajectory filters for smoothing the planned motion. Motion planning generates paths that are not in collision with enviroment. Inverse kinematics is used for solving the target position and orientation. Kinect helps robot with imitating humans? motionTrajectory planner is using cubic and quintic polinomial splines which smooth the paths created by the motion planning algorithm. Smoothed trajectories prevent robot exceed its joints? maximum velocities and accelerations. Smoothed trajectories create more human like motions for a robot.Motion planners are the main structure which creates collision free paths by using Single Query Bi-directional PRM with Lazy Collision Checking algorithm based on probabilistic road maps.Basically PRM based motion planners, randomly generates points on robot?s workspace and eliminates the points which are in collision with obstacles or robot itself. The points that are not in collision are connected together in order to create collision free paths which robot can perform several tasks without damaging the enviroment or itself.Robot uses newton raphson method which is a numerical method and a recursive algorithm. Given a maximum number of iterations and a maximum error value, the solver tries to converge the tip position and orientation of the robot to target position and orientation within joint limits.Kinect is used to imitate humans? motion by calculating humans? arm and elbow joint angles. The angles are normalized and applied to robot?s arm joints considering the fact that robot?s arm joints? limits are not exceeded.Chapter 4 is the implementation part. In the implementation part, a very powerful simulator called Gazebo is used in order to analyze the robots? joint motions and torques by integrating the 3D desing and the robot operating system. By using such a power simulator, errors that are made during the design can be detected and fixed easily. Modeling the service robot in a powerful simulation enviorement is very important because the real service robot may not be ready to use every time it is needed. But in a simulation enviroment, developers can work on robot any time they want to.It is very important to check results of the algorithms and fix the bugs in a simulation enviroment before deploying it on the actual robot.Considering the modularity, a simulation enviroment gives possibilty to developers and researches maintain their contributions regardless of locality, this means robot can be developed by several contributors from all over the world.In chapter 4, joint torques and dynamics of the robot are analyzed and in conclusion it is observed that the mechanical design of the robot meets the requirements that are set before desing process.Chapter 5 is the conclusion part which evaluates all the software infstracture used in order to build a modular service robot.