Моделирование движения манипулятора в 3D, идеи? - PullRequest
2 голосов
/ 13 марта 2011

Надеюсь, вы не возражаете, если я попрошу немного советов относительно моделирования роботизированных систем. Недавно я заинтересовался использованием обратной кинематики (IK) для управления роботизированным манипулятором с 5 степенями свободы. У меня есть прочная основа в ИК, но у меня проблемы с способом визуализации того, как манипулятор движется относительно углов сустава.

Я изучал использование 3D-инструментариев (таких как Blender, Panda3D, vPython) для создания 3d-модели руки, но я не уверен, стоит ли искать что-то с поддержкой физики. Я также не уверен, насколько хорошо я могу моделировать движение с этими пакетами. У кого-нибудь есть предложения? То, что я НЕ ищу, это полноценный роботизированный симулятор, такой как Microsoft Robotic Studio, я хотел бы начать с основ и узнать, как все сначала работает, то есть кодировать IK в Python, а затем визуализировать движение в 3D. Я очень знаком с Python, поэтому что-то, что взаимодействует с Python, было бы предпочтительнее.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 13 марта 2011

Что хорошего в Blender, так это то, что его API на самом деле в Python!

Кроме того, он довольно хорошо поддерживает обратную кинематику (IK) в дополнение ко многим другим инструментам моделирования.

Blender Cookie - отличный ресурс.

Вот учебник по изготовлению оснастки IK в Blender.

API-интерфейсы Blenders Python достаточно подробно документированы, и в него даже встроена интерактивная оболочка Python, чтобы вы могли видеть эффекты вашего скрипта по ходу работы.

Физическим движком, который использует Blender, является популярный физический движок пули, который использовался во многих коммерческих играх, а также в нескольких художественных фильмах (среди них 2012).

0 голосов
/ 13 марта 2011

Python-Ogre - оболочка для очень зрелого движка C ++ OGRE 3D .Я использовал его для довольно значительного проекта, и я бы дал оболочку Python смешанный, но в основном положительный отзыв.Он очень способный и хорошо справляется со всеми функциями C ++ в основном Pythonic-интерфейсе.Вы можете получить физическую поддержку через один из многих модулей расширения OGRE, которые предоставляют эти возможности.

Самый большой минус в том, что документация для интерфейса Python плохая, и вам придется полагаться на документацию библиотеки C ++.чтобы понять некоторые вещи.Чтобы дать вам представление о том, что возможно, я смог реализовать язык сценариев для OGRE, используя Python и PyV8 (язык был Javascript), когда я создавал прототип проекта C ++.

Полученный прототип был очень зрелым и надежным, и я смог обернуть внутреннюю часть OGRE высокоуровневым Javascript.С помощью скриптового языка я смог написать анимацию, материалы, рендеринг и физику.

0 голосов
/ 13 марта 2011

Это не очень сложная проблема, не так ли?Предположительно, вы работаете над математикой самостоятельно;так что если ваш роботизированный манипулятор визуализируется, скажем, в виде нескольких прямоугольных тел, то все, что вам нужно, это что-то, что будет отображать их в координатах x, y, z и с указанным вами вектором ориентации, обновляя при необходимости.Для этого OpenGL вполне может подойти, вы можете сделать это в <50 строк. </p>

...