Küresel Ters Sarkacın Modellenmesi ve Kontrolü
Modelling and Control of Spherical Inverted Pendulum
Yazar: ORKUN YILMAZ
Danışman: YRD. DOÇ. DR. SIDDIK MURAT YEŞİLOĞLU
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Mekatronik Mühendisliği Ana Bilim Dalı / Mekatronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2016
Konu: Mekatronik Mühendisliği = Mechatronics Engineering
Dizin: Kontrol teorisi = Control theory ; Modelleme = Modelling ; Sarkaç sistemi = Pendulum system

Özet:
Günümüzde, teknolojinin gelişmesiyle birlikte bir çok yeni sistem ve bu sistemlerin kendi kendine karar almalarını ve bu esnada kontrollü hareket etmelerini sağlayacak kontrol yöntemleri ortaya çıkmaktadır. Teorik olarak oluşturulan kontrol yöntemlerinin gerçek zamanda test edilebilmesi ve geliştirilmesi için kullanılan bazı temel sistemler bulunmaktadır ve bunlardan biri de ters sarkaç sistemleridir. Gerek doğrusal gerekse doğrusal olmayan kontrol yöntemlerinin birçoğu bu sistemler üzerinde test edilmekte ve geliştirilmektedir. Ters sarkaçlara örnek olarak basit ters sarkaç, ikili veya daha çok uzuvlu ters sarkaçlar ve bu tezde ele alınacak olan küresel ters sarkaç verilebilir. 
Basit ters sarkaç x-y düzleminde hareket edebilen, bir tabla ve bu tablaya bağlı bir çubuktan oluşan sisteme verilen isimdir. Aynı şekilde bu çubuğun ucuna bir veya daha fazla uzuv eklenerek daha farklı şekilde ters sarkaç yapıları da oluşturabilmektedir. Bu yapılarda hareket yine x-y düzleminde gerçekleşmektedir. 
Küresel ters sarkaç sistemi ise üç boyutlu uzayda hareket kabiliyetine sahip bir ters sarkaç türüdür. İki küresel ters sarkacı uç uca ekleyerek bir bacak modeli oluşturmak mümkündür. Bu sayede küresel ters sarkaç modeli daha sonra yapılabilecek bir hümonoid robot modelinin bir alt parçası olarak değerlendirilebilir.
Küresel ters sarkaç sisteminde hedef hem x-y hem de x-z düzlemlerindeki izdüşüm açılarını sıfıra getirirken çubuğun bulunduğu tablayı da fiziksel kısıtların içindeki bölgede tuturak kontrolü gerçekleştirmektir. Sistem aynı basit ters sarkaçta olduğu gibi bir tabla ve bir çubuktan oluşmaktadır. Farkı ise tablaya bağlantı noktasında küresel bir mafsal bulunması nedeniyle çubuğun hareketinin sadece tek bir düzlemle kısıtlı kalmayıp üç boyutlu uzayda serbestçe hareket edebilmesidir. Bundan dolayı sistem basit sarkaca göre daha karmaşık olup doğrusal olmayan etmenler daha fazladır. 
Sistemin fiziksel olarak oluşturulabilmesi için gerekli olan iki boyutlu doğrusal kızak sistemi temin edilmiş, bu sistemi tahrik edecek motorlar alınmış, motorları sürecek sürücüler tedarik edilip bir elektrik panosu oluşturulmuş, motorlar için redüktör ve kaplin elemanları alınıp sisteme monte edilmiştir. Son olarak da tablanın üzerine küresel mafsal ve çubuk takılmıştır. Sistem sınırlarına limit sensörleri yerleştirilmiştir.
Mekanik iskelet oluşturulduktan sonra sistemin elektriksel altyapısı hazırlanmıştır. Sürücünün kontrolörle bağlantısı için gerekli lehimler atılmış ve kablolama işlemi gerçekleştirilmiştir. Motorların enkoder ve güç girişlerinin gerekli bağlantıları yapılmış ve motor sürücüsüyle teması kurulmuştur.
Sistemde kontrolör olarak dSPACE firmasının DS 1103 kontrol kartı kullanılmıştır. Fiziksel arayüzü enkoder, ADC portları gibi girişlere ve kontrol çıkışını alabilecek ±10 V'luk DAC portlarına sahip olduğundan diğer sistem elemanlarıyla iletişimin sağlanması son derece kolay olmaktadır. Yine MATLAB/Simulink ortamında hazırlanan modelden oluşturulan .sdf uzantılı dosyalar kullanılarak çalıştırılabiliyor olması diğer bir kolaylığıdır. 
Sistemin altyapısı oluşturulurken bir taraftan da kontrol için matematiksel altyapı çalışmaları sürdürülmüştür. Bu tez kapsamında küresel ters sarkaç sisteminin matematiksel modeli iki farklı şekilde elde edilmiştir. İlk olarak sistem çubuk boyu ile çubuğun her iki eksendeki izdüşüm uzunlukları eşit kabulu yapılarak basite indirgenmiş ve birbirinden ayrı iki basit ters sarkaç modeli olarak kabul edilmiştir. Diğer modelde ise sistem iki girişli dört çıkışlı olarak komple bir şekilde ele alınarak bütünüyle kabul edilmiştir.
Matematiksel modelinden durum uzayı modelini elde edebilmek için sistem denge noktası etrafında doğrusallaştırılmıştır. İlk olarak sisteme PID kontrolör koyulmuş ve sadece açı çıkışları kontrol edilmeye çalışılmıştır. Farklı başlangıç koşulları için sistem çıkışları irdelenmiştir. Sistemin fiziksel kıstaslarını düşünerek PID kontrolör bloğunun çıkışına saturasyon bloğu koyulmuş ve sistem bu şekilde kontrol edilmiştir. 
Sistemi dengede tutmak için elde edilen her iki doğrusal sisteme uygulanan bir diğer kontrol metodu ise LQR kontrolör olmuştur. Doğrusallaştırılan modeldeki matrisler yardımıyla LQR kontrolör için gerekli olan Q matrisi oluşturulmuştur. Farklı R değerleri için farklı K katsayı matrisleri oluşturulmuştur. Oluşturulan bu katsayı matrisi durum değişkenleriyle çarpılıp elde edilen çarpımların toplamı alınarak kontrol sinyali elde edilmiştir. MATLAB-Simulink ortamında farklı R değerleri ve farklı başlangıç koşulları için her iki model için de simule edilerek çıkışlar gözlemlenmiştir. Sonuçlar karşılaştırılarak yorumlanmıştır.
Oluşturulan kontrol sistemleri daha sonradan gerçek zamanda uygulamaya geçilmiştir. Uygulamada sistemi gerçekleştirebilmek için iki eksenli doğrusal kızak, iki adet servo motor, iki eksende açı ölçebilen küresel mafsal ile alüminyum çubuk ve kontrolör olarak da dSPACE kullanılmıştır. Sistemden alınan bilgiler kontrolöre aktarılmış ve yine MATLAB-Simulink ortamında dSPACE'e fiziksel olarak bağlantısı yapılan elemanların bilgileri gerekli olan bloklar eklenerek alınmış, sistemin kontrolünü sağlamak için fonksiyonlar yazılmış ve çeşitli başlangıç koşulları için sistemin iki izdüşüm açısı ve x ile y konumları kontrol edilmiştir.
Kontrol sonucu elde edilen veriler ile simulasyonda daha önceden elde edilen sonuçlar karşılaştırılarak doğrusal kontrolün gerçek ile simulasyon ortamındaki farkı irdelenmiştir.

Abstract:
Nowadays, with the development of new technologies, new systems and for their autonomous motions new control systems have been created.  To test real time applications and develop the newly found theoritical works, there are some benchmark problems and one of them is inverted pendulum. Either linear or nonlinear control methods can be applied to these systems and with real time applications those methods can be improved. Simple inverted pendulum, multi-linked inverted pendulum and spherical inverted pendulum could be given as examples of inverted pendulum systems and in this thesis spherical inverted pendulum will be examined and controled.
Simple inverted pendulum consists of a table which can move in a single plane and a stick. If more sticks are added to this sticks end, the system will become multi-linked inverted pendulum. Motions of these systems are in one plane same as simple inverted pendulum.
Spherical inverted pendulum system is a type of pendulum that can move in three dimensional world. A leg model can be created with two spherical inverted pendulums and it can be said that this work can be a preliminary study of a humonoid robot.
The main goal of spherical pendulum system is to control the x-y and x-z projection angles and while doing that keeping table in the limits of system. The system consists of a table and a stick just as simple inverted pendulum. Main difference of these two systems is that in the spherical pendulum system, there is a spherical joint which allows three dimensional movement of stick. Because of this property, the spherical pendulum includes more nonlinear components than simple pendulum which makes it more diffuclt to control.
Two dimensional linear slider which is required to build spherical pendulum system physically was supplied, and to drive this mechanism electric motors were bought, servo drivers which are suitable for electric motors were purchased and an electric panel was setuped. Gearboxes and couplings were bought and assembled to system. In the last step of the physical setup, a joystick potantiometer mechanism was added to the top of the table and a stick was attached to the top of it. To avoid from physical damages, four limit sensors were assembled to the each ends of the axis.
After the mechanical set up was done, the electrical connections were made. Drivers output was connected to the controller pnael. The required solders and cabling were done. Encoder and power connections of the electric motors were done and the communication between them was provided.
dSPACE DS 1103 control card was used to control the system in this project. Physical panel of this card includes encoder and ADC input ports and DAC ports which can give  voltage between ±10 V. This panel makes the communication between the controller and other devices easier than most of the other control cards. It uses the ".sdf" files which can be built directly from MATLAB/Simulink models and this is another advantage of this control card.
While the mechanical and electrical infrastructure of the system were being prepared, mathematical modelling of spherical pendulum was made. Within thes thesis, there are two different mathematical models were obtained. First of all, the length of the pendulum and its projection lengths to the x-y and x-z planes were considered equal. With this assumption the system becomes two different simple inverted pendulums. In the other model the system was modeled without any assumptions and considered as one. In that model there is two inputs and four outputs.
For obtaining the state space model, the mathematical models were linearized at equlibrium point. Linear model can be used in small angles. Because of the phyical limits pendulum's maximum angle value is 30° and this allows of implementation of linear controllers. PID controler was applied to system to control only the angles. Systems outputs were calculated and discussed for different initial conditions. Saturation blocks were added for limiting controller output which is necassery for real time applications.
Another control method to stabilize the obtaining models is used in this thesis is LQR controller.  Required matrix Q was calculated from the linearized model for the LQR controller. K coefficent matrix was computed for various R values. Calculated K matrix was multiplied with the state vector and results were summed to find the control signal. This control signal was applied to the obtained model of spherical inverted pendulum system. The outputs of the system was observed for both of the model for different R values and initial conditions. Results were discussed.
After all the calculations have been made and all the physical setup was finished, the obtained control signals were applied to the system and various datas were collected from real time applications and discussed. Required simulink blocks and m-file functions were made to communicate the system components and to collect the sensor datas. 
Finally, collected datas of real time applications and simulations results were compared and differences were exemined.