IMU tabanlı ters kinematik model ile yürüme emülatörü
IMU based gait emulator using inverse kinematics model
Yazar: YAĞIZ TEZEL
Danışman: YRD. DOÇ. SIDDIK MURAT YEŞİLOĞLU
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2015
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Ters kinematik = Inverse kinematics

Özet:
İnsan yürüme hareketinin modellenmesine günümüzde birçok alanda ihtiyaç duyulmaktadır. İnsansı yürüme modelinin ihtiyaç duyulduğu alanlara insansı robotların yürüme hareketinin insana benzetilmesi, yaşlı insanlarda düşme algılama, yürüme sırasında toplanan parametreleri kullanarak medikal alanda hastalık teşhis ve tedavi analizi, insanların yürüyüş şekillerinin biyometrik kimlik olarak kullanılması örnek olarak verilebilir.
Bahsedilen alanlarda insansı yürüme modelinin oluşturulması ve kullanılabilmesi için insansı yürüme hareketini takip eden sistemlere ihtiyaç duyulmaktadır. İnsan yürüme hareketinin takibi için günümüzde genel anlamda üç farklı yöntem kullanılmaktadır. Bunlar optik, elektromanyetik ve eylemsizlik tabanlı yöntemlerdir. Bu yöntemlerin birbirleri arasında çeşitli avantaj ve dezavantajları mevcuttur. Bu yüzden kullanılacak uygulamanın özelliklerine göre kullanılması gereken yöntem seçilmelidir.
Günümüzde MEMS (Microelectromechanical Systems) tabanlı eylemsizlik sensörleri düşük fiyatlı ve kolay bulunur hale gelmişlerdir. Ayrıca MEMS sensörlerinin çok küçük boyutlarda olmaları içerisinde birçok MEMS sensörü barındıran IMU (Inertial Measurement Unit) tasarımı yapılmasını mümkün hale getirmiştir. MEMS tabanlı sensörleri içerisinde barındıran IMU' lar kullanılarak insan hareketinin takip edilmesi eylemsizlik tabanlı yöntemler sınıfına girmektedir. IMU' ların taşınabilirlik, erişilebilirlik ve maliyet anlamında diğer sensör ve yöntemlere karşı avantajlı olması bu yöntemi öne çıkartmaktadır.
Yürüme hareketinin analizinin ve emüle edilmesinin literatürdeki diğer çalışmalardan farklı bir yöntem kullanılarak gerçekleştirilmesi bu çalışmanın asıl motivasyonudur. Literatürde genel olarak gövde altındaki tüm eklemlere IMU veya diğer algılayıcılar monte edilerek yürüme emülatörü gerçekleştirilmektedir. Bahsedilen yöntemlerde daha çok sensör kullanılmasından ötürü ana sisteme daha fazla veri aktarımı olmakta ve bu verilerin her birinin filtrelerden geçirilip kullanılabilir hale getirilmesi için gerekli olan işlem yükü artmaktadır. Ayrıca çok sayıda sensör kullanmanın maliyet dezavantajı da mevcuttur. Bu çalışmada önerilen yöntemde ise her iki ayak üzerine ve bele birer adet IMU olmak üzere toplam üç IMU' nun kullanılması ile iki boyutlu (planar) yürüme hareketi emüle edilmiştir. Bu işlemi gerçekleştirebilmek için hesaplamalara çalışma kapsamında önerilen gövde altı ters kinematik model dâhil edilmiştir. Ters kinematik model sayesinde sadece üç noktadan hız girişleri alınarak insan gövde altı modelinde bulunan tüm eklemlerin açıları hesaplanabilir hale gelmiştir. Bahsedilen gövde altı kinematik model uzaysal vektör cebri (UVC) yöntemi kullanılarak elde edilmiştir.
Bu tezde yapılmakta olan çalışma özetle, IMU tabanlı bir yapı kullanarak insan yürüme hareketinden veriler toplamak, toplanan bu verileri kablolu/kablosuz bir protokol kullanarak ana sisteme (bilgisayara) aktarmak ve aktarılan bu verileri ve ters kinematik yöntemini kullanarak insanın bel altı iki boyutlu (planar) yürüyüş modelini çıkararak ana sistem üzerinde MATLAB ortamında görsel bir animasyon (yürüme emülatörü) koşturmaktır.
Çalışmanın ilk kısmında günümüzde yaygın olarak kullanılan insan hareketi takip yöntemlerinden bahsedilmiş, avantajları ve dezavantajları anlatılmıştır. Sonrasında IMU tabanlı insan hareketi takip sistemleri hakkında bilgi verilmiştir. Literatürdeki benzer sistemlerde kullanılan donanım, yazılım ve veri işleme algoritmaları incelenmiştir.
İkinci kısımda çalışmamızda kullanılacak iki boyutlu gövde altı kinematik modelden bahsedilmiştir. Gövde altı kinematik modelin, uzaysal vektör cebri yöntemi kullanılarak elde edilişi açıklanmıştır. Sonrasında elde edilen kinematik model üzerinden ters kinematik çözüme geçilerek IMU' lardan gelen verilerin kullanılması ile gövde altındaki eklemlerin (joint) açısal hızlarının elde edilişi açıklanmıştır.
Üçüncü kısımda tez çalışmasında kullanılan deney düzeneğinin elde edilmesi ve bu süreçte karşılaşılan problemler ve çözümleri anlatılmıştır. İlk olarak veri toplama amacıyla kullanılan IMU' ların donanımsal ve yazılımsal yapıları incelenmiştir. Sonrasında bu sensörlerden kablolu/kablosuz olarak toplanan verileri bilgisayar üzerinde anlamlı hale getirmek üzere MATLAB ve PYTHON ortamlarında geliştirilen terminal yazılımlarından bahsedilmiştir. Bölümün sonraki alt başlığında terminal yazılımlarından alınan ham verilerin filtrelenmesi ve işlenmesiyle alakalı kullanılan çeşitli algoritmalar ve sonuçlarından bahsedilmiştir. Son olarak da seçilen sensör ünitesi ve filtreleme yöntemi ile deney düzeneğinin oluşturulması ve yürüme verisinin toplanmasından bahsedilmiştir.
Dördüncü kısımda, elde edilen yürüme verisinin MATLAB ortamında geliştirilen gövde altı kinematik modelinin ters kinematik çözümüne giriş olarak uygulanması ve elde edilen sonuçların değerlendirilmesine yer verilmiştir.
Son kısımda ise deneyler sonucu elde edilen sonuçların yorumlanması ve tezin geleceği ile ilgili konulara yer verilmiştir.

Abstract:
Nowadays there is a need of modeling the human walking in many areas such as humanoid robots, falling detection of elder people, walking analyses for medical purposes, detecting the human walking for biometric identification and etc.
In these areas, for implementing the human walking model and using it, there must be a human walking capture unit. In general there are three methods available for human motion capture. Capturing methods are divided in optical, electromagnetic and inertial based methods. These methods have advantages and disadvantages among each other' s. The appropriate method must be chosen for the properties of the application.
Due to availability of low cost, easy to find and small size MEMS (Microelectromechanical Systems) based sensors are used for designing small size IMU' s (Inertial Measurement Unit) which contains several MEMS sensors in one package. Using IMU' s for human motion capture is a type of inertial based human motion capture. IMU' s are having advantages to the other methods due to their mobility, cost and accessibility.
The major motivation of this work is making a gait emulator with using less sensor by comparison to other works in the literature. The target is to lower the cost of gait emulator/tracking systems. The inverse kinematic approach is used for lowering the sensor count.
First step of this study is collecting data from human walking activity with IMU based system. Later sending these data to a computer via a wired or wireless communication protocol. In this study three different IMU' s were used for collecting data from human walking. These are SensorTag, smart phone and 3-Space sensor.
First the SensorTag' s accelerometer and gyroscope sensor' s tested for collecting data from human walking. The conclusion of these test' s show that the SensorTag is not suitable for our application because of low sensitivity and low sample rate.
Second the smart phone' s accelerometer and gyroscope sensor' s tested for collecting data from human walking. The conclusion of these test' s also show that the smart phone sensor' s and the Android operating system are not suitable for our application because of sensor' s low sample rate. Also data losses are occurred because of Android operating system. These losses causes wrong velocity estimations.
Lastly the 3-Space sensor from YEI Technology is used for collecting data from human gait. Then those data' s are sending to a computer via wireless protocol. Accelerometer and gyroscope data' s are forming the data structure.  In the computer there is an orientation filter software running for converting the acceleration values to the earth frame. This process is done by using Madgwick' s orientation filter. Also the same software converts the earth frame acceleration values to earth frame velocity values by using integration. The software also includes a stationary detection algorithm. This algorithm prevents the integration error which can be seen in velocity calculation. 
In this study a planar kinematic model of human lower body is proposed. The lower body kinematic model is obtained by Spatial Operator's Algebra (SOA). In this model there are one base and two manipulators available. The human waist is called as base. The right and left legs are called as right and left manipulator. There are four joints and four links available on the each leg. The four joints of this model can be sort top to down like hip joint, knee joint, ankle joint and the joint that merges the foot and the toes. The models base is waist and it is a mobile base with acceptation of it has only translational velocity in x and z axis. The models tip point is the link which connects the ankle joint and the joint that merges the foot and the toes. Therefore there is not any rotational velocity contribution from other joints to the joint that merges the foot and the toes. That joint only getting input from the gait emulator software for holding the toes link parallel to earth surface.
As a result of modeling the human lower body with forward kinematic, the inverse kinematics model of human lower body is also achieved.
After the earth frame velocity data calculated and the inverse kinematics model of human lower body is achieved, these two parts can be combined. 
First the experiment system is established. The mechanism is consist of three IMU's. One of them is located to human waist for representing mobile base. The other two are located to the top of human feet which represent the tip points.  
After establishing the experiment system, the gait data's captured from IMU are send to computer. The orientation filter software calculate the earth frame, integral error free velocities and sends the translational and rotational velocities to the inverse kinematic block which was implemented in MATLAB platform.
The inverse kinematic model calculates the joints angular velocities. Then we integrate them for achieving angular positions. Joint's angular position values used for obtaining the human planar walking emulation on MATLAB platform.
In this thesis the lower body kinematic model of human was generated two dimensional (planar). In future works the model can be generated three dimensional. Also in this work the data processing operation (orientation filtering operation) was done by an offline method. In future works the data processing operation can be done by a real time method. Furthermore in this work there wasn't any comparison process done with other gait emulator/tracking systems. In future works the comparison with existing methods should be done for improving this method 
In the first chapter, the general motion capture methods are introduced which are used in literature. The advantages and disadvantages of these methods are presented. Then IMU based human motion capture methods are presented. The similar systems to our suggested system in the literature are searched and the hardware, software and data processing algorithms are analyzed.
In the second chapter, our proposed planar kinematic model of human lower body is introduced. Some information is given about how the lower body kinematic model is obtained by Spatial Operator's Algebra (SOA). After modeling the human lower body with forward kinematics, the conversion process is explained from forward kinematics to inverse kinematics model of human lower body. Then the data which are captured from IMU' s implementation process to inverse kinematic block is explained. Then the joint angle value calculation is demonstrated by using inverse kinematics model of human lower body.
In the third chapter, the experiment system of gait emulator is presented. In the first sub-chapter the IMU' s are introduced which are using for collecting data from human gait. The hardware and software' s are analyzed of these IMU' s. Then terminal software's are introduced which are developed in MATLAB and PYTHON platforms for accessing IMU data' s from computer via wired or wireless methods. Then the data processing and filtering methods which are implemented to the raw IMU data' s are explained. Also the data processing and filtering method' s results are given. In the last sub-chapter the implementation of the experiment system with the chosen IMU, chosen processing and filtering method is introduced. Also information about data capturing from the experiment system and evaluation their result' s accuracy is given.
In the forth chapter, the implementation process of human gait data' s to inverse kinematic model is explained. The inverse kinematic model is used in gait emulator software which is developed in MATLAB platform. Then some information is given about the results of the gait emulator' s performance.
The last chapter is conclusion chapter. In this chapter the results of all experiments are commented. Also some information is given about potential future works which will develop and bring a new perspective to the IMU based human motion emulator using inverse kinematic model.