Оптимизационная Модель решения обратной задачи моделирования движения аватара в оперативном пространстве

Рис. 5. Результат интерпретации аудиограммы

Программа написана на языке С# для выполнения в среде .NET Framework 2.0 и выше. Комплекс может работать с наборами аудио-грамм в табличном виде, которые загружаются из текстовых файлов или из БД СУБД Access. Аудио-граммы можно просмотреть как в табличном виде, так и в виде графиков.

Значения функций принадлежности для термов лингвистической переменной «Потери слуха на частоте (,,)» хранятся в отдельном файле, который редактируется специальным графическим редактором.

Каждую аудиограмму можно представить в виде ее нечеткой модели и матрицы отрезков. Матрица отрезков представляется как в символьном виде, так и в виде специальной цветовой схемы KG.

Цветовая схема матрицы отрезков является дополнительным инструментом, позволяющим эксперту контролировать построение лингвистических оценок топологических свойств ломаных линий. Пример полной интерпретации аудио-граммы приведен на рисунке 5.

Предложенные алгоритмы позволяют создавать процедуры анализа топологических свойств графиков, инвариантные к масштабу изображения. В рассмотренной задаче все выделенные топологические характеристики плоских кривых найдены с использованием только функций принадлежности, характеризующих величину ординат точек. Это означает, что помощь эксперта необходима лишь при оценке очень простых качественных характеристик (большие, малые и т.п.), которые че-

ловек обычно легко идентифицирует. На основе рассмотренного комплекса создана программа автоматического анализа результатов тональной ау-диометрии при исследовании порогов слышимости человека.

Литература

1. Штовба С.Д. Введение в теорию нечетких множеств и нечеткую логику. URL: http://matlab.exponenta.ru/fuzzylogic/ bookl/index.php (дата обращения: 18.01.2011).

2. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений; [пер. с англ.]. М.: Мир, 1976.

3. Нечеткие модели для экспертных систем в САПР / Н.Г. Малышев, Л.С. Берштейн, А.В. Боженюк. М.: Энерго-атомиздат, 1991. 136 с.

4. Миловидов А.А., Филатова Н.Н. Построение качественных характеристик аудиометрических кривых на основе нечетких оценок порогов слышимости // Нечеткие системы и мягкие вычисления-2009: сб. науч. тр. Т. 1. Волгоград, 2009. С. 194-203.

УДК 004.946

ОПТИМИЗАЦИОННАЯ МОДЕЛЬ РЕШЕНИЯ ОБРАТНОЙ ЗАДАЧИ МОДЕЛИРОВАНИЯ ДВИЖЕНИЯ АВАТАРА В ОПЕРАТИВНОМ ПРОСТРАНСТВЕ

Д.С. Ситалов

В статье рассмотрены проблемы моделирования действий оператора в современных тренажно-моделирующих комплексах. Предложена методика решения задачи моделирования движения аватара в области оперативного пространства как задачи оптимального перемещения руки аватара в целевую точку воздействия на объект виртуального мира, основанная на допустимых траекториях движения элементов скелета руки аватара.

Ключевые слова: тренажер, моделирование движений человека, геометрическое моделирование человека, методы оптимизации.

Одним из перспективных направлений развития моделирующих комплексов тренажной под-

готовки персонала является обеспечение возможности проведения комплексных упражнений с

участием двух или нескольких обучаемых операторов. Для обеспечения возможности взаимодействия тренирующихся в виртуальном мире операторов необходимо, чтобы каждый оператор, как и моделируемые системы, стал объектом моделирования. Для этого в состав тренажерно-модели-рующего комплекса (ТМК) должен быть введен программный модуль, обеспечивающий моделирование человека [1].

Движения аватаров в виртуальном пространстве ТМК предлагается разделять на локальные и глобальные. Локальные движения выполняются руками при неподвижном туловище аватара; они необходимы для взаимодействия аватара с объектами виртуального мира. Область вблизи аватара, до любой точки которой он может дотянуться рукой без перемещения своего тела, назовем зоной оперативного пространства. Таким образом, локальные движения - это движения в области оперативного пространства, а глобальные - перемещения аватара в виртуальном мире, совершаемые для попадания целевой точки в зону оперативного пространства. Глобальные движения представляют собой перемещения аватара в виртуальном пространстве ТМК на сравнительно большие расстояния. Данные движения можно представить как типовые, поскольку их набор ограничен и они, как правило, являются периодическими. Движения в области оперативного пространства чрезвычайно разнообразны, их нельзя привести к типовым, так как они в полной мере определяются моделируемой ситуацией. Ввиду широчайшего многообразия движений в области оперативного пространства эти движения названы уникальными.

Для моделирования уникальных движений предлагается новый метод решения задачи подведения руки аватара к целевой точке с применением математического аппарата геометрии и линейной алгебры, основанный на допустимых траекториях движения частей тела аватара. Исходными данными при решении обратной задачи моделирования аватара на основе данного подхода являются положение аватара и целевой точки в виртуальном мире ТМК, параметры скелета аватара (длины звеньев, допустимые углы вращения в суставах), диапазон допустимых направлений (0ц, фц) подведения руки к целевой точке, ограничивающие параллелепипеды (ОП) частей тела аватара и объектов виртуального мира, с которыми обрабатываются столкновения. В результате требуется определить обобщенные координаты qп, qпр, qз звеньев кинематической цепи руки аватара.

Задача определения параметров кинематической цепи руки аватара делится на три этапа.

1-й этап. Определение положения сустава запястья С3(0ц, фц) в зависимости от направления подведения руки к целевой точке. Для этого вычисляется матрица Мц,м преобразования из сис-

темы координат целевой точки в мировую систему координат [2]:

1зх = 1, sin ец cos фц, l3y = 13 cos 8ц,

и=1зsin еsin фц >

Сзм (8ц ,фц ) = ( 1зж ,1зу ,1з. )• Мц,М .

2-й этап. Определение допустимого множества положений локтевого сустава Спр(хпр, упр, znp) и применение критериев оптимизации положения локтевого сустава при действии аватара в оперативном пространстве. Для этого рассмотрим движение плеча независимо от предплечья (в отрыве от предплечья). Плечевое звено вращается в плечевом суставе, при этом локтевой сустав Спр описывает в пространстве сферу Sn с центром в Сп радиусом 1п (рис. 1). Аналогично предплечье вращается независимо от плеча в суставе запястья, при этом локтевой сустав Спр описывает в пространстве сферу Snp с центром в Сз радиусом 1пр. Очевидно, что точки пересечения этих двух сфер Sn и Snp образуют множество возможных положений локтевого сустава. Таким образом, обратная задача сводится к задаче поиска точек пересечения двух сфер, обозначенных Sn и Snp. Для упрощения вычислений введем новую систему координат O'x'y'z' с центром в плечевом суставе и ориентированную таким образом, чтобы сустав запястья лежал на оси O'x'. Тогда Sn: x2+y2+z2= 12,

Snp: (x-d)2+y2+z2= 1Пр.

Решение обратной задачи (x'np, y'np, z'np) представляет собой окружность радиуса Rnp=

= ^ 1п — хпр с центром в точке (хпр, 0, 0), заданную в системе координат О'х'у^'. Окружность : У2 + = ^р лежит в плоскости ф, перпендикулярной оси О'х' (рис. 1).

Рис. 1. Решение обратной задачи моделирования аватара на основе допустимых траекторий движения частей тела

Вследствие того, что рука аватара обладает кинематической избыточностью, найденное решение не является единственным и представляет со-

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

3-й этап. Вычисление обобщенных координат qп, qпр и qз, определяющих ориентацию звеньев кинематической цепи руки аватара (плеча, предплечья и запястья соответственно) в конечной конфигурации скелета руки аватара, выполняется следующим образом.

• По найденным положениям суставов скелета руки аватара определяем направления осей Ox всех элементов скелета руки аватара. Поскольку принято, что ось Ox элемента скелета направлена вдоль элемента скелета, то оси Ox лежат на прямых, соединяющих суставы руки аватара:

_. С С

Ох = г^-^г

С „С

0„рх„р =

с с

пр з

пр з

Од,

С с

з Ц

IcTcI

• Направления осей Oy и Oz систем координат элементов скелета руки аватара определяем таким образом, чтобы вращение ортов системы координат при движении из начальной конфигурации скелета к конечной было минимальным. Это достигается с помощью процедуры ортогона-лизации Грамма-Шмидта:

ОпУп= (ОпУп) -((о^) .бл^бл.

\ / нач \ \ / нач /

() у =(() у ) -((о у } , О х \-0 х ,

пр«/ пр ^ пр«/ пр ^нач \ у ПР* ПР [няч пр пр / пр пр 7

-((о^) ' бл)-Ол-

л / нач \ \ / нач /

• По ортам осей систем координат строим матрицы преобразования из одной системы координат в другую для всех элементов скелета руки аватара и кватернионы, являющиеся обобщенными координатами элементов скелета.

Для выбора одного из множества найденных допустимых положений локтевого сустава при движении аватара в оперативном пространстве предлагается метод на основе решения задачи оптимизации с ограничивающими условиями, учитывающими допустимые движения элементов скелета в суставах. Переменными параметрами при оптимизации являются:

- положение локтевого сустава С™н = (х'пр,

У'пр, z'пр); поскольку координата x'пр постоянная, а пары (у'пр, z'пр) лежат на окружности радиуса

Rnp

хпр , возможные положения локтевого

сустава описываются одной угловой координатой у£[0, 2л]: x'пр=const, y'пр=RпрSiny, z'пр=RпрCosy;

- направление подведения кисти к целевой точке (9ц, фц): 9ц - отклонение кисти от нормали в целевой точке; фц - направление отклонения кисти.

В качестве целевой функции оптимизации использована комбинация критериев минимизации перемещения локтевого сустава при движении руки аватара к целевой точке и принципа нижайшего локтя. Критерий минимизации перемещения локтевого сустава определяет такое конечное положение локтевого сустава, при котором его движение из начальной конфигурации к конечной будет минимальным (рис. 2). При этом целевая функция имеет следующий вид:

1"1(Г'ец'Фц) = И2=(Х„-Х,»р(ец'Фц))2 +

+ ( Ун - Rnp (9ц ' Фц )sin у)2 +

+( zh - R„p (0ц' Фц )cos у)2.

Критерий оптимизации движения руки авата-ра на основе принципа нижайшего локтя [3], применяемого в робототехнике, определяет такое конечное положение локтевого сустава, при котором расстояние от локтевого сустава до плоскости пола минимально (рис. 3). При этом целевая функция будет иметь вид

f2 (У' 0ц ' Фц ) =

= IA • X 'пр (0ц, Фц) + B. Rnp (9ц, Фц) sin у +

+ CRnp(9ц,Фц)cosу+D .

Сп

Сц

CP ЧЪУн-Ч.)

Рис. 2. Критерий минимизации перемещения локтевого сустава

S„

Сп

Сц

N =

Спр

d

///////// Рис. 3. Критерии оптимизации по принципу

нижайшего локтя

Ограничивающие условия делятся на три группы.

S

1. Для учета биомеханических параметров движения руки человека применены ограничения, учитывающие максимальные углы вращения в суставах плеча, локтя и запястья. При этом необходимо для положения локтевого сустава, вычисленного на текущей итерации, для каждого 1-го элемента скелета руки определить обобщенные координаты и преобразовать их в углы Эйлера а*, аУ, а|. Тогда ограничения будут иметь вид ат1п,х <ах <атахх аш'°,У <аУ <ашах,У а™"'2 <а.2 <

< аЦ^2. Преобразуем их к форме, пригодной для применения в методе штрафных функций:

§,х

§2 (у, вц,Фц) = а2-ат""1 £ О, §2(у,0ц,Фц) = аГ,х-2-а2 £ 0.

2. Ограничения на допустимые углы подведе-

« /лтт ^ г\ ^ г\тях

ния кисти к целевой точке Уц < 0 < 0Ц и ФЩ1" < ф < фЦах имеют следующий вид: §е(0ц) = 0ц-ВЦ1" £ О,

§е

§в(фц) = Фц-ФЩ1" £ О,

§в

3. Ограничения, введенные для предотвращения коллизий (столкновений) элементов руки с другими частями тела аватара и с объектами виртуального мира ТМК, определяются как расстояние между ограничивающим параллелепипедом 1-го элемента руки (ОП1) и ближайшим ограничивающим параллелепипедом объекта ТМК или части тела аватара (ОПо^):

§1

Таким образом, постановка задачи оптимизации положения локтевого сустава имеет следующий вид: целевая функция 1"(у, вц, Фц)=1"1(у, вц, Фц)+?г(У5 вц, Фц)^Ш1П, ограничивающие условия (1)-(4). Функция штрафа в данном случае имеет

следующий вид: р (у, вц, Фц ) = .У '--,

4 ' 1 §1

где г - малая положительная величина [4].

Экспериментальное сравнение модели движения аватара в оперативном пространстве, построенной на кинематике манипуляторов, и вышеописанной модели, основанной на допустимых траекториях движения элементов скелета руки аватара, показало, что наилучшие результаты дает модель

Время, мс 2,00

1,50 1,00 0,50 0,00

Компьютер с Компьютер без Компьютер

поддержкой РИуБХ поддержки РИуБХ среднего уровня

Модель на основе кинематики манипуляторов

Модель на основе допустимых траекторий движения

Рис. 4. Сравнение производительности моделей движения аватара в оперативном пространстве

Частота кадров, Гц

^ 1к Время, с

—•— Модель на основе кинематики манипуляторов —— Модель на основе динамики [^ЭоП —*— Модель на основе допустимых траекторий движения

Рис. 5. Частота вывода кадров при применении моделей движения аватара в оперативном пространстве

на основе допустимых траекторий движения частей тела аватара (рис. 4).

Применение модели перемещения аватара в оперативном пространстве на основе допустимых траекторий движения позволяет практически избавиться от задержки при выводе кадров (с 25 до 23), когда выполняется расчет траектории движения руки аватара к целевой точке. При применении модели на основе теории кинематики манипуляторов проседание частоты кадров составляет более 25 % (с 25 до 18), что проявляется кратковременным зависанием изображения и его рывками (рис. 5). На данном графике также представлено сравнение разработанной модели с физическим моделированием движения на основе динамики RagDoll, применяемой в компьютерных играх, которая также проигрывает в скорости работы.

Литература

1. Ситалов Д.С. Проблемы моделирования действий оператора в современном тренажере // Программные продукты и системы. 2010. № 4. С. 137-140.

2. Цисарж В.В., Марусик Р.И. Математические методы компьютерной графики. К.: Факт, 2004. 466 с.

3. Накано Э. Введение в робототехнику; [пер. с япон.]. М.: Мир, 1988. 334 с.

4. Банди Б. Методы оптимизации. Вводный курс; [пер. с англ.]. М.: Радио и связь, 1988. 128 с.

30

15

10

5

0