Mobil robot simülatörleri ve ileri seviye simülasyonlar
Mobile robot simulators and advanced level simulations
Yazar: ENDER YOLAL
Danışman: PROF. DR. HAKAN TEMELTAŞ
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2015
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Hareketli robotlar = Mobile robots

Özet:
Bu çalışma kapsamında öncelikle robot kavramının tarihsel gelişimi incelenmiştir. Robot kelimesi ilk defa Karel Capek tarafından bir tiyatro oyununda kullanılmış olsa da robot fikrini kökeni Eski Yunan'a kadar uzanmaktadır. Gezgin Robotlar incelenmeden önce gezginlik kavramı tanımlanmıştır. Eğer gezginlik yeteneği yeteneği konum değiştirebilme yeteneği olarak tanımlanırsa; çeşitli eyleyiciler yardımıyla  konumunu değiştirme yeteneğini sahip robotlara gezgin robot denir. Gezgin robotun kendisine verilen görevi yerine getirmek için bulunduğu ortamı algılamak zorundadır. Bu amaçla kullandığı birimlere algılayıcı denir. Gezgin robotların kullandığı algılayıcı türleri Kızılötesi Algılayıcılar, Ultrasonik Algılayıcılar, Laser Algılayıcılar, LIDAR'lar ve Kameralar olarak sıralanmıştır. Bu algılayıcıları türlerinin  birbirlerine göre avantajları, dezavantajları araştırılmıştır. Robotik Simülatörlerin ne oldukları ve Robotik Simülatör kullanımının bir gezgin robotun gerçeklenmesinin hangi aşamasında ihtiyaç duyulduğu incelenmiştir. Robotik Simülatörü, zamandan ve maliyettten tasarruf edilmesi amacıyla robotlara yüklenecek gömülü yazılım uygulamalarının, fiziksel olarak robottan bağımsız olarak test edilmesi amacıyla kullanılan bilgisayar programlarıdır. Piyasada birden fazla robotik simülatörü bulunmaktadır. Bu robot simülatörlerinden başlıcaları V-Rep, Webots, MobileSim olarak sıralanabilir. Robotik simülatörleri, gerçekçi simülasyon amacıyla fizik motorları içermektedirler. Kullanıcılar robotik simülatörleri, içerisindeki tasarım araçlarını kullanarak kendi robotularını oluşturabilirler. Oluşturdukları robota kendi ihtiyacına uygun olan algılayıcıları ve eyleyicilere entegre edebilirler. Gezgin robotlar kendilerine verilen görevi yerine getirmeleri için etkin yol planlama algoritmalarına ihtiyaç duyarlar. Gezgin robotların gelişimi süresince yol planlama sorununun çözümü için pek çok farklı çözüm önerilmiştir. Bu çözüm önerilerinin kendine özgü artı ve eksileri bulunmaktadır. Yol planlama algoritmalarını  çevrimiçi ve çevrimdışı olmak üzere ikiye bölebiliriz. Gezgin robotun izleyeceği yol, gezgin robot hareket halinde iken gerçek zamanlı olarak belirleniyor ise bu yol planlama algoritması çevrimiçi olarak adlandırılır. Gezgin robotun izleyeceği yol, Bu tez kapsamındaki çalışmada robotun önüne çıkacak engelleri başlangıçta bilmediği varsayılmaktadır bu nedenle kullanılacak yol planlama algoritmaları çevrim içi yol planlama algoritmaları arasından seçilmeleri uygun olur. Bu nedenle tez kapsamında  programlaması pratik olan Bug algoritmaları ve Potansiyel Alanlar Yaklaşımı incelenmiştir. Simülasyon çalışmaları kapsamında ise daha önce tartışılan yol planlama algoritmaları incelenmiş ve LIDAR simülasyonu ile Benzerlik Alan Metodu uygulaması gerçekleştirilmiştir.

Abstract:
In this thesis first of all historical background of robots.The word "robot" firstly used by Karel Capek in a theatre. The origin of the idea of robot came from Ancient Greek. Before analysing mobile robots one should analyse concept of mobility.  If we define mobility as ability of position change; if a robot can change its position by its actuators, we can call the robot as mobile robot. A mobile robot should change its position with its own actuators in order to be defined as mobile robot. A mobile robot also perceives its environment in order to accomplish the tasks given to the robot. The tools that used by the mobile robot in order to perceive its environment is called sensors. The most used sensors used by mobile robots in order to perceive environment are infrared sensors, ultrasonic sensors, laser sensors, LIDAR and cameras. All this sensors have advantegeous and disadvantageous according to each other. In the next chapter what the robotic simulators are and what is the reason they are used for is investigated. Robotic simulators are computer programs that used for simulation of robots in order to dispose of time and cost. There are more than one robotic simulators on the market some of them are open source and some of them are licensed. ARS, Breve, EZPhysics, Gazebo, Klamp't, LpzRobots, miniBloq, Moby, MORSE, OpenHRP3, Simbad 3d Robot Simulator, SimRobot, Stage, STDR Simulator, UCHILSIM, UWSim are some of the open sourced robotic simulators and Actin, Marilou, Cogmation robotSim, COSIMIR, Microsoft Robotics Developer Studio, RoboLogix, SimplyCube, V-REP PRO, Visual Components, Webots, WorkCellSimulator, Workspace 5 are licensed robotic simulators. Robotic simulators  use physics engines in order to simulate more realistic robotic simulations. In robotic simulators users can create their own environments, actuators, sensors and robots by using design tools in robotic simulators. The codes which are compiled in robotic simulators can be used in real robots as aibo, lego midstorm robots, kphera, koala, pionneer and nao. Robotic simulators let users to use different programming languages as C,C++, JAVA, Lua, PHYTON, Octave, Urbi and MATLAB.

In this thesis a robotic simulator in MATLAB environment has been developed. Main target of this simulator is simulation of path planning algorithms. In this simulator user can develop path planning algorithms with a differential wheeled robot based on the real robot developed in İTÜ Robotics Laboratuary. This robot is equipped with SICK LIDAR. Simulator is also simulates this SICK LIDAR. The Objectives of mobile robots mostly involve position change. Mobile robot shoulb change its position to complete its objective and  mobile robots need  path planning algoritms in order to achieve their objective. Different solutions for mobile robot path planning problem has been suggested till the present day. These suggestions have their positive and negative points.  We can divide path planning algorithms in mobile robotics into two categories as online path planning algorithms and offline path planning algorithms.In online path planning algorithms it is assumed that the mobile robot is not aware of its environment before the mobile robot starts its movement. The path which is followed by the mobile robot, is planned at the same time as the mobile robot moves. In offline path planning algorithms it is assumed that the mobile robot is aware of its environment before the mobile robot starts its movement so the mobile robot plans all of the path from starting point to end point before any movement. Online path  planning algorithms are more appropriate solutions than offline path  planning algorithms in  dynamic environments or environment of the robot is unknown before th mobile robot moves. In this thesis The environment of the mobile robot is not known before the mobile robot starts to move. That's why in this thesis using online path  planning algorithms are more appropriate than using offline path  planning algorithms. There are many different online path planning algorithms in mobile robot path planning literature. In this thesis Bug algorithms and potential field method are analysed.  Bu algorithms are simply inspired from real life bugs. There are many differen bug algorithms which is divided from each other with small differences. Bug1, Bug2, Alg1, Alg2, Distbug, TangentBug, REV1, REV2, Angulus, CautiousBug algorithms are some of these bug algorithms. The Bug Algorithms  makes three assumptions about the mobile  robot. The mobile robot is a point object. the robot has perfect localization ability, the mobile robot has perfect sensors. First assumption is not possible when it comes to real life implementations but we can change this assumption as the mobile robot can move through  every direction. Second assumption means that the mobile robot knows its true position and orientation at any time of action. This assumption allows the mobile robot to determine termination of movement when arriving at the target if the target is reached. About third assumption it is known that there is no sensor can be called as perfect but we can change this assumption as the sensor which is used in the mobile robot is trustworthy. In the next chapter Bug1, Bug2, Alg1, Alg2 algorithms are analysed. The Bug1 algorithm is the first algorithm in the Bug algorithms. The Bug1 algorithm searches each obstacle which comes across the mobile robot for the point which is closest to the final point. When the point closest to the final point  is determined. If  the mobile robot can drive towards the final point. It drives towards the final point. If it cannot, the final point is said to be unreachable. A mobile robot uses Bug2 algorithm can leave encountered obstacle earlier due to the M-line. M-line is a hypothetical line between start point of the mobile robot anf-d final point. If the mobile robot encounters the M-line while following the obstacle boundary, the mobile robot ends following the obstacle and starts following the M-line.  Bug2's faulty side is it can trace the same path twice. To correct this Alg1 Algorithm remembers previous points and uses these points to generate shorter paths. Alg2 Algorithm is an improved version of Alg1 algorithm without M-line concept. Another path planning algorithm which has been analysed in this thesis is Potentiel Field Method. Potentiel Field Method has both online and offline versions. The basic idea of Potentiel Field Method is to guide the robot by defining hypothetical attractive and hypothetical repulsive forces representing goal and obstacles respectively. It is assumed that the resultant of these attractive forces and repulsive forces guides the mobile robot to the final point while avoiding obstacles. Repulsive force vectors usually computed by distances and directions to abstacles around the mobile robot if this obstacles close to the mobile robot less than a predefined distance.  In order to determine the attractive vector  Potentiel Field Method need to have the true position of the mobile robot an the final point. There is known failure in Potential Field Method if attractive forces an repulsive forces are equal at a point the mobile robot can not pass this point and this point is called as Local Minimum Point.  At the first part of the simulation chapter. Bug1, Alg1, Alg2 algorithms simulations made in the same map and compared. According to simulation results Alg2 algorithm finds the closest path. Second part of the simulation chapter Potential Field Method simulation made at four different maps. At two of them the mobile robot reached the final point and other two simulations robot could not reach the final point because it stuck at the local minimum points at these maps. A at the last part of simulation chapter Likelihood Field Simulation is made  using MobileSim robotic simulator and MATLAB.