Please use this identifier to cite or link to this item: http://hdl.handle.net/11527/16496
Title: Yapay sinir ağları ile robotlarda hareket kontrolü
Other Titles: Motion control of robots with artificial neural networks
Authors: Kuzucu, Ahmet
Arslan, Hakan
100704
Kontrol ve Otomasyon Mühendisliği
Control and Automation Engineering
Keywords: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol
Makine Mühendisliği
Hareket denetimi
Robot kolu
Robotlar
Yapay sinir ağları
Computer Engineering and Computer Science and Control
Mechanical Engineering
Motion control
Robot arm
Robots
Artificial neural networks
Issue Date: 1999
Publisher: Fen Bilimleri Enstitüsü
Institute of Science and Technology
Abstract: Robot manipülatörler, endüstriyel otomasyon alanında giderek artan bir şekilde önem kazanmaktadır. Son zamanlarda geliştirilen endüstriyel robotlarda, yüksek hız ve hassasiyetle yörünge takibi yetenekleri gerçekten önemli özelliklerdir. Manipülatörler, eklemlerle bağlı birkaç koldan meydana gelirler. Her eklem kendisini hareket ettiren bir eyleyiciye sahiptir. Hareket momentleri, denetleyiciler tarafından verilir. Manipülatörler doğrusal olmayan çok giriş çıkışlı sistemlerdir. Bir eklemin hareketi diğer eklemin dinamiğini etkiler ve bu nedenle manipülatörler aynı zamanda etkileşimli dinamik sistemlerdir. Serbestlik derecesindeki ve her kolun çalışma alanındaki artış, daha karmaşık bir dinamik yapıya neden olur. Doğrusal olmayan robot manipülatörlerin kontrolü için etkin kontrol algoritmaları kullanılmalıdır ve bu kontrol algoritmaları genellikle robot manipülatörün dinamik denklemlerine gereksinim duyar. Fakat manipülatörler endüstriyel kullanım için iyi yapılandırılmış olsa bile, yapısal ve yapısal olmayan belirsizliklerle karşı karşıyadır. Yapısal belirsizlikler daha çok manipülatör kolu niteliklerinin noksanlığından ve bilinmeyen yüklerden kaynaklanır. Yapısal olmayan belirsizlikler ise, doğrusal olmayan sürtünmeler, bozucular ve dinamiğin yüksek frekanslı kısımları gibi modellenemeyen dinamik yapıdan kaynaklanır. Bu karmaşıklığa ve belirsizliklere rağmen, çok eklemli manipülatörler genel biçimde modellenebilir. Bu tip sistemler için ideal denetleyicilerin tasarımı, özellikle manipülatörlerin iyi bir dinamik performansı koruyarak yüksek hızla hareket etmeleri istendiğinde, günümüz kontrol teorisinin en çok ilgi çeken çalışmalarındandır. Klasik kontrolde manipülatörün her eklemi, önceden tespit edilen sabit kazançlar ile, basit konum ve hız çevrimleri ile kontrol edilir. Bu bağımsız eklem kontrolü, al-koy türünden noktadan noktaya çalışmalar sırasındaki hareket kontrolü için uygun olabilir. Hassas yörünge takibi için, özellikle robot dinamiğinin zamana bağlı parametreleri ve yük değişimleri, daha etkin algoritmalara gereksinimi ortaya çıkarır çünkü sabit kazançlı klasik denetleyiciler, bu çalışma koşullarında uygun kontrol sinyallerini veremez. Daha çok yüksek hıziardaki çalışmalar, robot dinamiğindeki belirsizliklerden etkilenir. İstenilen yörüngeyi geniş bir hareket alanı ve yük çeşitliliği için mümkün olduğu kadar yakından takipte iyi bir başarım elde etmek için, kontrol yapısı kendisini dinamik koşullardaki değişimlere uydurmalıdır. Manipülatörler için uyarlamalı denetleyiciler genellikle dinamik modelin detaylı olarak tanımlanmasına gereksinim duyar. Yapısal ve yapısal olmayan belirsizlikler durumunda, iyi bir izleme başarımı verecek uyarlama yönteminin bulunması kolay değildir. Yapay sinir ağları, klasik denetim metotlarında karşılaşılan güçlüklerin üstesinden gelebilecek potansiyele sahiptir. Evrensel yaktaşıklama özellikleri nedeni ile, herhangi bir manipülatör için uygun olabilecek genel denetleyiciler olarak kullanılması mümkündür, öğrenme yetenekleri sayesinde başarımlarını arttırarak, manipülatör dinamiği bilgilerini gerektirmeksizin, çevrimdışı veya çevrimiçi öğrenme ile tatmin edici sonuçlara ulaşabilirler. Yapay sinir ağlan bir sistemi herhangi bir model bilgisine ihtiyaç olmaksızın kontrol etmeyi öğrenebilir, bu durumda öğrenme XII için, girişler, çıkışlar ve eğitim sinyali gereklidir. Yapay sinir ağları eğer model hakkında bilinenler varsa, robot dinamiği kontrolünde kompansatör olarak kullanılabilirler. Yapay sinir ağının iç yapısı, çıkış için istenilen hedef fonksiyona bağlıdır. Eğer kontrol edilen sistem karmaşık bir dinamik yapıya sahip ise, dinamik davranışı tanımlayabilmek için geniş ağ yapıları gerekebilir ve bu gerçek zamandaki hesap yükünü arttırır. Yapay sinir ağının yaklaşıklama yeteneğindeki güç, nöron olarak adlandırılan işleme elemanları ve her bir nöronun çıkışını üreten etkinlik fonksiyonları ile ortaya çıkar. Doğrusal olmayan işleme elemanları olmaksızın, yapay sinir ağı doğrusal olmayan yapıları öğrenemez, öğrenme algoritmasının ana amacı, nöronları birbirine bağlayan en uygun ağırlıkların bulunmasıdır. Geriye yayınım yöntemi, çok katmanlı ileribeslemeli ağ mimarisi için en çok popüler olan öğrenme algoritmalarından biridir ve gözeticili bir yöntem olarak yapay sinir ağı uygulamalarında çokça ve başarıyla kullanılmaktadır. Yapay sinir ağı tasarımı için gereken teori iyi tanımlanmamıştır ve saklı katmanların, saklı katmandaki nöron sayılarının, etkinlik foksiyonlarının, öğrenme kurallarının seçimi genellikle deneme yanılma yönteminin kullanılmasını gerektirmektedir. Bu tez çalışmasının ana katkısı, eğitilmiş ağın iç yapısının incelenmesi ve bu sayede yapay sinir ağı mimarisinin tasanm işini daha iyi hale getirebilmektir. Bu amaçla ilk adım, eğitim sonunda etkinlik fonksiyonlarının, tanım aralıklarına göre olan davranışlarını incelemektir, ikinci adım, etkinlik fonksiyonlarının zamana veya ağ girişlerine karşı gösterdikleri davranışları karşılaştırmaktır. Üçüncü adım, ağ çıkış fonksiyonu bileşenlerini karşılaştırmaktır. Ağ çıkışında yapılan ölçeklemenin, ağırlıkların yenilenmesi işlemini ve ağırlıkların mutlak değer ortalamalarını nasıl etkilediği de gösterilmiştir. Sayısal benzetim için, saklı katmanda farklı sayıda nöron içeren yapay sinir ağı mimarileri kullanılmıştır. Geribesleme hatası ile öğrenme yöntemi, iki serbestlik dereceli robotun ters dinamiğini, 4s süren zaman aralığında belirlenmiş yörünge üzerinde öğrenmek için kullanılmıştır "Şekil 1". Şekil 1. Geribesleme hatası ile ters dinamik öğrenme. Saklı katmanda sigmoid fonksiyonlar ve çıkış nöronları için de doğrusal fonksiyonlar kullanılmıştır. Yapay sinir ağı çıkışları çok önemlidir çünkü hedef fonksiyon ile ağın çıkışı arasındaki fark burada ölçülür. Yapay sinir ağlarının fonksiyon yaklaşıklama yeteneklerini etkin olarak kullanmak için, çıkışta doğrusal fonksiyon bile kullanılsa, ağ çıkışında ölçeklendirme yapılması gereklidir, ölçeklendirme yapılmazsa, çıkış XIII katmanı ağırlıkları mutlak değer olarak büyür ve bu, saklı katman nöronlarının tanım aralıklarını etkiler. Saklı katmandaki sigmoidlerin giriş aralıklarının genişlemesi bu fonksiyonların doyuma gitmesine neden olur ve bu tüm öğrenme algoritmasını kötü şekilde etkiler. Saklı katmandaki sigmoid fonksiyonların yapılarını görebilmek için 4 saklı katman nöronlu, ölçekli ve ölçeksiz ağ yapıları, "Şekil 2" ve "Şekil 3"de karşılaştırmıştır. Sigmoid fonksiyonların tanım aralıkları "Şekil 2"de istenilene yakın olmasına rağmen, "Şekil 3"de, geniş tanım aralıkları nedeni ile, doyuma giden nöronlar ortaya çıkmıştır. Bu sigmoid fonksiyonlar, yapay sinir ağı çıkışlarında farklı sonuçlara sebep olurlar. Ağ çıkış fonksiyonlarının bileşenleri "Şekil 4"de görülebilir. Sigmoid fonksiyonlardaki doyma etkisi, doğrudan ağ çıkış bileşenlerini etkiler. Bu bileşenlerin toplamı, istenilen ağ çıkışları ile "Şekil 5" üzerinde görülebilir. Saklı katmanda aynı sayıda nöron kullanılmasına rağmen, ölçeklendirme nedeni ile, ağ çıkışları çok farklı olabilmektedir. Sigmoid fonksiyonların görsel incelenmesi, bunların verimliliği hakkında fikir verir. Eğer bunların tanım aralıkları geniş veya dar ise, bu nöronların yaklaşıklama işleminde yeteri kadar verimli olmadığı söylenebilir. Dar tanım aralıkları, sigmoid fonksiyonların doğrusal bölgede kalmalarına neden olur. Yapay sinir ağı, birden fazla çıkışa sahip olduğunda, bu çıkışların değişim aralıkları, öğrenmeyi iyileştirmek için ölçeklendirme ile dengeli hale getirilebilir, ölçeklendirme ile, az sayıda saklı katman nöronu için bile iyi sonuçlar elde etmek mümkündür, aksi halde iyi sonuç elde etmek için daha geniş ağ yapılarına ihtiyaç duyulmaktadır. Saklı katmandaki nöron sayısı arttıkça, ağırlıkların mutlak değer ortalamaları düşer ve bu sigmoid fonksiyonların doyuma gitmesini engeller. Şekil 2. Ölçekli ağ çıkışı için saklı katman nöronları. fi (neti,) f?(nethp,) j = 1 -0.5 -10 -1 j = 2 10 -10 ; = 3 j = 4 -10 0 net;, 10 -10 0 net;, 10 Şekil 3. ölçeksiz ağ çıkışı için saklı katman nöronları. XIV Ölçekli YSA çıkışı bileşenleri (N m ) zaman(s) 4 Ölçeksiz YSA çıkışı bileşenleri (N m ) 3 zam an(s) 4 Şekil 4. İkinci eklem momenti için yapay sinir ağı çıkış bileşenleri. 30 İkinci eklem m om enti(N m ) ^\ -30, ?İstenilen moment -ölçekli YSA çıkışı 3 zaman(s) 4 30 İkine ieklem m o m e n ti(N m ) -3 0, İsten ilen moment Ölçeksiz YSA çıkışı 3 zaman(s) 4 Şekil 5. ikinci eklem momenti için yapay sinir ağı çıkışları. XV Ölçeklendirme gözönüne alınmazsa, aynı hedef fonksiyon için daha geniş ağ yapıları ortaya çıkabilir ve bu durum, eğitilmiş ağın iç yapısı incelenmezse anlaşılamayabilir. Sigmoid fonksiyonlar ve ağ çıkış bileşenleri, ağın topolojik yapısı hakkında pekçok faydalı bilgi verir. Geribesleme hatası ile öğrenme yönteminde, yapay sinir ağı sistemin ters dinamiğini öğrenir ve klasik denetleyici çıkışları zamanla sıfır civarına gider ve yapay sinir ağı ileribesleme denetleyici gibi davranır. Bu yöntemde, ağın çıkış hatalarının kareleri toplamı, PD denetleyici çıkışlarından hesaplanır. Her kontrol çevrim zamanı için artan tur sayısı ile, PD denetleyici çıkışlarının kareleri toplamı, "Şekil 6" ve "Şekil 7"de görüldüğü gibi azalmaktadır. Bu hataların yakınsaması, ölçekli ve ölçeksiz ağ çıkışları için farklıdır. İlginç olan sonuç, saklı katmandaki daha fazla sayıda nöron için, ölçekli ve ölçeksiz yapılar arasındaki fark azalmaktadır. Saklı katmanda 4 ve 24 nöron kullanan ağ yapıları karşılaştırıldığında, 24 nöronlu yapı için, birinci ve ikinci eklemlerin PD denetleyici çıkışlarının kareler toplamı, ölçekli ve ölçeksiz ağ çıkışları için, birbirine daha yakındır, ûlçeklendirmenin etkisi, büyük ağ yapıları için azaldığından, saklı katmanda gereksiz sayıda nöron kullanımına sebep olabilir. Dinamik sistem kontrol uygulamaları için, bir yapay sinir ağı kullanıldığında, yapay sinir ağlarının fonksiyon yaklaşımlama yaptıkları daima gözönünde tutulmalıdır, iyi tasarlanmış ağ yapıları kontrol sisteminin başarımını arttırır, aksi halde YSA hem istenilen başarımı sağlayamaz hem de gereksiz yere hesap yükünü arttırır. 1. eklem I* -ölçek, = 10 -Blçek,=l 0 10 20 30 40 SO SO 70 Tur sayısı 10 2. eklem ir 2 PD --olçek2=2.5 -ölçek2=l 10 20 30 40 50 60 70 Tur sayısı Şekil 6. PD denetleyici çıkışlarındaki azalma (4 nöron için). 10 1. eklem 0 10 20 30 40 50 60 70 Tur sayısı 10 2. eklem I* 2 PD - ölçek2=2.5 -ölçekı=l Şekil 7. PD denetleyici çıkışlarındaki azalma (24 nöron için).
 Robot manipulators have become increasingly important in the field of industrial automation. High speed and high precision trajectory tracking capabilities are really important properties for recently developed industrial robots. Manipulators consist of several links connected by joints. Each joint has an actuator which drives the joint. Driving torques are given by controllers. Manipulators are nonlinear multi input multi output systems. Movement of one joint affects the dynamics of another joint, so manipulators are coupled dynamic systems as well. Increase in the degree of freedom and work range of each link, causes more complex dynamic structure. Effective control algorithms should be used to control the nonlinear robotic manipulators and these control algorithms generally require the dynamical equations of the robot manipulator. But, manipulators are subjected to structured and unstructured uncertainties even in a well structured setting for an industrial use. Structured uncertainties are mainly caused by imprecision in the manipulator link properties and unknown loads. Unstructured uncertainties are caused by unmodeled dynamics, such as nonlinear friction, disturbances, and the high frequency part of the dynamics. In spite of these complexities and uncertainties, multi joint manipulators can be modeled in a general form. Design of ideal controllers for such systems is one of the most challenging tasks in control theory today, especially when manipulators are asked to move very quickly while maintaining good dynamic performance. In conventional control scheme, each joint of manipulator is controlled with a simple position and velocity servo loops with predetermined constant gains. This independent joint-control scheme can be adequate for point to point motion control such as pick and place tasks. For precise trajectory tracking, especially with time varying parameters of robot dynamics and changes in pay-loads, the need for more efficient algorithms arise, because conventional controllers with constant gains can not give proper control signals under these working conditions. Especially, high speed operations are effected by the uncertainties of the robot dynamics. To obtain good performance for tracking the desired trajectory as closely as possible over a wide range of motion and payloads, control structure should adapt itself for changes in dynamic conditions. Adaptive controllers for manipulators usually require the detailed description of the dynamic model. To find an adaptive scheme that can give good tracking performance for both structured and unstructured uncertainties is not an easy task. Artificial neural networks have the potential to overcome these difficulties experienced by conventional control methods. Because of their universal approximation feature, they could be used as general controllers that suitable for any manipulator. With their learning ability, neural networks can improve their performance and finally achieve satisfactory results through offline or online learning without requiring explicit knowledge of manipulator dynamics. Neural networks can learn to control the system without using any model knowledge, in this xvn case, only inputs, outputs and training signal are necessary for learning. Neural networks can also be used as compensators for the control of robot dynamics, if some model knowledge exist. Internal structure of the neural network is depend on the target function that desired for output. If controlled plant have complex dynamical structure, large networks may be required to identify the dynamic behaviour and this increases the real time computational burden. The power of approximation capability of neural network arises with their processing elements which called as neurons and the activation functions (e.g. sigmoids) of the neurons that produce the outputs for each neuron. Without nonlinear processing elements, neural network can not learn the nonlinear structures.The main purpose of the learning algorithm is to find the best suitable weights that connect neurons. Backpropagation method is one of the most popular learning algorithms for multi layer feedforward network topology and it has been widely and succesfully used in neural networks applications as a supervised method. The theory to design a neural network is not well defined, so determination of hidden layers, number of neurons in the hidden layers, activation functions, learning rules etc. are generally requires using of trial error method. Main contribution of this thesis is to analyse the internal structure of trained networks and to improve the design process of neural network architecture. For this purpose, the first step is to investigate the range of sigmoidal activation functions versus their input domain after training. The second step is to compare the activation functions versus time or input of the network. The third step is to compare the components of network output function. It is also shown that scaling in the output of the network how affects the weight updating process and mean absolute values of weights. For numerical simulation, neural network architectures are used with different number of neurons in their hidden layer. Feedback error learning method is used to learn the whole inverse dynamic structure of the two degrees of freedom robot in a specified trajectory for 4s time interval "Fig.r. Figure 1. Inverse dynamics learning with feedback error. Sigmoid functions in the hidden layer and linear functions at the output neurons have been used. Neural network outputs are very important because the difference between target function and neural output are measured from this side of the network. To use the function approximation capabilities of the neural networks efficiently, scaling of the network outputs are necessary even for linear output neurons. Without scaling, output layer weights get larger absolute values and this XVIII affects the domain of the hidden layer sigmoid functions. Increase on the input ranges of the hidden layer sigmoids can cause saturation on these functions and this badly effects whole learning algorithm. To see the structure of the hidden layer sigmoids, scaled and unsealed neural network outputs for 4 hidden layer neurons, are compared in "Fig.2" and "Fig.3". In "Fig.2", input domains of sigmoids are near to desired ones, but in "Fig.3", because of larger domains, saturated neurons arise. These sigmoid functions cause different results at the neural network outputs. Components of the network output functions can be seen in "Fig.4". Saturation effect on sigmoid functions, directly affects the network output components. Sum of these components can be seen in "Fig.5" with desired network outputs. Despite using same number of neuron in the hidden layer, because of scaling, network outputs can be very different. Visual analysis of sigmoid functions gives the idea about their efficiency. If their input domains are wide or narrow, it can be said that these neurons are not efficient enough for approximation process. Narrow input domains, cause sigmoid functions to be in their linear region. When the neural network has more than one output, the functional range of these outputs can be balanced with scaling to improve the learning process. With scaling, even for small number of hidden layer neurons, it is possible to get nice results, otherwise larger network structures are necessary to obtain good results. With increasing number of hidden layer neurons, mean absolute values of weights decreases and this prevents sigmoid functions from saturation. Figure 2. Hidden layer neurons for scaled network output. f?(nethpl) î,(net"pj) J = 1 -0.5 ;- 2 -10 10 -10 -5 -1 ;'= 3 -10 nethtj 10 -1 j = 4 -10 nethpj 10 Figure 3. Hidden layer neurons for unsealed network output. XIX NN scaled output components (Nm) -3 time(s) 4 NN unsealed output components (Nm) 3 time(s) 4 Figure 4. Neural network output components for second joint torque. 30 Second joint torque (Nm) -30 D esired torque 3 time(s) 4 30 Second joint torque (Nm ) -3 0, D e sired torque Unsealed NN output 3 tim e (s ) 4 Figure 5. Neural network outputs for second joint torque. xx If scaling is not considered, for the same target function, larger network structures can arise and this situation can not be understood without internal analysis of the trained network. Sigmoid functions and components of neural network output give many useful knowledge about the topology of the network. In feedback error learning method, neural network learns the inverse dynamic of the system and classical controller outputs go to near zero in time and neural network acts as a feedforward controller. In this method, sum of squared errors of neural network is calculated from PD controller output. For each control cycle time, with increasing number of epochs, sum of squared PD output decreases as can be seen in "Fig 6" and "Fig 7". This error convergence is different for scaled and unsealed neural network outputs. The interesting result is, for larger number of hidden layer neurons, the difference between scaled and unsealed outputs decreases. When for 4 and 24 hidden layer neuron structures are compared, the first and second joint sum of squared PD controller outputs are more closer for 24 neuron scaled and unsealed outputs. Scaling effect decreases for large network structures, so this can cause of using unnecesarry number of neurons in hidden layer. For dynamic system control appications, when a neural network is used, it should always be considered that neural networks are function approximators. Well designed network structures improve the system performance otherwise network can not gives the desired performance and computational burden increases. 10 10 10 0 10 20 30 40. SO 80 70 epoch number 10 20 30 40 SO 60 epoch number 70 Figure 6. PD controller outputs when 4 number of hidden neuron is used in NN. 10 1. joint 10 - scalei=10 -scalei=l 20 30 40 SO epoch number 60 70 10 10 2. joint - scale2=2.5 -scalei=l 30 40 SO 60 epoch number Figure 7. PD controller outputs when 24 number of hidden neuron is used in NN. 
Description: Tez (Doktora) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1999
Thesis (Ph.D.) -- İstanbul Technical University, Institute of Science and Technology, 1999
URI: http://hdl.handle.net/11527/16496
Appears in Collections:Kontrol ve Otomasyon Mühendisliği Lisansüstü Programı - Doktora

Files in This Item:
File Description SizeFormat 
100704.pdf4.61 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.