Merdiven çıkıp inebilen iki ayaklı robotun dinamik modellenmesi ve denetimi
Dynamic modeling and control of a bipedal robot that can climb and descend stairs
Yazar: İSMAİL HAKKI ŞANLITÜRK
Danışman: PROF. DR. HİKMET KOCABAŞ
İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Makine Mühendisliği Ana Bilim Dalı / Makine Mühendisliği Bilim Dalı
Derece: Doktora, 2024
Konu: Makine Mühendisliği = Mechanical Engineering
Dizin: Bacaklı robotlar = Legged robots ; İnsani robot = Humanoid robot

Özet:
İnsansı robotlar insanın eklem yapısında ve insanın yaptığı işlemleri gerçekleştirmesi beklenen robotlardır. Endüstride, uzayda, servis ve sağlık sektöründe, çalışma ortamında değişiklik yapmayı gerektirmeyen, insan gibi hareketliliğe sahip olacak robotlar insanların yaşam kalitesini arttırabilecektir. İnsansı robotlar günümüzde endüstriyel ortamlarda kullanılacak kadar gelişmiştir. İnsansı robotlar temel olarak iki kısımdan oluşur. İki adet bacağın kalçaya bağlanmasıyla oluşan ve gövdeyi taşıyan alt kısım yürüme işleminden sorumludur. İki kolun bağlandığı, merkezi bilgisayar, algılayıcılar ve güç kaynağından oluşan üst gövde de yapılacak görevleri gerçekleştirir. Bu çalışma iki bacak bir kalçadan oluşan alt kısmın yürüme işlemini kapsamaktadır.
İnsansı robotların yürümesinde mekanik açıdan statik ve dinamik, denetim açısından da aktif ve pasif yürüme biçimleri mevuttur. Dinamik modelleme tam veya basitleştirilmiş model kullanılarak gerçekleştirilebilir. Basitleştirilmiş model kütle merkezi ve ayak yörüngelerini oluştururken, ayrıca dengeleyici döngüsünde, tam dinamik model ise görev gerçekleştirme ve simülasyon çalışmalarında kullanılmaktadır. 
Robotun yere temas ettiği ayağın veya ayakların dışlarını çevreleyen bölgeye destek çokgeni denir. Ayak düzleminin yerde bulunan dönme merkezine ise sıfır moment noktası denir. 
Statik yürümede kütle merkezi izdüşümü destek poligonu içinde kalacak şekilde yörünge oluşturulur. Kütle merkezi destek poligonu dışına çıktığında robot düşer. Dinamik yürümede ise sıfır moment noktası destek poligonu içinde kalacak şekilde yörünge oluşturulmalıdır. Dinamik yürümede şart sıfır moment noktasının destek poligonu içinde kalmalıdır, sıfır moment noktası destek poligonu içinde kaldığı müddetçe kütle merkezi izdüşümü destek poligonu içinde olmayabilir. 
Robot yürümesinde ilk önce kütle merkezi ve ayak yörüngeleri oluşturulur. Sonra robot eklemleri bu yörüngeleri takip edecek şekilde oluşturulur. Eklem boşlukları, yerdeki düzensizlikler, sürtünme kuvvetinin ideal olmaması, uzuv esneklikleri oluşturulan yörüngenin olduğu gibi uygulanmasına izin vermemektedir. Bu nedenle eklem açılarını oluşturduktan sonra yürüme dengeleyicisi tasarlanır. Dengeleyicinin görevi ideal olmayan durumlarda robotun dengesini sağlamaktır. 
Robota dışarıdan kuvvet uygulanması veya yürürken ön görülemeyen derecede bozuk zeminle karşılaşılması gibi durumlarda yürümeyi devam ettirebilmek için de refleks denetleyici tasarlanır. 
İnsansı robotların gerçek zamanlı kontrolünde görevlerin zamanlaması kritik öneme sahiptir. İki ayaklı robotların yürümesi sırasında kütle merkezinin ters kinematik hesabı kısa sürede hesaplanabilmektedir. İnsansı bir robotun kütle merkezinin ters kinematiğinin hesaplanmasında sayısal yöntemler kullanılmaktadır. Bu yöntemlerde birleşim açıları küçük miktarlarda değiştirilir. Daha sonra kütle merkezinin istenilen konuma gelip gelmediği kontrol edilir. Ayak ve kütle merkezi yörüngelerine ek olarak kalça ve dizlerin konumu ve yönelim yörüngeleri de bilinmelidir. Sayısal yöntemlerle yapılan hesaplamalardaki hatalar 0,03-0,4m civarında olabilir. Bu hata bazı durumlarda robotun yürümesini engelleyebilir. Oluşan hata dengeleyicinin kullanılmasıyla robotun yürümesini engellemeyecek hale gelebilir. 
Bu çalışmada kütle merkezi ve ayak yörüngesi oluşturma adımından sonraki eklem açılarının hesaplanması adımı arasında, robot kütle merkezinin hassas olarak takip edilmesini sağlayacak iteratif bir yöntem geliştirilmiştir. Yöntemin etkinliği sayısal bir model üzerinde dengeleyici ve refleks denetleyici kullanmadan açık çevrim olarak çalıştırılarak inelenmiştir. 
Geliştirilen iteratif yöntemde eklem açıları yerine kalçanın kütle merkezinin yön hata vektörü doğrultusundaki konumu ve yönelimi parametre olarak kullanılmıştır. 
Ayak ve kütlem merkezi yörüngesi bilindiğinde robot konfigürasyonu kullanılarak eklemlerin başlangıç konumları elde edilir. Referans kütle merkeziyle mevcut kütle merkezi arasındaki hata vektörü hesaplanır. Hata vektörünün birim vektörü kullanılarak robot kalçasının hareket etmesi istenen doğrultu belirlenir. Bu doğrultuda birim vektör doğrultusunda belirli bir miktar kalça hareket ettirilir. Diğer kalça eklemi de hareket ettirilerek robot ağırlık merkezi tekrar hesaplanır. Hata vektörü tekrar hesaplanıp istenen hata miktarından daha küçük bir değere ulaşılıp ulaşılamadığı belirlenir. Ulaşılamamışsa kalça indisleri değiştirilir ve diğer kalça hatanın birim vektörü doğrultusunda hareket ettirilir. Böylece robotun bütün eklemleri, kütle merkezini istenen konuma ulaştırmak için kullanılmış olur. Bu işlem hata miktarı önceden tanımlanan değerden daha küçük olunaya kadar devam eder. Çalışma sonucunda kütle merkezinin konumu 0,001 m veya daha iyi bir doğrulukla hesaplanmıştır. 2415 hesaplamanın bir saniyede tamamlanabilmesi nedeniyle geliştirilen yöntem gerçek zamanlı kontrol uygulamalarında kullanıma uygundur. Yöntemde gerekli olan tek yörünge ayak ve kütle merkezidir.
Çalışma sayısal, deneysel ve imalat olarak üç bölüme ayrılabilir. 
Sayısal kısım için İTÜ Makina Mühendisliği Otomatik Kontrol Laboratuarında geliştirilen İTÜ Biped'in Sayısal modeli MATLAB Sim MultiBody'de hazırlanmıştır. Yerçekimi ve temas etkileri sayısal modele dahil edilmiştir. İki ayaklı yürüyen robot olarak geliştirilen robot için Lineer Ters Sarkaç modeli ile dinamik bir yürüme yörüngesi oluşturulmuştur. Yürüme yörüngesi 2 basamakla merdiven çıkma, 2 basamakla düz zeminde yürüme, 2 basamakla merdiven inme ve durmadan oluşur. Yürüme operasyonu açık döngülü bir sistem olarak modellenmiştir. Robot yürüme yolunu düşmeden başarıyla tamamlamıştır. Ortalama yürüme hızı 0,2257 m/s olmuştur. Ortalama takip hatası ise literatürde 0.03-0.4m arasında verilen değerlerden daha küçük bir değer olan 0.0238m olmuştur.
Deneysel kısımda İTÜ Biped robotunun hareket sürücü interpolasyon moduna geçirilmiştir. Bu modda kullanılan parçalı yörüngelerin robotu sarsıntılı çalıştırdığı görülmüştür. Bu sarsıntıları engellemek için ara noktalı 3. Dereceden yörünge interpolasyonu yapılan bir yöntem geliştirilmiştir. Literatürde belirli bir hatayla poligona eğri uydurma şeklinde kullanılan yöntem kullanılmamıştır. Eklem konumları robot kütle merkezine doğrudan etki ettiği için konumda herhangi bir hata oluşturmayacak, hız sürekliliğinin sağlandığı çok geçişli bir ara noktaları 3. Dereceden yörünge hesaplama yöntemi geliştirilmiştir.
İmalat kısmında yeni bir robotun tasarımı ve üretimi yapılmıştır. İTÜ Biped üzerinde yapılan çalışmalar sonucunda robot üzerine bir takım değişiklikler yapmak gerektiği sonucuna ulaşılmıştır. Bu değişiklikler geriye döndürülemeyecek yapıda olduğu için yapılacak değişiklikleri içerecek, yeni bir robotun tasarımı ve üretimi yapılmıştır. Bu değişiklikler rijit bir mekanik tasarım, motor denetim sinyalleriyle sensör okuma hatlarının ayrılması, gerçek zaman denetime uygun bir yazılım alt yapısının hazırlanmasıdır. İmal edilen robot yapılması düşünülen değişikliklerin etkilerini içeren bir tasarım olmuştur.

Abstract:
İnsansı robotlar insanın eklem yapısında ve insanın yaptığı işlemleri gerçekleştirmesi beklenen robotlardır. Endüstride, uzayda, servis ve sağlık sektöründe, çalışma ortamında değişiklik yapmayı gerektirmeyen, insan gibi hareketliliğe sahip olacak robotlar insanların yaşam kalitesini arttırabilecektir. İnsansı robotlar günümüzde endüstriyel ortamlarda kullanılacak kadar gelişmiştir. İnsansı robotlar temel olarak iki kısımdan oluşur. İki adet bacağın kalçaya bağlanmasıyla oluşan ve gövdeyi taşıyan alt kısım yürüme işleminden sorumludur. İki kolun bağlandığı, merkezi bilgisayar, algılayıcılar ve güç kaynağından oluşan üst gövde de yapılacak görevleri gerçekleştirir. Bu çalışma iki bacak bir kalçadan oluşan alt kısmın yürüme işlemini kapsamaktadır.
İnsansı robotların yürümesinde mekanik açıdan statik ve dinamik, denetim açısından da aktif ve pasif yürüme biçimleri mevuttur. Dinamik modelleme tam veya basitleştirilmiş model kullanılarak gerçekleştirilebilir. Basitleştirilmiş model kütle merkezi ve ayak yörüngelerini oluştururken, ayrıca dengeleyici döngüsünde, tam dinamik model ise görev gerçekleştirme ve simülasyon çalışmalarında kullanılmaktadır. 
Robotun yere temas ettiği ayağın veya ayakların dışlarını çevreleyen bölgeye destek çokgeni denir. Ayak düzleminin yerde bulunan dönme merkezine ise sıfır moment noktası denir. 
Statik yürümede kütle merkezi izdüşümü destek poligonu içinde kalacak şekilde yörünge oluşturulur. Kütle merkezi destek poligonu dışına çıktığında robot düşer. Dinamik yürümede ise sıfır moment noktası destek poligonu içinde kalacak şekilde yörünge oluşturulmalıdır. Dinamik yürümede şart sıfır moment noktasının destek poligonu içinde kalmalıdır, sıfır moment noktası destek poligonu içinde kaldığı müddetçe kütle merkezi izdüşümü destek poligonu içinde olmayabilir. 
Robot yürümesinde ilk önce kütle merkezi ve ayak yörüngeleri oluşturulur. Sonra robot eklemleri bu yörüngeleri takip edecek şekilde oluşturulur. Eklem boşlukları, yerdeki düzensizlikler, sürtünme kuvvetinin ideal olmaması, uzuv esneklikleri oluşturulan yörüngenin olduğu gibi uygulanmasına izin vermemektedir. Bu nedenle eklem açılarını oluşturduktan sonra yürüme dengeleyicisi tasarlanır. Dengeleyicinin görevi ideal olmayan durumlarda robotun dengesini sağlamaktır. 
Robota dışarıdan kuvvet uygulanması veya yürürken ön görülemeyen derecede bozuk zeminle karşılaşılması gibi durumlarda yürümeyi devam ettirebilmek için de refleks denetleyici tasarlanır. 
İnsansı robotların gerçek zamanlı kontrolünde görevlerin zamanlaması kritik öneme sahiptir. İki ayaklı robotların yürümesi sırasında kütle merkezinin ters kinematik hesabı kısa sürede hesaplanabilmektedir. İnsansı bir robotun kütle merkezinin ters kinematiğinin hesaplanmasında sayısal yöntemler kullanılmaktadır. Bu yöntemlerde birleşim açıları küçük miktarlarda değiştirilir. Daha sonra kütle merkezinin istenilen konuma gelip gelmediği kontrol edilir. Ayak ve kütle merkezi yörüngelerine ek olarak kalça ve dizlerin konumu ve yönelim yörüngeleri de bilinmelidir. Sayısal yöntemlerle yapılan hesaplamalardaki hatalar 0,03-0,4m civarında olabilir. Bu hata bazı durumlarda robotun yürümesini engelleyebilir. Oluşan hata dengeleyicinin kullanılmasıyla robotun yürümesini engellemeyecek hale gelebilir. 
Bu çalışmada kütle merkezi ve ayak yörüngesi oluşturma adımından sonraki eklem açılarının hesaplanması adımı arasında, robot kütle merkezinin hassas olarak takip edilmesini sağlayacak iteratif bir yöntem geliştirilmiştir. Yöntemin etkinliği sayısal bir model üzerinde dengeleyici ve refleks denetleyici kullanmadan açık çevrim olarak çalıştırılarak inelenmiştir. 
Geliştirilen iteratif yöntemde eklem açıları yerine kalçanın kütle merkezinin yön hata vektörü doğrultusundaki konumu ve yönelimi parametre olarak kullanılmıştır. 
Ayak ve kütlem merkezi yörüngesi bilindiğinde robot konfigürasyonu kullanılarak eklemlerin başlangıç konumları elde edilir. Referans kütle merkeziyle mevcut kütle merkezi arasındaki hata vektörü hesaplanır. Hata vektörünün birim vektörü kullanılarak robot kalçasının hareket etmesi istenen doğrultu belirlenir. Bu doğrultuda birim vektör doğrultusunda belirli bir miktar kalça hareket ettirilir. Diğer kalça eklemi de hareket ettirilerek robot ağırlık merkezi tekrar hesaplanır. Hata vektörü tekrar hesaplanıp istenen hata miktarından daha küçük bir değere ulaşılıp ulaşılamadığı belirlenir. Ulaşılamamışsa kalça indisleri değiştirilir ve diğer kalça hatanın birim vektörü doğrultusunda hareket ettirilir. Böylece robotun bütün eklemleri, kütle merkezini istenen konuma ulaştırmak için kullanılmış olur. Bu işlem hata miktarı önceden tanımlanan değerden daha küçük olunaya kadar devam eder. Çalışma sonucunda kütle merkezinin konumu 0,001 m veya daha iyi bir doğrulukla hesaplanmıştır. 2415 hesaplamanın bir saniyede tamamlanabilmesi nedeniyle geliştirilen yöntem gerçek zamanlı kontrol uygulamalarında kullanıma uygundur. Yöntemde gerekli olan tek yörünge ayak ve kütle merkezidir.
Çalışma sayısal, deneysel ve imalat olarak üç bölüme ayrılabilir. 
Sayısal kısım için İTÜ Makina Mühendisliği Otomatik Kontrol Laboratuarında geliştirilen İTÜ Biped'in Sayısal modeli MATLAB Sim MultiBody'de hazırlanmıştır. Yerçekimi ve temas etkileri sayısal modele dahil edilmiştir. İki ayaklı yürüyen robot olarak geliştirilen robot için Lineer Ters Sarkaç modeli ile dinamik bir yürüme yörüngesi oluşturulmuştur. Yürüme yörüngesi 2 basamakla merdiven çıkma, 2 basamakla düz zeminde yürüme, 2 basamakla merdiven inme ve durmadan oluşur. Yürüme operasyonu açık döngülü bir sistem olarak modellenmiştir. Robot yürüme yolunu düşmeden başarıyla tamamlamıştır. Ortalama yürüme hızı 0,2257 m/s olmuştur. Ortalama takip hatası ise literatürde 0.03-0.4m arasında verilen değerlerden daha küçük bir değer olan 0.0238m olmuştur.
Deneysel kısımda İTÜ Biped robotunun hareket sürücü interpolasyon moduna geçirilmiştir. Bu modda kullanılan parçalı yörüngelerin robotu sarsıntılı çalıştırdığı görülmüştür. Bu sarsıntıları engellemek için ara noktalı 3. Dereceden yörünge interpolasyonu yapılan bir yöntem geliştirilmiştir. Literatürde belirli bir hatayla poligona eğri uydurma şeklinde kullanılan yöntem kullanılmamıştır. Eklem konumları robot kütle merkezine doğrudan etki ettiği için konumda herhangi bir hata oluşturmayacak, hız sürekliliğinin sağlandığı çok geçişli bir ara noktaları 3. Dereceden yörünge hesaplama yöntemi geliştirilmiştir.
İmalat kısmında yeni bir robotun tasarımı ve üretimi yapılmıştır. İTÜ Biped üzerinde yapılan çalışmalar sonucunda robot üzerine bir takım değişiklikler yapmak gerektiği sonucuna ulaşılmıştır. Bu değişiklikler geriye döndürülemeyecek yapıda olduğu için yapılacak değişiklikleri içerecek, yeni bir robotun tasarımı ve üretimi yapılmıştır. Bu değişiklikler rijit bir mekanik tasarım, motor denetim sinyalleriyle sensör okuma hatlarının ayrılması, gerçek zaman denetime uygun bir yazılım alt yapısının hazırlanmasıdır. İmal edilen robot yapılması düşünülen değişikliklerin etkilerini içeren bir tasarım olmuştur.