SOLIDWORKS Motion – Projektowanie zawieszenia | Tomasz Tworek

Najlepszy blog techniczny SOLIDWORKS - DPSTODAY.PL

Projektowanie zawieszenia w SOLIDWORKS Motion

Moja praca magisterska polegała na zaprojektowaniu mechatronicznego zawieszenia dla platformy mobilnej robota mogącego poruszać się w nierównym terenie oraz pokonywać przeszkody urbanistyczne typu schody czy krawężniki. Platformę należało zaprojektować tak, aby możliwym było jej wykonanie zarówno pod względem mechanicznym jak i elektronicznym (system sterowania) – mówiąc krótko miała być praktyczna. Sprowadzało się to do zastosowania minimalnej ilości napędów liniowych i obrotowych. Zadanie nie łatwe, w życiu codziennym nie zdajemy sobie sprawy jak skomplikowana (przy obecnym stanie techniki) jest budowa i sterowanie nóg ludzkich, które bez trudu pokonują większość wspomnianych przeszkód.

Po spędzeniu sporej ilości czasu na przeglądaniu i porównywaniu właściwości terenowych robotów kołowych, gąsienicowych, kroczących oraz hybrydowych najbardziej praktyczna wydała mi się idea robota kołowo-kroczącego. Świetna sprawa, po płaskim terenie robot może się poruszać na kołach, co jest stosunkowo łatwe w sterowaniu, kiedy jednak trzeba pokonać przeszkodę przekraczającą połowę średnicy koła – system kroczenia rozwiązuje problem. Oczywiście nie byłem pierwszy, który na to wpadł, powstało sporo podobnych tego typu konstrukcji.

Jedną z ciekawszych okazała się być konstrukcja – mojego promotora (i wcale nie piszę tak z tego względu, że był moim promotorem) – sterowanie kończyny sprowadzało się do dwóch napędów (możliwość ruchu na płaszczyźnie 2D), co nie jest akurat niczym szczególnym, szczególna jest jednak budowa kinematyczna samej kończyny – przy zachowaniu pewnych warunków geometrycznych wystarcza w pewnym przybliżeniu tylko jeden napęd, aby poziomować platformę.

Zdecydowałem się zastosować tego typu kończyny w swojej konstrukcji. Czego mi brakowało w tym zawieszeniu – części pasywnej, niewymagającej zasilania, która bez udziału systemu sterowania pozwoli pokonywać nierówności terenu. Idea była taka, aby ta pasywna część działała przy mniejszych nierównościach, przy większych zaś – mogła działać część aktywna wymagająca napędów i zasilania. Podobała mi się idea takiego hybrydowego zawieszenia. Jako część pasywną zdecydowałem się zastosować mechanizm typu rocker (biegunowy). Taka 4 kołowa platforma z częścią pasywną i aktywną wydawała się dobrym rozwiązaniem. Aby jednak jednoznacznie móc to określić – potrzebne były testy. Przetestować należało zarówno część pasywną jak i aktywną zawieszenia.

Szkic pochodzi z książki „Robot Mechanisms and Mechanical Devices Illustrated” Paul E.Sandin

Testy takie można było wykonać budując fizyczny prototyp, co zajęłoby sporo czasu i pochłonęło sporo środków i energii, drugą opcją było wykonanie symulacji cyfrowej. Oczywiście zdecydowałem się na drugą opcję. Przez większą część moich studiów brałem udział w projektach studenckich, gdzie głównie korzystaliśmy z SOLIDWORKS jako narzędzia CAD. Posiada on jako jeden z modułów dodatkowych moduł Motion służący do analiz dynamicznych i kinematycznych.

SOLIDWORKS Motion

Moduł Motion oparty jest na oprogramowaniu ADAMS, które jest jednym z najbardziej zaawansowanych środowisk do analiz dynamicznych dostępnych na rynku. SOLIDWORKS Motion nie jest może aż tak rozbudowany – jednak pozwala zrobić wiele, co w większości zastosowań inżynierskich będzie wystarczające. Użytkownik dostaje możliwość przypisania napędów (liniowych i obrotowych), zastosowania sprężyn oraz tłumików między komponentami, możliwość działania siłą lub momentem na dany element. Ponadto można przypisać własności kontaktu między elementami (tarcie, właściwości elastyczne) oraz uwzględnić grawitację w naszym środowisku testowym (nawet można zdefiniować wartość przyspieszenia, więc jak ktoś chce zasymulować lądowanie na Marsie czy innej planecie – nie ma problemu). To wszystko możemy zmieniać w czasie (wartości sił oraz momentów, ich aktywacja i dezaktywacja, zmiana kierunku), a następnie generować wykresy przemieszczeń, sił, momentów… wystarczająco? Myślę, że tak. Przynajmniej do mojego zastosowania wystarczyło.

Z technicznych spraw warto jeszcze wspomnieć o tym, że użytkownik dostaje do dyspozycji 3 modele obliczania kroku całkowania. Wybór odpowiedniego zależy od ilości współpracujących ze sobą elementów w badaniu (więcej – należy wybrać bardziej dokładny, obliczenia zajmą jednak więcej czasu), dodatkowo można też ręcznie zdefiniować maksymalny i minimalny krok całkowania – mamy więc możliwość aby wpłynąć na pracę samego solvera.

Po określeniu założeń i gabarytów projektowanej platformy – przyszedł czas na dobór napędów, m.in. tych w kończynach. Szukając informacji w Internecie na temat modułu Motion odniosłem wrażenie, że przede wszystkim do tego jest wykorzystywane to oprogramowanie w praktyce. Nic dziwnego – niewiele kliknięć potrzeba, aby wykonać tego typu analizę. Przy prostych geometriach może nie jest to jeszcze tak widoczne (wystarczą proste kalkulacje na poziomie fizyki ze szkoły średniej), jednak przy bardziej skomplikowanych – pozwala zaoszczędzić naprawdę sporo czasu dobierając napęd.

Chcąc przeprowadzić badanie działania zawieszenia – należało przygotować do tego celu model. Mając koncept platformy należało wykonać jej uproszczony model uwzględniając masy poszczególnych części. Im prostszy jest element do analizy (zarówno pod względem geometrii części jak i ilości wiązań) – tym lepiej, pozwoli to na szybsze wykonanie analizy i zapewni mniej problemów w czasie jej wykonywania.

Platforma miała zostać wyposażona w 4 koła pneumatyczne. Ciężko jednak odwzorować zachowanie takiego koła w świecie wirtualnym, gdzie standardowo każda bryła traktowana jest jako sztywna. Powstało wiele prac naukowych na ten temat, m.in. [The Multibody Systems Approach to Vehicle Dynamics, Mike Blundell and Damian Harty], stąd do swoich symulacji przyjąłem model Fiala. Zrealizowane to zostało poprzez odpowiednie wpisanie wartości właściwości elastycznych kontaktu między kołami a podłożem.

Istotnym elementem modelu jest podłoże, po którym ma poruszać się pojazd. Przy poszczególnych badaniach były one różne, stąd bardzo wygodne okazało się korzystanie z możliwości wykorzystania różnych konfiguracji jednej części, którą było właśnie podłoże. Było to wygodne ze względu na to, że wystarczyło raz zdefiniować kontakty z podłożem, później chcąc zmienić typ przeszkód sprowadzało się to do trzech kliknięć wewnątrz złożenia.

Po przygotowaniu wszystkiego można było zabrać się za same symulacje działania zawieszenia. W symulacjach pokonywania przeszkód głównie interesujące były przechylenia jakie platforma doznaje w czasie jazdy, to też było badane. Każde badanie zaczynano od stabilizacji modelu. Polegało to na tym, że platforma w chwili początkowej była umieszczona nad podłożem (ok 100mm). W symulacji oczywiście była uwzględniana siła grawitacji, więc zaraz po rozpoczęciu symulacji koła platformy kontaktowały się z podłożem. Miało to na celu sprawdzenie poprawności kontaktu między kołami a podłożem. Dodatkowo napędy kół zostały włączone dopiero po 4 sekundach – właśnie w celu stabilizacji modelu.

W czasie badań napotkano jeszcze jeden problem – chcąc odwzorować realne warunki w terenie przeszkody dla kół lewych i prawych różniły się odległością na jakiej występowały oraz wielkością. To spowodowało, że oczywiście pojazd w czasie badania miał tendencje do skręcania. Napędy kół były ustawione na jedną prędkość, model symulacyjny nie przewidywał aktywnej korekcji toru jazdy poprzez skręcanie kołami, przez co platforma wypadała z niego. Chcąc otrzymać realne wyniki nie można było po prostu ustawić stałej odległości względem któregoś boku toru oraz którejś powierzchni platformy. Spowodowałoby to brak swobody obrotu platformy względem jej osi roll. Rozwiązaniem było dodanie dwóch wiązań odległości między dwoma punktami leżącymi na jednej prostej oraz powierzchnią boczną toru. Uznano, że wpłynie to najmniej na wyniki badań.

Uwzględniwszy wszystko o czym wspomniano powyżej przystąpiono do symulacji. Skupiono się przede wszystkim na zbadaniu różnic między zastosowaniem zawieszenia bez oraz z układem typu rocker (badanie miało na celu stwierdzenie sensowności skomplikowania konstrukcji poprzez zastosowanie tego typu mechanizmu). Poza samym wygenerowaniem wykresów oprogramowanie daje też możliwość eksportu wyników do formatu .csv – formatu arkuszy kalkulacyjnych. Jest to bardzo wygodne jeśli zachodzi konieczność obrobienia wyników, ich prezentacji, porównaniu z poprzednim badaniem itd.

Każdy student i absolwent uczelni technicznych wie jak wiele można zrobić z takimi wynikami. Wydawać by się mogło, że chcąc zrealizować dwa wspomniane typy symulacji należałoby mieć dwa różne modele – otóż nie. Poprzez odpowiednią budowę modelu (wraz z jego wiązaniami) przejście z jednego typu (z mechanizmem rocker) do drugiego (bez tego mechanizmu) polegało na włączeniu lub wyłączeniu jednego z wiązań.

Dokonując kilku prób z różnymi torami (przeszkody o różnej wielkości), można było zebrać wyniki oraz dokonać analizy porównawczej. Poniżej przedstawiono jedną z par wyników. Można pokusić się o stwierdzenie, że widać poprawę kiedy mechanizm rocker jest odblokowany, jednak mając na uwadze stopień skomplikowania konstrukcji – wątpliwym staje się sens jego zastosowania w tej konstrukcji. Niezaprzeczalnie pozwala on pokonywać większe przeszkody terenowe, jednak mając do dyspozycji część aktywną – można jej użyć aby je pokonać.

Przykładowa para wyników symulacji, prędkość 8 km/h

Poza testami części pasywnej przeprowadzono również testy części aktywnej zawieszenia sprawdzając algorytmy kroczenia. Można to było zrealizować w prostej formie w module Motion – dzięki wykorzystaniu możliwości tzw. event based motion. Polega to na tym, że możemy zrealizować ruch w zależności od występujących stanów na zdefiniowanych czujnikach np. jeśli odległość mierzona przez czujnik będzie mniejsza niż określona – wykonaj daną operację, po jej zakończeniu może zostać wykonana kolejna… i tak dalej.

Możliwość ta pozwoliła sprawdzić, jak robot poradzi sobie przy pokonywaniu przeszkody w postaci krawężnika mającego wysokość większą niż średnica koła. Pozwoliło to też oszacować czas jaki potrzebuje platforma, aby tę przeszkodę pokonać. Zakładając użycie elektrycznych aktuatorów liniowych pokonanie tego typu przeszkody zajęło by… 86 sekund. Trochę długo.

Podsumowanie

Sumując całość – moduł SOLIDWORKS Motion pozwala zrealizować wiele analiz. Ostatecznie biorąc pod uwagę dodatkowe czynniki nie wspomniane w tym artykule doszedłem do wniosku, że zaproponowana przeze mnie zmiana nie jest opłacalna. Pomogły mi w tym opisane symulacje, dzięki którym obyło się bez wykonywania prototypu platformy. Na koniec chciałbym wspomnieć, że przedstawiony moduł ma pewne niedociągnięcia uprzykrzające życie, jednak z mojego doświadczenia wynika, że każde oprogramowanie ma pewne swoje mankamenty o których trzeba po prostu wiedzieć. Niemniej, jeśli masz zamiar wykorzystać ten moduł do projektowania wszelkiego rodzaju mechanizmów – uważam, że będziesz zadowolony.

Chciałbyś napisać artykuł jak wykorzystałeś w swojej pracy oprogramowanie SOLIDWORKS? Napisz do nas na marketing(at)dps-software.pl

Jeżeli opublikujemy Twój artykuł, dostaniesz od Nas jedno darmowe szkolenie oraz wejściówkę na DPS Forum 2017!

Post: SOLIDWORKS Motion – Projektowanie zawieszenia | Tomasz Tworek