Projeler / Elektronik Projeler / Bilgisayar Projeleri / Bilgisayar ve Mikrokontrolör Temelli Kapalı Çevrim Robot Pozisyon Kontrol Sistemi


Yazar: Aydın Tarık Zengin
Gönderen: Admin   Tarih: 20-10-2007 23:01
Yorumlar: (0)   Oylar:

Umut YÜKSEKBAŞ ile beraber tamamladığımız lisans bitirme projemizin kısa bir özetini yazmak istedim. Projemizi 16.05.2007 tarihinde sunup, 18.05.2007 tarihinde demosunu gerçekleştirmemizle birlikte, aylardır laboratuvarda yaşamamıza neden olan ömür törpümüz, sevimli mi sevimli manipülatörümüzle vedalaşma vaktimiz geldi artık. Proje raporu kitapçığını da yazdıktan sonra kendisine veda edeceğiz. Hüzünlü bir ayrılık olacak.

ÖZET
Endüstri sahalarında robot sistemlere; problemlere hızlı ve hassas çözümler getirmeleri, insan sağlığı ve güvenliğine zararlı olan pek çok faktörden etkilenmemeleri gibi sebeplerle ihtiyaç duyulmaktadır. Otomobil imal-montaj, ilaç, nükleer santraller, biyomedikal gibi alanlarda robotlar çok hassas işlerin yapımında kullanılmaktadır. Tıbbi alanda kritik ve hassasiyet gerektiren ameliyatlarda kullanılabilirler. Protez kol olarak kullanımları da yaygındır.

 

Projemizin çalışma konuları otomatik kontrol sistemi ve bilgisayardan gönderilen koordinatlarla robot manipülatörün konum kontrolüdür. Projemizde mekatronik bir sistemin kapalı çevrim kontrolü amaçlanmaktadır. Manipülatör sistemi, çok girişli çok çıkışlı bir sistemdir ve her eklem pozisyon denetimi için ayrı giriş sinyallerine ihtiyaç duymaktadır. Manipülatör sisteminin çeşitli yöntemlerle elde edilen dinamik modeli doğrusal değildir ve eklemlerin birbiri ile etkileşimini ifade eden bağlantılı terimler içerir. Sistemde altı serbestlik dereceli bir mekanik kol ve otomatik kontrol sistemi tasarlanmıştır. Robot manipülatörün hareketi, eklem yerlerinde bulunan DC motorlar ile sağlanır. Bu DC motorları sürmek için içinde H-Bridge (köprü) bulunan L298 entegresi ve kontrolör olarak da PIC 16F877 kullanılmıştır. Kontrolör ile PC arasındaki haberleşme Max232 seri arabirimi ile sağlanmıştır. MPLAB’ta PIC C derleyicisi kullanılarak geliştirilen algoritma ile robot manipülatörün pozisyon kontrolü sağlanmıştır. Robot manipülatörün eklemlerinden alınan analog geri besleme bilgisi PIC içerisinde bulunan ADC modülleriyle okunup, tasarlanan P.I. kontrol sistemi sayesinde istenilen konuma en az hatayla gitmesi sağlanmıştır.

 

SİSTEMİN BİLEŞENLERİ
Donanım Bileşeni

Projede kullanılmış olan PIC 16F877-20Mhz kontrolör içerisinde 8 adet ADC kanalı, iki adet PWM modülü bulunmaktadır. Motor sürücü entegresi olarak içerisinde iki H-Bridge (Köprü) bulunan L298 kullanılmıştır. Bu sürücüler 46 Volt kaynak gerilimine ve 4 Amper akıma kadar dayanabilmektedir. Kullanılan güç kaynağından sağladığımız gerilim değeri 15 volt olup, çekilen akım 0.5 amperi geçmemektedir. PC ‘den pozisyon bilgilerini PIC ‘e göndermek için seri arabirim olarak Max232 seri arabirimi kullanılmıştır.

 

 

PC ‘den gönderilen pozisyon bilgileri Max232 seri arabirim aracılığıyla PIC ‘in seri modülüne ulaşır. Robot Manipülatör eklemlerinden alınan geri besleme bilgisi PIC içerisindeki ADC modülü ile okunup, istenen analog değere yani istenen konuma gelmesi için PIC ‘in çıkışına bağlı olan L298 ‘in girişlerine sinyaller gönderilir. Geliştirilen algoritma, hatanın sıfırlanabilmesi için manipülatörün hangi yöne hareket etmesi gerektiğine karar verir ve sürücülere gerekli sinyalleri gönderir. Robot manipülatör istenilen konuma geldiğinde ise motor frenlenerek konumunu koruması sağlanır. Mikrokontrolcü ile tüm eklemlerin konumları devamlı kontrol edilir ve herhangi bir konum değişikliği algılandığında istenilen konuma tekrar gelmesi sağlanır. Algoritma aynı zamanda hatayla orantılı bir şekilde motor uçlarındaki gerilimi de değiştirerek hassas konum kontrolü sağlamaktadır.

Robot Kol

 

 

Yazılım Bileşeni

Mikrokontrolör için geliştirilen yazılım, MPLAB ‘ta HI-TECH PICC derleyicisi ile derlenmiştir. Kontrolör tarafında gerçekleştirilen P.I. kontrol sistemi; her 6 eklem için devamlı olarak, ADC modülünden okunan geri besleme değeri ile istenen değer arasındaki farkı hesaplayarak hata değerlerini bulur. Bu hata değeri oransal Kp değeri ile çarpılır. Daha sonra hata değerlerinin integrali alınarak toplam hata bulunur ve toplam hata ile integral parametresi Ki çarpılır. Oransal ve integral kontrol sinyallerinin toplanmasıyla elde edilen kontrol sinyali belirli sınırlar içerisinde tutularak P.I. kontrol sistemi tasarlanmış olur.

 

Her eklem için bu hesaplama devamlı olarak yapılıp sürekli konum kontrolü gerçekleştirilir.

 

 

Sistemin matematiksel modeli çıkarılamadığından tasarlanan P.I. kontrol sistemi için Ziegler-Nichols metoduna başvurulmuştur.

 

 

PID kontrolörün I,D katsayıları 0 yapılarak, P sistem osilasyona gidene kadar yavaş yavaş arttırılır. Sistemin osilasyona gittiği andaki P değerine Kc, osilasyon frekansına Tc denilmiştir.

 

 

 

Ziegler-Nichols parametrelerinden yararlanılarak optimum P.I. kontrol parametreleri tespit edilmiştir ve sistemin vermiş olduğu yanıt ise aşağıda gösterilmiştir.

 

Grafiksel Kullanıcı Arabirimi Tasarımı
Kullanıcı arayüzü tasarımı QT designer ve Kdevelop entegre geliştirme ortamları kullanılarak C++ dilinde geliştirilmiştir. Arayüzün görünümü aşağıdaki gibidir. QT kütüphaneleri platformdan bağımsız kod üretmeyi mümkün kılmaktadır. Bu şekilde geliştirdiğimiz arayüz Unix, Linux, FreeBSD, MacOS, Windows gibi platformlarda çalışabilmektedir.

 

 

Robotun koordinatlarını belirlemek için Denavit-Hartenberg metodu kullanılmıştır. Bu metoda göre uzuvların alacağı açılar transformasyon matrisleriyle hesaplanarak açı değerleri elde edilmiştir. Bilgisayar arayüzünde hesaplanan koordinat değerleri USB veri yolu üzerinden 57600 baudrate ile mikrokontrolöre gönderilmiştir.

 

Forward (İleri ) Kinematics Problem
Robotik çalışmada karşılaşılan problem türlerinden biri, bilinen link dönme açı bilgileri ve robot parametreleri için robot uç nokta koordinatlarının hesaplanmasıdır. Robot hem dönme hem öteleme hareketi yapacağından Translation (Öteleme) matris ve Rotation (dönme) matrislerinin hesaplanması gerekmektedir.

 

 

Bu şekilde elde edilen Transformasyon Matrisleri arayüz ile seri arabirim üzerinden kontrolcüye gönderilerek kontolün sağlanması amaçlanmaktadır. Kontrol sistemi değişkenleri istenildiği takdirde arayüzden ayarlanabilir ve sistem bu ayarlarla çalışmaya devam edebilmektedir. GUI ‘nin ayarlar kısmından seriport aygıtımızın çeşidini, hangi baudrate değeri ile haberleşileceği, kontrol sistem parametrelerini ve motor uçlarına hangi oranda gerilim uygulanacağı seçilebilir.

 

 

Sonuç ve Değerlendirme
Geliştirdiğimiz sistem PC ile grafik arayüzden girilen kartezyen koordinatlara göre konum kontrolü yapabilmektedir. Operatör tarafından yeni bir koordinat verilmediği sürece pozisyonunu sürekli korumakta, istenilen herhangi bir zamanda koordinat değişikliği gerçekleştirilebilmektedir. Proje sonucunda fabrikaların tüm alanlarında kontrol ve üretim açısından, biyomedikal alanlarda yardım açısından, savunma sanayisinde güvenlik açısından, insan sağlığına zararlı durumlardan koruma açısından ve akademik uygulamalarda eğitim amaçlı kullanılması açısından çok büyük yararlar elde edilebilecek bir tasarım ortaya çıkarılmıştır. Projenin geliştirilebilecek yönü ise tıpkı insan beyninin kollarına hükmedebildiği gibi, iki robot manipülatörünün koordineli çalışabilmesi için kontrol sistemi geliştirilebilir.




               Aydin Tarik Zengin
             tarik.zengin(at)gmail(dot)com