Международная научно-техническая конференция «Информационные системы и технологии» ИСТ-2014 СЕКЦИЯ 5.3 ТЕХНИЧЕСКАЯ КИБЕРНЕТИКА (ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ КОГНИТИВНЫХ ПРОЦЕССОВ) И.А. ДОРОФЕЕВ (магистрант), Е.А. НИКУЛИН (к.т.н., профессор) (Нижегородский государственный технический университет им. Р.Е. Алексеева) АЛГОРИТМ ИНВЕРСНОЙ КИНЕМАТИКИ СУСТАВНЫХ КОНСТРУКЦИЙ С ПРОСТРАНСТВЕННЫМИ ОГРАНИЧЕНИЯМИ ДВИЖЕНИЯ Работа посвящена методу инверсной кинематики (ИК) и алгоритмам моделирования многосуставных упругих манипуляторов. Также рассматриваются алгоритмы нахождения траектории движения манипулятора в условиях пространственных ограничений. Инверсная кинематика применяется к моделям персонажей или объектов, имеющих скелет. Такие модели анимируются с помощью метода скелетной анимации, суть которого состоит в представлении скелета объекта набором твёрдых сегментов (компонентов), сочлененных четырьмя типами шарниров: обычным, шаровым, цилиндрическим и телескопическим. Сегменты объединяются в кинематические пары, которые, в свою очередь, соединяются в кинематические цепи. В результате сегменты образуют иерархические цепочки, имеющие «верхний» и «нижний» уровни. Сегменты верхних уровней называются родительскими (компонентами-предками), а сегменты нижних уровней — дочерними (компонентами-потомками). К сегментам скелета привязываются соответствующие им части модели объекта. При перемещении сегментов скелета привязанные к ним части модели двигаются вместе со скелетом. Алгоритм ИК рассчитывает положение и ориентацию компонентов-предков, исходя из положения и ориентации компонентов-потомков. Дочерний сегмент, вызывающий изменение положения других объектов и расположенный в середине отдельной иерархической цепочки сегментов, называется эффектором. Эффектор, являющийся конечным объектом иерархической цепочки, называется конечным эффектором (КЭ). Именно через эффектор осуществляется манипулирование всей иерархической цепочкой. Изменение положения КЭ приводит к изменению положения всех сегментов иерархической цепочки по законам ИК. Изменение положения простого (не конечного) эффектора приводит к тому, что положение объектов, стоящих по иерархии ниже него, меняется по законам прямой кинематики, а объектов с более высокой иерархией — по законам ИК. Ключом к успешной реализации инверсной кинематики является анимация в условиях ограничений. Конечности модели персонажа должны вести себя в разумных антропоморфных пределах. Аналогична ситуация и с робототехническими устройствами, имеющими такие физические ограничения, как рабочая среда, ограничения длины и углов вращения суставов, предельные физические нагрузки и скорости движений. В работе реализован алгоритм инверсной кинематики, основанный на расчёте сил, действующих на эффектор кинематической цепи. Данный алгоритм является итеративным. Для каждого сегмента цепи рассчитываются действующие на него силы с учётом физических свойств сочленений (масса, упругость, ограничения движения). На основе рассчитанных сил определяются углы поворота сочленений на текущем шаге движения. Сила действующая на сегмент кинематической цепи, раскладывается на тангенциальную (параллельную оси сегмента) и нормальную (перпендикулярную оси сегмента). Нормальная сила влияет непосредственно на поворот сегмента относительно шарнира. Тангенциальная сила действует на родительские сегменты цепи. В случае учёта сил упругости, которые возникают при растяжении/сжатии сегментов или изгибе в сочленениях, часть нормальной силы, действующей на сегмент, также влияет и на родительские сегменты, а тангенциальная сила оказывает воздействие на родительские сегменты посредством сил упругости, возникающих при продольном сжатии/растяжении. Расчёт динамики манипулятора основан на уравнении, выведенном из уравнения Лагранжа второго рода: d L dt q k L k , q k 348 Международная научно-техническая конференция «Информационные системы и технологии» ИСТ-2014 СЕКЦИЯ 5.3 ТЕХНИЧЕСКАЯ КИБЕРНЕТИКА (ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ КОГНИТИВНЫХ ПРОЦЕССОВ) где L = K – P — функция Лагранжа, K и P — кинетическая и потенциальная энергия манипулятора; k — момент обобщенных сил в k-ом шарнире, обусловленный работой привода и воздействием внешних нагрузок. В полученном уравнении n n s 1 s ,t 1 d ks qs hkst q s qt pk k d ks — инерционная составляющая; hkst — составляющая кориолисовых и центробежных сил; pk — cоставляющая гравитационных сил. Так как углы поворота рассматриваются в неинерционной системе отсчета, то силы Кориолиса можно принять нулевыми. Тогда имеем n d ks qs pk k . s 1 Отсюда видно, что наиболее значимым будет инерционность и масса, входящая в pk . Перенеся гравитационную составляющую в правую часть, получим n d s qs k pk . s 1 Качественно это соотношение можно рассматривать таким образом, что инерционная составляющая есть момент обобщенной силы, направленной против движения. Эта зависимость может быть охарактеризована следующим образом: угол поворота на каждой итерации пропорционален моменту инерции сегмента. Следовательно, можно предположить, что для создания реалистичной модели достаточно на каждой итерации для каждого сегмента уменьшать угол поворота пропорционально моменту инерции звена. В отличие от аналитических алгоритмов, итеративный алгоритм, основанный на расчёте сил, действующих на эффектор, позволяет найти решение задачи инверсной кинематики для манипулятора произвольной конфигурации, то есть является универсальным. Также, в случае, когда цель не достижима эффектором, аналитические алгоритмы не дают решения, в то время как итеративный алгоритм максимально приблизит эффектор к цели. Движение кинематической цепи в пространстве может быть ограничено препятствиями. Препятствия представляют собой трёхмерные модели каких-либо объектов (например, ящик или сфера), заданные наборами треугольников. В процессе моделирования движения постоянно проверяются столкновения элементов кинематической цепи с препятствиями. Для того, чтобы определить, произошло столкновение или нет, необходимо проверить, пересекает ли какое-либо ребро объекта сцены треугольники, из которых состоят другие объекты. При большом количестве объектов в сцене на проверку столкновений тратиться достаточно большой объем вычислительных ресурсов ЭВМ. Для ускорения проверки столкновений статическую геометрию сцены целесообразно подвергнуть разбиению с помощью октодерева. Тогда для определения пересечения ребра с треугольником достаточно узнать, к какой вершине октодерева принадлежит ребро, и проверять на пересечения только те треугольники, которые принадлежат этой вершине октодерева. При обнаружении столкновения кинематической цепи с объектом сцены либо при потере визуального контакта между эффектором и целью, когда соединяющий их отрезок пересекает объекты сцены, производится обход препятствий в реальном времени методом, основанным на случайном отклонении цели от своего начального положения. Он дает определенные практические результаты, но для надежного выхода кинематической цепи из тупиковых состояний может быть усовершенствован. Одним из вариантов усовершенствования является использование алгоритма, в котором случайные положения цели берутся на раскручивающейся спирали, центр которой лежит в начальном положении цели, а следующие пробные положения соответствуют большему углу спирали. E-mail: [email protected], [email protected] 349