DeepMind otwiera kod symulatora fizyki MuJoCo

DeepMind otworzył kod źródłowy silnika do symulacji procesów fizycznych MuJoCo (Multi-Joint dynamics with Contact) i przeniósł projekt do otwartego modelu rozwoju, co zakłada możliwość udziału członków społeczności w rozwoju. Projekt postrzegany jest jako platforma badań i współpracy w zakresie nowych technologii związanych z symulacją robotów i złożonych mechanizmów. Kod opublikowany jest na licencji Apache 2.0. Obsługiwane są platformy Linux, Windows i macOS.

MuJoCo to biblioteka implementująca silnik do symulacji procesów fizycznych i modelowania struktur przegubowych wchodzących w interakcję z otoczeniem, który może zostać wykorzystany przy opracowywaniu robotów, urządzeń biomechanicznych i systemów sztucznej inteligencji, a także przy tworzeniu grafiki, animacji i komputerowych Gry. Silnik jest napisany w C, nie wykorzystuje dynamicznej alokacji pamięci i jest zoptymalizowany pod kątem maksymalnej wydajności.

MuJoCo pozwala na manipulację obiektami na niskim poziomie, zapewniając jednocześnie dużą dokładność i rozbudowane możliwości modelowania. Modele definiowane są przy użyciu języka opisu scen MJCF, który opiera się na formacie XML i jest kompilowany przy użyciu specjalnego kompilatora optymalizującego. Oprócz MJCF silnik obsługuje ładowanie plików w uniwersalnym formacie URDF (Unified Robot Opis Format). MuJoCo zapewnia również GUI do interaktywnej wizualizacji 3D procesu symulacji i renderowania wyników przy użyciu OpenGL.

Najważniejsze cechy:

  • Symulacja we współrzędnych uogólnionych, z wyłączeniem naruszenia stawów.
  • Odwrotna dynamika, określona nawet w obecności kontaktu.
  • Wykorzystanie programowania wypukłego do ujednoliconego formułowania ograniczeń w czasie ciągłym.
  • Możliwość ustawienia różnych ograniczeń, w tym miękkiego dotyku i suchego tarcia.
  • Symulacja układów cząstek, tkanin, lin i miękkich przedmiotów.
  • Elementy wykonawcze (siłowniki), w tym silniki, cylindry, mięśnie, ścięgna i mechanizmy korbowe.
  • Solvers oparte na metodach Newtona, gradientach sprzężonych i Gaussa-Seidela.
  • Możliwość zastosowania piramidalnych lub eliptycznych stożków ciernych.
  • Wykorzystanie do wyboru metod całkowania numerycznego Eulera lub Runge-Kutty.
  • Wielowątkowa dyskretyzacja i aproksymacja metodą różnic skończonych.



Źródło: opennet.ru

Dodaj komentarz