KATEDRA MECHANIKI STOSOWANEJ Wydział Mechaniczny POLITECHNIKA LUBELSKA INSTRUKCJA DO ĆWICZENIA NR 6 PRZEDMIOT TEMAT OPRACOWAŁ BIOMECHANIKA INŻYNIERSKA Dynamika kończyny górnej badania modelowe Dr inż. Krzysztof Kęcik 1. CEL ĆWICZENIA Celem ćwiczenia jest zbudowanie modelu numerycznego, symulacji tego modelu oraz wykonanie animacji kończyny górnej modelowanej, jako podwójne wahadło fizyczne. 2. PODSTAWY TEORETYCZNE Modelowaniem będziemy nazywać proces tworzenia modelu obiektu lub zjawiska. Tworzenie komputerowych modeli części ciała ludzkiego i ich animacja stanowi jeden z ciekawszych działów intensywnie rozwijających się badań komputerowych. W celu zdobycia informacji na temat zachowania się jakiegoś układu dąży się do stworzenia komputerowych modeli numerycznych, które są jak najbardziej zbliżone do rzeczywistości. Modelowanie komputerowych postaci na wzór postaci ludzkich jest żmudnym i skomplikowanym procesem, dlatego zwykle modeluje się poszczególne części układu kostnego oddzielnie. Mimo wielu prób nie udało się do tej pory stworzyć modelu idealnego, który odpowiadałby szczegółowością budowy i realizmem zachowania ciała ludzkiego. W mechanice opis analizowanego zjawiska przedstawia się za pomocą równań matematycznych. Są to najczęściej równania różniczkowe zwyczajne lub cząstkowe określone w pewnym obszarze, w którym analizowane zjawisko przebiega. Mówimy, że równania te są modelem matematycznym badanego zjawiska. Równania te opisują proces oraz wszelkie relacje opisujące ograniczenia i uproszczenia (np. nierówności, warunki). Bardzo często ścisłe rozwiązanie takiego modelu jest bardzo trudne lub niemożliwe. Jedynym uniwersalnym sposobem rozwiązania jest zastosowanie metod numerycznych. Metody te stanowią jeden z zasadniczych nurtów rozwojowych współczesnej nauki i techniki. Ich stosowanie umożliwia symulację komputerową rzeczywistych zjawisk o różnej naturze fizycznej. Model numeryczny jest to program komputerowy umożliwiający wprowadzanie para-metrów modelowanego układu i stanu początkowego, otrzymanie na drodze obliczeniowej przebiegów czasowych zjawisk i charakterystyk modelowanego układu. Symulacja numeryczna jest to zastosowanie techniki komputerowej do rozwiązywania problemów dynamicznych modeli systemów. Pojęcie słowa symulacja komputerowa odnosi 1
do stosowania modeli obliczeniowych w analizie i predykcji procesów mechanicznych lub zachowań systemów technicznych. Zaletą symulacji jest to, że eksperyment można wielokrotnie powtarzać, zmieniając za każdym razem parametry, oraz obserwować i analizować wpływ tych zmian na przebieg zjawiska. Możemy badać zachowanie jeszcze nieistniejących układów lub urządzeń. W tym ćwiczeniu zostanie przedstawiony prosty model kończyny górnej na przykładzie podwójnego wahadła fizycznego. Model ten, choć mocno uproszczony stanowi dobrą reprezentację dynamiki i pokazuje wiele ciekawych wyników. Model ludzkiej ręki został przedstawiony na Rys. 1a., natomiast Rys. 1b. przedstawia model fizyczny składający się z dwu fizycznych wahadeł połączonych ze sobą w przegubie. (a) (b) Rys. 1. Układ kostny kończyny górnej (a) oraz jej model fizyczny wahadło podwójne (b). Kość ramienna odpowiada wahadłu nr 1, natomiast kość łokciowa i promieniowa wraz z nadgarstkiem jest traktowana, jako wahadło 2. Oczywiście, podwójne wahadło jest znacznym uproszczeniem ludzkiej ręki, pomija wiele dodatkowych zjawisk i czynników występujących rzeczywistym układzie kostnym ramienia. W rzeczywistym układzie kostnym kończyny górnej tzw. ruchomość szkieletowa wynosi 140 o. Pojęcie ruchomości szkieletowej oznacza możliwość ruchu, na jaką pozwala wzajemny kształt powierzchni stawowych łączących się kości. Jest to oczywiście wartość teoretyczna, gdyż staw otoczony jest przez torebkę stawową, wiązadła, chrząstki okołostawowe i mięśnie. Ruchomość zależy również od wieku człowieka. Wyróżniamy ruchowość: czynną, bierną i szkieletową. Ruchomość czynna jest to zakres ruchu, jaki uzyskamy aktywizując momenty sił mięśni działających na dany staw. Ruchomość bierna jest to zakres ruchu uzyskiwany przy wykorzystaniu momentu sił zewnętrznych (wówczas mięsnie zachowują się biernie). Doświadczalny pomiar ruchomości stawów przeprowadza się za pomocą goniometru lub elektrogoniometru. Układ człowieka zawiera elementy sztywne (kości) oraz połączenia ruchowe występujące miedzy nimi (stawy). Pod pojęciem mechanizmu rozumie się na ogół strukturę zbudowaną z elementów sztywnych. Takim mechanizmem jest właśnie podwójne wahadło. W niniejszym ćwiczeniu zajmiemy się analizą podwójnego wahadła oraz jego funkcji ruchowych z punktu widzenia mechaniki. 2
3. SCHEMAT MODELU FIZYCZNEGO W celu łatwiejszej analizy modelu kończyny górnej przyjęto układ współrzędnych oraz położenie początkowe wahadeł tak jak na Rysunku 2. Parametry modelu oznaczono: m 1, m 2 masy wahadeł, l 1, l 2 długości poszczególnych wahadeł, 1, 2 kąty odchyleń od pionu poszczególnych wahadeł. Jest to układ o dwóch stopniach swobody. Każde z wahadeł może wykonywać niezależne wahania lub się obracać bez tarcia wokół punktów O 1 lub O 2 (wokół poziomej osi prostopadłej do płaszczyzny rysunku). Środki mas prętów oznaczono przez C 1 i C 2, jako współrzędne uogólnione przyjęto 1, 2, oś pionową przyjęto w dół. Rys. 2. Układ dwu połączonych wahadeł fizycznych. W założonym modelu nie uwzględniono tłumienia (wynika ono z zjawiska tarcia w punktach O 1 i O 2 ), ma to na celu pokazania ciekawszej dynamiki układu oraz znacznie uprasza stworzenie modelu matematycznego i numerycznego. W celu ułożenia równań różniczkowych opisujących ruchu obu wahadeł wykorzystamy równania Lagrande a II rodzaju: d T T V, dt 1 1 1 d T T V, dt 2 2 2 gdzie T oznacza energię kinetyczną a V energię potencjalną. Energia kinetyczna obu prętów (wahadeł) wynosi 1 2 m1l 1 1 2 2 2 2 2 1 2 1 1 1 2 1 2 cos 2 1 1 T m 22. 2 3 2 l l l l 3 (2) Pierwsze wahadło porusza się ruchem obrotowym z prędkością kątową 1, natomiast drugi pręt porusza się ruchem płaskim, dlatego w celu wyznaczenia energii kinetycznej wykorzystano twierdzenie Koeniga. (1) 3
W celu uproszczenia równania (2) przyjęto l 1 =l 2 =l, oraz m 1 =m 2 =m wówczas rozpatrywane równanie ma postać Energia potencjalna wynosi 1 2 4 2 1 2 T ml 1 1 2 cos 2 1 2 (3) 2 3 3 l1 l2 V m1 g (1 cos 1) m2 g 1 1 cos1 1 cos 2. 2 l 2 (4) Przy założeniu uproszczeń l 1 =l 2 =l, oraz m 1 =m 2 =m równanie (4) ma postać 3 1 1 V mgl 1 cos 1 cos 2. 2 2 (5) Po obliczeniu pochodnych cząstkowych z energii kinetycznej i potencjalnej i po wstawieniu ich do równań (1) oraz dokonując kilku prostych przekształceń wyznaczono różniczkowe równania ruchu dla podwójnego wahadła: 4 1 1 2 2 1 1 1 2 2 1 3 g cos sin sin1 0, (6) 3 2 2 2 l 1 1 2 1 2 1 1 1 2 2 1 1 g cos sin sin2 0. (7) 3 2 2 2 l Powyższe równania różniczkowe są typu nieliniowego i na dodatek są sprzęgnięte ze sobą w sposób bezwładnościowy. Dlatego nie da się ich rozwiązać za pomocą klasycznych metod. 4. PRZEBIEG ĆWICZENIA Budowa modelu numerycznego Pierwszym etapem wykonania ćwiczenia będzie zbudowane modelu numerycznego. Do tego celu zostanie wykorzystane środowisko Matlab oraz Simulink. Simulink jest częścią pakietu numerycznego Matlab firmy MathWorks (www.mathworks.com) i służy do przeprowadzania symulacji komputerowych. Można implementować w nim układy liniowe jak i nieliniowe modelowane zarówno w czasie ciągłym, dyskretnym Simulink pozwala budować modele przy pomocy interfejsu graficznego i tzw. bloków. Bloki te są przeznaczone do wykonywania różnych operacji matematycznych (całkowanie, różniczkowanie, mnożenie, itp.). Bloki łączy się w odpowiedni sposób tak aby spełniały zależności matematyczne. W celu łatwiejszego zaimplementowania równań (6) i (7) przekształcono je do następujących postaci: 3 1 1 2sin2 1 2cos2 1 3 glsin 1, (8) 8 3 2 1 sin 2 1 1cos2 1 glsin 2. (9) 2 Na podstawie równań (8) i (9) zbudowano model numeryczny pokazany na Rys. 3. W celu stworzenia naszego modelu w pierwszym kroku oczywiście uruchamiamy Simulinka z poziomu Matlaba, poprzez wpisanie komendy simulink w oknie komend (command 4
window), lub można kliknąć odpowiednią ikonę w otworzonym Matlabie. Następnie z menu File wybieramy New i New model. Pojawi nam się puste okno modelu. Pozostaje nam teraz wybrać odpowiednich bloków potrzebnych do konstrukcji modelu. Bloki dobieramy i łączymy tak, aby były spełnione równania (8) i (9). Aby dodać wybrany blok do pliku, przeciągamy go myszką do naszego pliku lub pod prawym przyciskiem myszy klikamy polecenie add. Prawidłowo skonstruowany model powinien wyglądać tak jak na Rys. 3. Do zbudowania modelu numerycznego podwójnego wahadła wykorzystano biblioteki Simulinka: Continuous (bloki: Integrator), Math Operation(bloki: Gain, Product, Sum, Sin), Signal Routing (blok: Mux), Sinks (blok: To Workspace), Sources (blok: Clock). Rys. 3. Model numeryczny podwójnego wahadła. Ważnym elementem jest wpisanie parametrów symulacji, w tym celu w naszym pliku Simulinka (po uprzednim zapisaniu pod dowolną nazwą np.: podwojnewahadlo.mdl) klikamy zakładkę Simulation-Configuration Parameters. Ustawiamy Stop Time: tk, Type: Fixed-step, Fixed-step size: 0.01, Solver: ode4 (Runge-Kutta). Kolejnymi wielkościami, które należy ustalić są początkowe wychylenie wahadła nr 1 (blok Integrator 2, wpisujemy: fi1_o) oraz wahadła 2 (blok Integrator 4, wpisujemy: fi2_o). Wpisując odpowiednie wartości możemy modyfikować zarówno parametry układu jak i parametry naszej symulacji. W celu zapisu wykresów przebiegów czasowych w bloku To Workspace należy wpisać w zakładce Variable name: dane, oraz zaznaczyć format zapisu: Array. 5
Wykonanie animacji podwójnego wahadła W zakresie grafiki Matlab umożliwia rysowanie dwu i trójwymiarowych wykresów funkcji oraz wizualizację wyników obliczeń w postaci rysunków statycznych i animacji. Możliwe jest pobieranie danych pomiarowych z urządzenia zewnętrznego przez porty w celu ich obróbki. Wszystko to powoduje, że program ten znajduje bardzo szerokie zastosowanie w różnego rodzaju aplikacjach. Animacja jest wykonywana w celu łatwiej zobrazowania działanie jakiegoś układu fizycznego. W tym ćwiczeniu zostanie pokazany sposób wykonania animacji z wykorzystaniem jednej pętli obliczeń. W celu zautomatyzowania pewną liczbę poleceń z wiersza poleceń możemy zapisać do pliku z rozszerzeniem *.m (tzw. m-plik) i tę listę poleceń uruchomić jednym poleceniem - mówimy wówczas o m-pliku skryptowym. M-plik w naszym ćwiczeniu, który odwołuje się do pliku Simulinka i pobiera z niego sygnały do wykonania ma postać: clear all %PARAMETRY UKŁADU g=9.81; %m/s^2 (przyspieszenie ziemskie) l=0.5; %m (długość obu wahadeł) % WARUNKI POCZATKOWE tk=50; %s (czas symulacji) fi1_o=0; %rad (wychylenie początkowe wahadła 1) fi2_o=0.5; %rad (wychylenie początkowe wahadła 2) %SYMULACJA sim('podwojnewahadlo',tk); fi1=dane(:,1); %pobieranie sygnału 1 z modelu numerycznego fi2=dane(:,2); %pobieranie sygnału 2 z modelu numerycznego t=dane(:,3); %pobieranie sygnału 3 z modelu numerycznego % RYSOWANIE WAHADŁA 1 (położenie początkowe) x1=[0 l*sin(fi1_o)]; y1=[0 -l*cos(fi1_o)]; % RYSOWANIE WAHADŁA 2 (położenie początkowe) x2=[l*sin(fi1_o) l*sin(fi1_o)+l*sin(fi2_o)]; y2=[-l*cos(fi1_o) -l*cos(fi1_o)-l*cos(fi2_o)]; % RYSOWANIE PODWÓJNEGO WAHADŁA x=[x1, x2]; y=[y1, y2]; h1=plot(x,y,'linewidth',5, 'Color','b'); axis square axis ([-1.1 1.1-1.1 1.1]) % WYKONANIE ANIMACJI n=length(t); for i=2:n; drawnow x1=l*[0 sin(dane(i,1))]; y1=l*[0 -cos(dane(i,1))]; x2=l*[sin(dane(i,1)) sin(dane(i,2))+sin(dane(i,1))]; y2=l*[-cos(dane(i,1)) -cos(dane(i,1))-cos(dane(i,2))]; y=[y1 y2]; x=[x1 x2]; set(h1,'xdata',x,'ydata',y); end 6
W m-pliku wyrażenie występujące po znaku % oznacza tylko komentarz, dokładny opis występujących w kodzie poleceń można znaleźć w helpach programu lub na stronie producenta. Po wpisaniu wyżej wymienionych komend do pliku matlabowskiego i zapisaniu go pod dowolną nazwą (np. podwojnewahadlo.m) program jest gotowy do symulacji. Bardzo ważną rzeczą jest to, aby oba stworzone pliki były umieszczone w jednym katalogu. Poprzez zmianę początkowych wychyleń wahadła (fi1_o, oraz fi12_o) możemy analizować dynamikę układu. 5. OPRACOWANIE WYNIKÓW Wykonać symulację dla różnych wychyleń wahadeł, zarejestrować przebiegi czasowe dla obu wahadeł oraz wykonać wykres wychylenia wahadła nr 1 w zależności od wychylenia wahadła nr 2. Symulacje wykonać dla danych z Tabeli 1 (o ile prowadzący nie poda innych). Poszczególne wykresy wymienione w Tabeli 1, należy opisać i porównać ze sobą (najlepiej zrobić je w tych samych skalach). Tabela 1. Wyniki symulacji. Nr pomiaru Warunki początkowe Przebieg czasowy wahadła 1 Przebieg czasowy wahadła 2 Wykres wychylenia wahadła 1 od 2 1 2 3 4 5 fi1_o =0. fi2_o =0.5. fi1_o =0. fi2_o =1. fi1_o =0.2. fi2_o =0. fi1_o =0.2. fi2_o =0.2. fi1_o =0.2. fi2_o =-0.2. Wykresy i inne formy graficzne wygenerowane w matlabie można zapisać do wybranego formatu graficznego lub do pliku binarnego z rozszerzeniem *.fig. Zaletą tej drugiej formy zapisu jest możliwość późniejszej modyfikacji zapisanego obiektu w programie. Zapisu do formatu fig możemy dokonać za pomocą wybrania odpowiedniej opcji z menu (save as) lub za pomocą polecenia saveas. Wczytania pliku *.fig do matlaba dokonuje się poleceniem open lub openfig. W celu wygenerowania wykresów można użyć poleceń w matlabie: plot(t, fi1)), plot(t, fi2), plot(fi1, fi2). Opis osi i zakres na osiach można wykonać w opcjach wykresu lub bezpośrednio z poleceń. 7
6. SPRAWOZDANIE Sprawozdanie powinno zawierać: Stronę tytułową (z danymi o wykonawcach) Cel i temat ćwiczenia Krótka teoria dotyczącą analizowanego problemu Model fizyczny wraz z różniczkowymi równaniami ruchu Zbudowany na zajęciach model numeryczny (z krótkim opisem) Wyniki (przebiegi czasowe wraz z opisem) Wnioski i uwagi 7. LITERATURA 1. Szabelski K., Warminski J.. Laboratorium dynamiki i drgań układów mechanicznych. Mechanika, Lublin, ISBN 83-7497-0120X, 2006. 2. Leyko J. Mechanika ogólna tom 2. Dynamika. Wydawnictwo PWN, 2011. 3. Bober T., Zawadzki J. Biomechanika układu ruchu człowieka. Wrocław 2003. 4. Grabysz W.: Wybrane zagadnienia symboliczno-numerycznej symulacji mechanizmów, Wydawnictwo Politechniki Śląskiej, Gliwice 2002, 5. www.mathworks.com 8