Kenan KILIÇASLAN Yöneten: Yrd.Doç.Dr. Hilmi KUŞÇU LabVIEW LabVIEW ile programlama mantığı, program kodu yazılan programlama mantığına benzemekle birlikte, kontrol adı verilen nesneler arasında veri yolu bağlantısı ile program akışı sağlanır. Kontroller içindeki veri elektrik kablosuna benzer çizgi üzerinden bağlı olduğu kontrole geçer. LabVIEW Labview’de içinde veri bulunan üç çeşit nesne bulunur. Control : Kullanıcının program çalışırken veri girdiği nesnelerdir. Çeşitli şekilleri bulunur. Indicator : Kullanıcı program çalışırken veri giremez, hesaplama sonucu bulunur. Çeşitli şekilleri vardır. Constant : Sabit değerdir. Program çalışırken değiştirilemez. LabVIEW Control ve indicator birbirine benzerdir. Control isimli nesnelerde bulunan veri veri yolları üzerinden indicator isimli nesneye veya matematiksel sembollere doğru akar. LabVIEW Veri Yolları Elektrikte iki farklı fazın birbirine bağlanması hata meydana getirir, benzer şekilde farklı controllara bağlı veri yolu bir birine bağlanmamalıdır. Bir kontrole ve indikatöre sadece bir veri yolu bağlanabilir. Elektrikte bir kablonun ortasına başka bir kablo bağlasak bu kabloda aynı voltta elektrik olur, aynı şekilde bir veri yolu kablosunun herhangi bir yerine başka bir veri yolu kablosu bağlasak, bu kabloda da aynı veri bulunur. Labview LabVIEW’de iki pencere vardır. Görsel nesnelerin bulunduğu Front Panel, program akışının bulunduğu Block Diagram penceresi. Programlama block diagram penceresinden yapılır. LabVIEW ile Diğer Programların Karşılaştırması Normal programlama mantığında, bir başlangıç vardır ve bir de sonu vardır yani bir yerde program akışı durur. LabVIEW’de ise program akışı, en uzaktaki indicatöre gittiğinde yine başa döner yani tüm akış bir sonsuz döngü içindedir. Döngü sonsuz olduğu için, control içindeki verinin işlem görmesi için bir olay tanımına ihtiyaç yoktur. Bir controle veri girildiğinde, o veri doğrudan kablo üzerinden akar ve kablonun bağlı olduğu yere gider. LabVIEW ile Diğer Programların Karşılaştırması Çok bilinen programlamada, programlar tek görevlidir. Yani bu programlar örneğin aynı anda iki sayıyı toplayamaz. Bu toplama işlemini sıralı olarak yaparlar. LabVIEW ise çok görevlidir yani aynı anda iki toplama işlemini yapar. Bütün işlemler paralel yürür. Her an veri yolu kablolarında veri vardır. LabVIEW’de paralel çalışan birden fazla döngü bulunabilir. İleri Kinematik Şekildeki düzlemsel iki bağlantı mekanizmasını inceleyelim. Uç A noktasından B noktasına doğru sabit hızla ilerlesin. İleri Kinematik Birinci problem, eklem açıları çiftinin verilmesi ile uç noktanın koordinatını bulmak. Yani açıdan faydalanarak koordinat bulma işlemi ileri kinematik olarak anılır. Ters Kinematik İkinci problem, uç nokta koordinatı verilir eklem açıları istenir. Bu problem ters kinematik olarak anılır. Problemin aynı konumu veren birden fazla çözümü olabilir. Hem (q1,q2) hem de (-q1,-q2) aynı koordinatını verir. Çalışmaya Konu Olan Robot Kol Uygulamada Bilinenler Uç nokta koordinatı bilinmektedir. Robot kolunun boyutları bilinmektedir. Deneysel Uygulama İçin Yapılan Adımlar Denavit-Hartenberg Metodu ile tüm eklemlerin dönüşüm matrisi çıkarıldı. Dönüşüm Matrisleri Bulundu Dönüşüm Matrisleri Çarpıldı. 1. Denklem bulunan, eklem açıları cinsindendir. 2. Denklemde ise uç nokta koordinatı bellidir. Birinci denklem ile ikinci denklem eşittir. Dönüşüm Matrisleri Çarpıldı. Bir matrisin tersi ile matrisin çarpımı birim matrise eşittir. Biz bu eşitlikten yararlandık. Bize ters tüm dönüşüm matrislerini tersi gerekli oldu Ters matrisi Matlab yazılımının inv fonksiyonunu kullandık TersMatris = inv (Matris) Ters Matrisler Birinci matris eşitliği Konum Vektörlerini eşitledik. 3 denklemimiz oldu. Birinci tarafa A Diyelim Birinci tarafa B Diyelim Birinci matris eşitliği Konum Vektörlerini eşitledik. 3 denklemimiz oldu. İkinci Matris eşitliği İkinci matris eşitliği Konum Vektörlerini eşitledik. 3 denklemimiz oldu. Üçüncü Matris eşitliği Üçüncü matris eşitliği Konum Vektörlerini eşitledik. 3 denklemimiz oldu. Dördüncü Matris eşitliği Dördüncü matris eşitliği Konum Vektörlerini eşitledik. 3 denklemimiz oldu. Matlab ile örnek uygulama (11,17,9) cm koordinatlarını veren açıları bulalım. Burada L=9.5 cm, h=7 cm’dir. Çözümde Matlab’ın fsolve fonksiyonu kullanılmıştır. fsolve fonksiyonu sonucu iterasyonla bulur. İterasyon için başlangıç matrisi x0=[0 0 0] ‘dır. [x,fval,exitflag]=fsolve(@(x)[cos(x(1))*A+sin(x(1))* B-cos(x(2))* cos(x(3))+sin(x(2))* sin(x(3))cos(x(2))-1; -sin(x(1))*A+cos(x(1))*B-sin(x(2))* cos(x(3))- cos(x(2))*sin(x(3))-sin(x(2));cos(x(1))*sin(x(2))*A-sin(x(1))*cos(x(2))*A +cos(x(1))* cos(x(2))*Bsin(x(1))*sin(x(2))*B+sin(x(2))-sin(x(3))],x0); Çalışmanın LabVIEW’de uygulaması, Yörünge Hesabı Fonksiyon Adı T01.vi Sembolü Açıklama Yükseklik-h, Kol Uzunluğu-L ve açı değerlerinden dönüşüm matrisini oluşturur. Detaylı bilgi bölüm 4.1.1’dedir. ilerikinematik. Dönüşüm matrislerinden, başlangıçtan uca doğru dönüşüm matrislerini ve PX,PY ve PZ vektörlerini oluşturur. Detaylı bilgi vi bölüm 4.1.2’dedir. 3D Curve.vi PX, PY ve PZ vektörlerinden 3 boyutlu grafik oluşturur. terskinematik X, Y, Z koordinatlarından, t2, t3, t4 açılarını ve bölüm 4.2.1’de belirtilen diğer değerleri hesaplar. .vi terskinematik2. bilgi bölüm 4.2.2’dedir. vi terskinematik3. vi Bilinen açılara göre diğer açıları hesaplar. Ayrıntılı terskinematik.vi’ile hesaplanan açıları, kolun sınırları içine alır. Ayrıntılı bilgi bölüm 4.2.3’dedir. Sorulanız… Teşekkürler…