Tek bacaklı zıplayan robotun dinamik modellenmesi ve kontrolü
Dynamical modelling and control of single legged hopping robot
Yazar: ERK BAMYACI
Danışman: YRD. DOÇ. DR. SIDDIK MURAT YEŞİLOĞLU
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı / Kontrol ve Otomasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bacakla hareket eden araçların ilk fikirleri 15. yüzyılda Leonardo da Vinci'ye kadar uzanmaktadır. İnsansı yürüme hareketinin modellenmesine günümüzde birçok alanda ihtiyaç duyulmaktadır. Yaşadığımız çevrenin insanlara göre tasarlanmış olmasından ötürü, robotların günümüzde insanların yerine getirdiği görevleri yerine getirebilmesi için,birçok alanda hareketlerinin insanlara benzetilmesi gerekmektedir. Bu sayede robotlar insanlara düşen iş gücünü azaltma ya da insanların yerine getirmesi gereken tehlikeli görevleri yerine getime gibi işlemleri gerçekleştirebileceklerdir. 

Bahsedilen bu hedeflere ulaşmak için robotların süreksiz zeminlerde ilerleme, tırmanma, koşma , engellerden kurtulma vb. işlemleri gerçekleştirebilmeleri gerekmektedir. Bu işlemleri gerçekleştirmek için en iyi yöntem de bacaklı harekettir. Bacaklı hareket üç ana başlığa ayrılmaktadır. Bunlar, pasif yürüme, yürüme, ve zıplamadır. Bu yöntemlerin birbiri 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. 

Zıplama hareketini diğer bacaklı robot hareketlerinden ayıran temel özellik robotun ayağı ile yer arasındaki etkileşimdir. Zıplayan robotlar uçuş evresine sahip oldukları için, her döngüde yer ile bir çarpışma yaşamaktadırlar. Bu çarpışmalar ani ve yüksek kuvvetlere sebep oldukları ve ani hız değişimleri yaşandığı için sistemde süreksizliğe sebep olabilmektedirler. Bu durum, çarpışmaların modellenmesini oldukça zorlaştırmaktadır ancak bu modellerin gerçeğe yakın elde edilmesi de oldukça önemlidir. 

Bu robotların uçuş evresine sahip olmaları, bu evrede destek bacağına sahip olmamaları nedeniyle, aynı zamanda, onları statik olarak kararsız yapmaktadır. Bu statik kararsızlık da bu robotları kontrol etmeyi zorlaştırmaktadır. 

Tez kapsamında gerçekleştirilen çalışmanın ana motivasyonu robotlarda bacaklı hareket uygulamaları geliştirmektir. Bu doğrultuda, tek bacaklı zıplama hareketi ile çalışmaya başlanmıştır ve ileride bu sistemi önce iki bacaklı daha sonra dört bacaklı sisteme geliştirmek istenmektedir. Robot simulasyonunu gerçekleştirebilmek için robotun çevre ile etkileşimini modellemek de kaçınılmazdır. Bu çalışmada yapıldığı gibi robotun zemin ile etkileşimi de modele dahil edilmelidir. Zemin modelinin gerçeğe olabildiğince yakın bir şekilde elde edilmesi de bu çalışmanın motivasyonlarından biridir. Son olarak, robotların bir takım görevleri yerine getirebilmeleri için robot hareketlerine kısıtlar getirmek gerekebilmektedir. Yapılan çalışmanın bir diğer motivasyonu da robota etkiyen uç kuvvetlerin hesaplanması ve gerekli durumlarda robotun hareketine bu kısıtların dahil edilmesidir. 

Literatürde daha çok enerji tabanlı (Euler-Lagrange tabanlı) ve robot üzerindeki kuvvetlerin dağılımını esas alan (Newton-Euler tabanlı) modelleme yöntemleri kullanılmaktadır. Kullanılan farklı modelleme yöntemlerine göre uygun olan farklı kontrolörler de sisteme dahil edilmektedir. Bu çalışmada, hareketli tabana sahip iki serbestlik dereceli zıplayan robotu modellemek için, kuvvet dağılımını esas alan Newton-Euler tabanlı bir modelleme yöntemi kullanılmış ve Marc Raibert tarafından geliştirilen üç aşamalı zıplayan robot kontrolörü sisteme dahil edilmiştir. Son olarak, gerçeği olabildiğince iyi yansıtacak, uygun görülen zemin modeli de sisteme eklenmiştir. Tüm sistem matematiksel olarak elde edildikten sonra, MATLAB Simulink ortamında sistem kurulmuş, ve zıplama simulasyonları VRML ortamında gerçekleştirilmiştir. 

Bu tezde yapılan çalışmada özetle, Newton-Euler tabanlı uzaysal vektör cebri yöntemi kullanılarak tek bacaklı zıplayan robotun önce kinematik, sonra dinamik modeli elde edilmiştir. Robotun zıplama hareketini gerçekleştirebilmesi için bacak üzerinde bulunan ötelemeli ekleme yay yerleştirilerek eklem elastik ekleme dönüştürülmüştür. Robotun  kalça ağırlığı bacak ağırılığına göre oldukça yüksek seçilmiştir.

Ayak ile yer arasındaki çarpışma modelini eklemek için MSC Adams yazılımında kullanılan geliştirilmiş yay-damper modeli kullanılmıştır. Bu yöntem, modeldeki damper etkisinden kaynaklanan süreksizliği, damper etkisini daha yumuşak bir şekilde uygulayarak, gidermektedir. Yani, damper etkisi maksimum seviyesine önceden belirlenen bir penetrasyon derinliğinde ulaşmaktadır. Robotun zıplama hareketini gerçekleştirebilmesi için önemli noktalardan biri de sürtünme kuvvetidir. Sürtünme kuvveti önemlidir çünkü robotun yerde kaldığı kısa süre boyunca kaymasına engel olmaktadır. Sürtünme modeli olarak da Coulomb'un temel dinamik sürtünme kuvveti eklenmiştir. Bu model, açma-kapama mantığıyla çalışmaktadır.

Yapılan araştırmalar sonucunda, Newton-Euler tabanlı bir model için diğerlerine göre daha uygun görülen Raibert'in zıplayan robot kontrolörü sisteme dahil edilmiştir. Raibert'in kontrolörü üç aşamadan oluşmaktadır. Bu aşamalar: Zıplama yüksekliği kontrolü, ileri hız kontrolü ve taban pozu kontrolüdür. Robotun yere dokunma ve yerden ayrılma açıları küçük açılar olduğundan, bu üç aşamayı birbirinden bağımsız olarak ele alabiliriz. Yani, küçük açılarda bu üç aşamanın birbiri üzerinde bozucu etkisi göz ardı edilebilmektedir. 

Robot yer ile her temasında enerji kaybı yaşadığı için, robotun zıplama yüksekliğini koruması ya da daha yükseğe  zıplaması için robota enerji eklenmesi gerekmektedir. Zıplama hareketi, robotun yer ile etkileşimde olduğu duruş evresinde, robotun bacak ekleminde bulunan yayın, bacak eklemine tork uygulanarak sıkıştırılması sonucu sağlanmaktadır. Yayın sıkıştırılma miktarı, bir önceki döngüde robotun ulaştığı maksimum zıplama yüksekliği ile robotun ulaşması istenen zıplama yüksekliği karşılaştırılıp, bu farkın bir katsayı ile çarpılmasıyla hesaplanmaktadır. 

İleri hız kontrolü ise, her döngüde uçuş evresinde, robotun kalça eklemine tork uygulayarak ayağın yere değme açısının kontrolü ile sağlanır. Her bir ileri hız için, robotun ileri hızını sabit tutacak tek bir ayak yere değme açısı mevcuttur. Bu yere değme noktasına nötür noktası denmektedir. Robotun ayağının bu noktanın önüne yerleştirilmesi robotun ileri hızının yavaşlamasına, gerisine yerleştirilmesi ise ileri hızın artmasına sebep olmaktadır. Kontrolör önce bu nötür noktanın yerini tahmin edip, daha sonra hızlanma veya yavaşlama için gerekli olan yere değme açısını hesaplamaktadır. Robotun ayağının bu açıya getirilmesi için de basit bir PD kontrolör yapısı kullanılmıştır

Robotun tabanının yer ile yaptığı açının da her döngüde kontrol edilmesi gereklidir, çünkü her ne kadar robotun kalça ağırlığı bacak ağırlığından çok küçük olsa da, uçuş evresinde robotun kalça eklemine tork uygulandığında momentum korunumu nedeniyle robotun kalçası da az bir miktar da olsa dönmektedir. Bu az miktar her döngüde artarak, birkaç zıplama sonunda robotun zıplama hareketine devam edememesine neden olmaktadır. Taban pozunun kontrol edilmesinin mümkün olduğu tek evre duruş evresidir. Bu evrede robot yerle etkileşim halinde olduğundan, kalça eklemine tork uygulandığında bacak sürtünme kuvveti nedeniyle dönemez ve robot tabanının yerle yaptığı açı kontrol edilebilir. Robotun tabanının her evrede yerle paralel hale getirilmesi bir PD kontrolör yardımıyla sağlanmaktadır.

Çalışmanın ilk bölümünde, bu çalışmanın da temelini oluşturan, literatürde daha önce yapılan ayaklı robot modelleri incelenmiştir. Tez kapsamında yapılan çalışmanın kapsamı verilmiş ve yazarın bu alandaki katkısına değinilmiştir. Tezin organizasyonu da bu bölümde verilmektedir.

İkinci bölümde, robotun modelleme yönteminden bahsedilmiş, önce kinematik, sonra da dinamik modelin nasıl çıkarıldığı matematiksel olarak gösterilmiştir. Robotun zıplama hareketinin işleyişi ve ayak modeli hakkındaki ayrıntılar da bu bölümde açıklanmaktadır. 

Üçüncü bölümde, robotun zıplama yüksekliği kontrolü, ileri hız kontolü ve taban poz kontrolünün nasıl gerçekleştirildiği anlatılmıştır. Üç aşamalı kontrolörün her aşaması ayrı birer başlık altında incelenmiştir.

Dördüncü bölümde, araştırılan zemin modelleri tanıtılmış ve uygun görülüp uygulanan iki farklı çarpışma ve sürtünme model ikilisi gösterilmiştir. Çarpışma modeli ve sürtünme modeli ayrı ayrı ele alınmıştır.

Beşinci ve altıncı bölümlerde, simulasyonlar sonuçları verilmiş ve yorumlanmıştır. Gelecek için yapılması planlanan çalışmalar da burada verilmiştir.

Abstract:
The first ideas of machines moving with legs, go back to Leonardo da Vinci in 15th century. Nowadays, the humanoid walking movement modelling is needed in many areas. Since the environment we live in is designed according to human beings, in many areas, the movements of the robots should resemble human beings, for them to perform the tasks human beings do. By this means, robots will be able to reduce the manpower which human beings use or do the dangerous tasks which human beings should do.

To reach the mentioned goals, the robots have to carry out actions like travelling on an uneven ground, climbing, running, overcoming the obstacles, etc. Legged movement is the best method to perform these acts. Legged movement is divided into three main topics. These are passive walking, walking and jumping.  These methods have several advantages and disadvantages over each other. For this reason, the method should be chosen according to the characteristics of the application which is going to be used.

The key feature that differs the hopping movement from other legged movements is the interaction between the robot's foot and the ground. Since the hopping robots have a flight phase, in every cycle there is a collision with the ground. And since these collisions cause sudden and high forces, and there are sudden velocity changes, they can produce an discontinuity in the system. This makes it very hard to model a collision but at the same time, it is quite important to obtain models that are real-like.

At the same time, because these robots have a flight phase and don't have a supporting leg in this phase, they are statically unstable. This static instability makes it difficult to control these robots.

The main motivation of the work done within the scope of this thesis is to develop legged locomotion applications for robots. Accordingly, it is been started to work with single legged hopping movement and it has been planned to improve this system to first to two legged and then to four legged systems. To realize the robot simulation, it is essential to model the interaction of the robot with the environment. The interaction of the robot with the ground should also be included as it was done in this study. Modelling the ground as real-like as possible is another motivation of this study. Finally, there may be some constraints used in robot movements to make the robot perform some tasks. One other motivation of this study is to calculate the tip force acting on the robot and to include these constraints on robot's movements where necessary.

In literature, mostly energy based (Euler-Lagrange based) and the model which is based on the propagation of the forces acting on the robot (Newton-Euler based) modelling methods are used. Different controllers that are suitable for different modelling methods are also included to the systems. In this study, to model the two degrees of freedom hopping robot with a mobile base, Newton-Euler based modelling method, which is based on the propagation of the force is used and three stepped hopping robot controller that is developed by Marc Raibert is included to the system. Finally, an appropriate ground model which will reflect the reality as much as possible is added to the system. After obtaining the entire system mathematically,  the system is established in MATLAB Simulink environment, and the hopping simulations are carried out in VRML environment.

In summary, the study that is done in this thesis has established, firstly kinematic, then dynamic model of the single legged hopping robot by using Newton-Euler based spatial operator algebra. To realize the hopping movement of the robot, the translational leg joint has been converted to elastic joint by placing a spring. The hip weight used for the robot is quite higher than the leg weight.

To add the collision model between the foot and the ground, the advanced spring-damper model that was used in MSC Adams software is applied. This method eliminates the discontinuity caused by damper effect in the model, by applying the damper effect more smoothly. In other words, the damper effect reaches its maximum level at a predefined penetration depth.  One of the important points to realize the hopping movement of the robot is the friction force. The friction force is important because it prevents the sliding of the robot during the short period while it is on the ground. Coulomb's basic dynamic friction force was added as friction model. This model operates on on-off logic.

At the result of the researches done, Raibert's hopping robot controller that seemed more appropriate than others for Newton-Euler based model, was added. Raibert's controller consists of three steps. These steps are: The hopping height control, the forward speed control and the body attitude control. Since the angles performed by the robot as it touches and leaves the ground are small, these three steps can be handled independently from each other. That is to say, for small angles the aliasing of these three steps can be ignored. 

Since the robot goes through an energy loss every time it touches the ground, energy should be injected to the robot, so it can protect its hopping height or be able to hop even higher. The hopping movement is provided by compressing the spring in the leg joint of the robot, by applying torque on the leg joint, while the robot is in the stance phase when it is interacting with the ground. The compression length of the spring is calculated by comparing the maximum height of the robot during the previous cycle by the hopping height the desired hopping height of the robot, then multiplying this difference with a coefficient.

The forward speed control is provided by controlling the angle of the foot while it touches the ground by applying torque to the hip joint of the robot during the flight phase of every cycle. To stabilize the forward speed of the robot, for each forward speed, there is only one angle for the foot to contact the ground. This touchdown point is called neutral point. Placing the robot's foot in front of this point slows down the forward speed of the robot, while placing it behind that point increases the forward speed. The controller first estimates where the neutral point is, then calculates touchdown angle needed for slowing down or speeding up. A simple PD controller structure is used to place the robot's foot with this angle.

The angle between the robot's base and the ground has to be controlled in every cycle, because, eventhough the hip weight of the robot is much smaller than the leg weight, the torque applied to the hip joint during the flight phase makes the hip turn a little due to conservation of momentum. This small amount increases in every cycle and  prevents the continuity of the hopping movement of the robot after a few hops. The stopping phase is the only phase body attitude can be controlled. Since the robot is interacting with the ground during this phase, if torque is applied to the hip joint, the leg cannot rotate due to friction force and  the angle between the robot base and the ground can be controlled. Robot base is made parallel to the ground in every phase by the help of a PD controller.

In the first part of the study, previous legged robot models in literature, which underlies this study have been reviewed. The extent of the study of this thesis' content is given and the contribution of the author in this field is mentioned. The organization of the thesis is also given in this part.

In the second part, modelling method of the robot is explained, the mathematical method for kinematic and dynamic models are shown. The operation of the hopping movement of the robot and the details about the foot model are also explained in this part.

In the third part, the method for the hopping height control , the forward speed control and the body attitude control of the robot is explained. Every single step of the three step controller is examined under different topics.

In the fourth part, researched ground models are introduced and the two different collision and friction model couples which are approved to be used are shown. The collision model and the friction model are discussed seperately.

In the fifth and the sixth parts, simulation results are given and commented. Plans for future studies are also taking place in these parts.