İki Tekerlekli Kendini Dengeleyen Robot
Transkript
İki Tekerlekli Kendini Dengeleyen Robot
EEB 2016 Elektrik-Elektronik ve Bilgisayar Sempozyumu, 11-13 Mayıs 2016, Tokat TÜRKİYE İki Tekerlekli Kendini Dengeleyen Robot Onur İlyas YAVUZ1,2, Abdullah ÇETİN1, Önder EYECİOĞLU1 1 Mekatronik Mühendisliği Bölümü Fen Bilimleri Enstitüsü, İstanbul Gelişim Üniversitesi, Avcılar İstanbul onur.yavuz@mtteknoloji.com.tr , abdullah.cetin17@gmail.com, oeyecioglu@gelisim.edu.tr 2 Ar-Ge Merkezi, MT Bilgi Teknolojileri Dış Tic. A.Ş, Esenler İstanbul data obtained by the compression will be useful for realization of more safe and stable personal transport vehicle design. Özet Özellikle kapalı mekanlarda kullanılmak üzere tasarlanan SEGWAY gibi güvenli ve kararlı kişisel taşıma araçları için önemli bir konsept olan kendini dengeleyen robot tasarımları için hata kontrol algoritmaları büyük önem taşımaktadır. Hata kontrollerinin performansları hız, doğruluk ve kararlılık gibi özelliklerine bağlıdır. Çalışmada, İki Tekerlekli Kendini Dengeleyen Robot tasarımı gerçekleştirilmiştir. Robot gerçekleştirilmesinde, geri besleme verileri, ivmeölçer ve gyro sensörü kullanılarak, robotun açısal pozisyonu kontrol edilerek sağlanmıştır. Bu tasarım üzerine üç farklı kontrol algoritması (PI kontrol, PD kontrol, PID kontrol) uygulanmıştır. Bu kontrol algoritmaları test edilerek hız, doğruluk ve kararlılık gibi özellikleri karşılaştırılmıştır. Böylece iki tekerlekli kendini dengeleyen robot üzerinde üç farklı kontrol algoritması uygulanmış ve performansları karşılaştırılmıştır. Karılaştırma sonucu elde edilen veriler, daha güvenli ve kararlı kişisel taşıma aracı tasarımların gerçekleştirilmesinde faydalı olacaktır. 1. Giriş Kendini dengeleyen robot çalışmaları, kişisel taşıma sistemlerinin geliştirilmesi için önemli bir alan teşkil etmektedir. Bu tür taşıma platformları, özellikle dar alanda hızlı ve kontrollü taşıma görevi gören ucuz ve etkili çözümlerdir [1]. Bu konuda geliştirilen tasarımları şu şekilde sıralayabiliriz. Ters sarkaç prensibine uygun olarak Joe isimli bir robot geliştirilmiştir [2]. Ticari olarak geliştirilen ve bu konudaki en önemli örneklerden bir diğeri ise Dean Kamen tarafından geliştirilen SEGWAY isimli robottur [3-9]. Robotik sistemler, mekanik, elektronik kontrol ve algılama sistemlerinden (sensör) oluşur[4]. İki tekerlekli kendini dengeleyen robotun hareket denklemleri tek eksenli ters sarkaç denklemleri ile modellenmiştir.[5-7-10] Abstract Kendini dengeleyen robot tasarımlarında, sistemi dengede tutmak gereklidir. Sistemlerin dengede tutulmaları, sensör verilerinin, etkin bir geri besleme kontrol algoritması kullanılarak işlenmesi ile gerçekleştirilir.[6] Çalışmada, iki tekerlekli kendini dengeleyen robot tasarımı gerçekleştirilmiştir. Robotun açısal pozisyonu ivmeölçer ve gyro sensör verilerinden elde edilmiştir.[8] Elde edilen bu veriler, üç farklı kontrol algoritmasında kullanılarak, robotun dengede tutulması sağlanmıştır. Çalışmada PI (Oransal İntegral), PD (Oransal - Diferansiyel) ve PID (Oransal İntegral - Diferansiyel) kontrol algoritması kullanılmıştır The error control algorithms have great importance for selfbalancing robots that are key concept for safe and stable personal transportation vehicles designed for especially use indoors such as SEGWAY. The performance of control algorithms depend on some properties such as speed, accuracy and stability. In this study, Two-Wheel Self- Balancing robot design has been performed. The feedback data is provided by controlling the angular position of the robot that obtained by using the accelerometer and gyro sensor. Three error control algorithms (PI, PD, PID) have been applied on this design. These error control algorithms are tested and compered features such as speed, accuracy and stability. So three different control algorithm applied on the two-wheeled selfbalancing robot and their performances are compared. The İvme sensöründen alınan açısal pozisyon verilerinin zaman bağlı değişimleri incelenerek, bu kontrol algoritmalarının, 264 EEB 2016 Elektrik-Elektronik ve Bilgisayar Sempozyumu, 11-13 Mayıs 2016, Tokat TÜRKİYE kararlılık, sürekli rejime gelme süreleri ve sürekli rejimde kalma süreleri incelenmiştir. 2. Tasarım ve Uygulama 2.1. Elektronik Tasarım Robotun elektronik tasarımında kontrol kartı olarak Arduino Uno, motor sürücü olarak L298N motor kontrol kartı ve açısal değişimleri algılamak içinde MPU6050 sensörü kullanılmıştır (Şekil 1). Arduino MPU6050 Uno L298N Motor Sürücü Şekil 3: Arduino Uno devre kartı Motor Driver Shield; İki adet DC motor sürmek için Arduino Uno’ya pin uyumlu şekilde tasarlanmıştır. Motor sürücü H Bridge entegresi olarak L298 entegresi kullanılmaktadır. Bu kart ile 12V 2A’e kadar iki adet DC Motor’u birbirinden bağımsız ve çift yönlü sürülebilmektedir. Motor beslemesi için VIN girişini kullanılmaktadır. VIN girişinden 12V dan yüksek gerilim verilmemelidir çünkü bu giriş direk olarak Arduino’nun VIN girişine bağlıdır ve Arduino’nun çalışması için gerekli besleme gerilimi buradan alınmaktadır. PWM pinleri olarak D3 ve D11 pinleri, yön bilgisi için ise D12 ve D13 pinleri kullanılmaktadır. L298 entegresinin 2 kanal olmak üzere 4 giriş pinini basite indirgemek için A kanalının IN1 ve IN2 pinleri direkt bağlanmak yerine IN1 pini direk Arduino’dan bağlanmış, IN2 ise NOT kapısı ile bağlanmıştır. Bu şekilde tek bit ile bir kanalda motor çift yönlü kontrol edilmektedir. Sağ Motor Sol Motor Şekil 1: İki Tekerlekli kendini dengeleyen robot sistemi blok diyagramı MPU6050 3 eksenli gyro ve 3 eksen açısal ivme ölçer bulunan IMU (Inertial Measurment Unit) sensör kartıdır. I2C protokolü ile haberleşmektedir. Açılsal ivme ölçer aralığı ± 2 ± 4 ± 8 ± 16 g , Gyro ölçüm aralığı + 250 500 1000 2000 ° / s ‘dir. Şekil 2: MPU6050 sensörü yapısı Şekil 4: Arduino Motor Shield Arduino Uno; ATmega328 mikrodenetleyici içeren bir Arduino kartıdır. Arduino Uno 'nun 14 tane dijital giriş / çıkış pini vardır. Bunlardan 6 tanesi PWM çıkışı olarak kullanılabilir. Ayrıca 6 adet analog girişi, bir adet 16 MHz kristal osilatörü bulunmaktadır. 2.2. Mekanik Tasarım Şekil 5’de İki tekerlekli Kendini Dengeleyen Robotun çeşitli açılardan kaydedilen SolidWorks® tasarımı gösterilmiştir. 265 EEB 2016 Elektrik-Elektronik ve Bilgisayar Sempozyumu, 11-13 Mayıs 2016, Tokat TÜRKİYE 2.3. İki Tekerlekli Tek Eksenli Ters Sarkaç Modeli İki tekerlekli tek eksenli ters sarkaç, Euler Lagrange diferansiyel denklemi ile modellenmiştir (denklem 2). Bu modelde 2 serbestlik derecesi tanımlanmıştır (𝑥 ve 𝜃) (Şekil 7). Gövdenin, öteleme hareketi ve burulma hareketi ihmal edilmiştir. Lagrange formülünde, 𝐿=𝑇−𝑉 (a) (1) 𝑇, Toplam kinetik enerji ve 𝑉 toplam potansiyel enerjidir. 𝑑 ( 𝜕𝐿 𝑑𝑡 𝜕𝑥𝑖̇ )− 𝜕𝐿 𝜕𝑥𝑖 = 𝐹𝑖 (2) (b) (c) Şekil 5: İki tekerlekli Kendini Dengeleyen Robot (a) üst görünüm (b) yan görünüm (c) alt görünüm Şekil 7: Tek eksenli ters sarkacın serbest cisim diyagramı Robot’un gövdesi 3 boyutlu yazıcıda üretilmiş olup PLA malzeme kullanılmıştır. Robotu düzlemsel hareketi 2 adet 6v 320 RPM Redüktörlü DC motor ile sağlanmaktadır. 𝑇𝑡𝑜𝑝 = 𝑇𝐺𝑟 + 𝑇𝑇𝑟 + 𝑇𝑇𝑡 (3) Burada; 𝑇𝐺𝑟 : Gövdenin dönme kinetik enerjisi 𝑇𝑇𝑟 :Tekerleğin dönme kinetik enerjisi 𝑇𝑇𝑡 : Tekerleğin öteleme kinetik enerjisi Şekil 6: Kullanılan Redüktörlü DC Motor ifadelerini göstermektedir. Motorlara, 1 adet 7.4 v Lityum Polimer pil ile güç sağlanmaktadır. Robotun hareket denklemleri, dinamik ters sarkaç hareket denklemleri ile modellenmektedir. 𝑉 = 𝑀𝑔 𝑔𝑙 cos 𝜃 + 𝑀𝑡 𝑔𝑅 266 (4) EEB 2016 Elektrik-Elektronik ve Bilgisayar Sempozyumu, 11-13 Mayıs 2016, Tokat TÜRKİYE 𝐿 = [𝑀𝑇 + 𝐼𝑎 2 1 ] 𝑥̇ + 𝐼𝑥 𝜃̇ 2 + 𝑀𝐺 𝑙 cos 𝜃 𝑥̇ 𝜃̇ − 𝑅2 2 (c) [𝑀𝑔 𝑔𝑙 cos 𝜃 + 𝑀𝑡 𝑔𝑅] PID Algoritması : 𝐾𝑝 . 𝑒(𝑡) (5) + 𝑡1 + Sol Motor 𝐾𝑖 . ∫ 𝑒(𝑡) Motor Sürücü 𝑡0 Denklem 2 den, [𝑀𝑇 + 𝜃 Sağ Motor + - 2𝐼𝑎 2𝜏 𝑅 𝑅 ̇2 ̈ 2 ] 𝑥̈ − 𝑀𝐺 𝑙 sin 𝜃 𝜃 + 𝑀𝐺 𝑙 cos 𝜃 𝜃 = 𝐾𝑑 . (6) 𝑑 . 𝑒(𝑡) 𝑑𝑡 MPU6050 Bu non lineer denklemin çözümünden, iki tekerlekli tek eksenli ters sarkaç modelinin dinamik denklemleri; Şekil 8: (a) PI, (b) PD ve (c) PID algoritması blok diyagramları 𝜃̈ = 𝐶1 𝜃 − 𝐶2 𝜏 𝑥̈ = −𝐶3 𝜃 + 𝐶4 Üç farklı kontrol algoritması sistem üzerine ayrı ayrı uygulanarak eğim açısının zaman bağlı değişimi izlenmiştir. Bu kontrol algoritmalarında en uygun parametre takımı (𝑘𝑝 , 𝑘𝑖 , 𝑘𝑑 ) belirlenmiştir. Belirlenen parametre seti değerleri Tablo 1’ de listelenmiştir. (7) Burada 𝐶1 , 𝐶2 , 𝐶3 ve 𝐶4 , 𝑀𝐺 , 𝑀𝑇 , 𝐼𝑎 , 𝐼𝑥 ve 𝑅 ye bağlı parametreler. Tablo 1. Kullanılan algoritmaların paremetre seti değerleri 2.4. Kontrol Algoritmaları Algoritma PI PD PID Robotun hareket denklemlerindeki bağımsız değişken olan eğim açısı motorlara uygulanan voltaj değeri, PI, PD ve PID kontrol algoritmaları ile kontrol edilmektedir (Şekil 8). 𝒌𝑷 20 70 70 0 𝒌 4𝑰 2 9 0 𝒌 0 𝑫 5 35 8 3. Sonuçlar (a) PI Algoritması : 𝐾𝑝 . 𝑒(𝑡) Sol Motor + + Motor Sürücü - 𝑡1 𝐾𝑖 . ∫ 𝑒(𝑡) 𝜃 Sağ Motor + Çalışmada PI (Oransal – İntegral), PD (Oransal – Diferansiyel) ve PID (Oransal – İntegral – Diferansiyel) kontrol algoritmaları ivme sensöründen alınan açısal pozisyon verilerinin zaman bağlı değişimleri incelenerek, bu kontrol algoritmalarının, kararlılık, sürekli rejime gelme süreleri ve sürekli rejimde kalma süreleri incelenmiştir. 𝑡0 Her bir kontrol algoritmasına ait uygun parametreler deneysel metot ile belirlemiştir (Tablo 1). Eğim açısının, zamana bağlı olarak değişimleri izlenerek (Şekil 9, 10, 11), robotun denge durumu çalışılmıştır. Algoritmaların karşılaştırılmasında, Sürekli rejime gelme süresi, sürekli rejimde kalma süresi ve eğim açısında meydana gelen titreşimlerin genlikleri kullanılmıştır. MPU6050 (b) PD Algoritması : 𝐾𝑝 . 𝑒(𝑡) + - 𝐾𝑑 . 𝑑 . 𝑒(𝑡) 𝑑𝑡 + + Sol Motor Motor Sürücü 𝜃 Sağ Motor MPU6050 267 EEB 2016 Elektrik-Elektronik ve Bilgisayar Sempozyumu, 11-13 Mayıs 2016, Tokat TÜRKİYE Şekil 11: PID kontrol algoritmasının uygulanması Şekil 11’da PID algoritmasında Denge, ±10 derece civarında gerçekleşmiştir. Bu denge durumuna, 280 ms de ulaşmıştır. Şekil 9: PI kontrol algoritmasının uygulanması Şekil 9,10 ve 11 de iki tekerlekli kendini dengeleyen robota üç farklı algoritmanın uygulanması ile eğim açısının değişimi incelenmiştir. Şekil 9 da PI kontrol algoritmasının uygulanması ile eğim açısının değişimi verilmiştir. Robot gövdesinin, x eksen doğrultusunda hareketi istenmemiştir. Denge, ±6 derece civarında gerçekleşmiştir. Bu denge durumuna, 320ms de ulaşmıştır. Yukarıdaki grafikler incelediğinde ve kriterler göz önünde bulundurulduğunda PI algoritmasında düzenli rejime daha çabuk ulaştığı ve düzenli rejimde daha uzun kaldığı gözlenmiştir. Teşekkür Çalışmalarımızda bizi destekleyen MT Bilgi Teknolojileri Ar- Ge Merkezine, İstanbul Gelişim Üniversitesi’ne, MT Bilgi Teknolojileri Genel Müdürü Aydın Çelik’e ve Prof. Dr. Hasan Dinçer’e teşekkür ederiz. 4. Kaynaklar [1] Hoa G. Nguyen; John Morrell ; Katherine D. Mullens; Aaron B. Burmeister ;Susan Miles ; Nathan Farrington ; Kari M. Thomas ; Douglas W. Gage “Segway robotic mobility platform”, SPIE Proceedings,5609, 207, 2004. [2] F Grasse, D Arrigo, A Comlombi, A Rufer, “Joe: A mobile inverted pendulum”, IEEE Trans. Electronics, 2002,vol.49(1),pp. 107-114. [3] http://www.segway.com [4] He Bin, Liu Wen Zhen, Lv Hai Feng,” The Kinematics Model of a Two-wheeled Self-balancing Autonomous Mobile Robot and Its Simulation” 2010 Second International Conference on Computer Engineering and Applications, 64-69, 2010. [5] Ammar Wasif, Danish Raza, Waqas Rasheed, Zubair Farooq, Syed Qaseem Ali “Design and Implementation of a Two Wheel Self Balancing Robot with a Two Level Adaptive Control” , IEEE, 2013, 978-1-4799-0615-4/13/ [6] Ali Unluturk, Omer Aydogdu, Ufuk Guner “Design and PID Control of Two Wheeled Autonomous Balance Robot” , IEEE 2013, 978-1-4799-3343-3/13/ [7] Wei An, Yangmin Li, “Simulation and Control of a Two-wheeled Self-balancing Robot” Proceeding of the Şekil 10: PD kontrol algoritmasının uygulanması Şekil 10’da PD algoritmasında Denge, ±9 derece civarında gerçekleşmiştir. Bu denge durumuna, 650 ms de ulaşmıştır. 268 EEB 2016 Elektrik-Elektronik ve Bilgisayar Sempozyumu, 11-13 Mayıs 2016, Tokat TÜRKİYE IEEE International Conference on Robotics and Biomimetics (ROBIO) Shenzhen, China, December 2013 [8] J. Alberto Bonales, Renato Gonzalez, “Instrumentation and Wireless Control for the Self-Balancing Mobile Robot on Two Wheels”, IEEE 2014, 987-1-4799-56838/14/ [9] Tomislav Tomašić, Andrea Demetlika, Mladen Crneković “Self-Balancıng Mobile Robot Tilter”, Transactions of Famena XXXVI-3 (2012), ISSN 13331124 [10] B. G. Zheng, Y. B. Huang, and C. Y. Qiu, “LQR+ PID control and implementation of two-wheeled selfbalancing robot,” Applied Mechanics and Materials, vol. 590, pp. 399-406, August, 2014. 269