Simulated muscle driven leg
Makkonen, Erik (2021)
Diplomityö
Makkonen, Erik
2021
School of Energy Systems, Konetekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2021112957826
https://urn.fi/URN:NBN:fi-fe2021112957826
Tiivistelmä
In this work multibody system of human lower limb is made. System consist of three bodies
that are thigh, shin and foot. Objective is to have wanted movement in the ankle joint and
also to see how well PID controller behaves. Hill type muscle model and its control is needed
for that. Two hill type muscles are made to move ankle joint and the muscles are soleus for
plantar flexion and tibialis anterior for dorsiflexion movement. Soleus part of muscle group
that includes Achilles tendon which is important point of the thesis.
Equations for multibody dynamics are done to equation of motion of the system, which is
being solved with MATLAB program. System is integrated with ode15s solver which is
variable-step, variable-order solver using orders 1 to 5 of numerical differentiation formulas.
For muscles ready to use code is applied to system which generates the movement. PID
controller is implemented to control wanted movement for three different scenarios, first is
to keep foot stable at the starting position, then move foot up and last is to move foot down.
In results can be seen oscillation when movements are larger. Foot can be kept still at the
starting position after little drop because muscles need to be activated and when having small
movements it works well but having larger wanted movements muscle activation goes rapidly
up and down. Difficulties are to make PID controller that works well in every scenario and
finding correct parameters turned out to be difficult. Having larger ankle angles passive
muscles starts producing force when it is lengthening which makes controlling active muscle
harder. Tässä työssä tehdään monikappalejärjestelmä ihmisen alaraajasta. Järjestelmässä on kolme
kappaletta, reisi, sääri ja jalkaterä. Tavoitteena on saada haluttua liikettä nilkkanivelessä ja
nähdä PID-ohjaimen toimivuus, jota varten käytetään Hill-tyypin lihasmallia ja sen säätöä.
Järjestelmään tehdään kaksi lihasta ja nämä lihakset ovat soleus plantaarifleksioon ja tibialis
anterior dorsaaliflexioon. Soleus on osa kokonaisuutta, johon akillesjänne kuuluu ja on hyvin
tärkeä tätä työtä tehdessä.
Liikeyhtälöt muodostetaan hyödyntäen monikappaledynamiikkaan pohjautuvaa
lähestymistapaa ja ne liikeyhtälöt ohjelmoidaan MATLAB:lla ja ratkaistaan käyttäen
MATLAB ode15s-aikaintegraattoria. Ode15s on moniaskelmenetelmä 1-5 asteen
numeerisen erottelun kaavoille. Lihaksille valmista koodia on sovellettu järjestelmään
liikettä luomaan. PID-ohjain on toteutettu ohjaamaan haluttuja liikkeitä, joita ovat
jalkaterän paikallaan pitäminen sekä sen liikuttaminen ylös että alas.
Tuloksista nähdään värähtelyä, kun liikkeet ovat suurempia. Jalkaterä pysyy hyvin
paikallaan alun pienen putoamisen jälkeen, kun lihakset saavat tarvittavan aktivoinnin tason
ja pienet liikkeet onnistuvan hyvin, mutta kun mennään suurempiin liikkeisiin lihasten
aktivointi menee ylös ja alas rajusti, mikä aiheuttaa heilahtelua. Hankaluuksia aiheuttavat
PID-ohjaimen säätö, minkä pitäisi toimia kaikissa tilanteissa ja sopivien parametrien
löytäminen osoittautui haasteelliseksi. Suurilla nilkkakulmilla passiivinen lihas alkaa
tuottaa venyessään voimaa vastustamaan liikettä, joka hankaloittaa aktiivisen lihaksen
hallintaa.
that are thigh, shin and foot. Objective is to have wanted movement in the ankle joint and
also to see how well PID controller behaves. Hill type muscle model and its control is needed
for that. Two hill type muscles are made to move ankle joint and the muscles are soleus for
plantar flexion and tibialis anterior for dorsiflexion movement. Soleus part of muscle group
that includes Achilles tendon which is important point of the thesis.
Equations for multibody dynamics are done to equation of motion of the system, which is
being solved with MATLAB program. System is integrated with ode15s solver which is
variable-step, variable-order solver using orders 1 to 5 of numerical differentiation formulas.
For muscles ready to use code is applied to system which generates the movement. PID
controller is implemented to control wanted movement for three different scenarios, first is
to keep foot stable at the starting position, then move foot up and last is to move foot down.
In results can be seen oscillation when movements are larger. Foot can be kept still at the
starting position after little drop because muscles need to be activated and when having small
movements it works well but having larger wanted movements muscle activation goes rapidly
up and down. Difficulties are to make PID controller that works well in every scenario and
finding correct parameters turned out to be difficult. Having larger ankle angles passive
muscles starts producing force when it is lengthening which makes controlling active muscle
harder.
kappaletta, reisi, sääri ja jalkaterä. Tavoitteena on saada haluttua liikettä nilkkanivelessä ja
nähdä PID-ohjaimen toimivuus, jota varten käytetään Hill-tyypin lihasmallia ja sen säätöä.
Järjestelmään tehdään kaksi lihasta ja nämä lihakset ovat soleus plantaarifleksioon ja tibialis
anterior dorsaaliflexioon. Soleus on osa kokonaisuutta, johon akillesjänne kuuluu ja on hyvin
tärkeä tätä työtä tehdessä.
Liikeyhtälöt muodostetaan hyödyntäen monikappaledynamiikkaan pohjautuvaa
lähestymistapaa ja ne liikeyhtälöt ohjelmoidaan MATLAB:lla ja ratkaistaan käyttäen
MATLAB ode15s-aikaintegraattoria. Ode15s on moniaskelmenetelmä 1-5 asteen
numeerisen erottelun kaavoille. Lihaksille valmista koodia on sovellettu järjestelmään
liikettä luomaan. PID-ohjain on toteutettu ohjaamaan haluttuja liikkeitä, joita ovat
jalkaterän paikallaan pitäminen sekä sen liikuttaminen ylös että alas.
Tuloksista nähdään värähtelyä, kun liikkeet ovat suurempia. Jalkaterä pysyy hyvin
paikallaan alun pienen putoamisen jälkeen, kun lihakset saavat tarvittavan aktivoinnin tason
ja pienet liikkeet onnistuvan hyvin, mutta kun mennään suurempiin liikkeisiin lihasten
aktivointi menee ylös ja alas rajusti, mikä aiheuttaa heilahtelua. Hankaluuksia aiheuttavat
PID-ohjaimen säätö, minkä pitäisi toimia kaikissa tilanteissa ja sopivien parametrien
löytäminen osoittautui haasteelliseksi. Suurilla nilkkakulmilla passiivinen lihas alkaa
tuottaa venyessään voimaa vastustamaan liikettä, joka hankaloittaa aktiivisen lihaksen
hallintaa.