3.9 Devre Kapalılık Denklemlerinin İteratif Yöntemle Çözülmesi

Önceki kısımlarda devre kapalılık denklemleri kullanılarak konum değişkenleri arasında analitik ilişkiler değişik yöntemlerle bulunmaya çalışılmıştır. Genel olarak her bir devre kapalılık denkleminde iki yeni bilinmeyen konum değişkeni bulunuyor ise, bu iki bilinmeyen için analitik bir çözüm elde edilebilecektir. Bu durumlarda denklemleri bilinmeyen konum parametrelerine göre önceki kısımlarda gösterildiği gibi, doğrudan çözmek daha uygundur. Eğer devre kapalılık denklemlerinin her birinde ikiden fazla bilinmeyen konum değişkeni var ise, bu konum değişkenlerini bağımsız konum değişkenine göre belirlemek genel olarak mümkün değildir (bazı özel durumlarda mümkün olabilir). Bu durumlar geometrik yöntem uygulandığında deneme-yanılma gerektirmiştir. Ancak eğer mekanizma serbestlik derecesine uyuyor ise, elde edilen vektör devre denkleminin iki katı kadar bilinmeyen konum değişkeni ve serbestlik derecesi kadar bağımsız konum değişkeni bulunacaktır. Analitik çözüm elde edilemediği durumlarda veya her türlü mekanizmanın analizini yapmak için genel bir algoritma oluşturmak istediğimizde, devre kapalılık denklemlerinin sayısal yöntemlerle iteratif çözümü düşünülmelidir.

Devre kapalılık denklemlerine baktığımızda, her birinden iki lineer olmayan cebirsel denklem elde edeceğimize göre, bu denklemler:

Fj(x)=0 j=1,2,3,.......n (1)
  x=[x1, x2, x3,....... xn]T  

şeklinde yazılabilir. Bu gösterimde Fk(x) devre kapalılık denkleminden elde edilen kompleks sayılar veya reel sayılarla ifade edilebilen devre sayısının iki katı kadar lineer olmayan denklem takımıdır. Vektör x ise bilinmeyen konum değişkenleri: 1j veya sij den oluşur. Fj(x) denklemi ve türevleri, çözümü olduğu bölgede tanımlı ise, bu denklem takımının bilinmeyen değerlere göre çözümü Newton-Raphson metodu olarak bilinen iterasyon metodu ile yapılabilir. Bu metod denklemleri küçük aralıklarda lineer olarak kabul eder ve bu lineer denklem takımı için çözüm bularak lineer olmayan denklem takımının çözüme doğru yaklaşıp yaklaşmadığını kontrol eder (Fj(x)= ise, her basamakta lineer denklem çözümünün değerini daha küçültüp küçültmediği) 'un yeteri kadar küçük değerini veren x bilinmeyen değerleri çözümdür. Bu tür lineer olmayan denklem takımlarını çözmek için başka numerik metodlarda mevcuttur. Burada gerek basit olması ve gerekse mekanizmaların çözümünde oldukça iyi sonuç vermesi nedeni ile Newton-Raphson metodu açıklanacaktır. Okuyucu herhangi bir numerik metod kitabından diğer yöntemleri öğrenebilir.

F(x)=0 gibi tek değişkenli bir denklemi ele alalım. Denklem skaler değişken x'e göre lineer değildir. Bu denklemde x=x* değeri, denklemin çözümü (kökü) olduğunu (F(x*)=0) ve x(k) nın ise, x* değerine yakın bir değer olduğunu kabul edelim. F(x) denklemininin x= x(k) noktası civarında Taylor serisi açınımını yaparsak:

F(x)= F(x(k))+Fx(x(k))(x-x(k)) + yüksek mertebe terimler (2)

Fx , F(x) denkleminin x'e göre birinci türevidir: Eğer x(k)=x* olsa idi, F(x(k))=0 olacak ve x(k) aradığımız çözüm olacak idi. Hatalardan dolayı bu olmayacaktır.

x= x(k+1) nın x* çözüm değerine x(k) dan daha yakın bir tahmin olduğunu varsayalım. F(x(k+1)) 0 olduğu varsayılır ve F(x(k+1)) için Taylor serisi kullanılarak x(k) ya göre açılımını yazıldığında:

F(x(k+1)) F(x(k))+Fx(x(k))(x(k+1)-x(k)) =0 (3)

olacaktır. Eğer (x(k+1)-x(k)) aralığı yeterince küçük ise veya denklem lineer ise, yüksek mertebe terimlerin ihmal edilmesi büyük bir yanlışa neden olmayacaktır (tabii eğer sonsuz sayıda terim kullanıp seriyi sıfıra eşitleyip çözüm yapsak x* hemen bulabilirdik. Ne yazik ki bu mümkün değil, ve sadece ilk terimle yetineceğiz). Eğer Fx(x(k)) sıfıra eşit değil ise, 3 denkleminden x(k+1) çözülebilir:

x(k+1) = x(k) - (4)

(4) denklemi Newton Raphson metodu ile elde edilen tekrarlama denklemidir. Yüksek mertebe terimler ihmal edilmiş olduğundan, x(k+1) denklemi sıfıra eşitleyen çözüm değildir. Ancak x(k) ya göre x*'a daha yakın bir noktaya gelinebilecektir. Yeni değer ile denklemin sıfıra daha yaklaştığı görülür ise, (4) denklemini tekrar tekrar kullanmamız mümkün olacak ve m defa uygulandıktan sonra F(x(m)) olacaktır. Burada e küçük bir değerdir ve genellikle bizim o değerden olan değeri sıfır kabul etmemiz olasıdır. Tabii ki probleme göre değişecek ve bazı problemlerde m sayısı ne kadar büyük olursa olsun F(x(m)) şartı sağlanamıyacaktır (yakınsama olmayacaktır). Birçok uygulama için örneğin =10-6 gibi küçük bir değer kabul edilebilir. Bu durumda F(x)=0 denklemini sağlayan x değerini bulmak için bir algoritma ortaya çıkacaktır:

  1. F(x)=0 denklemini sağlayacak x* değeri için x(0) değerini tahmin edelim.
  2. F(x(k+1)) değerini k=0,1,2,3,4,......m, basamak kadar (4) numaralı denklem kullanarak etap etap belirleyelim ve her etapta F(x(k+1)) e olup olmadığını veya (x(k+1)-x(k)) s, olup olmadığını kontrol edelim. Bu iki eşitsizlikten birisi sağlanıyor ise, duralım. x(k+1) aradığımız çözümdür. (e denklem hata toleransı, ve s ise çözüm hata toleransıdır). Eğer Fx(x(k+1))=0 ve F(x(k+1)) 0 ise, 1.ci basamağı gidip yeni bir x(0) tahmini yapılması gereklidir. Aksi takdirde işlem devam eder.
  3. k+1 yerine k yerleştirip 2 basamak tekrarlanır. Eğer işlem m defa tekrarlandığı halde F(x(k+1)) e veya (x(k+1)-x(k)) s sağlanamamış ise, çözüm bulunamamıştır. Durulması gerekir. Işleme yeni bir x(0) değeri ile yeniden başlanabilir veya farklı bir yöntem denenebilir.

Newton Raphson algoritması çoğu uygulama probleminde gittikçe çözüme yaklaşan bir dizi sonuç verecektir. Genel olarak F(x) e sınırlı sayıda basamakta erişilecektir. Ancak eğer x(0) değeri x*'a yeteri kadar yakın değil ise, e ve s değerleri eldeki probleme göre çok küçük seçildi ise, veya çözülmesi istenilen problemde F(x) fonksiyonu ve türevleri düzgün ve yumuşak bir davranış göstermiyorlarsa, çözüm bulunamıyabilir. Bazı durumlarda ise, bulunan çözüm aranılan x* çözümü olmayabilir (lineer olmayan denklemlerde F(x)=0 denklemini sağlayan birçok kök olabilir ).

Geometrik olarak Newton-Raphson yöntemi aşağıda Şekil (a) da gösterilmektedir. Her noktada F(x) eğrisi, eğimi Fx olan bir doğru olduğu kabul edilmekte ve o doğrunun kökü (sıfır olan x değeri) bulunmaktadır. Normal durumlarda kök çok az sayıda basa-makta süratle bulunabilir. Ancak Şekil (b),(c), ve (d) de görüldüğü gibi, yöntem bazı durumlarda istenilen çözüme yönelmiyebilir, veya hiç bir çözüm bulunamıyabilir.

Şu ana kadar Newton Raphson metodu bir değişkenli bir denklem için açıklanmıştır. Aynı yöntem kolaylıkla n bilinmeyenli n lineer olmayan denklem takımının çözümü için kullanılabilir. Bu durumda Newton Raphson algoritmasını genelleştirmemiz gerekecektir. n bilinmeyenli n lineer olmayan denklem takımı:

F1(x) = F1(x1, x2, x3, ........xn) = 0
F2(x) = F2(x1, x2, x3, ........xn) = 0
F3(x) = F3(x1, x2, x3, ........xn) = 0
......
Fn(x) = Fn(x1, x2, x3, ........xn) = 0

(5)

veya:

      F(x) = 0

olarak yazılabilir.

Çözüm x*=[x*1, x*2, x*3,....... x*n]T dır. Denklemleri kök olduğunu tahmin ettiğimiz değer olan x(k) ( x(k)= [x(k) 1, x(k) 2, x(k) 3,....... x(k) n]T ) noktasında Taylor serisine göre açalım ve seride sadece birinci mertebe terimleri tutalım (diğer terimleri tek denklem için yaptığımız gibi, sıfıra çok yakın değerler olduğunu kabul edip ihmal edeceğiz). Bu durumda:

F(x) F(x(k))+Fx(x(k))(x-x(k)) (6)

olacaktır. Bu denklemde Fx(x(k)), x(k) noktasında hesaplanan Jacobian matrisidir #. Eğer x= x(k+1) çözüme daha yakın bir değer olması isteniyor ise, x(k) dan daha iyi bir değer:

      F(x(k+1)) F(x(k))+Fx(x(k))(x(k+1)-x(k)) =0


burada , Fk nın xm e göre kısmi türevidir.


Fx(x(k)) x(k)= -F(x(k)) (7)

Yazılır. Burada x(k)= (x(k+1)-x(k)) veya x(k+1)= x(k) + x(k) dır.

Denklem takımı için Newton-Raphson algoritması:

  1. Başlangıçta F(x)=0 için x(0) değerlerinin çözüm olduğunu varsayalım.
  2. k= 0, 1, 2, 3, 4,......m iterasyonlarında, x(k) , x(k+1) ve F(x(k+1)) değerlerini hesaplayın. Eğer |F(x(k+1))| e ve (x(k+1)-x(k)) s ise durun. x(k+1) aranılan sonuçtur (e denklem hata toleransı ve s ise çözüm tolerans vektörleridir). Eğer |Fx(x(k+1))| = 0 ve F(x(k+1)) 0 ise, kökler için yeni bir tahmin yapıp birinci basamağa dönülür. Aksi takdirde 3.cü basamakla devam edilir.
  3. k+1 değerlerini k olarak ele alıp 2.ci basamağa dönülür. Eğer bu işlem m defa yapıldığı halde F(x(k+1)) e veya (x(k+1)-x(k)) s sağlanamadı ise, çözüm bulunamamıştır. Algoritmanın durdurulması gerekir. Işleme yeni bir x(0) tahmin vektörü ile yeniden başlanabilir veya farklı bir yöntem denenebilir.

Örnek

Newton Raphson algoritmasını göstermek için aşağıdaki şekilde görülen mekanizmayı ele alalım. Bu mekanizmanın bilinmeyen konum değişkenlerini belirlemek için deneme yanılma yapmadan verecek kapalı denklemler elde etmemiz mümkün değildir. Kompleks sayılar ile devre kapalılık denklemleri:

      

dir. Bu denklemler:

      

olarak yazılabilir,

veya reel sayılarla:

      b1 - a2 cos12 + a5 cos15 + s4 cos14 = 0

      -c1 - a2 sin12 + a5 sin15 + s4 sin14 = 0

      b1 - s6 + a5 cos15 + a4 cos14 = 0

      -a1 + a5 sin15 + a4 sin14 = 0

denklemleri elde edilir (kompleks sayılar kullanarak denklemlerin kompleks eşlenikleri kullanarakda dört denklem elde edilebilir. Bu örnekte reel sayılar kullanılacaktır). Elde edilen denklem takımı:

      F1(14,15,s4) = 0

      F2(14,15,s4) = 0

      F3(14,15,s6) = 0

      F4(14,15) = 0

şeklindedir. Verilen 12 değerine göre bilinmeyen konum değişkenleri: 14, 15, s4 ve s6 değerlerini bulmak istiyoruz. Bu konum değişkenlerinin değeri olarak başlangıçta yapabileceğimiz ilk tahminler: 014, 015 , s04, s06 olsun. Bu değerleri devre kapalılık denklemlerine yerleştirir isek denklemler sıfıra eşit olmayacak, her biri ei gibi bir farklı değerlere eşit olacaktır. Bu değerin küçük olması bizim çözüme ne kadar yakın olduğumuzun göstergesidir. 114, 115, s14, s16 değerleri ise aranılan çözüm için daha iyi bir tahmin ise, ve s4= s14- s04, s6= s16- s06, 14= 114- 014, 15 = 115- 015 değerleri bu iki tahmin arasında fark olduğu kabul edilir ise: Bu fark Newton Raphson algoritmasına göre denklem (7) kullanılarak:

denklem takımından (kompleks sayılar ile), veya:

denklem takımından (reel sayılar ile) elde edilebilir. Dikkat edilir ise, denklem takımı bilinmeyen farklara göre lineer olup:

      A= E

şeklinde yazılabilir. A "katsayı matrisi" (Jacobian) reel veya kompleks şekilde olabilir. i elemanlarından oluşan E kolon vektörü ise (E=[1, 2, 3,….. n]T), konum değişkenlerinin ilk tahmin değerleri ile devre kapalılık denklemlerini hesapladığımızda ortaya çıkan denklem hatasıdır (yani her bir denklem sıfır olmayıp farklı bir i değeri alacaktır ve bu da devrenin kapalı olmadığını gösteren hata değerleridir). Bu denklem takımından daha iyi olacağını beklediğimiz tahmin ile o an yaptığımız tahmin arasında fark ise:

      =A-1E

olarak çözebiliriz. Bu fark değerleri, kullanmakta olduğumuz örnekde 14 , 15, s4, s5 olsun. Bu durumda konum değişkenleri için bir sonraki etapta yapacağımız daha iyi tahmin:

      s(k+1)4=sk4+ s4

      s(k+1)5=sk5+ s5

      (k+1)14=k14+ 14

      (k+1)15=k15+ 15

olacaktır. Yukarıda açıklanmış olan işlem, istenildiği kadar tekrarlanabilir. Durma kriteri olarak F(x(k+1)) e veya (x(k+1)-x(k)) s kullanılabilir. Mekanizmalarda devre denklemlerinin çözümü sırasında genellikle çok küçük hata değerleri kullanılsa bile yaklaşık 10 etapta çözüm bulunabilmektedir. Bunun mümkün olmadığı durumlar mekanizmanın kilitlendiği veya kilitlenmeye yakın olduğu konumlar veya ilk yapmış olduğumuz tahminin gerçek konum değişkenlerine göre çok uzak olduğu durumlardır. Bir mekanizmanın ölçekli çizimi üzerinde gözle bile yapabileceğimiz ilk tahminler genel olarak uygun bir ilk tahmin olabilir.

Eğer mekanizma tüm bir çevrim için incelenecek ise, bu işlem her bir krank açısı için yapılmalı ve her bir krank açısında konum değişkenleri değerleri için tahminde bulunulmalıdır. Ancak uygulamada mekanizmanın birinci konumu için tahmin yapılması, ikinci konum, eğer mekanizma bağımsız parametresinin ufak bir değişimi sonucu oluşuyor ise (örneğin krank dönmesi iki konum arasında 100 az olduğunda), bir önceki konumda elde edilen konum değerlerini bir sonraki konum değişkenleri için tahmin edilen değerler olarak kullanılmasının mümkün olduğu görülmüştür. Bu farkların büyük olduğu durumlarda çözüm yakınsamayabilir veya mekanizmanın farklı bir montaj şekline (ilk konumdan bu şekle mekanizma sökülüp takılmadan getirilemez) yakınsama olabilir. Benzer bir şekilde Jacobian matrisinin sıfır veya sıfıra yakın olduğu durumlarda bazı sorunlar ortaya çıkabilir. Genellikle lineer olmayan denklemlerin çözümü sırasında karşılaşılan problemler aynen mekanizmaların çözümü içinde geçerlidir.

Bu yöntem çok genel olup düzlemsel veya uzaysal, kayar, döner veya kamalı silindir mafsallı her türlü mekanizma için kolayca uygulanabilir. Uzaysal mekanizmalar için elde edilecek olan denklem sayısı tabiiki daha fazla olacaktır. Aynı yöntem günümüzde kullanılmakta olan çeşitli mekanizma analiz programlarındada kullanılmaktadır.

Örnek

Yukarıda gösterilen mekanizmada uzuv boyutları:

A0A=250 mm; C0C= 600 mm; CB = 350 mm; BD= 600 mm; A0C0= 710 mm; AB=1225 mm ve DE= 1100 mm

s16 konum değişkeni değerini 12=600 iken bulmak istiyoruz.

Mekanizmanın 12=600 konumunda, bilinmeyen konum değişkenleri için 13=2000, 15=1800; 14=800 ve s16=400 mm değerlerini tahmin edelim. Tabiiki bu değerler devre kapalılık denklemlerini tam olarak sağlayamıyacaktır. Bunun için Excel paket programının "Solver" fonksiyonundan yararlanacağız. Bu yöntem Newton Raphson yöntemini kullanmaktadır.

Problemin çözümüne girmeden önce, Excelin "Tool" menüsünden "Add-Ins" komutu seçilir. Bu komutla birlikte ekrana Excele dahil edebileceğiniz çeşitli işlemler görüntülenecektir. Bunların içinden "Solver Add-In" seçilerek Excel programı içine yerleştirilir. Şimdi Excel "Tool" menüsünden erişilebilecek "Solver" adlı bir program bulunmaktadır. Şimdi A1-A10 hücrelerine uzuvlar için kullandığımız adları ve B kolonunda karşı gelen hücrelere ise uzuvların değerlerini yazalım. A12 hücresine bağımsız değişken adını ve B12 hücresine çözüm yapacağımız değerini yazalım. A13-A16 hücrelerine bağımlı değişken adlarını ve karşı gelen B hücrelerine bu giriş kolu açısı için bu değişkenler için tahminimizi yazalım. B19-B22 hücrelerine değerleri sıfır olması gereken devre kapalılık denklemlerini yazalım. Bu Hücrelerdeki denklemler:

Denklem 1:

      a2 cos12 + a3 cos13 + d1 - a5 cos15 - a4 cos14 = f1 = 0

      Excelde yazılımı ise (B19 Hücresi):

      =$B$2*COS(B12)+$B$3*COS(B13)+$B$9-$B$5*COS(B15)-$B$4*COS(B14)

Denklem 2:

      a2 cos12 + a3 cos13 + a1 - a5 cos15 - a4 cos14 = f2 = 0

      Excelde yazılımı ise (B20 Hücresi):

      =$B$2*SIN(B12)+$B$3*SIN(B13)+$B$1-$B$5*SIN(B15)-$B$4*SIN(B14)

Denklem 3:

      a2 cos12 + a3 cos13 + b4 cos14 + a6 - s16 = f3 = 0

      Excelde yazılımı ise (B21 Hücresi):

      =$B$2*COS(B12)+$B$3*COS(B13)+$B$4*COS(B14)+$B$6-B16

Denklem 4:

      a2 cos12 + a3 cos13 + b4 cos14 - b1 = f4 = 0

      Excelde yazılımı ise (B22 Hücresi):

      =$B$2*SIN(B12)+$B$3*SIN(B13)+$B$4*SIN(B14)-$B$7

Eğer seçmiş olduğumuz bağımlı parametre değerleri doğru olsa idi, B19-B22 hücre değerleri sıfır olurdu. Tahminlerde hatalar olacağından bu değerler sıfır olmayacaktır. Solver fonksiyonunu kullanmak için bu fonksiyonların karelerini alalım:

f = f12 + f22 + f32 + f42

eğer f sıfır olur ise, diğer fonksiyon değerleride sıfır olacaktır. (solver fonksiyonu çok değişkenli bir fonksiyonu minimize, maksimize etmek veya belirli bir değer almasını sağlamak için kullanılabilir). Bu fonksiyonların kareleri toplamı B18 hücresine "=B19^2+B20^2+B21^2+B22^2" şeklinde yazılmıştır. B18 hücresinde iken "Tools" menüsünden önceden yüklemiş olduğumuz "Solver" fonksiyonunu çağıralım. "Set Target Cell (Hedef hücre belirle)" olarak B18 hücresini ve "By changing cells" yani "değerleri değiştirilecek hücreler" olarakda B13-B16 hücrelerini işaretliyelim (bu hücrelerde sırası ile 13=2000, 14=800, 15=1800 (radyan olarak) ve s16=400 değerleri bulunmaktadır). İkinci satırında "Equals to" ya karşılık "Value of" ı işaretleyip karşısında 0 değeri olmasını sağlıyalım. "Options" tuşuna bastıktan sonra istediğimiz hata oranı, hassasiyet tolerans değer-leri ile maksimum zaman ve iterasyon sayılarını değiştirebiliriz. Bu sayfayı "OK" tuşuna basıp kapattıktan sonra "solve" komutuna bastığımızda bu fonksiyon B13-B16 değerlerini değiştirerek B18 hücresini sıfır yapmaya çalışacaktır. B18 hücresini sıfır yapan değerler tabii ki B19-B22 hücrelerini de sıfır yapacaktır. Aşağıda başlangıçta yazılmış olan İLK B kolonu ve "Solver" fonksiyonu uygulandıktan sonra elde edilen Sonuç B kolonu birlikte gösterilmektedir (ilk B ve sonuç B kolonları aynı anda yoktur).

 

©es