CN1612168A - 在虚拟环境中移动虚拟链接对象同时避免链接对象和环境之间的碰撞 - Google Patents

在虚拟环境中移动虚拟链接对象同时避免链接对象和环境之间的碰撞 Download PDF

Info

Publication number
CN1612168A
CN1612168A CNA2004100898891A CN200410089889A CN1612168A CN 1612168 A CN1612168 A CN 1612168A CN A2004100898891 A CNA2004100898891 A CN A2004100898891A CN 200410089889 A CN200410089889 A CN 200410089889A CN 1612168 A CN1612168 A CN 1612168A
Authority
CN
China
Prior art keywords
linked object
environment
whole
joint
vector
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2004100898891A
Other languages
English (en)
Other versions
CN100419796C (zh
Inventor
布鲁诺·马耶
爱德华·拉姆斯泰恩
帕特里克·谢德马伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Aircraft Engines SAS
Original Assignee
SNECMA Moteurs SA
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 SNECMA Moteurs SA filed Critical SNECMA Moteurs SA
Publication of CN1612168A publication Critical patent/CN1612168A/zh
Application granted granted Critical
Publication of CN100419796C publication Critical patent/CN100419796C/zh
Anticipated expiration legal-status Critical
Active legal-status Critical Current

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)的方法,该链接对象(10)通过定义一组链接元件(11)的位置的整体位置、整体方位、和多个接头角被指定在所述环境中,所述一组链接元件组成所述链接对象并具有多个自由度,该方法包括以下步骤:计算链接对象(10)和其环境(13d)之间的相互作用距离;从所述相互作用距离中提取属于链接对象(10)的元件(11)之一的第一点(P1)、和属于环境(13d)的第二点(P2);由所述第一和第二点(P1,P2)定义单个提取向量();和通过定义为单个提取向量()的函数的移动,将链接对象(10)移开并远离其环境(13d),以及作用在链接对象的整体位置、和/或整体方位上、和/或自由度,以便避免链接对象(10)与环境(13d)之间的碰撞。

Description

在虚拟环境中移动虚拟链接对象 同时避免链接对象和环境之间的碰撞
技术领域
本发明涉及在一个虚拟环境中模拟虚拟链接对象的移动的领域。更具体地,涉及在链接对象和它的环境间避免碰撞。
背景技术
在众多工业中,像航空或空间工业,通常会用到虚拟现实中的模型。例如,常常用数字模型来评估在各种不同部件之间的碰撞。
类似地,可以使用模型化来模拟在预定的环境中技术人员或机器人的行动,以便为了采取这些行动而显现人或机器人将需要做出的运动。这对机器的特定部分的验证和优化可达性很有用,例如在飞机引擎中的部件,这些部件需要定期的检查和保养。
因此,借助于使用虚拟链接对象的模拟,一旦元件被模型化就能虚拟地检查利用设备的各个元件的容易程度。
虚拟链接对象是定义动态系统的数字数据组,其特征在于以多个自由度链接的多个元件。
因此,在指定的时刻,虚拟链接对象可以通过在三维空间中的位置和方向以及它的接头的自由度的值来限定。定义虚拟链接对象的环境的数据和参数可以存储在数字数据介质中。
现在已经有了这种应用的虚拟链接对象的应用。
由Chedmail,Damay,和Le Roy所写的文章给出一个实例,该文章的标题为“Réalité virtuelle,maquette numérique du produit,outils dedistribution et partage de la conception”(虚拟现实、产品的数字模型、分布和共享设计的工具)(Journées Priméca,la Plagne,April 7-9,1999)。
该文章提供了一种验证可达性方法,用于虚拟环境中使用两个虚拟链接臂的移动的模型,组合和分解障碍环境中的对象。
为了避免在链接臂和环境之间的碰撞,Chedmail等人的文章中提出的方法使用相对于链接臂自由度计算碰撞线斜度。
通过有限差计算斜度需要执行每个链接臂接头的大量移动,并且对每个移动而言必须计算碰撞线的长度。由于这种方法在耗费非常多的计算时间,因此非常慢。
发明内容
本发明旨在克服以上所述的缺点,通过提供一种方法和系统,使得可以模拟链接对象的位移或操纵,同时避免对象和它的环境间的碰撞,以及限制计算时间。
这些目的通过以下技术方案实现的。
一种在虚拟环境中以一系列单位移动来移动一个虚拟链接对象的方法,该链接对象通过定义一组链接元件的位置的一个整体位置、一个整体方位、和多个接头角被指定在所述环境中,所述一组链接元件组成所述链接对象并具有多个自由度,该方法包括以下步骤:
计算链接对象和它的环境之间的相互作用距离;
从所述相互作用距离中提取属于链接对象的元件之一的第一点、和属于环境的第二点;
由所述第一和第二点定义单个提取向量;和
通过定义为单个提取向量的函数的移动,将链接对象移开并远离其环境,该单独的移动的实现是通过作用在链接对象的整体位置上的平移中的移动、和/或作用在链接对象的整体方位上的旋转中的运动、和/或作用在所述第一点所属的链接对象的元件以前属于一连串接头的每个接头的接头挠曲移动;从而避免在链接对象和环境间的碰撞。
这样,本发明的方法使用了单个相互作用距离计算,以将链接对象从它的环境移开。这就导致了极大的简化并显著地节省了时间。
本发明的方法进一步包括在所述一系列单位移动的每个单位移动之后、确定在链接对象和它的环境之间是否发生碰撞的的步骤。
在执行本发明的第一个实现方案中,相互作用距离对应于穿透深度,使得提取向量等于第二点的坐标减去第一点的坐标,穿透深度能够使链接对象移动并且与环境的碰撞量是有限的和可控制的。
在本发明的第二个实现方案中,相互作用距离对应于一个最小距离,以便提取向量等于第一点的坐标减去第二点的坐标,该最小距离能够使链接对象在与它的环境无碰撞的情况下移动。
该方法进一步包括以下步骤:在链接对象和它的环境之间发生碰撞时,取消所述一系列单位移动的最近的单位移动。
有利地,只要在链接对象和它的环境之间不发生碰撞,不执行所述提取第一和第二点,定义提取向量,以及将链接对象移开的步骤。
根据本发明的第一个特征,通过与作用在链接对象的整体位置上的提取向量的分量成比例的平移中的移动,可以将链接对象从它的环境移开。
根据本发明的第二个特征,通过作用在链接对象的整体方位的旋转中的移动,将链接对象从它的环境中移开,在旋转中的移动包括以下步骤:
定义一个在链接对象重力中心和提取向量起点之间的一个第一整体向量;
定义一个在链接对象重力中心和提取向量终点之间的一个第二整体向量;
计算使得第一整体向量与第二整体向量重合的整体旋转角;
通过分解绕定义链接对象的整体方位的一个或多个轴的所述整体旋转角,计算一个或多个单独的整体旋转角;和
转动链接对象通过一个或多个与所述单个整体旋转角成比例的角度。
根据本发明的第三个特征,通过接头挠曲移动将链接对象从其环境移开,该接头挠曲移动作用在属于所述第一点所属的链接对象的元件以前的一连串接头的每个接头上,包括以下步骤:
定义在所述指定接头的链接中心和提取向量的起点之间的一个第一局部向量;
定义在所述指定接头的链接中心和提取向量的终点之间的一个第二局部向量;
计算使得第一局部向量与第二局部向量重合的一个局部旋转角;
通过分解限定对应于所述指定接头的自由度的一个或多个轴上的局部旋转角,计算一个或多个单个接头旋转角;和
转动在所述指定接头上的链接元件通过与所述单个接头角成比例的一个或多个角。
整体旋转角可以通过在第一和第二整体向量之间的整体向量乘积来计算,并且局部旋转角通过在第一和第二局部向量之间的局部向量乘积来计算。
单个整体旋转角可以通过在整体向量乘积和整体方位轴之间的一个或多个标积而计算,该单个接头角通过在局部向量乘积和该指定接头的自由度的轴之间的一个或多个标积来计算。
在本发明的特定实现方案中,链接对象可以通过作用在该链接对象的整体位置,和/或整体方位,和/或多个自由度上的吸引代理来移动。
有利地,该方法进一步包括:通过作用在位置和/或方向和/或链接对象的自由度上的操作代理实时地操作移动链接对象。
根据本发明的一个特征,链接对象是一个在虚拟环境的底面上移动的虚拟假人,该假人通过在虚拟底面上的位置、与所述底面垂直并且通过该假人的重力中心的竖轴的方位、以及定义链接元件组的多个接头角来限定。
本发明还提供了一种计算机程序,当其由计算机执行时实现以上描述的方法。
附图简要描述
本发明的方法和系统的其他特征和益处通过以下参考附图且非限制性的描述将更加的清晰,其中:
图1是实现在本发明的系统或方法中的硬件装置的透视图;
图2A显示了根据本发明的在三维空间中的虚拟链接对象;
图2B示出根据本发明的在三维空间中的虚拟假人;
图3A示出定义在本发明的最小距离模式中的提取向量;
图3B示出定义在本发明的穿透深度模式中的提取向量;
图4示出作用在根据本发明的链接对象的整体位置上的单独移动;
图5示出作用在本发明的链接对象的整体方位上的单独移动;
图6示出作用在本发明的链接对象的指定接头上的单独移动;
图7A显示的是根据本发明的在移动链接对象中的主要步骤的流程图;
图7B显示的是图7A的一个变型;和
图8示出根据本发明的用于使用移动链接对象的多代理系统的结构。
具体实施方式
图1显示了可用于对链接对象的移动模型化的系统。该系统包括一个具有良好的图形能力的工作站或计算机1,用来执行设计实现本发明的方法的计算机程序。
计算机1包括此类型的装置通常所包括的硬件装置。更具体地,该计算机包括一个中心单元2,其执行用于实现本发明的方法的程序中的指令序列;一个中心存储器3,其存储数据和被执行的程序;数字数据存储介质(硬盘,CD4,软盘,...),用来长时间存储所使用的数据和程序;输入外设(键盘5,2D或3D鼠标6,游戏柄,...);和输出外设(显示屏7,立体声耳机或眼镜,...),以便能够观察到链接对象的移动。
自然,为了增加计算能力,可以在多个并行操作的工作站上执行本发明的模型化。
图2示出以接头的树结构为特征的虚拟链接对象10。因此,链接对象10被定义为一组“被动对象”,即,元件11通过多串接头中的接头12互相连接,接头12可以传统方式分类。
在链接对象10的重力G的中心具有它的起点的局部参考帧能与之关联。
具体地,局部参考帧可以有一个通过链接对象10的重力G的中心的单个轴z。
链接对象10在虚拟环境13中中移动,受到特定数量的对象或障碍物13a,13b,13c和13d阻挡,当链接对象10移动时必须避免这些对象或障碍物的。该链接对象10和它的环境都在三维空间(o,x,y,z)中定义。
通过使用三维空间,链接对象10的位置和方位以及在其环境13中的各个对象13a,13b,13c和13d能以简单的方式指定。
因此,在环境13中,链接对象10在任何时候都可以通过一个整体位置,一个整体方位,和定义相对于多个自由度的链接元件组11的位置的多个接头角来指定。
链接对象10的整体位置能通过沿轴 xyz用于其重心G的中心的笛卡儿坐标来定义。
它的整体方位可以通过定义与相对于轴 xyz的链接对象关联的轴 的方位的三个角度以已知的方式来指定。
自然,还需要考虑由接头的限制和由在链接对象10的各个部件或元件11之间物理连接所强加的参数或约束。
定义链接对象10的这些数据和变量以及定义其环境13的参数存储在计算机系统1的数字数据介质3中。
图2B显示了该链接对象可以由在虚拟环境13的底面上移动的虚拟假人10a具体地构建。
在这样的环境下,虚拟假人10a可以通过其在该虚拟地板上的位置,它在正交于所述地板并通过虚拟假人10a的重力G中心的垂直轴 附近的方位,以及多个定义链接元件组的接头角来定义。
在传统方式中,例如虚拟假人10a的链接对象10能在虚拟环境13中一系列单元移动来移动,例如为了到达目标13c。
因此,为了产生一个能使链接对象10到达其目标13c的轨道,可以作用在使用预定义步长大小来移动其位置的链接对象10的整体位置,和/或使用的预定义步长大小来改变方位的链接对象10的整体方位,和/或多个为接头移动Δa所使用的预定步长大小的链接对象的自由度。
这使得链接对象10被引向它的目标13c而无需考虑目标10c或其他任何在该环境中的对象13a,13b之任一个的尺寸。
为了使链接对象10避免与它的环境13的碰撞,必须定义一个碰撞标准。这样的标准可以由本领域的技术人员用已知的方式通过计算在链接对象10和它的环境13之间的相互作用距离来限定,该计算还提供了物化所述相互作用距离的点。
应当考虑的是,其相互作用距离能对应于一个最小距离或一个在链接对象10和它的环境之间的穿透深度。
图3A和3B图示了在链接对象10的一个元件和属于该环境的对象13d之间的相互作用距离。
图3A的例子更具体显示了在链接对象10和它的环境之间的最小距离标准,它还显示了物化所述最小距离的点P1和P2。
此外,图3B的例子更具体图示了在链接对象10和它的环境之间的穿透深度,同时它还定义了用来定义所述穿透深度的点P1和P2。
因此,计算相互作用距离可以提取点P1和另一个点P2,点P1属于链接对象10的元件11之一,以下称为“第一”点,而另一个点P2属于环境13,以下称为“第二”点。
从该第一和第二点P1和P2,可以定义一个单独的提取向量
Figure A20041008988900131
在基于计算一个最小距离的模式中(图3A),提取向量
Figure A20041008988900132
等于第一点P1的坐标减去第二点P2的坐标。换句话说,第二点P2是提取向量
Figure A20041008988900133
的起点而第一点P1是提取向量
Figure A20041008988900134
的终点。
相反,在基于计算穿透深度的模式中(图3B),提取向量 等于第二点P2的坐标减去第一点P1的坐标。换句话说,第一点P1是提取向量
Figure A20041008988900136
的起点而第二点P2是提取向量 的终点。
最后,为了避免在链接对象10和环境13之间的碰撞,通过作用在该链接对象10的整体位置,和/或整体方位,和/或自由度上,通过定义为单个提取向量
Figure A20041008988900138
的函数的移动,所述的链接对象10能从它的环境中移开。
图4到图6显示了使用最小距离模式所执行的链接对象的单独移动,但自然该原理与使用穿透深度模式时相同。
因此,通过在与作用在链接对象的整体位置上的提取向量 的分量成比例的平移 中的移动,使链接对象10从环境13中移开,即 M 1 → = λ v → , 其中λ是正的系数。
更具体地,在虚拟假人10a的例子中整体位置定义在平面(x,y)中,它只是提取向量 在被考虑的所述平面上的投影。
因此,平移中的移动有助于通过使链接对象10执行一个整体移动来避免碰撞。
应当考虑的是,从最小距离或穿透深度计算所得的该单个提取向量
Figure A20041008988900141
可以通过在位置移动中的单元步长大小的值Δp来归一化,即平移中的移动
Figure A20041008988900142
由以下公式给出:
M 1 → = v → / Δp
图5显示了作用在链接对象的整体方位上的单独移动。
该链接对象10通过确定执行绕一个点的旋转来从环境13中移开,例如重力G的中心,使得链接对象10沿所述向量
Figure A20041008988900144
移动链接对象10上施加提取向量 的点。该旋转通过在方位移动的步长尺寸Δo进行归一化。
通过以下的步骤可以确定这个作用在链接对象10的整体方位上的旋转中的移动。
一个在以下的描述中称为“第一整体向量”的第一向量 被定义在链接对象10的重力G中心与提取向量
Figure A20041008988900147
的起点之间。在该实例中,提取向量
Figure A20041008988900148
的起点是第二点P2,但它在使用穿透深度模式时是第一点P1。
类似地,一个第二向量
Figure A20041008988900149
被定义在链接对象10的重力G的中心与提取向量
Figure A200410089889001410
的终点P1之间。
随后,旋转角 (以下称为“整体旋转角”)被计算,以使得第一整体向量
Figure A200410089889001412
与第二整体向量 重合。整体旋转角 能通过在第一和第二整体向量 之间的的向量乘积(以下称为“整体向量乘积”)而计算出。这样,整体旋转角 就通过以下公式给出:
θg → = V 1 g → × V 2 g → V 1 g · V 2 g
该整体旋转角 被分解成一个或多个单个整体旋转角θgi,这些角在定义链接对象的整体方位的一个或多个轴附近。这些单个整体旋转角θgi能通过在整体向量乘积和一个或多个整体方位轴之间的标积而计算。
最后,链接对象10转动通过一个多个与所述单个整体旋转角 成比例的角度α0该单个整体旋转角θgi通过对应于在角度移动中的步长大小Δo的值来归一化,即α=θgi/Δo。
更具体地,当链接对象的整体方位如图2所示通过单个轴 来定义时,会产生一个定义在绕所述轴
Figure A20041008988900153
的链接对象的旋转移动的整体旋转的一个单个归一化的角度α,并通过以下公式给出:
α = sin - 1 z → · θg → Δo
图6显示了作用在链接对象的自由度上的接头挠曲移动。
应当考虑的是,通过作用在属于链接对象的元件11以前的、上述第一点P1所属的一连串接头的接头12之每一个上的接头挠曲移动,链接对象10从环境13中移开(参见图2A和2B)。
作为例子,如果链接对象是一个虚拟假人10a,同时如果在虚拟假人10a和环境13之间的相互作用距离通过在前臂上的第一点P1来物化,那么一连串接头就对应于肘、肩膀、和锁骨。换句话说,接头挠曲移动就被计算以作用在前臂以前的臂中所有12个接头上。否则,如果第一点P1属于上臂,那么一连串接头就只包括单独的肩膀接头和锁骨。如果第一点P1属于手,那么手臂所有的12个接头将被考虑,即,一连串接头包括手腕,肘部,肩膀和锁骨。
因此,对一个指定的链接对象10,一连串接头依靠包括链接对象10中包括第一点P1的元件11。
更具体地,图6的例子显示了作用在一连串接头12a,12b和12c的一个指定接头12a的组成部分上的接头旋转的移动。
该作用在指定接头12a上的接头旋转的移动可以通过以下步骤决定。
一个第一向量
Figure A20041008988900155
在以下描述中称为“第一局部向量”,被定义在所述指定接头12a的链接中心与提取向量
Figure A20041008988900156
的起点P2间。
类似地,一个第二向量 被定义在所述指定接头12a的链接中心与提取向量 的终点P1间。
以下,一个旋转角
Figure A20041008988900163
在以下描述中被称为“局部旋转角”被计算,以便使得第一向量 与第二向量 重合。局部旋转角 能通过在第一和第二局部向量
Figure A20041008988900167
Figure A20041008988900168
之间、以下称为“局部向量乘积”的向量乘积来计算,计算使用以下公式:
θ → l = V 1 l → × V 2 l → V 1 l · V 2 l
该局部旋转角
Figure A200410089889001610
被分解成一个或多个绕定义自由度的一个或多个轴
Figure A200410089889001611
的单个接头旋角θli,其对应于链接对象10的指定接头12a。在该实例中,指定的接头12a具有两个轴
Figure A200410089889001612
Figure A200410089889001613
单个接头旋转角度θli能通过在局部向量乘积和指定接头12a的自由度的一个或多个轴 之间的一个或多个标积计算。
最后,在所述指定接头上的链接元件被转动通过与该接头的单个角度θli成比例的一个或多个角αi。
单个角度θli通过对应于在接头移动中的步长大小Δo的值来归一化。
在所述指定接头上的链接元件转动通过一个或多个由以下公式所给出的角度αi:
αi = sin - 1 Ui → · θl → Δa
自然,以上步骤需要在所有接头12a,12b和12c上执行,这些接头构成要考虑的一连串接头。
因此,使用从一个最小距离或一个穿透深度计算出的单个的提取向量 使得显著地改善在链接对象10和环境13之间的避免碰撞过程成为可能。
本发明可以显著地降低要被计算的最小距离或穿透深度的数量,其中的计算与现有技术中所需的斜度计算的数量相比需要大量的计算时间,这就使得不影响在链接对象和环境之间避免碰撞的精确性成为可能。
图7A显示的是对当避免对象和它的环境间碰撞时链接对象的移动模型化的主要步骤的流程图。
步骤S0是该流程图的初始化步骤,其中定义了各种参数。例如初始化一个用于对计算脉冲或模型的步骤计时的计数器。
类似地,在位置移动中的单位移动或步长Δp,在方位移动中的单位移动或步长Δo,和在接头移动中的单位移动或步长Δa也能在步骤S0中定义。例如,可以取决于接头12的特性来使用不同的步长大小。也可以选择所有沿着链接对象10的轨道和所有接头12的最佳恒定步长大小。
在步骤S1中,计算链接对象10的单个移动。
步骤S2是一个检测,用以决定是否在链接对象10和环境13之间有碰撞。该碰撞的标准取决于相互作用距离的值。
换句话说,对于基于最小距离的模式而言,为了能够使链接对象10移动而与其环境13不发生碰撞,可以假定如果最小距离小于或等于一个可以为零的极限最小距离,则已发生碰撞。
相反,对基于穿透深度的模式而言,可以考虑,如果所述穿透深度大于或等于一个极限穿透深度,则已发生碰撞。因此,取决于如何选择该值用于所述极限,可以首先允许链接对象10移动而与环境13无碰撞,或其次允许链接对象10移动,且与环境13的碰撞量是有限且可控的。这种情况使得可以模型化当链接对象10与环境13的一个对象接触时的适应性的度。
如果根据在上述步骤S2中使用的标准没有碰撞,那么在步骤S3中,例如在返回所述的步骤S1以前,如在步骤S1中计算的链接对象10的位移显示在计算机1的屏幕7上,以便计算下一个单位移动。
因此,在步骤S3中,提取第一和第二点、定义提取向量、和将链接对象10从环境13移开的步骤都不会被执行。
相反,如果有碰撞,那么在步骤S1计算的单元位移就在步骤S4中被取消。
以下,在步骤S5中,定义为单个提取向量的函数、并作用在链接对象的整体位置、和/或整体方位、和/或自由度的移动被计算,以便在循环回到步骤S1以前将链接对象10从其环境13移开。
图7B显示了图7A的变型,其中只对使用穿透深度的计算的模式有效。
该图的流程图与图7A的相同,除了步骤S4不再存在。
因此,如果在步骤S2中有碰撞,那么本方法就立即跳到步骤S5,将链接对象10从环境其13移开而不取消最新的单位移动,因此允许在链接对象10和其环境13之间有少量的穿透。
可以通过“多代理”系统,或任何其他已知的系统,使虚拟链接对象10在虚拟环境13中移动。
图8示出能用于模型化链接对象10的位移的多代理系统50的体系结构。该多代理系统50由一组活动元件或代理20,21,22,23,30,31,32和32组成,它们作用于组成链接对象10的被动对象(元件11和接头12),作为其环境的函数。
定义链接对象10以及它的环境的数据或变量构成共享的数据15,各个代理通过共享的数据15相互作用。
该多代理系统的结构可以金字塔方式组织在多级或多层中,使得基本级的代理有助于更高级上的代理的行为。
在本实例中,多代理系统50呈现一个第一级51和一个第二级52。该第一级51示出对链接对象10的作用或整体贡献,并包括了第一整体代理20的贡献和第二整体代理30的贡献,其经由共享的数据15作用于链接对象10。
第一整体代理20作用于链接对象10的整体位置和方位,第二整体代理30作用于链接对象10的接头12的内部自由度。
第二级52示出由各种类型的代理产生的贡献,它们通过经由共享数据15的相互作用,产生第一和第二整体代理20和30的贡献。
因此,链接对象10的移动能通过作用于链接对象的整体位置、和/或整体方位、和/或多个自由度的吸引代理而实现。
此外,通过一个作用于链接对象的整体位置、和/或整体方位、和/或多个自由度的避免代理,可以移开链接对象而远离它的环境。
因此,多代理系统50的第二级52可以包括一个作用于链接对象10的整体位置和/或方位的排斥避免代理21,一个作用于链接对象10的整体位置和/或方位的整体吸引代理22,一个作用于链接对象10的接头12上的内部自由度的动态避免代理31,和一个作用于链接对象10的接头12上的内部自由度的动态吸引代理32。
此外,通过作用于链接对象的整体位置、和/或整体方位、和/或多个自由度上的操作代理,可以实时地由操作者移动链接对象10。
因此,多代理系统50的第二级52还可以包括一个作用于链接对象10的整体位置、和/或整体方位的整体操作代理23,和一个作用于链接对象10的接头12的内部自由度的内部操作代理33。

Claims (16)

1.一种在虚拟环境(13)中以一系列单位移动来移动一个虚拟链接对象(10)的方法,该链接对象(10)通过定义一组链接元件的位置的一个整体位置、一个整体方位、和多个接头角被指定在所述环境(13)中,所述一组链接元件组成所述链接对象并具有多个自由度,该方法包括以下步骤:
计算链接对象(10)和它的环境(13)之间的相互作用距离;
从所述相互作用距离中提取属于链接对象(10)的元件(11)之一的第一点(P1)、和属于环境(13)的第二点(P2);
由所述第一和第二点(P1,P2)定义单个提取向量
通过定义为单个提取向量
Figure A2004100898890002C2
的函数的移动,将链接对象(10)移开并远离其环境(13),该单独的移动的实现是通过作用在链接对象的整体位置上的平移中的移动、和/或作用在链接对象的整体方位上的旋转中的运动、和/或作用在所述第一点所属的链接对象的元件以前属于一连串接头的每个接头的接头挠曲移动。
2.根据权利要求1的方法,其特征在于,它还进一步包括在所述一系列单位移动的每个单位移动之后确定是否在链接对象(10)与其环境(11)之间发生碰撞的步骤。
3.根据权利要求1或2的方法,其特征在于,该相互作用距离对应于一个穿透深度,使得提取向量 等于第二点(P2)的坐标减去第一点(P1)的坐标,该穿透深度能使链接对象(10)与环境(13)以有限并可控的碰撞量移动。
4.根据权利要求1或2的方法,其特征在于,该相互作用距离对应于一个最小距离,使得提取向量 等于第一点(P1)的坐标减去第二点(P2)的坐标,该最小距离能使链接对象(10)与其环境(13)无碰撞地移动。
5.根据权利要求1至4中任一项的方法,其特征在于,它还包括以下步骤:如果在链接对象(10)与其环境(13)之间发生碰撞,则取消所述一系列单位移动中的最近的单位移动。
6.根据权利要求1至4中任一项的方法,其特征在于,只要在链接对象(10)与环境(13)之间不发生碰撞,就不执行所述提取第一和第二点(P1,P2)、定义提取向量
Figure A2004100898890003C2
和将链接对象(10)移开的步骤。
7.根据权利要求1至5中任一项的方法,其特征在于,该平移中的移动与作用在链接对象(10)的整体位置上的提取向量
Figure A2004100898890003C3
的分量成比例。
8.根据权利要求1至5中任一项的方法,其特征在于,作用在链接对象(10)的整体方位上的旋转中的移动包括以下步骤:
●在链接对象(10)的重力(G)的中心和提取向量
Figure A2004100898890003C4
的起点之间定义一个第一整体向量
Figure A2004100898890003C5
●在链接对象(10)的重力(G)的中心和提取向量
Figure A2004100898890003C6
的终点之间定义一个第二整体向量
Figure A2004100898890003C7
●计算使得第一整体向量与第二整体向量重合的整体旋转角
●通过分解绕定义链接对象(10)的整体方位的一个或多个轴所述整体旋转角,计算一个或多个单个整体旋转角;和
●转动该链接对象(10)通过与所述单个整体旋转角成比例的一个或多个角。
9.根据权利要求1至5中任一项的方法,其特征在于,作用在属于所述第一点所属的链接对象的元件以前的一连串接头的接头的每个指定接头(12a)上的接头挠曲移动,包括以下步骤:
●定义在所述指定接头(12a)的链接中心和提取向量 的起点之间的一个第一局部向量
Figure A2004100898890004C2
●定义在所述指定接头的链接中心和提取向量 的终点之间的一个第二局部向量
Figure A2004100898890004C4
●计算使得第一局部向量与第二局部向量重合的一个局部旋转角
●通过分解限定对应于所述指定接头的自由度的一个或多个轴上的局部旋转角,计算一个或多个单个接头旋转角;和
●转动在所述指定接头上的链接元件(11)通过与所述单个接头角成比例的一个或多个角。
10.根据权利要求8或9的方法,其特征在于,计算整体旋转角 是借助于在第一和第二整体向量间的整体向量乘积,计算局部旋转角 是借助于在第一和第二局部向量之间的局部向量乘积。
11.根据权利要求8至10中任一项的方法,其特征在于,单个整体旋转角通过一个或多个在整体向量乘积和整体方位轴之间的标积来计算,单个接头角通过一个或多个在局部向量乘积和指定接头的自由度轴之间的标积来计算。
12.根据权利要求8至10中任一项的方法,其特征在于,链接对象(10)通过作用在链接对象的整体位置、和/或整体方位、和/或多个自由度上的吸引代理(22,32)移动。
13.根据权利要求1至12中任一项的方法,其特征在于,链接对象通过作用在链接对象的整体位置、和/或整体方位、和/或多个自由度上的避免代理(21,31)被移开并远离其环境。
14.根据权利要求1至13中任一项的方法,其特征在于,该方法进一步包括以下步骤:借助于作用在链接对象(10)的位置、和/或方位、和/或多个自由度上的操作代理(23,33),实时地操作移动链接对象(10)。
15.根据权利要求1至14中任一项的方法,其特征在于,链接对象是一个在虚拟环境的底面上移动的虚拟假人(10a),该假人通过在虚拟底面上的位置、与所述底面垂直并且通过该假人的重力中心的竖轴的方位、以及定义链接元件组的多个接头角来限定。
16.一种计算机程序,其特征在于它被设计成当被计算机(1)执行时,用以实现根据权利要求1至15中任一项的方法。
CNB2004100898891A 2003-10-29 2004-10-29 在虚拟环境中移动虚拟链接对象同时避免链接对象和环境之间的碰撞的方法 Active CN100419796C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0312641 2003-10-29
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 (2)

Publication Number Publication Date
CN1612168A true CN1612168A (zh) 2005-05-04
CN100419796C CN100419796C (zh) 2008-09-17

Family

ID=34400874

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100898891A Active CN100419796C (zh) 2003-10-29 2004-10-29 在虚拟环境中移动虚拟链接对象同时避免链接对象和环境之间的碰撞的方法

Country Status (10)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866386A (zh) * 2010-06-25 2010-10-20 杭州维肖软件科技有限公司 一种基于能量平衡的柔性体碰撞处理方法

Families Citing this family (16)

* 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
JP5253588B2 (ja) * 2009-02-25 2013-07-31 本田技研工業株式会社 内部距離形状関連法を用いた手姿勢の取り込み及び認識
US20120117514A1 (en) * 2010-11-04 2012-05-10 Microsoft Corporation Three-Dimensional User Interaction
JP5905481B2 (ja) 2010-11-26 2016-04-20 トムソン ライセンシングThomson Licensing 判定方法及び判定装置
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
IL310337A (en) * 2016-08-11 2024-03-01 Magic Leap Inc Automatic positioning of a virtual object in 3D space
RU2677566C1 (ru) * 2016-08-30 2019-01-17 Бейдзин Сяоми Мобайл Софтвэр Ко., Лтд. Способ, устройство и электронное оборудование для управления виртуальной реальностью
WO2021224936A1 (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
US7168748B2 (en) * 2002-09-26 2007-01-30 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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866386A (zh) * 2010-06-25 2010-10-20 杭州维肖软件科技有限公司 一种基于能量平衡的柔性体碰撞处理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1612168A (zh) 在虚拟环境中移动虚拟链接对象同时避免链接对象和环境之间的碰撞
CN1612167A (zh) 在虚拟环境中移动虚拟链接对象同时避免链接对象的链接元件之间的内部碰撞
CN105676642B (zh) 一种六自由度机器人工位布局与运动时间协同优化方法
JP6807949B2 (ja) 干渉回避装置
US9449416B2 (en) Animation processing of linked object parts
CN1788282A (zh) 统计动态建模方法及设备
Duguleana et al. Evaluating human-robot interaction during a manipulation experiment conducted in immersive virtual reality
CN1420453A (zh) 树状结构链接系统的姿态和动作的产生方法
CN106415665A (zh) 具有头部转动的头像面部表情动画
CN102648032B (zh) 虚拟目标跟踪
CN107729295A (zh) 一种羽毛球的实时落点预判方法、平台及设备
CN102639198A (zh) 虚拟目标跟踪
CN111482967B (zh) 一种基于ros平台的智能检测与抓取方法
JP6353290B2 (ja) 高分子材料モデル作成方法
CN1661633A (zh) 布料动画制作数据结构及渲染三维图形数据的设备和方法
CN107578461A (zh) 一种基于子空间筛选的三维虚拟人体物理运动生成方法
Kulpa et al. Fast inverse kinematics and kinetics solver for human-like figures
CN103729520A (zh) 一种基于人因势场的设备维修性布局设计方法
CN1885217A (zh) 欠驱动双摆系统摆杆杂技动作控制方法
Zhao et al. Learning physically realizable skills for online packing of general 3D shapes
Dong et al. Quasi-static soft fixture analysis of rigid and deformable objects
Li et al. Sim-Suction: Learning a Suction Grasp Policy for Cluttered Environments Using a Synthetic Benchmark
CN1798637A (zh) 用于多关节型机器人的教导数据准备方法
JP4783268B2 (ja) 半導体レイアウト設計装置
CN104138835A (zh) 基于空间三转动自由度并联机构的茶叶筛分机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: France

Patentee after: Snecma

Address before: France

Patentee before: SNECMA Moteurs

C56 Change in the name or address of the patentee

Owner name: SNECMA CO.,LTD.

Free format text: FORMER NAME: SNECMA ENGINE CO.,LTD.