RU2308764C2 - Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства - Google Patents

Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства Download PDF

Info

Publication number
RU2308764C2
RU2308764C2 RU2004131050/09A RU2004131050A RU2308764C2 RU 2308764 C2 RU2308764 C2 RU 2308764C2 RU 2004131050/09 A RU2004131050/09 A RU 2004131050/09A RU 2004131050 A RU2004131050 A RU 2004131050A RU 2308764 C2 RU2308764 C2 RU 2308764C2
Authority
RU
Russia
Prior art keywords
articulated object
global
vector
articulated
rotation
Prior art date
Application number
RU2004131050/09A
Other languages
English (en)
Other versions
RU2004131050A (ru
Inventor
Бруно МЭЙ (FR)
Бруно МЭЙ
Эдуард РАМСТЕЙН (FR)
Эдуард РАМСТЕЙН
Патрик ШЕДМЭ (FR)
Патрик ШЕДМЭ
Original Assignee
Снекма Моторс
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Снекма Моторс filed Critical Снекма Моторс
Publication of RU2004131050A publication Critical patent/RU2004131050A/ru
Application granted granted Critical
Publication of RU2308764C2 publication Critical patent/RU2308764C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Изобретение относится к области имитации перемещения виртуального сочлененного объекта в виртуальном пространстве. Техническим результатом является повышение быстродействия. В способе вычисляют расстояние взаимодействия между сочлененным объектом (10) и элементом окружающего его пространства (13), определяют по указанному расстоянию взаимодействие первой точки (Р1), принадлежащей одному из сочлененных элементов (11) сочлененного объекта (10), и второй точки (Р2), принадлежащей элементу окружающего его пространства (13), определяют по первой и второй точкам (P1, P2) уникального вектора (V) отведения отведение сочлененного объекта (10) от элемента (13d) окружающего его пространства (13) при помощи движения, определенного в соответствии с единственным вектором (V) отведения и воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта для предотвращения столкновения сочлененного объекта (10) с элементом (13d) окружающего пространства. 13 з.п. ф-лы, 11 ил.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к области имитации перемещения виртуального сочлененного объекта в виртуальном пространстве. Изобретение касается, в частности, предотвращения столкновений сочлененного объекта с элементами окружающего его пространства.
Уровень техники
Моделирование в виртуальной реальности используется в настоящее время в различных отраслях, например в авиационной и космической отраслях промышленности. Например, цифровые модели часто используют для оценки взаимодействия между различными деталями.
Кроме того, моделирование может использоваться для имитации действий человека или робота в определенных условиях с целью наглядного представления, например, перемещений, которые должен совершить техник или робот для выполнения таких действий. Эта методика полезна для оценки и оптимизации доступности определенных элементов оборудования, например двигателя самолета, требующих регулярного осмотра и обслуживания.
Таким образом, моделирование с использованием виртуального сочлененного объекта позволяет контролировать степень доступности различных элементов конструкций уже на стадии их моделирования.
Виртуальный сочлененный объект представляет собой совокупность цифровых данных, определяющих кинематическую систему, характеризуемую сочлененными элементами, которым соответствует определенное количество степеней свободы.
Таким образом, в каждый момент виртуальный сочлененный объект может быть определен своим общим положением в метрическом пространстве и значениями степеней свободы своих сочленений (суставов). Эти данные, а также параметры, определяющие пространство, в котором находится виртуальный сочлененный объект, могут быть сохранены на носителе цифровых данных.
Известны применения виртуальных сочлененных объектов в приложениях такого рода.
Один из примеров такого применения приводится в статье Chedmail, Damay et Le Roy, озаглавленной «Réalité virtuelle, maquette numérique du produit, outils de distribution et partage de la conception» (Journées Priméca, La Plagne, 7-9 avril 1999).
В этой статье предлагается способ оценки легкости монтажа и демонтажа объектов в загроможденном пространстве при помощи модели перемещения двух виртуальных сочлененных рук в виртуальном пространстве.
Для предотвращения столкновений сочлененных рук с элементами окружающего пространства по методике, предложенной в указанной статье, используется вычисление градиента линии столкновения относительно степеней свободы сочлененных рук.
Для вычисления градиентов по методу конечных разностей необходимо осуществить многочисленные перемещения каждого сочленения сочлененных рук и рассчитать для каждого перемещения длину линии столкновения. Эта методика крайне медленна и требует больших затрат времени на вычисления.
Раскрытие изобретения
Задача, на решение которой направлено настоящее изобретение, заключается в устранении вышеописанных недостатков и в предложении способа, позволяющего имитировать перемещения или манипуляции сочлененного объекта с предотвращением его столкновений с элементами окружающего его пространства с ограничением времени расчетов.
Для решения поставленных задач предлагается способ перемещения виртуального сочлененного объекта в виртуальном пространстве последовательностью элементарных перемещений, причем сочлененный объект определен в данном пространстве глобальным положением, глобальной ориентацией и углами сочленений, определяющими положение совокупности сочлененных элементов, составляющих указанный сочлененный объект, в соответствии со степенями свободы. Способ по изобретению включает следующие этапы:
- вычисляют расстояние взаимодействия между сочлененным объектом и элементами окружающего его пространства;
- определяют по расстоянию взаимодействия первую точку, принадлежащую одному из элементов сочлененного объекта, и вторую точку, принадлежащую элементу окружающего его пространства, таким образом, что расстояние взаимодействия соответствует глубине проникновения сочлененного объекта и элемента окружающего его пространства или минимальному расстоянию между сочлененным объектом и элементом окружающего его пространства;
- по результатам указанного определения первой и второй точек находят единственный вектор отведения, причем при расстоянии взаимодействия, соответствующем глубине проникновения, первая и вторая точки образуют начальную и конечную точки указанного вектора соответственно, а при расстоянии взаимодействия, соответствующем минимальному расстоянию, первая и вторая точки образуют конечную и начальную точки указанного вектора соответственно;
- отводят сочлененный объект от элемента окружающего его пространства с помощью движения, определенного в соответствии с единственным вектором отведения, причем движение отведения осуществляют движением переноса, воздействующим на глобальное положение сочлененного объекта, и/или движением поворота, воздействующим на глобальную ориентацию сочлененного объекта, и/или движением поворота сочленений, воздействующим на каждое сочленение, принадлежащее последовательности сочленений, предшествующей элементу сочлененного объекта, которому принадлежит указанная первая точка.
Таким образом, способ по изобретению использует единственное вычисление расстояния взаимодействия для отведения сочлененного объекта от элементов окружающего его пространства. Это обеспечивает значительное упрощение процедуры и существенную экономию времени.
Способ по изобретению дополнительно включает этап определения наличия столкновения сочлененного объекта с элементами окружающего его пространства, проводимый после каждого элементарного движения в указанной последовательности элементарных движений.
По первому варианту осуществления изобретения расстояние взаимодействия соответствует глубине проникновения таким образом, что вектор отведения равен разности координат второй точки и первой точки. Данная глубина проникновения обеспечивает возможность перемещения сочлененного объекта с ограниченными и контролируемыми столкновениями с элементами окружающего его пространства.
По второму варианту осуществления изобретения расстояние взаимодействия соответствует минимальному расстоянию таким образом, что вектор отведения равен разности координат первой точки и второй точки. Данное минимальное расстояние обеспечивает возможность перемещения сочлененного объекта без столкновений с элементами окружающего его пространства.
Способ дополнительно содержит этап отмены последнего элементарного движения в указанной последовательности элементарных движений при наличии столкновения сочлененного объекта с элементом окружающего его пространства.
В оптимальном варианте указанные этапы определения первой и второй точек, определения вектора и отведения сочлененного объекта не осуществляют при отсутствии столкновения данного сочлененного объекта с элементами окружающего его пространства.
В соответствии с первой особенностью изобретения отведение сочлененного объекта от элемента окружающего его пространства может быть осуществлено движением переноса, пропорциональным компонентам вектора отведения и воздействующим на глобальное положение сочлененного объекта.
В соответствии со второй особенностью изобретения отведение сочлененного объекта от элемента окружающего его пространства осуществляют движением поворота, воздействующим на глобальную ориентацию сочлененного объекта, причем движение поворота включает следующие этапы:
- определение первого глобального вектора между центром тяжести сочлененного объекта и начальной точкой вектора отведения;
- определение второго глобального вектора между центром тяжести сочлененного объекта и конечной точкой вектора отведения;
- вычисление угла глобального поворота, необходимого для совмещения первого глобального вектора со вторым глобальным вектором;
- вычисление одного или нескольких элементарных углов глобального поворота путем разложения угла глобального поворота по одной или нескольким осям, определяющим глобальную ориентацию сочлененного объекта;
- поворот сочлененного объекта на один или несколько углов, пропорциональных одному или нескольким элементарным углам глобального поворота.
В соответствии с третьей особенностью изобретения отведение сочлененного объекта от элемента окружающего его пространства осуществляют движением поворота сочленения, воздействующим на каждое из сочленений, принадлежащих последовательности сочленений, предшествующих элементу сочлененного объекта, которому принадлежит указанная первая точка. При этом движение поворота сочленения, воздействующее на данное сочленение каждого из указанных сочленений, включает следующие этапы:
- определение первого локального вектора между центром указанного сочленения и начальной точкой вектора отведения;
- определение второго локального вектора между центром указанного сочленения и конечной точкой вектора отведения;
- вычисление угла локального поворота, необходимого для совмещения первого локального вектора со вторым локальным вектором;
- вычисление одного или нескольких элементарных углов поворота сочленения путем разложения угла локального поворота по одной или нескольким осям, определяющим одну или несколько степеней свободы, соответствующих указанному сочленению;
- поворот сочлененного элемента в указанном сочленении на один или несколько углов, пропорциональных одному или нескольким элементарным углам сочленения.
Угол глобального поворота может быть вычислен по глобальному векторному произведению первого и второго глобальных векторов, а угол локального поворота может быть вычислен по локальному векторному произведению первого и второго локальных векторов.
Один или несколько элементарных углов глобального поворота могут быть вычислены по одному или нескольким скалярным произведениям глобального векторного произведения и одной или нескольких осей степеней глобальной ориентации, а один или несколько элементарных углов поворота сочленения могут быть вычислены по одному или нескольким скалярным произведениям локального векторного произведения и одной или нескольких осей степеней свободы данного сочленения.
В соответствии с одним из вариантов осуществления изобретения перемещение сочлененного объекта может быть осуществлено с помощью фактора притяжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.
Отведение сочлененного объекта от элементов окружающего его пространства может быть осуществлено с помощью фактора скольжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.
В оптимальном варианте способ дополнительно включает этап перемещения сочлененного объекта в режиме реального времени, осуществляемого оператором с помощью управляющего фактора, воздействующего на положение и/или ориентацию, и/или степени свободы сочлененного объекта.
В соответствии с одной из особенностей изобретения сочлененный объект может представлять собой виртуальный манекен, перемещающийся по полу виртуального пространства. Данный манекен определяется своим положением на виртуальном полу, ориентацией относительно вертикальной оси, перпендикулярной полу и проходящей через центр тяжести манекена, и углами сочленении, определяющими совокупность его сочлененных элементов.
Краткое описание чертежей
Другие особенности и преимущества способа по изобретению станут ясны из нижеследующего подробного описания, приводимого без наложения каких-либо ограничений со ссылками на прилагаемые чертежи. На чертежах:
- фиг.1 изображает в перспективе аппаратные средства, служащие для осуществления системы или способа по изобретению;
- фиг.2А крайне схематично иллюстрирует виртуальный сочлененный объект, определенный согласно изобретению в метрическом пространстве;
- фиг.2В крайне схематично иллюстрирует виртуальный манекен, определенный согласно изобретению в метрическом пространстве;
- фиг.3А крайне схематично иллюстрирует вектор отведения, определенный согласно изобретению в режиме минимального расстояния;
- фиг.3В крайне схематично иллюстрирует вектор отведения, определенный согласно изобретению в режиме глубины проникновения;
- фиг.4 крайне схематично иллюстрирует движение отведения, воздействующее согласно изобретению на глобальное положение сочлененного объекта;
- фиг.5 крайне схематично иллюстрирует движение отведения согласно изобретению, воздействующее на глобальную ориентацию сочлененного объекта;
- фиг.6 крайне схематично иллюстрирует движение отведения, воздействующее согласно изобретению на одно конкретное сочленение сочлененного объекта;
- фиг.7А представляет собой блок-схему, иллюстрирующую основные этапы перемещения сочлененного объекта по изобретению;
- фиг.7В представляет собой модификацию фиг.7А;
- фиг.8 крайне схематично иллюстрирует архитектуру многофакторной системы, используемой для перемещения сочлененного объекта согласно изобретению.
Осуществление изобретения
На фиг.1 изображена система, которая может быть использована для моделирования перемещений сочлененного объекта. Эта система содержит рабочую станцию (или компьютер) 1, обладающую (обладающий) хорошими графическими характеристиками и используемую (используемый) для исполнения компьютерной программы, разработанной для осуществления способа по изобретению.
Компьютер 1 содержит обычные для устройств такого типа аппаратные средства. Более конкретно, компьютер содержит центральный блок 2, выполняющий последовательности команд программного обеспечения, соответствующего способу по изобретению, центральное запоминающее устройство 3, сохраняющее данные исполняемых программ, носители цифровых данных (жесткий диск, дисковод 4 для компакт-дисков, дисковод для гибких дисков и т.д.), обеспечивающие длительное хранение данных и программного обеспечения, периферийные устройства ввода (клавиатуру 5, мышь 6 типа «2D» или «3D», джойстик и т.д.). В состав компьютера входят также периферийные устройства вывода (экран 7, стереоскопические шлемы или очки и т.д.), обеспечивающие отображение перемещений сочлененного объекта.
Разумеется, для увеличения вычислительных мощностей моделирование по изобретению может осуществляться на нескольких рабочих станциях, работающих параллельно.
На фиг.2А крайне схематично изображен виртуальный сочлененный объект 10, определенный древовидной структурой сочленений. Таким образом, сочлененный объект 10 определен совокупностью «пассивных объектов», т.е. сочлененных элементов 11, соединенных между собой сочленениями 12, которые могут быть классифицированы по известным методикам.
Сочлененному объекту 10 также может быть приписана локальная система отсчета с началом координат в центре G тяжести этого объекта.
В частности, эта локальная система отсчета может содержать единственную ось
Figure 00000002
, проходящую через центр G тяжести сочлененного объекта 10.
Сочлененный объект 10 перемещается в виртуальном пространстве 13, загроможденном несколькими объектами или препятствиями 13а, 13b, 13с, 13d, столкновения с которыми сочлененный объект 10 должен избегать в процессе своего перемещения. Сочлененный объект 10 и окружающее его пространство определены в метрическом пространстве (О; х, у, z).
В этом метрическом пространстве легко могут быть определены положения и ориентации сочлененного объекта 10 и различных объектов 13а, 13b, 13с, 13d окружающего его пространства 13.
Так, сочлененный объект 10 в окружающем его пространстве 13 может быть в любой момент определен глобальным положением, глобальной ориентацией и углами наклона сочленений, определяющими положение совокупности сочлененных элементов 11 в соответствии с их степенями свободы.
Глобальное положение сочлененного объекта 10 может быть определено декартовыми координатами его центра G тяжести по осям х, у, z.
Глобальная ориентация может быть определена по известной методике тремя углами, определяющими ориентацию приписанной к сочлененному объекту оси Z относительно осей х, у, z.
Разумеется, также следует учитывать параметры или ограничения, накладываемые пределами движения сочленений и физическими связями между различными частями тела или элементами 11 сочлененного объекта 10.
Эти данные и переменные, определяющие сочлененный объект 10, а также параметры, определяющие окружающее его пространство 13, сохраняют в запоминающем устройстве 3 компьютера 1.
Как показано на фиг.2В, сочлененный объект может, в частности, представлять собой виртуальный манекен 10а, перемещающийся по полу в виртуальном пространстве 13.
В этом случае манекен 10а может быть определен углами сочленений, определяющими совокупность его сочлененных элементов, своим положением на виртуальном полу и ориентацией относительно вертикальной оси
Figure 00000003
перпендикулярной указанному полу и проходящей через центр G тяжести манекена 10а.
Сочлененный объект 10, например манекен 10а, по известной методике может быть перемещен в виртуальном пространстве 13 с помощью последовательности элементарных движений, например, чтобы достичь некоторой цели 13с.
Так, для создания траектории, позволяющей сочлененному объекту 10 достичь цели 13с, можно воздействовать на глобальное положение сочлененного объекта 10, используя заранее определенный шаг Δр изменения глобального положения, и/или на ориентацию сочлененного объекта, используя заранее определенный шаг Δo изменения ориентации, и/или на степени свободы сочлененного объекта, используя заранее определенный шаг Δа перемещения сочленений.
Этот процесс можно представить как притяжение сочлененного объекта 10 к цели 13с без учета размеров цели 13с или любых других объектов 13а, 13b пространства 13.
Чтобы предотвратить столкновения сочлененного объекта 10 с элементами окружающего его пространства 13, необходимо определить критерий столкновения. Такой критерий может быть определен по методике, известной специалистам в данной области, путем вычисления расстояния взаимодействия сочлененного объекта 10 с элементами окружающего его пространства 13, которые также содержат точки, определяющие это расстояние взаимодействия.
Следует отметить, что расстояние взаимодействия может соответствовать минимальному расстоянию между сочлененным объектом 10 и элементом окружающего его пространства или глубине их взаимного проникновения.
На фиг.3А и 3В проиллюстрировано определение расстояния взаимодействия элемента сочлененного объекта 10 и объекта 13d, принадлежащего окружающему пространству.
В частности, пример, представленный на фиг.3А, иллюстрирует критерий минимального расстояния между сочлененным объектом 10 и элементом окружающего его пространства, а также точки Р1 и Р2, определяющие это минимальное расстояние.
Далее, пример, представленный на фиг.3В, иллюстрирует критерий глубины взаимного проникновения сочлененного объекта 10 и элемента окружающего его пространства, а также точки Р1 и Р2, определяющие эту глубину проникновения.
Таким образом, вычисление расстояния взаимодействия позволяет определить точку Р1, в дальнейшем описании называемую «первой точкой»; принадлежащую одному из элементов 11 сочлененного объекта 10, и другую точку Р2, в дальнейшем описании называемую «второй точкой», принадлежащую окружающему пространству 13.
Это позволяет определить по этим первой точке Р1 и второй точке Р2 единственный вектор
Figure 00000004
отведения.
Согласно методу, основанному на вычислении минимального расстояния (фиг. 3А), вектор
Figure 00000004
отведения равен разности координат первой точки Р1 и второй точки Р2. Другими словами, вторая точка Р2 образует начальную точку вектора
Figure 00000005
а первая точка Р1 образует конечную точку вектора
Figure 00000004
отведения.
В отличие от этого согласно методу, основанному на вычислении глубины проникновения (фиг.3В), вектор
Figure 00000004
отведения равен разности координат второй точки Р2 и первой точки Р1. Другими словами, первая точка Р1 образует начальную точку вектора
Figure 00000004
отведения, а вторая точка Р2 образует конечную точку вектора
Figure 00000004
отведения.
Наконец, для предотвращения столкновения сочлененного объекта 10 с элементами окружающего его пространства 13 этот сочлененный объект 10 может быть отведен от элементов окружающего его пространства движением, определенным в соответствии с единственным вектором
Figure 00000004
отведения и воздействующим на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта 10.
На фиг.4-6 проиллюстрированы движения отведения сочлененного объекта по методу минимального расстояния. Однако данный принцип, разумеется, остается неизменным и в случае использования метода глубины проникновения.
На фиг.4 изображено движение отведения, воздействующее на глобальное положение сочлененного объекта.
Отведение сочлененного объекта 10 от элемента окружающего пространства 13 осуществляют движением
Figure 00000006
переноса, пропорциональным компонентам вектора
Figure 00000004
отведения, воздействующего на глобальное положение сочлененного объекта, т.е.
Figure 00000007
где λ - положительный коэффициент.
В частности, в случае манекена 10а, в котором глобальное положение определено в плоскости (х, у), учитывают только проекцию вектора
Figure 00000004
отведения на эту плоскость.
Таким образом, движение переноса вносит вклад в предотвращение столкновения путем глобального перемещения сочлененного объекта 10.
Следует отметить, что единственный вектор
Figure 00000004
отведения, рассчитанный по минимальному расстоянию или глубине проникновения, может быть нормирован на величину элементарного шага Δр изменения положения, т.е. движение
Figure 00000008
переноса определяют по следующей формуле:
Figure 00000009
.
На фиг.5 изображено движение отведения, воздействующее на глобальную ориентацию сочлененного объекта.
Отведение сочлененного объекта 10 от элемента окружающего пространства 13 осуществляют определением поворота вокруг некоторой точки (например, центра G тяжести), необходимого для смещения точки приложения вектора
Figure 00000004
отведения на этом сочлененном объекте 10 в направлении этого вектора
Figure 00000004
. Угол этого поворота нормирован на величину элементарного шага Δо изменения ориентации.
Такое движение поворота, воздействующее на глобальную ориентацию сочлененного объекта 10, может быть определено следующей последовательностью действий.
Определяют вектор
Figure 00000010
называемый в дальнейшем «первым глобальным вектором», соединяющий центр G тяжести сочлененного объекта 10 и начальную точку вектора
Figure 00000004
. В данном примере начальной точкой вектора
Figure 00000004
отведения является вторая точка Р2, однако в случае использования метода глубины проникновения ею являлась бы первая точка Р1.
Аналогичным образом определяют второй глобальный вектор
Figure 00000011
соединяющий центр G тяжести сочлененного объекта 10 и конечную точку Р1 вектора
Figure 00000004
отведения.
Затем вычисляют называемый в дальнейшем «углом глобального поворота» угол
Figure 00000012
поворота, необходимого для совмещения первого глобального вектора
Figure 00000013
и второго глобального вектора
Figure 00000014
Угол
Figure 00000015
глобального поворота может быть вычислен с использованием векторного произведения (называемого в дальнейшем «глобальным векторным произведением») первого глобального вектора
Figure 00000016
и второго глобального вектора
Figure 00000017
Таким образом, угол
Figure 00000018
глобального поворота вычисляют по следующей формуле:
Figure 00000019
Figure 00000020
Этот угол
Figure 00000021
глобального поворота раскладывают на один или несколько элементарных углов θgi глобального поворота, соответствующих осям, определяющим глобальную ориентацию сочлененного объекта. Один или несколько элементарных углов θgi глобального поворота могут быть вычислены с использованием скалярного произведения или произведений глобального векторного произведения и одной или нескольких осей глобальной ориентации.
Наконец, сочлененный объект 10 поворачивают на один или несколько углов α, пропорциональных указанным элементарным углам θgi глобального поворота. Элементарные углы θgi глобального поворота нормированы на величины, соответствующие элементарному шагу Δо изменения ориентации, т.е.
Figure 00000022
В частности, если глобальная ориентация сочлененного объекта определяется единственной осью
Figure 00000023
, как в примере, приведенном на фиг.2, то вращательное движение сочлененного объекта вокруг данной оси
Figure 00000024
определяет единственный нормированный элементарный угол α глобального поворота, вычисляемый по следующей формуле:
Figure 00000025
На фиг.6 проиллюстрировано движение поворота сочленения, воздействующее на степени свободы сочлененного объекта.
Следует отметить, что отведение сочлененного объекта 10 от элемента окружающего его пространства 13 осуществляют движением поворота сочленения, воздействующего на каждое из его сочленений 12, принадлежащих к последовательности сочленений, предшествующей элементу 11 сочлененного объекта, которому принадлежит определенная выше первая точка Р1 (см. фиг.2А и 2В).
Если, например, сочлененный объект представляет собой виртуальный манекен 10а, а расстояние взаимодействия манекена 10а и элемента окружающего его пространства 13 определено первой точкой Р1, находящейся на предплечье, то последовательность сочленений соответствует локтю, плечу и ключице. Другими словами, движение поворота сочленения рассчитывают таким образом, чтобы оно воздействовало на все сочленения 12 руки, предшествующие предплечью. Если же первая точка Р1 принадлежит плечу, то последовательность сочленений содержит только сочленения плеча и ключицы. Если первая точка Р1 принадлежит кисти, то в движении участвуют все сочленения 12 руки, т.е. последовательность сочленений содержит запястье, локоть, плечо и ключицу.
Таким образом, для данного сочлененного объекта 10 последовательность сочленений зависит от элемента 11 сочлененного объекта 10, который содержит первую точку Р1.
В частности, пример, приведенный на фиг.6, демонстрирует движение поворота сочленения, воздействующее на данное сочленение 12а, входящее в последовательность сочленений 12а, 12b и 12с.
Это движение поворота сочленения, воздействующее на данное сочленение 12а, может быть определено путем осуществления следующих действий.
Определяют первый вектор
Figure 00000026
(называемый в дальнейшем «первым локальным вектором»), соединяющий центр данного сочленения 12а и начальную точку Р2 вектора
Figure 00000004
отведения.
Аналогичным образом определяют второй локальный вектор
Figure 00000027
соединяющий центр данного сочленения 12а и конечную точку Р1 вектора
Figure 00000004
отведения.
Затем вычисляют называемый в дальнейшем «углом локального поворота» угол
Figure 00000028
поворота, необходимого для совмещения первого локального вектора
Figure 00000029
со вторым локальным вектором
Figure 00000030
Угол локального поворота
Figure 00000031
может быть вычислен с использованием векторного произведения (называемого в дальнейшем «локальным векторным произведением») первого локального вектора
Figure 00000032
и второго локального вектора
Figure 00000033
по следующей формуле:
Figure 00000034
Этот угол
Figure 00000035
локального поворота раскладывают на один или несколько элементарных углов θli поворота сочленения, соответствующих одной или нескольким осям
Figure 00000036
определяющим одну или несколько степеней свободы данного сочленения 12а сочлененного объекта 10. В данном примере данное сочленение 12а содержит две оси
Figure 00000037
и
Figure 00000038
Один или несколько элементарных углов θli поворота сочленения могут быть рассчитаны с использованием одного или нескольких скалярных произведений локального векторного произведения и одной или нескольких осей
Figure 00000039
степеней свободы данного сочленения 12а.
Наконец, сочлененный элемент поворачивают в данном сочленении на один или несколько углов αi, пропорциональных указанным одному или нескольким элементарным углам θli поворота сочленения.
Элементарные углы θli поворота сочленения нормированы на величины, соответствующие шагам перемещения сочленения Δо.
Сочлененный элемент поворачивают в данном сочленении на один или несколько углов, вычисленных по следующей формуле:
Figure 00000040
Разумеется, все вышеописанные действия должны быть произведены для всех сочленений 12а, 12b и 12с, образующих данную последовательность сочленений.
Таким образом, использование единственного вектора
Figure 00000004
отведения, вычисленного по минимальному расстоянию или глубине проникновения, позволяет существенно усовершенствовать процедуру предотвращения столкновений сочлененного объекта 10 с элементами окружающего его пространства 13.
Настоящее изобретение позволяет значительно сократить количество расчетов минимального расстояния или глубины проникновения, которые требуют весьма значительных затрат времени на вычисления, по сравнению с известными методиками вычисления градиентов, не снижая точности предотвращения столкновений сочлененного объекта с элементами окружающего пространства.
На фиг.7А представлена блок-схема, иллюстрирующая основные этапы моделирования перемещения сочлененного объекта с предотвращением его столкновений с элементами окружающего пространства.
На этапе S0 происходит инициализация программы и определение некоторых параметров. Например, инициализируется счетчик тактовых сигналов или этапов вычислений моделирования.
Аналогичным образом на этапе S0 могут быть определены элементарные изменения (шаги) смещения положения (Δр), ориентации (Δо) и сочленений (Δа). Например, различные шаги могут быть определены в зависимости от характеристик сочленений 12. Альтернативно, может быть выбран оптимальный постоянный шаг для всех сочленений 12 на протяжении всей траектории движения сочлененного объекта 10.
На этапе S1 осуществляют вычисление элементарного движения сочлененного объекта 10.
На этапе S2 производят проверку на наличие столкновения данного сочлененного объекта 10 с элементами окружающего его пространства 13. Критерий столкновения зависит от величины расстояния взаимодействия.
Другими словами, при использовании метода, основанного на минимальном расстоянии, столкновение можно считать случившимся, если это минимальное расстояние меньше или равно некоторому предельному расстоянию, которое может быть равно нулю, чтобы обеспечить возможность перемещения сочлененного объекта 10 без столкновений с элементами окружающего его пространства 13.
В отличие от этого при использовании метода, основанного на глубине проникновения, столкновение можно считать случившимся, если эта глубина больше или равна некоторой предельной глубине проникновения. Таким образом, в зависимости от выбора этого предельного значения можно, в одном варианте, обеспечить перемещение сочлененного объекта 10 без столкновений с элементами окружающего его пространства 13 или, в другом варианте, обеспечить перемещение сочлененного объекта 10 с ограниченными и контролируемыми столкновениями с элементами окружающего его пространства 13. В этом последнем случае возможно моделирование некоторой упругости при соприкосновении сочлененного объекта 10 с элементами окружающего пространства 13.
Если в соответствии с критерием этапа S2 столкновение отсутствует, на этапе S3 перемещение сочлененного объекта 10, вычисленное на этапе S1, отображают, например, на экране 7 компьютера 1, после чего происходит возврат к тому же этапу S1 для вычисления следующего элементарного перемещения.
Таким образом, действия по выбору первой и второй точек, определению вектора отведения и отведению сочлененного объекта 10 от элементов окружающего пространства 13 на этапе S3 не производят.
В то же время при наличии столкновения на этапе S4 производят отмену элементарного перемещения, вычисленного на этапе S1.
Затем, на этапе S5, рассчитывают движение, определенное на основе единственного вектора отведения и воздействующее на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта для отведения сочлененного объекта 10 от элемента окружающего его пространства 13, после чего происходит возврат к этапу S1.
На фиг.7В изображен вариант фиг.7А, применимый исключительно к методу вычислений с использованием глубины проникновения.
Блок-схема, представленная на этом чертеже, совпадает с блок-схемой фиг.7А, но не содержит этапа S4.
Таким образом, при обнаружении на этапе S2 столкновения происходит немедленный переход к этапу S5 отведения данного объекта 10 от элемента окружающего его пространства 13 без отмены последнего элементарного перемещения, что обеспечивает возможность небольшого взаимного проникновения объекта 10 и элементов окружающего его пространства 13.
Перемещение виртуального сочлененного объекта 10 в виртуальном пространстве может быть осуществлено при помощи «многофакторной» системы или любой другой известной системы.
Как крайне схематично показано на фиг.8, для моделирования перемещения сочлененного объекта 10 может быть использована архитектура многофакторной системы 50. Эта многофакторная система 50 образована совокупностью активных элементов (факторов) 20, 21, 22, 23, 30, 31, 32 и 33, воздействующих на пассивные объекты (элементы 11 и сочленения 12), образующие сочлененный объект 10, в соответствии с окружающим его пространством.
Данные (переменные) сочлененного объекта 10 и окружающего его пространства образуют общие данные 15, через которые взаимодействуют различные факторы.
Архитектура многофакторной системы может быть осуществлена в форме нескольких этапов или уровней, в виде пирамиды, так что основные факторы вносят свой вклад в действия факторов более высокого уровня.
В данном примере многофакторная система 50 содержит первый уровень 51 и второй уровень 52.
Первый уровень 51 иллюстрирует воздействие (или глобальный вклад в него) на сочлененный объект 10 и содержит вклад первого глобального фактора 20 и вклад второго глобального фактора 30, воздействующих на сочлененный объект 10 через общие данные 15.
Первый глобальный фактор 20 воздействует на положение и ориентацию сочлененного объекта 10, а второй глобальный фактор 30 воздействует на внутренние степени свободы сочленения 12 сочлененного объекта 10.
Второй уровень 52 иллюстрирует различные вклады, поступающие от факторов различных типов, порождающих вклады первого и второго глобальных факторов 20 и 30 и взаимодействующих через общие данные 15.
Таким образом, перемещение сочлененного объекта 10 может быть осуществлено с помощью фактора притяжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.
Кроме того, отведение данного сочлененного объекта 10 от элементов окружающего его пространства может быть осуществлено с помощью фактора скольжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или совокупность степеней свободы сочлененного объекта.
Так, второй уровень 52 многофакторной системы 50 может содержать фактор 21 отталкивающего скольжения, воздействующий на глобальное положение и/или глобальную ориентацию сочлененного объекта 10, фактор 22 глобального притяжения, воздействующий на глобальное положение и/или на глобальную ориентацию сочлененного объекта 10, фактор 31 кинематического скольжения, воздействующий на внутренние степени свободы сочленений 12 сочлененного объекта 10, и фактор 32 кинематического притяжения, воздействующий на внутренние степени свободы сочленения 12 сочлененного объекта.
Кроме того, сочлененный объект 10 может передвигаться оператором, воздействующим на положение и/или ориентацию, и/или степени свободы этого сочлененного объекта, в режиме реального времени.
Так, второй уровень 52 многофакторной системы 50 может также содержать глобальный управляющий фактор 23, воздействующий на глобальное положение и/или глобальную ориентацию сочлененного объекта 10, и внутренний управляющий фактор 33, воздействующий на внутренние степени свободы сочленений 12 сочлененного объекта 10.

Claims (14)

1. Способ перемещения виртуального сочлененного объекта (10) в виртуальном пространстве (13) последовательностью элементарных перемещений, причем сочлененный объект (10) определен в указанном пространстве (13) глобальным положением, глобальной ориентацией и углами сочленений, определяющими положение совокупности сочлененных элементов (11), составляющих указанный сочлененный объект в соответствии со степенями свободы, при этом способ включает следующие этапы:
вычисляют расстояние взаимодействия между сочлененным объектом (10) и элементами окружающего его пространства (13);
определяют по расстоянию взаимодействия первую точку (Р1), принадлежащую одному из элементов (11) сочлененного объекта (10), и вторую точку (Р2), принадлежащую элементу окружающего его пространства (13), таким образом, что расстояние взаимодействия соответствует глубине проникновения сочлененного объекта (10) и элемента окружающего его пространства (13) или минимальному расстоянию между сочлененным объектом (10) и элементом окружающего его пространства (13);
по результатам указанного определения первой и второй точек (P1, P2) находят единственный вектор (
Figure 00000041
) отведения, причем при расстоянии взаимодействия, соответствующем глубине проникновения, первая и вторая точки (P1, P2) образуют начальную и конечную точки указанного вектора (
Figure 00000042
) соответственно, а при расстоянии взаимодействия, соответствующему минимальному расстоянию, первая и вторая точки (Р1, Р2) образуют конечную и начальную точки указанного вектора (
Figure 00000043
) соответственно;
отводят сочлененный объект (10) от элемента окружающего его пространства (13) с помощью движения, определенного в соответствии с единственным вектором (
Figure 00000044
) отведения, причем движение отведения осуществляют движением переноса, воздействующим на глобальное положение сочлененного объекта, и/или движением поворота, воздействующим на глобальную ориентацию сочлененного объекта, и/или движением поворота сочленений, воздействующим на каждое сочленение, принадлежащее последовательности сочленений, предшествующей элементу сочлененного объекта, которому принадлежит указанная первая точка.
2. Способ по п.1, отличающийся тем, что дополнительно включает этап определения наличия столкновения сочлененного объекта (10) с элементами окружающего его пространства (13), проводимый после каждого элементарного движения в указанной последовательности элементарных движений.
3. Способ по п.1, отличающийся тем, что расстояние взаимодействия соответствует глубине проникновения таким образом, что вектор (
Figure 00000044
) отведения равен разности координат второй точки (P2) и первой точки (Р1), причем указанная глубина проникновения обеспечивает возможность перемещения сочлененного объекта (10) с ограниченными и контролируемыми столкновениями с элементами окружающего его пространства (13).
4. Способ по п.1, отличающийся тем, что расстояние взаимодействия соответствует минимальному расстоянию таким образом, что вектор (
Figure 00000044
) отведения равен разности координат первой точки (Р1) и второй точки (P2), причем указанное минимальное расстояние обеспечивает возможность перемещения сочлененного объекта (10) без столкновений с элементами окружающего его пространства (13).
5. Способ по п.1, отличающийся тем, что дополнительно включает этап отмены последнего элементарного движения в указанной последовательности элементарных движений при наличии столкновения сочлененного объекта (10) с элементом окружающего его пространства (13).
6. Способ по п.1, отличающийся тем, что движение переноса пропорционально компонентам вектора (
Figure 00000044
) отведения, воздействующего на глобальное положение сочлененного объекта (10).
7. Способ по п.1, отличающийся тем, что движение поворота, воздействующее на глобальную ориентацию сочлененного объекта (10), включает следующие этапы:
определяют первый глобальный вектор (
Figure 00000044
1g) между центром (G) тяжести сочлененного объекта (10) и начальной точкой вектора (
Figure 00000044
)отведения;
определяют второй глобальный вектор (
Figure 00000044
2g) между центром (G) тяжести сочлененного объекта (10) и конечной точкой вектора (
Figure 00000044
) отведения;
вычисляют угол (
Figure 00000045
g) глобального поворота, необходимый для совмещения первого глобального вектора со вторым глобальным вектором;
вычисляют один или несколько элементарных углов глобального поворота путем разложения угла глобального поворота по одной или нескольким осям, определяющим глобальную ориентацию сочлененного объекта (10);
поворачивают сочлененный объект (10) на один или несколько углов, пропорциональных одному или нескольким элементарным углам глобального поворота.
8. Способ по п.1, отличающийся тем, что движение поворота сочленения, воздействующее на данное сочленение (12а) каждого из сочленений, принадлежащих к последовательности сочленений, предшествующих элементу сочлененного объекта, которому принадлежит указанная первая точка, включает следующие этапы:
определяют первый локальный вектор (V1l) между центром указанного сочленения (12а) и начальной точкой вектора (V) отведения;
определяют второй локальный вектор (V2l) между центром указанного сочленения (12а) и конечной точкой вектора (V) отведения;
вычисляют угол (θl) локального поворота, необходимый для совмещения первого локального вектора со вторым локальным вектором;
вычисляют один или несколько элементарных углов поворота сочленения путем разложения угла локального поворота по одной или нескольким осям, определяющим одну или несколько степеней свободы, соответствующих указанному сочленению;
поворачивают сочлененный элемент (11) в указанном сочленении на один или несколько углов, пропорциональных одному или нескольким элементарным углам сочленения.
9. Способ по п.7, отличающийся тем, что угол (θg) глобального поворота вычисляют по глобальному векторному произведению первого и второго глобальных векторов, а угол (θl) локального поворота вычисляют по локальному векторному произведению первого и второго локальных векторов.
10. Способ по п.7, отличающийся тем, что один или несколько элементарных углов глобального поворота вычисляют по одному или нескольким скалярным произведениям глобального векторного произведения и одной или нескольких осей степеней глобальной ориентации, а один или несколько элементарных углов поворота сочленения вычисляют по одному или нескольким скалярным произведениям локального векторного произведения и одной или нескольких осей степеней свободы данного сочленения.
11. Способ по п.1, отличающийся тем, что перемещение сочлененного объекта (10) осуществляют с помощью фактора (22, 32) притяжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.
12. Способ по п.1, отличающийся тем, что отведение сочлененного объекта от элементов окружающего его пространства осуществляют с помощью фактора (21, 31) скольжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.
13. Способ по п.1, отличающийся тем, что дополнительно включает этап перемещения сочлененного объекта (10) в режиме реального времени, осуществляемого оператором с помощью управляющего фактора (23, 33), воздействующего на положение и/или ориентацию, и/или степени свободы сочлененного объекта.
14. Способ по любому из пп.1-14, отличающийся тем, что сочлененный объект (10) представляет собой виртуальный манекен (10а), перемещающийся по полу виртуального пространства, причем данный манекен определен своим положением на указанном виртуальном полу, ориентацией относительно вертикальной оси, перпендикулярной указанному полу и проходящей через центр тяжести манекена, и углами сочленений, определяющими совокупность его сочлененных элементов.
RU2004131050/09A 2003-10-29 2004-10-25 Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства RU2308764C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0312641A FR2861858B1 (fr) 2003-10-29 2003-10-29 Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions entre l'objet articule et l'environnement
FR0312641 2003-10-29

Publications (2)

Publication Number Publication Date
RU2004131050A RU2004131050A (ru) 2006-04-10
RU2308764C2 true RU2308764C2 (ru) 2007-10-20

Family

ID=34400874

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004131050/09A RU2308764C2 (ru) 2003-10-29 2004-10-25 Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства

Country Status (10)

Country Link
US (1) US7457733B2 (ru)
EP (1) EP1528511B1 (ru)
JP (1) JP4942924B2 (ru)
CN (1) CN100419796C (ru)
CA (1) CA2483083C (ru)
DE (1) DE602004031185D1 (ru)
ES (1) ES2359239T3 (ru)
FR (1) FR2861858B1 (ru)
RU (1) RU2308764C2 (ru)
UA (1) UA85820C2 (ru)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467904B2 (en) * 2005-12-22 2013-06-18 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
US8924021B2 (en) * 2006-04-27 2014-12-30 Honda Motor Co., Ltd. Control of robots from human motion descriptors
JP4986543B2 (ja) * 2006-08-31 2012-07-25 キヤノン株式会社 情報処理方法、情報処理装置
WO2009006727A1 (en) * 2007-07-12 2009-01-15 Xtranormal Technologie Inc. Modeling the motion of an articulated object
US8170287B2 (en) * 2007-10-26 2012-05-01 Honda Motor Co., Ltd. Real-time self collision and obstacle avoidance
WO2009058693A1 (en) * 2007-11-01 2009-05-07 Honda Motors Co., Ltd. Real-time self collision and obstacle avoidance using weighting matrix
US9165199B2 (en) * 2007-12-21 2015-10-20 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
US9098766B2 (en) * 2007-12-21 2015-08-04 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
WO2010099035A1 (en) 2009-02-25 2010-09-02 Honda Motor Co., Ltd. Body feature detection and human pose estimation using inner distance shape contexts
CN101866386B (zh) * 2010-06-25 2012-04-18 杭州维肖软件科技有限公司 一种基于能量平衡的柔性体碰撞处理方法
US20120117514A1 (en) * 2010-11-04 2012-05-10 Microsoft Corporation Three-Dimensional User Interaction
WO2012069022A1 (en) 2010-11-26 2012-05-31 Technicolor (China) Technology Co., Ltd. Method for animating characters, with collision avoidance based on tracing information
US9002099B2 (en) * 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
DE102016102868A1 (de) * 2016-02-18 2017-08-24 Adrian Drewes System zur Darstellung von Objekten in einem virtuellen dreidimensionalen Bildraum
CN109804334B (zh) 2016-08-11 2022-07-15 奇跃公司 用于三维空间中虚拟对象的自动放置的系统和方法
KR20180108739A (ko) * 2016-08-30 2018-10-04 베이징 시아오미 모바일 소프트웨어 컴퍼니 리미티드 Vr 제어 방법, 장치, 전자 기기, 프로그램 및 저장매체
EP4147207A1 (en) * 2020-05-07 2023-03-15 Mimyk Medical Simulations Private Limited Method and system for real-time simulation of elastic body

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61127007A (ja) * 1984-11-26 1986-06-14 Hitachi Ltd ロボツトとワ−クの干渉チエツク方式
US5625577A (en) * 1990-12-25 1997-04-29 Shukyohojin, Kongo Zen Sohonzan Shorinji Computer-implemented motion analysis method using dynamics
JP3053491B2 (ja) * 1992-03-10 2000-06-19 三菱電機株式会社 数値制御方法
JP3464307B2 (ja) * 1995-03-24 2003-11-10 シチズン時計株式会社 Nc旋盤における干渉チェック方法
DE19625409A1 (de) * 1996-06-25 1998-01-08 Siemens Ag Medizinische Anlage
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
US6067096A (en) * 1998-03-04 2000-05-23 Nagle; John Method and system for generating realistic collisions in graphical simulations
JPH11353493A (ja) * 1998-06-08 1999-12-24 Hitachi Ltd 階層管理による物体の映像制御装置及び方法
US6853964B1 (en) * 2000-06-30 2005-02-08 Alyn Rockwood System for encoding and manipulating models of objects
US6519860B1 (en) * 2000-10-19 2003-02-18 Sandia Corporation Position feedback control system
US6856319B2 (en) * 2002-06-13 2005-02-15 Microsoft Corporation Interpolation using radial basis functions with application to inverse kinematics
US7168748B2 (en) * 2002-09-26 2007-01-30 Barrett Technology, Inc. Intelligent, self-contained robotic hand
AU2003295586B2 (en) * 2002-11-15 2009-05-07 Warner Bros. Entertainment Inc. Method for digitally rendering skin or like materials

Also Published As

Publication number Publication date
DE602004031185D1 (de) 2011-03-10
FR2861858B1 (fr) 2014-09-05
CN100419796C (zh) 2008-09-17
RU2004131050A (ru) 2006-04-10
ES2359239T3 (es) 2011-05-19
CA2483083C (fr) 2013-12-24
EP1528511A1 (fr) 2005-05-04
JP4942924B2 (ja) 2012-05-30
CN1612168A (zh) 2005-05-04
UA85820C2 (ru) 2009-03-10
JP2005182759A (ja) 2005-07-07
CA2483083A1 (fr) 2005-04-29
US7457733B2 (en) 2008-11-25
EP1528511B1 (fr) 2011-01-26
US20050096889A1 (en) 2005-05-05
FR2861858A1 (fr) 2005-05-06

Similar Documents

Publication Publication Date Title
Borst et al. Realistic virtual grasping
RU2308764C2 (ru) Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства
US10297066B2 (en) Animating a virtual object in a virtual world
Borst et al. A spring model for whole-hand virtual grasping
Baerlocher et al. An inverse kinematics architecture enforcing an arbitrary number of strict priority levels
RU2308762C2 (ru) Перемещение виртуального объекта в виртуальной окружающей среде без взаимных помех между его сочлененными элементами
US9449416B2 (en) Animation processing of linked object parts
US7084869B2 (en) Methods and apparatus for detecting and correcting penetration between objects
JP4267508B2 (ja) 仮想ダミーの人間工学的動きの最適化
Tian et al. Realtime hand-object interaction using learned grasp space for virtual environments
Yuan et al. A novel approach for forward dynamic analysis of 3-PRS parallel manipulator with consideration of friction effect
JP2018030210A (ja) シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
JP2008509427A (ja) 多体系の運動をシミュレートするためのシステムおよび方法
Lee et al. Dynamic simulation of interactive robotic environment
Vance et al. A conceptual framework to support natural interaction for virtual assembly tasks
Gayle et al. Adaptive Dynamics with Efficient Contact Handling for Articulated Robots.
Hu et al. Hybrid kinematic and dynamic simulation of running machines
Mikchevitch et al. Numerical modeling of flexible components for assembly path planning using a virtual reality environment
Usta Comparison of quaternion and euler angle methods for joint angle animation of human figure models
Hou et al. A prediction method using interpolation for smooth six-DOF haptic rendering in multirate simulation
Mikchevitch et al. Path planning for flexible components using a virtual reality environment
Finkenzeller et al. Visum: A vr system for the interactive and dynamics simulation of mechatronic systems
Mikchevitch et al. Realistic force simulation in path planning for virtual assembly of flexible beam parts
Schmidl et al. Geometry‐driven physical interaction between avatars and virtual environments
Benitez et al. A 3D simulation environment for kinematic task of the PUMA 560 robot

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
PD4A Correction of name of patent owner