Демонстрация освоения компетенций ФГОС на примере реализации алгоритма инверсной кинематики в трехмерном пространстве с учетом ограничений
Харюнин Александр Сергеевич аспирант Института информационных технологий, математики и механики Нижегородский государственный университет им. Н.И. Лобачевского, пр. Гагарина, 23, г. Нижний Новгород, 603950, (831)4623361 sharyunin@mail.ru
Кильдишев Максим Геннадьевич студент магистратуры Института информационных технологий, математики и
механики
Нижегородский государственный университет им. Н.И. Лобачевского, пр. Гагарина, 23, г. Нижний Новгород, 603950, (831)4623361 mkildishev@,yandexru
Борисов Николай Анатольевич доцент, к.т.н., доцент кафедры прикладной инженерии института информационных технологий, математики и механики Нижегородский государственный университет им. Н.И. Лобачевского, пр. Гагарина, 23, г. Нижний Новгород, 603950, (831)4623361 nborisov.itmm@yandexru
Аннотация
В работе рассматривается пример реализации компетенций ФГОС в процессе реализации студентами ИИТММ ННГУ алгоритма инверсной кинематики FABRIC (Forward and Backward Reaching Inverse Kinematics) с возможностью наложения ограничений и демонстрируется его применение для кинематической цепи с ограниченными возможностями движения в трёхмерном пространстве.
The paper considers an example of the implementation of the GEF competencies in the process of implementation of the FABRIC (Forward and Backward Reaching Inverse Kinematics) algorithm with the possibility of imposing restrictions by students of ITMM faculty, UNN and demonstrates its application for a kinematic chain with limited possibilities of movement in three-dimensional space.
Ключевые слова
высшее образование, компетенции, инверсная кинематика, алгоритм, FABRIC, компьютерное моделирование, higher education, competencies, inverse kinematics, algorithm, FABRIC, computer modeling.
Введение
Инверсная кинематика [1] (далее будет использоваться сокращение ИК) - это процесс определения параметров связанных звеньев для достижения ими необходимой позиции и ориентации в пространстве. Стоит отметить, что при этом звенья должны двигаться быстро и плавно, а конечный узел достигать цели с учётом введённых ограничений.
Задача инверсной кинематики, рассматриваемая в данной статье, находит применение в таких сферах как робототехника, компьютерная анимация. На примере ее решения представляется возможным продемонстрировать формирование у студентов основных компетенций ФГОС, обеспечивающих освоение такой необходимой во многих предметных областях дисциплины, как математическое моделирование сложных систем.
Освоение предусмотренных ФГОС компетенций - необходимый этап формирования знаний студента в процессе его обучения и оно обязано иметь место в формировании модели знаний студента [2, 3] которая является основой использования современных средств автоматизации обучения, в первую очередь - интеллектуальных обучающих систем [4-9]. Такие средства в настоящее время являются важной составляющей образовательных порталов высших учебных заведений [10].
Механические манипуляторы можно рассматривать как робототехническую систему из нескольких связных звеньев, на движение которой может влиять как внешние ограничения среды, так и ограничения самого манипулятора - его размеры, средства подвижности, вес отдельных деталей. Алгоритм FABRIK позволяет решить данную проблему максимально точно и просто даже при наличии ограничений на размеры и подвижность устройства [11]. Один из возможных способов наложения ограничений для данного метода будет рассмотрен в этой статье.
В ходе реализации данного алгоритма студентами Института информационных технологий, механики и математики (ИИТММ) ННГУ в качестве базовой выступает компетенция ОПК-2 ФГОС - способность выявлять естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности, привлекать для их решения соответствующий физико-математический аппарат. Использованный в данной работе алгоритм соответствует естественно -научной сущности задачи инверсной кинематики позволяет накладывать на перемещения звеньев моделируемого манипулятора ограничения, также определяемые физической сущностью моделируемого объекта.
На этапе практического воплощения разработанного алгоритма студенты продемонстрировали успешное освоение компетенции ПК-9 - способностью решать задачи производственной и технологической деятельности на профессиональном уровне, включая разработку алгоритмических и программных решений в области системного и прикладного программирования.
Метод FABRIK в трёхмерном пространстве с учётом ограничений
Для решения задачи ИК рассмотрим «Метод прямого и обратного следования» (Forward and Backward Reaching Inverse Kinematics, далее FABRIK) [14, 15]. Сам способ не использует матриц вращений в пользу получения точки на прямой, имеет низкую алгоритмическую сложность, а также кинематическая цепь, управляемая методом, принимает визуально естественную позицию при достижении целевой точки. Алгоритм без проблем может быть расширен для случая, в котором могут быть наложены ограничения или же для случая нескольких кинематических цепей.
Работа алгоритма реализуется в два этапа. На первом этапе происходит обход узлов цепи в обратном порядке. Последний узел устанавливается на целевую позицию, после чего обходятся все узлы цепи с подстройкой углов. На втором этапе обход узлов происходит в прямом порядке, первый узел устанавливается на изначальную стартовую позицию, это необходимо в рамках предположения о том, что позиция первого узла жёстко закреплена, и происходит подстройка углов и размещение остальных узлов. Размещение узлов происходит итеративно и сводится к задаче поиске точки на прямой, что определяет алгоритмическую простоту метода.
Поскольку в механическом манипуляторе всегда существуют ограничения на его возможные перемещения, рассмотрим способ наложения ограничений на выбранный алгоритм инверсной кинематики. Как правило, гибкое соединение может быть описано как комбинация его ориентации и положения в пространстве, обычно оно имеет три степени свободы. Таким образом наложение ограничений также можно разбить на две фазы: ограничение поворота и ограничение позиционирования. Большинство существующих методов ИК используют именно такие ограничения, чтобы механизм находился в пределах, определяемых конструкцией.
В данной работе будут рассмотрены ограничения положения в пространстве кинематической цепи [11]. В первую очередь, необходимо отметить, что текущей версии реализации метода в трёхмерном случае введённые ограничения выглядят, как конус с прямоугольным основанием. Конус образуется четырьмя ограничивающими прямыми: дг, д2, д4 и углами, которые соответствуют им: вху, вхг, Уху, Ухг
Рис. 1. Интерпретация ограничения для звена в трёхмерном пространстве
В зависимости от расположения узла манипулятора, возможны различные случаи дальнейшего выполнения алгоритма: выполнение или невыполнение всех ограничений в совокупности, нарушение одного из ограничений, нарушение ограничений, образующих грань конуса. Рассмотрим вышеописанные случаи подробнее: при нарушении ограничений, нужно вычислить проекцию позиции узла устройства на ребро или грань ранее заданного конуса, в зависимости от нарушения конкретного ограничения. Если выполнены все ограничения, то проекция позиции узла является самой позицией узла. Если же, наоборот, все ограничения не выполнены - позиция узла проецируется в ноль. Вместе с этим существуют ситуации, когда происходит проекция расположения узла на грани конуса или ещё рёбра: не выполнены отдельные ограничения.
Рис. 2. Проекция конуса на плоскости ХУ и XZ
Уравнения, задающие ограничивающие прямые приведены ниже. По умолчанию, считаем, что все ограничения выполнены (д^ < 0).
= —у * соз(вху) + х * 5т(уХу) < 0
91 = У * со-э("Ху
92 = У*
х *
5т(0ху) < 0
д3 = г* ^(ухг) — х* зт(ухг) < 0 д4 = —г* соз(вхг) + х * зт(вхг) < 0
В случае нарушения ограничений, проекцию позиции узла манипулятора можно найти, используя функцию Лагранжа. Пусть ограничение ^ не выполнено,
тогда:
Ь = (х — 02 +(у —Ч)2+(2—02 +Л* (—У* ^(вху) + х * зт(вху))
2*(х — ^}+Л*х* зт^у) = \ 2*(у — ц) —А*у* соз(вху)
г л
х = ^—~* зт^у) 2
у = У] + -* соз(вху) 2 = $
л
Полученные координаты имеют смысл только в том случае, когда выполнено:
- = —у * соз(вху) + х * 5т(0Ху) > 0, из условий Каруша— Куна — Таккера
Что касается ограничений ориентации, они будут заданы следующим образом. Будем исходить из позиции, что у нас имеется шаровое соединение с ограничениями ориентации, описанными ротором Я и ограничениями вращения, описанными углами @ху> @хг>Уху >Ухг. Рассмотрим работу алгоритма пошагово на рисунке 3. За рассматриваемую модель возьмём кинематическую цепь с шаровым соединением [11, 15].
Рис. 3. Иллюстрация работы алгоритма с ограничениями
a) Начальное положение цепи и цели;
b) Переориентируем конечный узел цепи на целевую позицию из соображения, что это не противоречит ограничениям. Вычисляем новую позицию точки р2;
О Производим проекцию точки р*2 на конус (треугольник в двумерном случае);
d) Переставляем узел р2 в точку р*2. Получаем новую точку р*1 между узлами р 2 и р1;
e) Аналогично шагу с. производим проекцию точки р*1 на конус; 1) Финальное положение цепи. Ограничения не нарушены.
Приведём текстовое описание алгоритмов для ограничений ориентации и поворота.
Ограничения на ориентацию Входные данные: ротор И, выражающий поворот между ориентационной рамкой для узлов рТ и рм
Выходные данные: переориентированный узел р_Г
1. Проверка нахождения ротора в диапазоне значений движения
2. Если он находится внутри границ, то не делать ничего. Иначе произвести переориентацию рм
Ограничения на поворот Входные данные: целевая позиция 1 углы ограничивающего конуса
в}, где )= 14
Выходные данные: новая целевая позиция Г
1. Найти выражение линии где - линия, проходящая через узлы р и р+1;
2. Найти проекцию О целевой точки 1 на Ь1;
3. Преобразовать целевую точку так, чтобы О находилась в начале координат и была ориентирована в соответствии с осями X и У;
4. Выяснить к какому сектору конуса относится целевая точка;
5. Выяснить, находится ли целевая точка в пределах конуса;
6. Если целевая точка находится в пределах конуса, взять это за истинную позицию 1, иначе спроецировать точку на конус или его грань;
7. Сделать обратное пункту 3 преобразование с точкой и выбрать её как новую целевую позицию;
8. Повторить процедуру для каждого узла.
Выводы
В работе был рассмотрен способ наложения ограничений в алгоритме FABRIK на движение кинематической цепи. Как можно увидеть из алгоритма, ограничения в нём применяются итеративно на каждое звено механизма. Ключевым преимуществом данного способа является то, что он не влияет на сходимость основного метода.
Поскольку интенсивное применение электронных образовательных средств является передовым способом в организации обучения [12,13,16], программное обеспечение, разработанное на основе данного алгоритма с ограничениями может
быть использовано в учебных целях, например, при преподавании дисциплин, связанных с программированием робототехнических устройств, и не только.
На базе данной разработки планируется создание лабораторной работы по курсу «Программирование роботов», который готовится для использования в качестве курса по выбору в магистратуре ИИТММ ННГУ. Пример данной разработки демонстрирует необходимость единства математической подготовки и подготовки в области программирования ЭВМ при становлении современного специалиста в области вычислительной техники и робототехники [19, 20]. При этом знания и практические навыки студента, полученные в цикле дисциплин, связанных с программированием и моделированием, находят свою реализацию в такой современной предметной области, как робототехника [17, 18].
Литература
1. Инверсная кинематика // Википедия. - [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/Инверсная_кинематика (дата обращения 12.09.2019)
2. Борисов Н.А. Организация процесса обучения на основе нечеткой модели знаний студента // Вестник ННГУ (Информационные технологии). - №5(2), 2012, С. 262265.
3. Борисов Н.А. Использование модели знаний студента для организации процесса обучения // Материалы Всероссийской научно-методической конференции «Новые педагогические технологии: содержание, управление, методика» -Нижний Новгород, ННГУ, 2013.
4. Храмцова Е.О., Бочкарев П.В. Интеллектуальные обучающие системы // Международный научно -технический журнал «Теория. Практика. Инновации» -Декабрь, 2017. - [Электронный ресурс] URL: tpinauka.ru/2017/12/Khramtsova.pdf (дата обращения 23.09.2019)
5. Борисов Н.А., Рогов П.А. Распределенная сетевая архитектура обучающей системы // Математические методы в технике и технологиях - ММТТ-ХХ. Сборник трудов ХХ Международной научной конференции, Т.9. - Ярославль, изд-во Ярославского государственного университета, 2007. - С.115-118.
6. Борисов Н.А., Рогов П.А. Интенсификация учебного процесса с использованием средств дистанционного обучения // XXVII Международная выставка-конференция «Информационные технологии в образовании»: Сборник трудов. Часть IV. - М.: «БИТ Про», 2007, С. 24-27.
7. Борисов Н.А. Оптимизация управления учебным процессом при использовании интеллектуальных обучающих систем // Проблемы образования в современном постсоветском пространстве: Сборник статей XI Международной научно -практической конференции - Пенза, 2008, С. 188-190.
8. Борисов Н.А., Рогов П.А., Кучинская С.П. Организация адаптивного обучения и тестирования в системе дистанционного обучения «E-Learning Suite» // Сборник материалов VII Всероссийской научно-практической конференции «Инновационное развитие и социально-экономические процессы региона». -Тверь, ТФ МЭСИ, 2008. - С. 36-41.
9. Борисов Н.А. Системный анализ тестирования знаний // Материалы XXI Международной конференции «Применение новых технологий в образовании». -Троицк: ГОУ ДПО «Центр новых педагогических технологий», 2010. С. 234-236.
10. Гергель В.П., Карпенко С.Н., Борисов Н.А., Кузенкова Г.Н., Шестакова Н.В. Образовательный портал факультета Вычислительной математики и кибернетики ННГУ им. Н.И. Лобачевского на платформе Microsoft SharePoint // Международный журнал «Образовательные технологии и общество», Том 17, №4, Октябрь, 2014.
11. Кинематические цепи и их классификация // - [Электронный ресурс] URL: http://www.nuru.ru/tmm/005.htm (дата обращения 12.09.2019)
12. Гергель В.П., Кузенков О.А. Разработка самостоятельно устанавливаемых образовательных стандартов Нижегородского госуниверситета в области информационно-коммуникационных технологий // Школа будущего, 2012, № 4 -С. 100-105.
13. Кузенков О.А., Захарова И.В. Взаимосвязь между проектом METAMATH и продолжающейся реформой высшего образования в России // Образовательные технологии и общество. 2017 Т. 20 № 3 С. 279-291.
14. Харюнин А.С, Кильдишев М.Г, Борисов Н.А. решение задачи инверсной кинематики методом FABRIK // «Современные проблемы компьютерных и информационных наук», XIII Международная научно -практическая конференция: 2018.
15. Aristidou, A., Lasenby, J. FABRIK: A fast, iterative solver for the inverse kinematics problem In: Graphical Models 73(5):243-260 September 2011.
16. ZakharovaI., KuzenkovO. EXPERIENCE IN IMPLEMENTING THE REQUIREMENTS OF THE EDUCATIONAL AND PROFESSIONAL STANDARDS IN THE FIELD OF ICT IN RUSSIAN EDUCATION
В сборнике: CEUR Workshop Proceedings Selected Papers of the 11th International Scientific-Practical Conference Modern Information Technologies and IT-Education, SITITO 2016. 2016. С. 17-31.
17. Борисов Н.А. Организация сквозной практики по программированию на основе предметной области «Робототехника» // Преподавание информационных технологий в Российской Федерации: Материалы Тринадцатой открытой Всероссийской конференции - Пермь, ПГНИУ, 2015 - С. 94-96.
18. Борисов Н.А. Изучение различных технологий программирования на примере курса «Программирование роботов» // Преподавание информационных технологий в Российской Федерации: Материалы Четырнадцатой открытой Всероссийской конференции - Санкт-Петербург, 2016 - С. 64-66.
19. Тывес Л.И. Механизмы робототехники. Концепция развязок в кинематике, динамике и планировании движений. - М.: Ленанд, 2014. - 208 с.
20. Параскевов А.В., Левченко А.В. Современная робототехника в России: реалии и перспективы (Обзор) [Электронный ресурс] URL:
http ://cyberleninka.ru/article/v/sovremennay a-robototehnika-v-rossii-realii-i-perspektivy-obzor (дата обращения 12.09.2019)