Czy mogę używać oprogramowania do animacji cyfrowej do definiowania ruchów robotów humanoidalnych?


11

Pracuję z humanoidalnym robotem o wielkości (~ 130 cm) (Hubo +) i szukam sposobu na łatwe zaprogramowanie w nim nowych ruchów i gestów. Oczywiście mógłbym napisać własne narzędzie, ale szukam rozwiązania, które może wykorzystać istniejące narzędzia lub standardy ruchu robota. Moją pierwszą myślą była próba użycia oprogramowania do animacji, takiego jak Blender lub Maya, i napisanie skryptu w celu wyodrębnienia wspólnych kątów w klatkach kluczowych. Jednak niewielu badaczy robotyki prawdopodobnie biegle posługuje się Mayą. (Wiem, że nie jestem!)

Czy jest już jakieś narzędzie do robotyki 3D, które jest standardem? Jedyne, co do tej pory widziałem, to jest Narzędzie Pose w RoboPlus i Choregraphe dla Nao, ale oba programy wydają się ograniczone do konkretnych robotów i nie wydają się być rozszerzalne na Hubo.

Więc moje pytania to:

  • Czy istnieją standardowe formaty plików dla ruchu robota? Nie 2D robot kołowy. Ruch rąk i nóg! Coś równoważnego formatowi plików .bvh stosowanemu do przechwytywania ruchu.
  • Czy znasz jakieś narzędzie WYSIWYGish do tworzenia ruchu robota przy użyciu klatek kluczowych i odwrotnej kinematyki?

Witamy w Stack Exchange William, zredagowałem twoje podziękowania, ponieważ tak naprawdę nie są one potrzebne w pytaniach dotyczących wymiany stosów i po prostu odwracają uwagę ludzi od samego pytania. Domyślamy się dobrze myśleć o ludziach, więc zakładamy, że ludzie będą wdzięczni, gdy inni pomogą w komentarzach i odpowiedziach. * 8 ')
Mark Booth

3
Za to, co jest warte, dla wirtualnych modeli humanoidalnych istnieje standard H-Anim . I choć niewielu robotów
ThomasH

@ mark-booth, Myślę, że to bardzo zdrowe podejście!
William Hilton

@ThomasH, właściwie zarejestrowałem się na liście mailingowej Blender Robotics! Jednak nie widziałem ich strony wiki, dziękuję.
William Hilton

1
Widziałeś to? coppeliarobotics.com
Shahbaz

Odpowiedzi:


3

Krótka odpowiedź brzmi: nie sądzę, aby istniał dobry ustandaryzowany format pliku ruchu i nie wydaje mi się, żeby istniały jakieś dobre, ogólne narzędzia do robota wysiwyg. Wymagany będzie pewien poziom niestandardowego programowania.

RE: Standardowe formaty plików dla ruchu robota

Collada ma być znormalizowanym formatem plików wymiany danych 3D i obsługuje przechowywanie podstawowych informacji o animacjach i typach fizyki w modelu. Obsługa nie jest jednak spójna w przypadku różnych narzędzi, szczególnie w przypadku danych animacji / fizyki.

Poza tym jest mało prawdopodobne, że znajdziesz ogólne formaty plików do przechowywania animacji robotów. (Chociaż nie jest w 100% porównywalny, sprawdź na wikipedii listę formatów plików ruchów / gestów .) Wszystko, co widziałem, jest specyficzne dla platformy i / lub własności. Weź pod uwagę, że branża gier i CAD to rzędy wielkości większe i bardziej szczegółowe niż robotyka. Mają podobne wymagania, ale nie ma formatu pliku defacto.

Jeśli interesuje Cię bardziej programowy widok danych z tych zastrzeżonych systemów, to spojrzenie na specjalistyczne narzędzia używane przez te branże może dać ci dodatkowe opcje i pomysły. Przykłady:

W szczególności tworzenie, przechowywanie i wykonywanie animacji postaci (często humanoidalnych) jest dobrze reprezentowane i bardzo zaawansowane w branży tworzenia gier. Za cenę. Uważam, że większość większych studiów ma cały zespół zajmujący się wyłącznie konwersją danych z jednego systemu do drugiego i przekazywaniem ich przez rurociąg produkcyjny.

Jednym z powtarzających się problemów z użyciem narzędzi do tworzenia gier (lub ogólnie narzędzi kreatywnych 3D) do robotyki jest to, że w grach / filmach zwykle jest w porządku, jeśli animacja nie modeluje rzeczywistości dokładnie. Może to powodować problemy w przypadku zastosowania do robotów z prawdziwego świata.

RE: Pozowanie narzędzi

Symulatory robotyczne (takie jak V-REP firmy Coppelia, a nawet MS Robotics Studio ) mogą być przydatne, jeśli zapewniają interfejs API / eksport i są w stanie symulować roboty typu humanoidalnego. Nie znam jednak żadnego, który wspierałby pełny model humanoidalny. Większość służy tylko do modelowania broni i robotów kołowych. Może jednak mógłbyś modelować swoje ruchy humanoidalne jako zbiór niezależnych podsystemów uzbrojenia? tzn. lewa noga to jedno ramię robota. Jeśli tak, to dostępnych będzie kilka dodatkowych narzędzi wsyiwyg.

Flowstone to kolejne narzędzie wizualne, które można wykorzystać do pozowania, ale prawdopodobnie nie wysiwyg, o którym myślałeś.

Jeśli nie potrzebujesz WYSIWYG i jesteś otwarty na niektóre programy, możesz wypróbować PyPose i Nuke .

Podobnie, ale wymagając bardziej zaawansowanego programowania, różne silniki fizyki mogą być interesujące do pobierania wszystkich danych wejściowych (modele 3D i związane z nimi parametry), a następnie zapewniania wyników ruchu poprzez zastosowanie sił i odwrotnej kinematyki. Przykłady obejmują ODE i fizykę pocisków . Podobną programową opcją skośną byłoby użycie ROS. Widziałem kilka projektów i notatek dotyczących potencjalnego wsparcia ROS dla ruchów typu humanoidalnego.

To powiedziawszy ... chociaż trudny do nauczenia, nadal uważam, że Blender3D ma potencjał, aby być jedną z lepszych wszechstronnych opcji zaawansowanej robotyki typu pozowanie i praca z ruchem, szczególnie ze względu na ścisłą integrację z językiem programowania Python. Ktoś już wskazał wiki Blender Robotics w komentarzach. Powinieneś także przejrzeć wideo Grantlo321 na YouTube za pomocą blendera do sterowania serwami grającymi na pianinie, a także post na blogu Justina Daily, w którym opisuje on użycie Blendera / Pythona do sterowania serwomechanizmami. Zgadzam się, że Blender3D jest trudny do nauczenia, ale prawdopodobnie będzie to prawdą w przypadku prawie każdego oprogramowania typu 3D wysiwyg, chyba że jego ostrość jest bardzo wąska.


0

Jeśli chcesz zaprojektować robota, możesz użyć oprogramowania SolidWork, CATIA lub ADAMS, a następnie możesz animować swojego robota. Możesz jednak użyć symulatora robotów platformowych Aldebaran (NAO). Ten symulator może być dla Ciebie pomocny, ale robot NAO jest robotem wielkości dziecka z dobrymi czujnikami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.