Upload
atila
View
212
Download
0
Embed Size (px)
Citation preview
Yarı Etkin Diz Eklemleri Mikrodenetleyici Uygulamasında
İvmeölçer Verisinden Diz Açısı Kestirimi
Prediction of Knee Angle from Accelerometer Data for
Microcontroller Implementation of Semi-Active Knee Prosthesis
Ö. Tolga Altınöz1, Atila Yılmaz
2
1. Elektronik Teknolojisi Programı,
Hacettepe Üniversitesi Bala Meslek Yüksekokulu [email protected]
2. Elektrik ve Elektronik Mühendisliği Bölümü,
Hacettepe Üniversitesi [email protected]
Özetçe
Bu çalışmada, yarı etkin diz eklemi mikrodenetleyici
uygulamasında kullanılmak üzere ivmeölçer verisinden
yürüme fazı kestirimi tartışılmaktadır. Eşzamanlı olarak
laboratuar ortamından elde edilen ivmeölçer ve görüntü
verilerinden elde edilen diz açıları kullanılarak yürüyüş fazı
kestirimi hedeflenmiştir. Laboratuar ortamından elde edilen
gerçek yürüyüş verileri kullanılarak yapılacak faz kestirimi
uygulaması için, değişken yol ve kullanıcı koşullarına uyum
gösterebilme özelliği nedeni ile yapay sinir ağı kullanılmıştır.
İvmeölçer verisi ve diz açısı verileri sinir ağlarının öğrenme
ve test setleri için hazırlanmıştır. Mikrodenetleyici tabanlı
yapay diz ekleminde kullanılacak yapay sinir ağı mimarisi için
uygulanabilir ağ yapıları araştırılmış işlem birimi sayısı ve
veri penceresi değişkenleri üzerinden performansları
karşılaştırılmıştır.
Abstract
In this study, the gait phase determination from accelerometer
data is discussed for semi-active leg prosthesis for
microcontroller implementation. The gait phase prediction is
aimed by using knee angle obtained from the image of walking
subject and accelerometer data recorded synchronously in the
laboratory. For the phase determination of a gait, an artificial
neural network is used because of its adaptive features for
variable path and user. The accelerometer and knee angle
data are prepared for the trainining and the testing set of the
artificial neural network. The applicable network structure to
be used in microcontroller based artificial knee is
inverstigated and their performances are tested in terms of the
the number of neurons and data window size.
1. Giriş: Yapay Diz Eklemi ve Denetimi
Yapay diz eklemleri doğal bir yürüyüşe yaklaştıkları ölçüde
hastaya önemli bir rahatlık sağladıkları bir gerçektir.
Günümüzde etkin, yarı etkin ve pasif yapay diz eklemleri bu
amaca hizmet etmektedirler. Ayrıca etkin ve yarı etkin diz
eklemlerinde yürüyüş safhalarını, dış etkenlere rağmen, en iyi
takip edebilmesi için geliştirilen denetim birimleri çok önemli
bir rol üstlenmektedir. Denetim sistemleri değişken yol ve
kullanıcı koşulları için gerekli uyumu gösterebilmeli ve bu
değişime uygun ayarlamaları yapabilmelidir. Farklı denetim
algoritmaları bu amacı gerçekleştirmek için kullanılmıştır [1-
3]. Bu çalışmalar içinden basitliği ve özellikle
mikrodenetleyici programlama kolaylığı nedeni ile sonlu
durum denetimi sıklıkla kullanılmıştır [2-3]. Bu denetim
yöntemi diz eklem denetimi için genel bir yöntem öne
sürmemesi, farklı algılayıcılar için farklı denetim sistemi
tasarlanması ve karmaşık denetim modeli tasarımı nedenleri ile
denetim algoritmaları üzerinde çalışmalar sürmektedir. Bu tür
çalışmalarda Yapay Sinir Ağı tabanlı uyarlamalı denetim
birimleri önemli bir alternatif olarak ortaya çıkmaktadır [4-6].
Yapay sinir ağları tasarlandıktan sonra mikrodenetleyici
uygulaması olarak diz protezinde kullanılabilmelidir. Bu
nedenle oluşturulacak ağ mimarisinin en az sayıda işlembirimi
(nöron) içermesi ve uygulanabilir olması gerekmektedir. Bu
çalışmada yazılım ile karar verilen mimari yarı etkin diz
eklemi denetimi için mikrodenetleyiciye aktarılacaktır. Şekil 1
gerçekleştirilen yarı etkin diz eklem kontrol yapısını
göstermektedir.
Pnömatik silindir
Şekil 1: Yarı etkin diz eklemi kontrol yapısı
İvmeölçerlerden gelen veriler mikrodenetleyici ortamında
yorumlanmakta ve sonuçta elde edilen kontrol dürtüsü motor
sürücüsü tarafından doğal yürüyüşe en yakın hareketi
sağlamak için mekanik sistemleri (hidrolik, pnomatik veya MR
sönümlendiricisi) uyarmaktadır. Bu uyarım yürüyüş
fazlarındaki sönümlendirmeyi ayarlayan doğrusal adım
motorun iğne konumunun değiştirilmesi ile sağlanır. Şekil 2
denetleyicinin gerçekleştirmesi beklenen işlemleri
göstermektedir.
Şekil 2: Denetleyicinin gerçekleştirdiği görevler ve
algoritmalar
Laboratuar ortamında yürüyüş analizi için birden fazla
ivmeölçerden veri almak daha iyi sonuçlar verebilmektedir.
Ancak diz ekleminde diz açısının tespitinde pratik uygulama
sınırlamaları nedeni ile belli bir hata çerçevesinde mümkün
olan en az sayıda ivmeölçer kullanılması amaçlanmaktadır.
Yapılan işlemler üç aşamadan oluşur. İlk aşamada,
ivmeölçerlerden alınan veri filtrelenir. Yürüyüş aşamasında
meydana gelen titreşim ivmeölçer verisinde yüksek frekanslı
salınımlara neden olacaktır. Tasarlanan filtre ile bu gürültü
azaltılır. Filtrelenmiş sinyal yapay sinir ağı mimarisine girerek
yürüyüş fazı tespit işlemi gerçekleştirilir ve motor denetim
algoritması için gerekli referans diz açısı sağlanır. Son aşama
olarak, motor kontrol algoritması diz ekleminin doğal
yürüyüşü sağlaması için doğrusal adım motor iğnesini
istenilen hareketi verecek konuma getirecek akım ve gerilimi
motor kontrol devresine iletir. Bu çalışmada, yürüyüş fazını
belirlemek için mikrodenetleyicide uygulanabilir sinir ağı
tespiti üzerinde durulmaktadır.
Bölüm 2’de yapay sinir ağı mimarisi tartışılmıştır. Bölüm
3’de filtre tasarımı ve bölüm 4 ve 5’de ise sırası ile benzetim
çalışmaları ve sonuçlar verilmiştir.
2. Yapay Sinir Ağı ve Problem Tanımı
Yarı etkin diz eklemi denetimi için, yürüyüş fazı
bulunmasında değişen yol ve kullanıcı koşullarına uyum
gösterebilecek, aynı zamanda mikrodenetleyicide
uygulanabilecek bir yapıya ihtiyaç duyulur. Değişik koşullara
uyum sağlaması nedeni ile bu çalışmada yapay sinir ağları
kullanılmaktadır. Şekil 3 üç katmanlı yapay sinir ağı
mimarisini gösterir.
Giriş
Vektörtü
Giriş
Katmanı
Gizli
Katman
Çıkış
Katmanı
.
.
.
.
.
.
Şekil 3: Üç Katmanlı YSA yapısı
Şekil 3’de gösterildiği gibi giriş vektörü ve katman boyutları
değişkendir ve bu boyutların seçimi uygulama ihtiyaçlarına ve
tasarımcıya bağlıdır. Bu çalışmada sinir ağının istenilen
performansı vermesi ve mikrodenetleyicide uygulanması
beklenmektedir. Bu nedenle,
giriş vektör boyutu
katman boyutları
için deneysel çalışmalar gerçekleştirilecektir.
Amaca uygun yapay sinir ağının eğitiminde girişi labaratuar
ortamından alınan ivmeölçer verisi oluşturur. Bu veri 2km/s
hızındaki bir yürüyüşte diz altına bağlanan ivmeölçerden gelen
verilerden elde edilmiştir. Ağ yapısının çıkışı ise diz açısı
oluşturmaktadır. Denklem 1 giriş vektörünü ifade eder.
)(...)1()( ikxkxkxu (1)
Denklemde verilen k değişkeni ivmeölçer verisinin ve i ise
ivmeölçerin geçmiş veri indeksini gösterir. Diz açısı
Hacettepe Üniversitesi Elektrik ve Elektronik
Mühendisliği’nde tasarlanarak kullanılan kameralı hareket
analiz düzeneği ile elde edilen görüntü verilerinden
üretilmiştir. Bu düzenek ile yürüyen deneğin eklemleri üzerine
konulan işaretleyicilerin takibi görüntü üzerinden
yapılabilmekte ve diz açısının yanısıra yürüyüş kinematiği
verileri hesaplanabilmektedir. Bu düzenek sayesinde diz açısı
ve ivmeölçerden gelen veriler eş zamanlı olarak
kaydedilmiştir. Bu giriş ve çıkış verileri uygun sinir ağının
bulunmasında ve eğitiminde kullanılmıştır. Diz açılarının
kullanımı sadece sinir ağının eğitiminde kullanılacak olup
eğitilmiş ağırlıklar daha sonra mikrodenetleyici ortamında
saklanacak ve ivmeölçer verilerinin diz açısı kestirimi işlevi
için kullanılacaktır.
Ağ kestiriminin mikrodenetleyicide bir uygulaması
olacağı için, yapay sinir ağı giriş vektör uzunluğunun küçük
seçilmesi ağ mimarisinin program hafızasında daha az yer
tutmasına ve daha hızlı çalışmasına yol açacaktır. Fakat vektör
boyutunun küçük seçilmesi Şekil 4’de gösterildiği gibi aynı
vektör uzunluğunun farklı anlamlar taşımasına rağmen sinir
ağı tarafından veriler arasındaki farkın algılanmasını
güçleştirir. Bu neden seçilecek vektör uzunluğu hem yeteri
kadar bilgi taşıyacak kadar büyük boyutta hem de hafızada az
yer tutabilmesi için küçük boyutta olmalıdır.
Mikrodenetleyici uygulaması için tasarlana yapay sinir
ağında üç katman bulunmaktadır. Bunlar sırası ile giriş, gizli
ve çıkış katmanlarıdır. Katman boyutlarını veren yapay sinir
ağı yapısı denklem 2 ile matematiksel ifadeye
dönüştürülmüştür.
3 2 1
1 1 1
123
N
k
kk
N
j
jjk
N
i
ijii awawawufffy (2)
Denklem 2 ile verilen yapay sinir ağında y yapay sinir ağı
çıkışını, kji ,, sırası ile giriş vektör, giriş katman ve gizli
katman boyut indekslerini, a ise bias değerini, f aktivasyon
fonksiyonunu ve 1N ,
2N ve
3N indekslerin en büyük
boyutlarını ifade eder. Vektör uzunluğunun seçiminde olduğu
gibi katman boyutlarının seçiminde de performans ve
mikrodenetleyici hafıza/hız oranları arasında bir denge
mevcuttur. Seçilen katman boyutları istenilen performansı
verebilecek kadar büyük olmalı aynı zamanda da hafızada
fazla yer kaplamayacak ve sistem hızını yavaşlatmayacak
şekilde seçilmelidir.
3. Filtre Tasarımı
Yapay sinir ağının giriş ve çıkış vektörünü yürüyüş esnasında
eşzamanlı olarak alınan ivmeölçer ve diz açıları oluşturur.
Şekil 5 ivmeölçerlerden alınan ve 2km/s hızındaki yürüyüşten
elde edilen verileri gösterir. Şekil 6 ise ivmeölçer verisine
karşılık gelen ve eşzamanlı olarak görüntü verilerinden elde
edilen diz açılarını göstermektedir.
0 50 100 150 200 250 300 350 400-350
-300
-250
-200
-150
-100Orjinal ivmeolcer x eksen verisi
0 50 100 150 200 250 300 350 400-300
-250
-200
-150
-100
-50Filtrelenmiş ivmeolcer x eksen verisi
0 50 100 150 200 250 300 350 400-300
-200
-100
0
100
200Orjinal ivmeolcer z eksen verisi
0 50 100 150 200 250 300 350 400-200
-150
-100
-50
0
50
100
150Filtrelenmiş ivmeolcer z eksen verisi
Şekil 5: İvmeölçerden gelen sinyal
0 50 100 150 200 250 300 350 400-10
0
10
20
30
40
50
60
70
80
örnek
Diz
Acila
ri
Şekil 6: Görüntü verilerinden elde edilen diz açıları
Şekil 5 ve 6 ile gösterilen veriler kullanılarak vektör uzunluğu
6 olan, 20 gizli katman ve 10 çıkış katman boyutlarına
(20x10) sahip sinir ağı için eğitim denenmiş ve elde edilen
sonuç sekil 7’de verilmiştir.
0 50 100 150 200 250 300 350 400-10
0
10
20
30
40
50
60
70
80
Şekil 7: Eğitim sonunda elde edilen sinir ağı sonucu
Şekil 7’de yapay sinir ağı çıkışı görülmektedir. Bu sonuç
farklı parametreler için denenmiş birçok ağ arasından seçilmiş
bir ağın performansını göstermektedir. Burada açıkça
görülmektedir ki, ağ yapısı ve vektör büyüklüğü ortalamanın
üzerinde seçilmesine rağmen sonuçta elde edilen çıkış
isteneni karşılamamaktadır. Bunun en önemli nedeni giriş
verisindeki ivmeölçerin yumuşak dokuya tutturulmasıdır. Diz
altına bağlanan ivmeölçerler her adımda bacağın serbest
salınımdan ve ayağın yer ile temasından dolayı verilere
yüksek frekanslı salınımlar üretmekte ve bu salınımlar da ağ
yapısında kestirim zorluğu oluşturmaktadır. Bu sorunun
giderilmesi için veri sisteme girmeden önce filtrelenmelidir.
Filtre tasarlamak için gerekli olan kesim frekansı, spektrum
frekans ekseninin [0,1] aralığında normalize edilmesiyle
belirlenir (örnekleme frekansı 30 Hz’dir. Grafikte verilen
frekans genişliği 0 ile Nyquist frekansı arasındadır ve bu
frekans örnekleme frekansının yarısına eşittir. Spektrum
eksensindeki ilk değer sıfır frekansına karşılık gelir ve bu
değer giriş veri toplamının logaritmik değerine eşittir). Bu
amaçla Şekil 8’de verildiği üzere yürüyüş verisinin spektrumu
çıkarılmıştır.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-60
-40
-20
0
20
40
60
Frekans rad/sn
Sp
ektr
um
Bü
yü
klü
ğü
(d
B)
Şekil 8: Yürüyüş verilerinden elde edilen spektrum grafiği
Yürüyüş hareketinin yüksek enerjili harmonikleri 0.4 rad/sn
kesim frekansından önce daha belirgindir. Bu amaçla denklem
3 ile verilen bir alçak geçiren filtre tasarlanmıştır. Tasarlanan
iki dereceli butterworth filtrenin kesim frekansı 0.4 rad/sn
olarak belirlenmiştir.
2
3
1
2
2
3
1
21
1)(
zaza
zbzbbzH (3)
Şekil 9 filtrelenmiş ivmeölçer sinyalini göstermektedir. Elde
edilen yeni sinyal, tekrar yapay sinir ağı eğitiminde
kullanılmıştır.
0 50 100 150 200 250 300 350 400-350
-300
-250
-200
-150
-100Orjinal ivmeolcer x eksen verisi
0 50 100 150 200 250 300 350 400-300
-250
-200
-150
-100
-50Filtrelenmiş ivmeolcer x eksen verisi
0 50 100 150 200 250 300 350 400-300
-200
-100
0
100
200Orjinal ivmeolcer z eksen verisi
0 50 100 150 200 250 300 350 400-200
-150
-100
-50
0
50
100
150Filtrelenmiş ivmeolcer z eksen verisi
Şekil 9: Filtrelenmiş sinyal
4. Benzetim Çalışmaları
Benzetim çalışmalarının amacı, mikrodenetleyicide
uygulanabilir ağ yapıları içerisinden amaca en uygun olanı
belirlemektir. Bu nedenle benzetim çalışmaları için seçilen
vektör uzunlukları 4, 6 ve 8; seçilen sinir ağı boyutları ise
(giriş katmanı x gizli katman) 10x5, 20x10 ve 30x20 dir.
Tablo 1: Sinir ağları ve performans tablosu
Giriş Vektör
Boyutu
Sinir Ağı
Boyutu En iyi Performans
4
10x5 0.093204
20x10 0.099347
30x20 0.1222
6
10x5 0.03125
20x10 0.027015
30x20 0.048921
8
10x5 0.045476
20x10 0.042356
30x20 0.028566
Tablo 1 farklı sinir ağı mimarileri ve vektör uzunlukları için
yapılan eğitim sonucunda ortalama hata karesi olarak
adlandırılan en iyi performans ölçütüne göre sinir ağı
mimarileri karşılaştırılmaktadır. Yapılan çalışmalarda elde
edilen en uygun ağ mimarisi 6 vektör uzunluğuna ve 20x10
sinir ağı yapısı olduğu bulunmuştur. Şekil 10 belirlenen en
uygun sinir ağı modeli için yapılan benzetim çalışması
sonucunu gösterir.
0 50 100 150 200 250 300 350 400-40
-20
0
20
40
60
80
100
Şekil 10: Çıkış Sinyali
Elde edilen ağda, çıkış sinyalini üzerinde eğitim süresini
arttırarak iyileştirmeler yapmak yada daha farklı hız ve eğim
senaryoları vererek ağın etkinliğini arttırmak mümkündür.
Daha önce yapılan çalışmamızda ağın karmaşıklığını arttırarak
daha farklı yürüyüş senaryolarını da modelleyebileceği
gösterilmiştir [7]. Elde edilen bu sonuçlar sonunda eğitilen
sinir ağı dsPIC33F128GP710 entegresinin kullanıldığı
mikrodenetleyici tasarımı üzerinde denenmiş ve ilk sonuçların
umut verici olduğu görülmüştür.
5. Sonuçlar
Bu çalışmada laboratuvar ortamında ivmeölçerlerden alınan
veriler yürüyüş açısı kestirimi ve en uygun sinir ağı tespiti
için kullanılmıştır. İvmeölçerden alınan verilerdeki yüksek
frekanslı salınımın giderilmesi iki dereceli butterworth filtre
uygulanmış ve filtrelenmiş sinyal sinir ağı mimarisine
uygulanabilir hale getirilmek üzere testlerde kullanılmıştır.
Son aşama olarak farklı boyutlardaki sinir ağı mimarisi ve
giriş vektör uzunluğu için denemeler yapılarak amaca en
uygun sinir ağı tespit edilmiştir. Gelecekteki çalışmalarda tek
eksen verisi yerine sagital düzlemdeki iki eksen verisi en
uygun yapay sinir ağı mimarisi tespitinde kullanılacak ve
mikrodenetleyici uygulaması ve mikrodenetleyicide
karşılaşılan diğer sorunlar tartışılacaktır.
6. Teşekkür
Bu çalışma San-Tez programı, 00035.STZ.2007-1 kodlu proje
kapsamında, Sanayi Bakanlığı tarafından desteklenmektedir.
7. Kaynakça
[1] D. Popoviç, M.N. Oğuztöreli, and R.B. Stein, "Optimal
Control for the Active Above-Knee Prosthesis," Annals
of Biomedical Engineering, Vol. 19, pp. 131-150, 1991.
[2] GF Philips, BJ Andrews, H Chizeck, and K Barnicle
"Finite Statet Control Of Paraplegic Gait Using a Hybrid
FNS Othosis," IEEE Engineering in Medicine &
Biology Society 10th Annual International Conference,
1988.
[3] Z. Daniel, S. Beatrice, and S. Gerhard, "Finite-State
Control of a Trans-Femoral (TF)Prosthesis," IEEE
Transactions on Control Systems Technology, Vol. 10,
No. 3, pp. 408-420, 2002.
[4] V. D. Kalanovic, and D. Popovic, "Feedback Error
Learning Neural Network for Trans-Femoral Prosthesis,"
IEEE Transaction on Rehabilitation Engineering, Vol. 8
No 1, March 2000.
[5] R.R. Lima Cisi and E.F. Cabral Jr. "Human Gait
Analysed by an Artificial Neural Network Model,"
Proceedings of the IV Brazilian Conference on Neural
Networks - IV Congresso Brasileiro de Redes Neurais,
ITA, pp. 148-151, 1999.
[6] P. Mordaunt and A.M.S. Zalzala, "Towards an
Evolutionary Neural Network for Gait Analysis, " IEEE
Computer Society, pp. 1922-1927, 2002.
[7] E. Can, A. Yılmaz, “Yürümenin Değişken Özelliklerinin
Yapay Sinir Ağları ile Modellenmesi,” IEEE 17. Sinyal
İşleme ve İletişim Uygulamaları Kurultayı, Nisan 2009.