Haptic Etkileşimli Robotik Kavrayıcı Tasarımı ve Gerçeklenmesi

Temmuz 14, 2018

Projenin amacı, insan unsurunun içinde bulunmasının fazla sağlıklı olmadığı ve istenmediği ortamlarda hassaslık gerektiren çalışmaların yapılabilmesini sağlayacak, insan tarafından doğrudan kontrol edilebilecek bir robotik kavrayıcının ve yönetimi için giyilecek sistemin tasarlanıp üretilmesidir.

 Haptic etkileşimli robotik kavrayıcı, insan unsurunun olmazsa olmazı olduğu, ellerini yoğun bir şekilde kullandığı risk taşıyan projelerde insan sağlığını gözetmek maksadıyla insanı tehlikeli çalışma ortamından mümkün olduğunca izole etmeyi hedeflemektedir. Fakat bunu insanın yaşadığı deneyimden kaybını minimum düzeyde tutarak yapmayı amaçlar. Sistem kullanıcıyla etkileşimli bir mekanik sistemin endüstriyel ve sosyal sorumluluk alanında kullanılabilmesi potansiyeline sahiptir. En önemli özelliklerinden birisi de portatif ve iş koluna göre herhangi bir sistemin uzvuna bağlanarak aynı deneyimi verebilecek olmasıdır.

                         
 

Teleoperasyon robotlarında çoğu zaman mekanizma bir joystick veya tuş takımı üzerinden uzaktan yönetilmektedir. Bu şekilde yönetilirken hassaslıktan ödün verilmekte, kullanıcının sisteme tamamen hakim olabilmesi için bir öğrenme eğrisinden geçmesi gerekmektedir. İnsanın uzaktaki bir mekanizmayı arada kendisine yabancı başka bir mekanizma vasıtasıyla yönetmesi ona bir dezavantaj oluşturmaktadır. Bu yüzden kullanıcının doğuştan beri en sık kullandığı manipülatör uzva, yani ele uygun bir yönetim donanımı geliştirmek, teleoperasyon robotlarının yönetiminde oldukça büyük bir avantaj yaratacaktır.

3 uzuvlu mekanik bir kavrayıcı ve kullanıcının eline oturabilecek, genel el hatlarına sahip bir giyilebilir kılıf CAD programında tasarlanmış, en kötü senaryo ihtimallerine karşın mukavemet hesapları mukayese edilerek optimal malzemenin seçimi yapılmıştır. Özellikle olası bir arıza durumunda insan elinin zarar görmemesi için giyilebilir kılıfın hareket eşiklerini belirleyen bir mekanik iskeletin tasarımı yapılmıştır. Kavrayıcının tasarımı esnasında açılabilecek maksimum açının tayini yapılmıştır, sistem sadece kavrama ve torku kullanıcıya iletme amacı için tasarlanıp kullanılacağından, robotun etkisiz kalabileceği veya dayanamayacağı diğer hareketler olabildiğince olasılık dışı bırakılmaya çalışılmıştır.

Sistem yazılımsal olarak C ailesinden (C, C++, C#) faydalanılarak oluşturulmuştur. Veri toplayıcı kart olarak Arduino Uno yeterli görülmüştür. Sistemin tasarımı, mekanik hesapları ve üretimi sıfırdan yapılmıştır. Sistem gerçeklendikten sonra yazılımsal iletişim ve sinyal kalitesi adına çeşitli optimizasyonlar gerçekleştirilmiştir. Mekanizma tasarımı 1 yıllık araştırma-geliştirme süreci boyunca yapısal ve tasarımsal değişiklikler geçirmiştir.

Mekanizmanın tasarımsal süreci ve buna bağlı matematiksel denklikleri tamamen özgündür. Olabildiğince basitleştirilmeye ve güvenli tutulmaya çalışılmıştır.

 

Sistemde seçilen elemanların karakteristiğinin çıkarılması adına farklı koşullarda çıktıları alınmış ve regresyon uygulanmıştır.

 

Bağlantının sağlanmanın ardından eldiven ve kavrayıcının güncel durumu ile çeşitli bilgiler yazılım ara yüzünden edinilebilir. Kullanıcı bu bilgiler sayesinde sistemin limitlerini tanıyabilir, mekanik ve elektronik arkaplanda yaşanan olayları takip edebilir ve hata giderme yapabilir. Şekildeki panel üzerinden kullanıcı ekipmana bağlanma, bağlantıyı kesme, sistemi yeniden başlatma, kontrol yazılımından çıkma gibi ana fonksiyonları gerçekleştirebilir. Bir bağlantı hatası olduğunda takibini yapabilir. Kullanıcı sistemdeki eldiven mekanizması hakkında hemen hemen her sayısal bilgiye ulaşabilir. Zorlanmaları yüzde ve kuvvet olarak farklı ölçüm metotlarıyla görebilir, analiz edebilir. Yol uzunluklarını, parmakların anlık açılarını ve yayların güncel durumuyla ilgili bilgileri edinebilir.

Sistem C++ cephesinde mekanizmanın veri toplayıcısı olan Arduino ile olan iletişimi sağlayacak, mekanizmanın anlık durum analizini yapan işlemleri yapacak ve çıktılarını ulaştıracak, C# diliyle yazılmış arayüze kullanıcının gözlemleyebilmesi için iletecektir. C++ yazılımı anlık iletilen ve işletilen veriler ile ilgili bir detay vermez. Verinin iletiminin başarı durumunu kullanıcıya sunar. Kullanıcı veriyi C# yazılımı üzerinden takip edecektir.

 

Verilerin iletimi yukarıda verilen diyagramdaki gibi gerçekleşmektedir. Öncelikle C++ sistem için yarattığı değişkenlerin bellek adreslerini bir dosyaya yazar. Ardından belirlenen adresleri yarattığı değişkenler için ayırır. Sonrasında C# yazılımı aynı dosyadan adresleri okur, sözkonusu değişkenler için yarattığı kendi değişkenlerine bellekteki adreste yazılı değerleri atar.

Böylelikle iki yazılım aynı bellek kolonundaki değeri ortaklaşa kullanır. Bunun yapılmasının amacı C# yazılımının içindeki animasyon ve label değerlerinin sık sık güncellenmesi sebebiyle çökme riskini arttırmasıdır.

Elektronik parça seçimlerinde fiyat büyük bir öneme sahip olduğundan, daha ekonomik olan parçaların seçimi yapılmıştır. Fakat bu seçim, parçada düşük kararlılığı beraberinde getirmektedir. Bu yüzden düşük maliyetli sensörlerin verilerinin filtrelenmesi gerekmiştir. 1. dereceden alçak-geçiren IIR filtre tasarlanıp yazılımsal olarak çalıştırılarak sensörlerin verileri filtrelenmiştir.

Projeye ait demo çalışmalarını ve teknik animasyonları aşağıdaki videoda görebilirsiniz.