UA85820C2 - Переміщення віртуального зчленованого об'єкта у віртуальному просторі із запобіганням зіткненню зчленованого об'єкта з елементами навколишнього простору - Google Patents

Переміщення віртуального зчленованого об'єкта у віртуальному просторі із запобіганням зіткненню зчленованого об'єкта з елементами навколишнього простору Download PDF

Info

Publication number
UA85820C2
UA85820C2 UA20041008811A UA20041008811A UA85820C2 UA 85820 C2 UA85820 C2 UA 85820C2 UA 20041008811 A UA20041008811 A UA 20041008811A UA 20041008811 A UA20041008811 A UA 20041008811A UA 85820 C2 UA85820 C2 UA 85820C2
Authority
UA
Ukraine
Prior art keywords
articulated object
global
articulated
vector
elements
Prior art date
Application number
UA20041008811A
Other languages
English (en)
Russian (ru)
Inventor
Брюно Майє
Едуар Рамстаін
Патрік Шедмай
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 UA85820C2 publication Critical patent/UA85820C2/uk

Links

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) у віртуальному просторі послідовністю елементарних переміщень, причому зчленований об'єкт (10) визначений у даному просторі глобальним положенням, глобальною орієнтацією й кутами зчленувань, що визначають положення сукупності зчленованих елементів (11), які складають зазначений зчленований об'єкт, відповідно до ступенів свободи. Запропонований спосіб включає такі етапи: вирахування відстані взаємодії між зчленованим об'єктом (10) і елементом оточуючого його простору (13); визначення за згаданою відстанню взаємодії першої точки (Р1), що належить одному із зчленованих елементів (11) зчленованого об'єкта (10), і другої точки (Р2), що належить елементу оточуючого його простору (13); визначення за першою й другою точками (P1, P2) унікального вектора ( EMBED Equation.3 ) витягу; відведення зчленованого об'єкта (10) від елемента оточуючого його простору (13) за допомогою руху, що визначений відповідно до унікального вектора ( EMBED Equation.3 ) витягу і впливає на глобальне положення і/або глобальну орієнтацію, і/або ступені свободи зчленованого об'єкта для запобігання зіткненню зчленованого об'єкта (10) з елементом навколишнього простору.

Description

- визначення першого глобального вектора між центром ваги зчленованого об'єкта і початковою точкою вектора витягу; визначення другого глобального вектора між центром ваги зчленованого об'єкта й кінцевою точкою вектора витягу; - вирахування кута глобального повороту, необхідного для суміщення першого глобального вектора з другим глобальним вектором; - вирахування одного або декількох елементарних кутів глобального повороту шляхом розкладання кута глобального повороту по одній або декільком вісям, що визначають глобальну орієнтацію зчленованого об'єкта; - поворот зчленованого об'єкта на один або декілька кутів, пропорційних одному або декільком елементарним кутам глобального повороту.
Відповідно до третьої особливості винаходу відведення зчленованого об'єкта від елемента оточуючого його простору здійснюють рухом повороту зчленування, що впливає на кожне зі зчленувань, що належать послідовності зчленувань, які передують елементу зчленованого об'єкта, якому належить згадана перша точка. При цьому рух повороту зчленування, що впливає на дане зчленування кожного із вказаних зчленувань, включає такі етапи: - визначення першого локального вектора між центром згаданого зчленування й початковою точкою вектора витягу; - визначення другого локального вектора між центром згаданого зчленування й кінцевою точкою вектора витягу; - вирахування кута локального повороту, необхідного для суміщення першого локального вектора з другим локальним вектором; - вирахування одного або декількох елементарних кутів повороту зчленування шляхом розкладання кута локального повороту по одній або декількох осям, що визначають один або декілька ступенів свободи, що відповідають зазначеному зчленуванню; - поворот зчленованого елемента в зазначеному зчленуванні на один або декілька кутів, пропорційних одному або декільком елементарним кутам зчленування.
Кут глобального повороту може бути вирахуваний за глобальним векторним добутком першого й другого глобальних векторів, а кут локального повороту може бути вирахуваний за локальним векторним добутком першого й другого локальних векторів.
Один або декілька елементарних кутів глобального повороту можуть бути вирахувані за одним або декількома скалярним добутками глобального векторного добутку й одною або декількома осями ступенів глобальної орієнтації а один або декілька елементарних кутів повороту зчленування можуть бути вирахувані за одним або декількома скалярними добутками локального векторного добутку й однією або декількома осями ступенів свободи даного зчленування.
Відповідно до одного з варіантів здійснення винаходу переміщення зчленованого об'єкта може бути здійснене за допомогою чинника тяжіння, що впливає на глобальне положення і/або глобальну орієнтацію, і/або ступені свободи зчленованого об'єкта.
Відведення зчленованого об'єкта від елементів оточуючого його простору може бути здійснене за допомогою чинника ковзання, що впливає на глобальне положення і/або глобальну орієнтацію, і/або ступені свободи зчленованого об'єкта.
В оптимальному варіанті спосіб додатково включає етап переміщення зчленованого об'єкта в режимі реального часу, здійснюваного оператором за допомогою керуючого чинника, що впливає на положення і/або орієнтацію, і/або ступені свободи зчленованого об'єкта.
Відповідно до однієї з особливостей винаходу зчленований об'єкт може являти собою віртуальний манекен, що переміщується по підлозі віртуального простору. Даний манекен визначається своїм положенням на віртуальній підлозі, орієнтацією щодо вертикальної осі, перпендикулярної підлозі та що проходить через центр ваги манекена, й кутами зчленувань, що визначають сукупність його зчленованих елементів.
Винахід також охоплює комп'ютерну програму, розроблену для здійснення вищеописаного способу шляхом її виконання на комп'ютері.
Інші особливості й переваги способу й системи за винаходом стануть ясні з нижченаведеного докладного опису, поданого без накладення яких-небудь обмежень з посиланнями на додані креслення. На кресленнях: - Фіг1 зображує в перспективі апаратні засоби, що служать для здійснення системи або способу за винаходом; - Фіг.2А вкрай схематично ілюструє віртуальний зчленований об'єкт, визначений відповідно до винаходу в метричному просторі; - Фіг2В украй схематично ілюструє віртуальний манекен, визначений відповідно до винаходу в метричному просторі; - ФігГЗА украй схематично ілюструє вектор витягу, визначений відповідно до винаходу в режимі мінімальної відстані; - Фіг.3В украй схематично ілюструє вектор витягу, визначений відповідно до винаходу в режимі глибини проникнення; - Фіг.А вкрай схематично ілюструє рух відведення, що впливає відповідно до винаходу на глобальне положення зчленованого об'єкта; - Фіг.5 украй схематично ілюструє рух відведення відповідно до винаходу, що впливає на глобальну орієнтацію зчленованого об'єкта; - Фігб украй схематично ілюструє рух відведення, що впливає відповідно до винаходу на одне конкретне зчленування зчленованого об'єкта; - ФігГ.7А являє собою блок-схему, яка ілюструє основні етапи переміщення зчленованого об'єкта за винаходом; - Фіг.7В являє собою модифікацію Ффіг.7А;
- Фіг8 украй схематично ілюструє архітектуру багатофакторної системи, використовуваної для переміщення зчленованого об'єкта відповідно до винаходу.
На Фіг.1 зображена система, що може бути використана для моделювання переміщень зчленованого об'єкта. Ця система містить робочу станцію або комп'ютер 1, що має гарні графічні характеристики й використовується для виконання комп'ютерної програми, розробленої для здійснення способу за винаходом.
Комп'ютер 1 містить звичайні для пристроїв такого типу апаратні засоби. Конкретніше, комп'ютер містить центральний блок 2, що виконує послідовності команд програмного забезпечення, що відповідає способу за винаходом, центральний запам'ятовуючий пристрій 3, який зберігає дані виконуваних програм, носії цифрових даних (жорсткий диск, дисковід 4 для компакт-дисків, дисковід для гнучких дисків тощо), що забезпечують тривале зберігання даних і програмного забезпечення, периферійні пристрої вводу (клавіатуру 5, миша 6 типу "20" або "30", джойстик тощо). До складу комп'ютера входять також периферійні пристрої виводу (екран 7, стереоскопічні шоломи або окуляри тощо), які забезпечують відображення переміщень зчленованого об'єкта.
Зрозуміло, для збільшення обчислювальних потужностей моделювання за винаходом може здійснюватися на декількох робочих станціях, що працюють паралельно.
На Фіг2А вкрай схематично зображений віртуальний зчленований об'єкт 10, визначений деревоподібною структурою зчленувань. Таким чином, зчленований об'єкт 10 визначений сукупністю "пасивних об'єктів", тобто зчленованих елементів 11, сполучених між собою зчленуваннями 12, що можуть бути класифіковані за відомими методиками.
Зчленованому об'єкту 10 також може бути приписана локальна система відліку з початком координат у центрі С ваги цього об'єкта.
Зокрема, ця локальна система відліку може містити єдину вісь 7, що проходить через центр ОС ваги зчленованого об'єкта 10.
Зчленований об'єкт 10 перемішується у віртуальному просторі 13, загромадженому декількома об'єктами або перешкодами 1За, 130, 13с, 13а, зіткнення з якими зчленований об'єкт 10 має уникати в процесі свого переміщення. Зчленований об'єкт 10 і оточуючий його простір визначені в метричному просторі (0; х, у, 7).
У цьому метричному просторі легко можуть бути визначені положення й орієнтації зчленованого об'єкта і різноманітних об'єктів 1За, 13Б, 13с, 134 оточуючого його простору 13.
Так, об'єкт 10 в оточуючому його просторі 13 може бути в будь-який момент визначений глобальним положенням, глобальною орієнтацією й кутами нахилу зчленувань, що визначають положення сукупності зчленованих елементів 11 відповідно до їхніх ступенів свободи.
Глобальне положення зчленованого об'єкта 10 може бути визначено декартовими координатами його центру СО ваги по осях х, у, 7.
Глобальна орієнтація може бути визначена за відомою методикою трьома кутами, що визначають орієнтацію приписаної до зчленованого об'єкта осі га щодо осей х, у, 7.
Зрозуміло, також слід ураховувати параметри або обмеження, що накладаються межами руху зчленувань і фізичними зв'язками між різноманітними частинами тіла або елементами 11 зчленованого об'єкта 10.
ЦІ дані і змінні, що визначають зчленований об'єкт 10, а також параметри, що визначають оточуючий його простір 13, зберігають у запам'ятовуючому пристрої З комп'ютера 1.
Як показано на Ффіг.2В, зчленований об'єкт може, зокрема, являти собою віртуальний манекен 10а, що переміщується по підлозі у віртуальному просторі 13.
У цьому випадку манекен 10а може бути визначений кутами зчленувань, що визначають сукупність його - зчленованих елементів, своїм положенням на віртуальній підлозі й орієнтацією щодо вертикальної осі 41, перпендикулярної зазначеній підлозі і що проходить через центр С ваги манекена 10а.
Зчленований об'єкт 10, наприклад манекен 10а, за відомою методикою може бути переміщений у віртуальному просторі 13 за допомогою послідовності елементарних рухів, наприклад, щоб досягти певної мети 13с. Так, для створення траєкторії, що дозволяє зчленованому об'єкту 10 досягти мети 13с, можна впливати на глобальне положення зчленованого об'єкта 10, використовуючи заздалегідь визначений крок
Ар зміни глобального положення, і/або на орієнтацію зчленованого - об'єкта, використовуючи заздалегідь визначений крок ло зміни орієнтації, і/або на ступені свободи зчленованого об'єкта, використовуючи заздалегідь визначений крок До: переміщення зчленувань.
Цей процес можна представити як тяжіння зчленованого об'єкта 10 до мети 13с без урахування розмірів мети 13с або будь-яких інших об'єктів 1За, 136 простору 13.
Щоб запобігти внутрішнім зіткненням зчленованого об'єкта 10 з елементами оточуючого його простору 13, слід визначити критерій зіткнення. Такий критерій може бути визначений за методикою, відомою фахівцям у даній галузі, шляхом вирахування відстані взаємодії зчленованого об'єкта 10 з елементами оточуючого його простору 13, що також містять точки, які визначають цю відстань взаємодії.
Слід зазначити, що відстань взаємодії може відповідати мінімальній відстані між зчленованим об'єктом 10 і елементом оточуючого його простору або глибині їхнього взаємного проникнення.
На Фіг.ЗА і ЗВ проілюстроване визначення відстані взаємодії елемента зчленованого об'єкта 10 і об'єкта 13а, що належить навколишньому просторові.
Зокрема, приклад, поданий на Ффіг.ЗА, ілюструє критерій мінімальної відстані між зчленованим об'єктом 10 ії елементом оточуючого його простору, а також точки РІ і Р2, що визначають цю мінімальну відстань.
Далі, приклад, поданий на фіг. ЗВ, ілюструє критерій глибини взаємного проникнення зчленованого об'єкта 10 і елемента оточуючого його простору, а також точки РІ! і Р2, що визначають цю глибину проникнення.
Таким чином, вирахування відстані взаємодії дозволяє визначити точку РІ, в подальшому описі називану "першою точкою", що належить одному з елементів 11 зчленованого об'єкта 10, та іншу точку Р2,
надалі називану "другою точкою", що належить навколишньому просторові 13.
Це дозволяє визначити по цим першій точці РІ і другій точці Р2 унікальний вектор У витягу.
Відповідно до методу, заснованому на обчисленні мінімальної відстані (Фіг.ЗА), вектор У витягу дорівнює різниці координат першої точки РІ і другої точки Р2. Іншими словами, друга точка Р2 утворює початкову точку вектора М витягу, а перша точка Р1 утворює кінцеву точку вектора У витягу.
У той же час, відповідно до методу, заснованого на обчисленні глибини проникнення (Фіг.ЗВ), вектор У витягу дорівнює різниці координат другої точки Р2 і першої точки Р1. ЮІншими словами перша точка Р1 утворює початкову точку вектора М витягу, а друга точка Р2 утворює кінцеву точку вектора М витягу.
Нарешті, для запобігання зіткненням зчленованого об'єкта 10 з елементами оточуючого його простору 13 цей зчленований об'єкт 10 може бути відведений від елементів оточуючого його простору рухом, визначеним відповідно до унікального вектора У витягу й що впливає на глобальне положення і/або глобальну орієнтацію, і/або ступені свободи зчленованого об'єкта 10.
На Ффіг.4-6 проілюстровані рухи відведення зчленованого об'єкта за методом мінімальної відстані. Проте даний принцип, зрозуміло, залишається незмінним і у випадку використання методу глибини проникнення.
На Ффіг.4 зображений рух відведення, що впливає на глобальне положення зчленованого об'єкта. -
Відведення зчленованого об'єкта 10 від елемента навколишнього простору 13 здійснюють рухом М! переносу, пропорційним компонентам вектора М витягу, що впливає на глобальне положення зчленованого об'єкта, тобто МІ - ХМ , де 5, - позитивний коефіцієнт.
Зокрема, у випадку манекена 10а, у якому глобальне положення визначене в площині (х, у), враховують тільки проекцію вектора У витягу на цю площину.
Таким чином, рух переносу робить внесок у запобігання зіткненням шляхом глобального переміщення зчленованого об'єкта 10.
Слід зазначити, що унікальний вектор У витягу, розрахований за мінімальною відстанню або глибиною проникнення, може бути нормований на величину елементарного кроку Ар зміни положення, тобто рух МІ переносу визначають за такою формулою: у -М
МІ Ар
На Ффіг.5 зображений рух відведення, що впливає на глобальну орієнтацію зчленованого об'єкта.
Відведення зчленованого об'єкта 10 від елемента навколишнього простору 13 здійснюють визначенням повороту навколо певної точки (наприклад, центру С ваги), необхідного для зсуву точки прикладання вектора У витягу на цьому зчленованому об'єкті 10 у напрямку цього вектора М. Кут цього повороту нормований на величину елементарного кроку ло зміни орієнтації.
Такий рух повороту, що впливає на глобальну орієнтацію зчленованого об'єкта 10, може бути визначено такою послідовністю дій. --
Визначають вектор Мо. називаний надалі "першим глобальним вектором", що з'єднує центр С ваги зчленованого об'єкта 10 і початкову точку вектора МУ даному прикладі початковою точкою вектора М витягу є друга точка Р2, проте у випадку використання методу глибини проникнення нею була б перша точка Р1. -- и
Аналогічним чином визначають другий глобальний вектор Уг29. що з'єднує центр о ваги зчленованого об'єкта 10 і кінцеву точку Р1 вектора У витягу.
Потім вираховують називаний надалі "кутом глобального повороту" кут ба повороту, необхідного для ---еи -н-- - : Мід, Уга ба суміщення першого глобального вектора і другого глобального вектора - Кут глобального повороту може бути вирахуваний з використанням векторного добутку (називаного надалі "глобальним --ь -- и векторним добутком") першого глобального вектора Мо і другого глобального вектора Уг9, Таким чином, - кут бо глобального повороту вираховують по такій формулі: - Мдх У ва - Уюхуго
Мід. 29
Цей кут ба глобального повороту розкладають на один або декілька елементарних кутів бді глобального повороту, що відповідають осям, які визначають глобальну орієнтацію зчленованого об'єкта.
Один або декілька елементарних кутів бді глобального повороту можуть бути обчислені з використанням скалярного добутку або добутків глобального векторного добутку та однієї або декількох осей глобальної орієнтації.
Нарешті, зчленований об'єкт 10 повертають на один або декілька кутів є, пропорційних зазначеним елементарним кутам бді глобального повороту. Елементарні кути бді глобального повороту нормовані на величини, що відповідають елементарному кроку ло зміни орієнтації, тобто до,
Зокрема, якщо глобальна орієнтація зчленованого об'єкта визначається єдиною віссю Я як у прикладі, наведеному на Фіг.2, то обертальний рух зчленованого об'єкта навколо даної осі 7 визначає єдиний нормований елементарний кут глобального повороту с, що обчислюється за такою формулою: по- 128 о - віп" 9 до
На Фіг.б6 проілюстрований рух повороту зчленування, що впливає на ступені свободи зчленованого об'єкта.
Слід зазначити, що відведення зчленованого об'єкта 10 від елемента оточуючого його простору 13 здійснюють рухом повороту зчленування, що впливає на кожне з його зчленувань 12, які належать до послідовності зчленувань, що передує елементу 11 зчленованого об'єкта, якому належить визначена вище перша точка РІ (см, Ффіг.2А і 2В).
Якщо, наприклад, зчленований об'єкт являє собою віртуальний манекен 10а, а відстань взаємодії манекена 10а і елемента оточуючого його простору 13 визначено першою точкою Р1ї, що знаходиться на передпліччі, то послідовність зчленувань відповідає ліктю, плечу і ключиці. Іншими словами, рух повороту зчленування розраховують таким чином, щоб він впливав на всі зчленування 12 руки, що передують передпліччю. Якщо ж перша точка Рі належить плечу, то послідовність зчленувань містить тільки зчленування плеча і ключиці. Якщо перша точка Р11 належить кисті, то в русі беруть участь усі зчленування 12 руки, тобто послідовність зчленувань містить зап'ястя, лікоть, плече і ключицю.
Таким чином, для даного зчленованого об'єкта 10 послідовність зчленувань залежить від елемента 11 зчленованого об'єкта 10, що містить першу точку Р1.
Зокрема, приклад, наведений на Ффіг.б6, демонструє рух обертання зчленування, що впливає на дане зчленування 12а, яке входить у послідовність зчленувань 12а, 1265 і 126.
Цей рух обертання зчленування, що впливає на дане зчленування 12а, може бути визначений шляхом здійснення таких дій. -
Визначають перший вектор У (називаний надалі "першим локальним вектором"), що з'єднує центр даного зчленування 12а і початкову точку Р2 вектору У витягу.
Аналогічним чином визначають другий локальний вектор МІ, що з'єднує центр даного зчленування 12а і кінцеву точку Р1 вектору У витягу.
Потім обчисляють називаний надалі "кутом локального повороту" кут ВІ повороту, необхідного для - - й суміщення першого локального вектора МІ! з другим локальним вектором М. Кут 91 локального повороту може бути вирахуваний з використанням векторного добутку (називаного надалі "локальним векторним добутком") першого локального вектора У! і другого локального вектора У! по такій формулі: -Щжнннн б- МІх Ма
МІ. Ма
Цей кут 6І. локального повороту розкладають на один або декілька елементарних кутів 61ї повороту зчленування, що відповідають одній або декільком осям у, що визначають один або декілька ступенів свободи даного зчленування 12а зчленованого об'єкта 10. У даному прикладі дане зчленування 12а містить дві осі 1 аг, Один або декілька елементарних кутів 61Ії повороту зчленування можуть бути розраховані з використанням одного або декількох скалярних добутків локального векторного добутку й однієї або декількох осей ці ступенів свободи даного зчленування 12а.
Нарешті, зчленований елемент повертають у даному зчленуванні на один або декілька кутів сі, пропорційних зазначеним одному або декільком елементарним кутам 61ї повороту зчленування.
Елементарні кути 8іІї повороту зчленування нормовані на величини, що відповідають крокам ла зсуву зчленування.
Зчленований елемент повертають у даному зчленуванні на один або декілька кутів сі, обчислених по такій формулі: 510.81 оі-віп - - ла
Зрозуміло, всі вищеописані дії повинні бути виконані для всіх зчленувань 12а, 1265 і 12с, що утворюють дану послідовність зчленувань.
Таким чином, використання унікального вектора М витягу, вирахуваного по мінімальній відстані або глибині проникнення, дозволяє істотно вдосконалити процедуру запобігання зіткненням зчленованого об'єкта 10 з елементами навколишнього простору 13.
Даний винахід дозволяє значно скоротити кількість розрахунків мінімальної відстані або глибини проникнення, які вимагають дуже значних витрат часу на обчислення, порівняно до відомих методик обчислення градієнтів, не знижуючи точності запобігання зіткненням зчленованого об'єкта з елементами навколишнього простору.
На Ффіг.7А подана блок-схема, що ілюструє основні етапи моделювання переміщення зчленованого об'єкта з запобіганням його зіткненням з елементами навколишнього простору.
На етапі 50 відбувається ініціалізація програми й визначення певних параметрів. Наприклад, ініціалізується лічильник тактових сигналів або етапів обчислень моделювання.
Аналогічним чином на етапі 50 можуть бути визначені елементарні зміни (кроки) зсуву положення (Ар), орієнтації (ло) і зчленувань (ла). Наприклад, різноманітні кроки можуть бути визначені залежно від характеристик зчленувань 12. Альтернативно, може бути вибраний оптимальний постійний крок для всіх зчленувань 12 протягом усієї траєкторії руху зчленованого об'єкта 10.
На етапі 51 здійснюють обчислення елементарного руху зчленованого об'єкта 10.
На етапі 52 роблять перевірку на наявність зіткнення даного зчленованого об'єкта 10 з елементами навколишнього простору 13. Критерій зіткнення залежить від величини відстані взаємодії.
Іншими словами, при використанні методу, заснованого на мінімальній відстані, зіткнення можна вважати таким, що сталося, якщо ця мінімальна відстань менша або дорівнює певній граничній відстані, яка може дорівнювати нулю, щоб забезпечити можливість переміщення зчленованого об'єкта 10 без зіткнень з елементами оточуючого його простору 13.
На відміну від цього, при використанні методу, заснованого на глибині проникнення, зіткнення можна вважати таким, що сталося, якщо ця глибина більша або дорівнює певній граничній глибині проникнення.
Таким чином, залежно від вибору цього граничного значення, можна, в одному варіанті, забезпечити переміщення зчленованого об'єкта 10 без зіткнень з елементами оточуючого його простору 13 або, в іншому варіанті, забезпечити переміщення зчленованого об'єкта 10 з обмеженими й контрольованими зіткненнями з елементами оточуючого його простору 13. У цьому останньому випадку можливе моделювання певної пружності при зіткненні зчленованого об'єкта 10 з елементами навколишнього простору 13.
Якщо відповідно до критерію етапу 52 зіткнення відсутнє, на етапі 53 переміщення зчленованого об'єкта 10, вирахуване на етапі 51, відображають, наприклад, на екрані 7 комп'ютера 1, після чого відбувається повернення до того ж етапу 51 для обчислення наступного елементарного переміщення.
Таким чином, дії з вибору першої і другої точок, визначення вектора витягу й відведення зчленованого об'єкта 10 від елементів навколишнього простору 13 на етапі 53 не роблять.
У той же час, за наявності зіткнення на етапі 54 роблять скасування елементарного переміщення, вирахуваного на етапі 51.
Потім, на етапі 55, розраховують рух, визначений на основі унікального вектора витягу й що впливає на глобальне положення і/або глобальну орієнтацію, і/або ступені свободи зчленованого об'єкта для відведення зчленованого об'єкта 10 від елементів оточуючого його простору 13, після чого відбувається повернення до етапу 51.
На Фіг.7В зображений варіант Фіг.7А, застосовний винятково до методу обчислень з використанням глибини проникнення.
Блок-схема, подана на цьому кресленні, збігається з блок-схемою Фіг.7А, але не містить етапу 54.
Таким чином, при виявленні на етапі 52 зіткнення відбувається негайний перехід до етапу 55 відведення даного об'єкта 10 від елементів оточуючого його простору 13 без скасування останнього елементарного переміщення, що забезпечує можливість невеликого взаємного проникнення об'єкта 10 і елементів оточуючого його простору 13.
Переміщення віртуального зчленованого об'єкта 10 у віртуальному просторі може бути здійснене за допомогою "багатофакторної" системи або будь-якої іншої відомої системи.
Як украй схематично показано на Ффіг.8, для моделювання переміщення зчленованого об'єкта 10 може бути використана архітектура багатофакторної системи 50. Ця багатофакторна система 50 утворена сукупністю активних елементів (чинників) 20, 21, 22, 23, 30, 31, 32, 33, 34 і 35, що впливають на пасивні об'єкти (елементи 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. ши Ще: 1 1-й | Кг ра ій й --3 2 - лина ши
НН ь Пн Да У чо;
Я ді СВ ; Гетиааи з с
Ся пенсчейя, шень М Ух з Є С-Я йо З
ФІГ. 1 їЗа 9. (5 ть й с У й з
К ек А
Б їЗс 12 ККУ
Ж й н 7 Й о ї з! ва че у а о
ФІГ. 2А нк За и ФІ Із 2 ронний щей і і в. , з о ЛВ «й й "Зе
Щі мо Х " І " зві 2-7 Ї 2 р, - у х
ФІГ. 78 У и
Щї
РІ РІ
39
ФІГ. ЗА
Р? "их «СЕЗ /
М ве
ФВ и "и (/ А
І я лщ еВ 2 Шо ! щк і,
Що г) з- ї
Фіг. 4 я т Ку аа су ве ба й ИС "ач ав"
ФІГ. 5 й 130
І У Ки і т-ва їв. Ж Ул с "а ра іє
Рі ь
Фе
ПЕРЕМІЩЕННЯ! 7 сонні Ах -- св оорнрних те ЕНЕМЕНТАВНОГО
ВІДОБРАЖЕННЯ у !
Її ЗЕпементдрНеог З сити !
ВІДОБРАЖЕННЯ
0 ФІГ.ТА з
ГПЕРЕМІЩЕННЯ)
Гоа сн
ГвідовРАЖЕННЯ). з
ЕЛЕМЕНТАРНОГОЇ рт пен
ПЕРЕМІЩЕННЯ | 55 К видАлення | -
Фіг.7в
Мн | зв | | І див І р ча Ц а тот МИС ВЕК НЕ МИ НЕТ що в І
ФГ В
UA20041008811A 2003-10-29 2004-10-28 Переміщення віртуального зчленованого об'єкта у віртуальному просторі із запобіганням зіткненню зчленованого об'єкта з елементами навколишнього простору UA85820C2 (uk)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
UA85820C2 true UA85820C2 (uk) 2009-03-10

Family

ID=34400874

Family Applications (1)

Application Number Title Priority Date Filing Date
UA20041008811A UA85820C2 (uk) 2003-10-29 2004-10-28 Переміщення віртуального зчленованого об'єкта у віртуальному просторі із запобіганням зіткненню зчленованого об'єкта з елементами навколишнього простору

Country Status (10)

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

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 キヤノン株式会社 情報処理方法、情報処理装置
JP2010532895A (ja) * 2007-07-12 2010-10-14 エクストラノーマル テクノロジー インコーポレーテッド 連接オブジェクトの動きモデル化方法
US8170287B2 (en) * 2007-10-26 2012-05-01 Honda Motor Co., Ltd. Real-time self collision and obstacle avoidance
US8396595B2 (en) * 2007-11-01 2013-03-12 Honda Motor 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
WO2009086088A1 (en) * 2007-12-21 2009-07-09 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
WO2010099034A1 (en) 2009-02-25 2010-09-02 Honda Motor Co., Ltd. Capturing and recognizing hand postures 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
EP2643817A4 (en) 2010-11-26 2017-06-21 Thomson Licensing 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
WO2018031621A1 (en) 2016-08-11 2018-02-15 Magic Leap, Inc. Automatic placement of a virtual object in a three-dimensional space
JP2018530016A (ja) * 2016-08-30 2018-10-11 北京小米移動軟件有限公司Beijing Xiaomi Mobile Software Co.,Ltd. Vr制御方法、装置及び電子機器、プログラム、及び記録媒体
CA3182690A1 (en) * 2020-05-07 2021-11-11 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旋盤における干渉チェック方法
DE29623747U1 (de) * 1996-06-25 1999-07-08 Siemens AG, 80333 München 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
CA2500005C (en) * 2002-09-26 2011-12-06 Barrett Technology, Inc. Intelligent, self-contained robotic hand
US20040169656A1 (en) * 2002-11-15 2004-09-02 David Piponi Daniele Paolo Method for motion simulation of an articulated figure using animation input

Also Published As

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

Similar Documents

Publication Publication Date Title
UA85820C2 (uk) Переміщення віртуального зчленованого об'єкта у віртуальному просторі із запобіганням зіткненню зчленованого об'єкта з елементами навколишнього простору
US7859540B2 (en) Reconstruction, retargetting, tracking, and estimation of motion for articulated systems
US8467904B2 (en) Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
Ren et al. Learning inverse kinematics and dynamics of a robotic manipulator using generative adversarial networks
US10297066B2 (en) Animating a virtual object in a virtual world
Aristidou et al. Real-time marker prediction and CoR estimation in optical motion capture
RU2308762C2 (ru) Перемещение виртуального объекта в виртуальной окружающей среде без взаимных помех между его сочлененными элементами
CN107627303A (zh) 一种基于眼在手上结构的视觉伺服系统的pd‑smc控制方法
JP4267508B2 (ja) 仮想ダミーの人間工学的動きの最適化
Um et al. Independent joint learning: A novel task-to-task transfer learning scheme for robot models
WO2020185357A1 (en) Motion transfer of highly dimensional movements to lower dimensional robot movements
McDonald et al. Guided imitation of task and motion planning
Garre et al. Haptic rendering of objects with rigid and deformable parts
Lenoir et al. Mixing deformable and rigid-body mechanics simulation
CN114454981B (zh) 双足机器人的弹跳运动控制方法、装置及双足机器人
Conradt et al. On-line learning for humanoid robot systems
Bahrpeyma et al. Application of Reinforcement Learning to UR10 Positioning for Prioritized Multi-Step Inspection in NVIDIA Omniverse
Calvo et al. Holistic Model of Cognitive Limbs for Dynamic Situations.
Usta Comparison of quaternion and euler angle methods for joint angle animation of human figure models
CN114952854B (en) Human body collision object docking method and system based on man-machine cooperation
Schmidl et al. Geometry‐driven physical interaction between avatars and virtual environments
Keith et al. Haptic interaction with virtual avatars
Lazzari Sensorless Haptic Force Feedback for Telemanipulation using two identical Delta Robots
Ye et al. Arm motion perception and interaction platform design and implementation
Fratu et al. Imitation-based motion programming for robotic manipulators