Strona główna
« Strona główna
  • English
  • Polski
  • O firmie
  • Usługi
  • Projekty badawcze
  • Nauka i technika
  • Publikacje
  • Do pobrania
  • Kontakt
  • Do pobranie ofertowanie na ciało czarne
  • BitMan
  • lvODE
  • Waptia

lvODE

Nazwa: 
lvODE
Wersja: 
0.1
Typ: 
Biblioteka
Wymagania: 
LabVIEW 2009
lvODE
lvODE
lvODE

Opis

lvODE jest zestawem tzw. wrapperów, interfejsem do napisanej w C++ biblioteki ODE (Open Dynamics Engine) służącej do symulacji dynamiki układów brył sztywnych (rigid body simulation). W obecnym stanie lvODE pozwala na wykorzystanie niemal pełnej funkcjonalności ODE w środowisku LabVIEW przy wykorzystaniu programowania zorientowanego obiektowo (LVOOP), czyli przeprowadzania symulacji fizycznych układów brył sztywnych, także interaktywnych i w czasie rzeczywistym. Symulacje takie mogą być wykorzystywane m. in. podczas programowania układów sterowania robotów i manipulatorów (jak i w samych układach sterowania), do programowania i testowania systemów sztucznej inteligencji, do modelowania złożonych mechanizmów i innych układów fizycznych, itp.

lvODE nie jest ścisłym odwzorowaniem ODE. Pomimo, że wykorzystane zostały te same koncepty, używana jest identyczna terminologia i większość funkcji ODE ma swoje odzwierciedlenia, to wiele z nich zostało pogrupowanych, struktury danych zostały uproszczone, a wszystko to w przyjazny dla użytkownika LabVIEW sposób i z uwzględnieniem specyfiki tego środowiska. Dodanych zostało też kilka elementów nie występujących w oryginalnej bibliotece, a w znaczny sposób ułatwiających programowanie – m. in. menedżer obiektów. Planowane są też kolejne rozszerzenia (m.in. integracja z 3D Picture Control)

W chwili obecnej nie cała funkcjonalność biblioteki ODE jest zaimplementowana w lvODE. Do najważniejszych różnic należą: brak obsługi geometrii typu trimesh, heighfield i convex, brak więzu typu 2D Plane, brak trybu żyroskopowego dla ciał, wyłącznie pojedyńcza precyzja liczb zmiennoprzecinkowych.

Film ilustrujący funkcjonalność biblioteki:



Krótko o ODE

ODE jest darmową i szeroko znaną biblioteką przeznaczoną do symulacji układów brył sztywnych. Programista definiuje układ ciał, ich parametry fizyczne i rodzaje połączeń pomiędzy nimi, zadaniem biblioteki jest obliczenie sił występujących w układzie i wyznaczenie położeń i prędkości wszystkich ciał w kolejnym kroku czasowym, przy zachowaniu wszystkich zdefiniowanych relacji. Programista może w pełnym zakresie ingerować w symulację w czasie jej trwania, co umożliwia zarówno dokładną analizę jej przebiegu (dostęp do wszystkich parametrów fizycznych) jak i zaprogramowanie dowolnego stopnia interaktywności. ODE zaprojektowane jest w szczególności do symulacji w czasie rzeczywistym – wykorzystywany jest integrator (procedura rozwiązująca układ równań różniczkowych) pierwszego rzędu, co jest pewnym kompromisem pomiędzy szybkością i jakością. Generowane przez niego wyniki nie są tak dokładne jak byłyby przy wykorzystaniu integratorów wyższego rzędu, jest za to stabilny, szybki i elastyczny.

Poniżej wymieniono podstawowe cechy ODE:

  • Ciała jako bryły sztywne z dowolnym rozkładem masy
  • Typy par kinematycznych: przegub kulowy, para obrotowa, para posuwista, para typu zawieszenie, przegub Cardana, połączenie sztywne, siłowniki liniowe i obrotowe, oraz inne typy będące kombinacjami już wymienionych
  • Typy geometrii używanej do wykrywania kolizji: sfera, prostopadłościan, walec, kapsułka, płaszczyzna, półprosta, dowolna bryła w postaci siatki trójkątów, wielokąt, pole wysokości (heighfield)
  • Trzy typy przestrzeni kolizyjnych
  • Równania ruchu wyprowadzone metodą mnożników Lagrange’a
  • Wybór metody całkowania: metoda „pełna” – wolniejsza i dokładniejsza lub metoda iteracyjna
  • Zaawansowany model kontaktu i tarcia

Instalacja

Zalecaną formą instalacji jest instalacja pakietu VIP przy użyciu VI Package Manager

Można także zawartość archiwum ZIP (katalog „lvODE”) wypakować do katalogu <LabVIEW xxxx>\user.lib.

Po restarcie LabVIEW na palecie, w dziale User Libraries, pojawi się wtedy sub-paleta „lvODE”, na której sub-paletach znajdują się wszystkie niezbędne funkcje.

Dokumentacja

Dokumentacja biblioteki znajduje się w podkatalogu „doc” i składają się na nią następujące pliki:

  • ODE Manual.pdf – oryginalny podręcznik do ODE. Zapoznanie się z nim jest niezbędne do pełnego zrozumienia głównych idei i mechanizmów działania biblioteki. Ze względu na wykorzystywanie tej samej terminologii, może to być też źródło wystarczające do korzystanie z lvODE. Najważniejszą różnicą jest uproszczona względem oryginału konwencja nazw funkcji (pozwoliło na to zastosowanie LVOOP i jego przestrzeni nazw).
  • lvODE Class Hierarchy.pdf – graficzna reprezentacja hierarchii klas biblioteki – jej znajomość nie jest niezbędna by zacząć programowanie, może jednak ułatwić zrozumienie pewnych koncepcji.
  • lvODE Function Reference.pdf – wykaz wszystkich publicznych funkcji lvODE pogrupowanych ze względu na klasy, wraz z opisami. Opisy funkcji czerpią dużo z oryginalnego podręcznika ODE, uwzględniają jednak wszystkie różnice konwencji i specyfikę LaBVIEW. Dokument ten stanowczo wymaga jeszcze doszlifowania (lepsze grupowanie, szersze opisy poszczególnych sekcji itp.)
  • Pliki *.png – mapa wszystkich palet

Integralną częścią dokumentacji są też opisy zawarte w pomocy kontekstowej każdej funkcji. W dużej części pokrywają się one z opisami w pliku „lvODE Function Reference”, dodatkowo opisane są także funkcje prywatne biblioteki.

Przykłady

Znajdują się w podkatalogu „examples”. Jest to kilka przykładów o różnym stopniu skomplikowania, z wyczerpującymi komentarzami w kodzie. Przykłady te wspomagane pomocą kontekstową i (w trudniejszych przypadkach) lekturą kilku rozdziałów oryginalnego podręcznika powinny być wystarczającą pomocą by samodzielnie zacząć programować w lvODE.

Licencja

Oprogramowanie udostępnia się na licencji Creative Commons BY-NC-ND (opis i tekst licencji pod adresem http://creativecommons.org/licenses/by-nc-nd/3.0/pl/ oraz w pliku license.txt)

Biblioteka ODE rozprowadzana jest na licencji BSD

Pobierz

application/octet-stream iconPakiet VIP dla VI Package Manager
application/zip iconArchiwum ZIP
© SKA Polska 2013
  • O firmie
  • Usługi
  • Projekty badawcze
  • Nauka i technika
  • Publikacje
  • Do pobrania
  • Kontakt
  • English
  • Polski