ES2359239T3 - Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones entre el objeto articulado y el entorno. - Google Patents
Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones entre el objeto articulado y el entorno. Download PDFInfo
- Publication number
- ES2359239T3 ES2359239T3 ES04292230T ES04292230T ES2359239T3 ES 2359239 T3 ES2359239 T3 ES 2359239T3 ES 04292230 T ES04292230 T ES 04292230T ES 04292230 T ES04292230 T ES 04292230T ES 2359239 T3 ES2359239 T3 ES 2359239T3
- Authority
- ES
- Spain
- Prior art keywords
- articulated object
- global
- articulated
- vector
- rotation
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, 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
Procedimiento de desplazamiento de un objeto articulado virtual (10) según una sucesión de movimientos elementales en un entorno virtual (13), estando referenciado el objeto articulado (10) en este entorno (13) por una posición global, una orientación global y una pluralidad de ángulos de articulación que definen la posición de un conjunto de elementos articulados (11) que componen dicho objeto articulado, según una pluralidad de grados de libertad, procedimiento que incluye las etapas siguientes: - calcular una distancia de interacción entre el objeto articulado (10) y su entorno (13); - extraer de dicha distancia de interacción un primer punto (P1) perteneciente a uno de los elementos (11) del objeto articulado (10) y un segundo punto (P2) perteneciente al entorno (13); - definir un vector de extracción único (V) a partir de dichos primer y segundo puntos (P1, P2); y - alejar el objeto articulado (10) de su entorno (13) según un movimiento definido en función del vector de extracción único (V), movimiento de alejamiento que se realiza según un movimiento de traslación actuando sobre la posición global del objeto articulado, y un movimiento de rotación actuando sobre la orientación global del objeto articulado, y un movimiento de rotación articular actuando al nivel de cada una de las articulaciones que pertenecen a una cadena de articulaciones que preceden al elemento del objeto articulado al cual pertenece dicho primer punto; caracterizado porque el cálculo del movimiento de rotación que actúa sobre la orientación global del objeto articulado (10) incluye las etapas siguientes: - definir un primer vector global (V1g) entre el centro de gravedad (G) del objeto articulado (10) y el origen del vector de extracción (V); - definir un segundo vector global (V2g) entre el centro de gravedad (G) del objeto articulado (10) y el extremo del vector de extracción (V); - calcular un ángulo de rotación global (θg) haciendo coincidir el primer vector global sobre el segundo vector global; - calcular un o los ángulos elementales de rotación global descomponiendo dicho ángulo de rotación global según el o los ejes que definen la orientación global del objeto articulado (10); y - girar el objeto articulado (10) según un o los ángulos proporcionales a dicho o a dichos ángulos elementales de rotación global.
Description
Desplazamiento de un objeto articulado virtual
en un entorno virtual evitando las colisiones entre el objeto
articulado y el entorno.
La presente invención se refiere al dominio de
la simulación del desplazamiento de un objeto articulado virtual en
un entorno virtual. En particular, la invención se refiere a la
evitación de colisiones entre el objeto articulado y su entorno.
En numerosas industrias, tales como la
aeronáutica o la espacial, se recurre corrientemente a
modelizaciones en realidad virtual. Por ejemplo, se utiliza a menudo
un modelo numérico para evaluar las interferencias entre diferentes
piezas.
Así mismo, la modelización puede ser utilizada
para simular acciones humanas o robóticas en un entorno definido con
el fin de visualizar, por ejemplo, los desplazamientos que un
técnico o un robot deberá realizar para efectuar estas acciones.
Esto es útil para validar y optimizar la accesibilidad a ciertas
piezas de un dispositivo, como las de un motor de avión, que
requieran inspecciones y mantenimientos regulares.
Así, la facilidad de acceso a los diferentes
elementos de un dispositivo puede ser controlada virtualmente a
partir de la modelización de estas últimas, gracias a una simulación
por medio de un objeto articulado virtual.
Un objeto articulado virtual es un conjunto de
datos numéricos que definen un sistema cinemático caracterizado por
varios elementos articulados según una pluralidad de grados de
libertad.
Así, en un instante dado, el objeto articulado
virtual puede estar definido por su posición y orientación en un
espacio métrico y por los valores de los grados de libertad de las
articulaciones. Estos datos, así como los parámetros que definen el
entorno del objeto articulado virtual, pueden ser almacenados en un
soporte de datos numéricos.
La utilización de un objeto articulado virtual
para este tipo de aplicación existe ya.
En efecto, un ejemplo está dado por el artículo
de Chedmail, Damay y Le Roy, titulado "Réalité virtuelle, maquette
numérique du produit, outils de distribution et partage de la
conception" (Journées Priméca, La Plagne 7-9 de
abril de 1.999).
Este artículo propone un método para validar la
accesibilidad en el montaje/desmontaje de un objeto en un entorno
altamente ocupado y que utiliza un modelo de desplazamiento de dos
brazos articulados virtuales en un entorno virtual.
Con el fin de evitar la colisión entre los
brazos articulados y el entorno, el método propuesto en el artículo
de Chedmail y otros, utiliza el cálculo de un gradiente de una línea
de colisión con respecto a los grados de libertad de los brazos
articulados.
Los cálculos de los gradientes por diferencia
finita necesitan realizar numerosos desplazamientos de cada
articulación de los brazos articulados y, para cada desplazamiento,
es necesario un cálculo de la longitud de la línea de colisión. Este
método es muy lento ya que es muy costoso en tiempo de cálculo.
Otros ejemplos están descritos en el documento
de Anderson y otros "Using virtual objects to aid underground
storage tank teleoperation" Robotics and automation, conferencia
internacional del IEEE de 1.994 en San Diego, CA, EE.UU. y en el
documento de Bond y otros, "On-line collision
avoidance for the Ranger telerobotic flight experiment" Robotics
and automation, conferencia internacional del IEEE de 1.996 en
Minneapolis, MN, EE. UU. Estos métodos son también muy costosos en
tiempo de cálculo.
La presente invención está dirigida a remediar
los inconvenientes citados anteriormente proponiendo un
procedimiento y un sistema que permiten simular el desplazamiento o
la manipulación de un objeto articulado evitando las colisiones de
este último con su entorno a la vez que limita el tiempo de
cálculo.
Estos objetivos se alcanzan gracias a un
procedimiento de desplazamiento de un objeto articulado virtual
según una sucesión de movimientos elementales en un entorno virtual,
estando referenciado el objeto articulado en este entorno por una
posición global, una orientación global y una pluralidad de ángulos
de articulación que definen la posición de un conjunto de elementos
articulados que componen dicho objeto articulado, según una
pluralidad de grados de libertad, procedimiento que incluye las
etapas siguientes:
- -
- calcular una distancia de interacción entre el objeto articulado y su entorno;
- -
- extraer de dicha distancia de interacción un primer punto perteneciente a uno de los elementos del objeto articulado y un segundo punto perteneciente al entorno;
- -
- definir un vector de extracción único a partir de dichos primer y segundo puntos; y
- -
- alejar el objeto articulado de su entorno según un movimiento definido en función del vector de extracción único, movimiento de alejamiento que se realiza según un movimiento de traslación, actuando sobre la posición global del objeto articulado, y un movimiento de rotación, actuando sobre la orientación global del objeto articulado, y un movimiento de rotación articular, actuando al nivel de cada una de las articulaciones que pertenecen a una cadena de articulaciones que preceden al elemento del objeto articulado al cual pertenece dicho primer punto;
\vskip1.000000\baselineskip
incluyendo el cálculo del movimiento de rotación
que actúa sobre la orientación global del objeto articulado las
etapas siguientes:
- -
- definir un primer vector global entre el centro de gravedad del objeto articulado y el origen del vector de extracción;
- -
- definir un segundo vector global entre el centro de gravedad del objeto articulado y el extremo del vector de extracción;
- -
- calcular un ángulo de rotación global que hace coincidir el primer vector global sobre el segundo vector global;
- -
- calcular un o los ángulos elementales de rotación global descomponiendo dicho ángulo de rotación global según el o los ejes que definen la orientación global del objeto articulado; y
- -
- girar el objeto articulado según un o los ángulos proporcionales a dicho o a dichos ángulos elementales de rotación global.
\vskip1.000000\baselineskip
Así, el procedimiento según la invención utiliza
un solo cálculo de distancia de interacción para alejar el objeto
articulado de su entorno. Esto permite una gran simplicidad y una
ganancia de tiempo importante.
El procedimiento según la invención incluye,
además, una etapa que determina, después de cada movimiento
elemental de dicha sucesión de movimientos elementales, si
sobreviene una colisión entre el objeto articulado y su entorno.
Según un primer modo de realización de la
invención, la distancia de interacción corresponde a una profundidad
de penetración, de suerte que el vector de extracción es igual a las
coordenadas del segundo punto menos las del primer punto,
permitiendo la profundidad de penetración el desplazamiento del
objeto articulado con una colisión limitada y controlada con su
entorno.
Según un segundo modo de realización de la
invención, la distancia de interacción corresponde a una distancia
mínima, de suerte que el vector de extracción es igual a las
coordenadas del primer punto menos las del segundo punto,
permitiendo la distancia mínima el desplazamiento del objeto
articulado sin colisión con su entorno.
El procedimiento incluye, además, una etapa de
anulación del último movimiento elemental de dicha sucesión de
movimientos elementales cuando sobreviene una colisión entre el
objeto articulado y su entorno.
Ventajosamente, dichas etapas de extracción de
los primer y segundo puntos de definición del vector de extracción y
de alejamiento del objeto articulado, no son ejecutadas cuando no
sobreviene una colisión entre el objeto articulado y el entorno.
Según una primera particularidad de la
invención, el alejamiento del objeto articulado de su entorno puede
ser realizado según un movimiento de traslación proporcional a las
componentes del vector de extracción actuando sobre la posición
global del objeto articulado.
Según otra particularidad de la invención, el
alejamiento del objeto articulado de su entorno se realiza según un
movimiento de rotación articular actuando al nivel de cada una de
las articulaciones que pertenecen a una cadena de articulaciones que
preceden al elemento del objeto articulado al cual pertenece dicho
primer punto, actuando el movimiento de rotación articular al nivel
de una articulación dada de cada una de dichas articulaciones
incluyendo las etapas siguientes:
- -
- definir un primer vector local entre el centro de articulación de dicha articulación dada y el origen del vector de extracción;
- -
- definir un segundo vector local entre el centro de articulación de dicha articulación dada y el extremo del vector de extracción;
- -
- calcular un ángulo de rotación local haciendo coincidir el primer vector local sobre el segundo vector local;
- -
- calcular un o los ángulos elementales de rotación articular descomponiendo dicho ángulo de rotación local según el o los ejes que definen el o los grados de libertad que corresponden a dicha articulación dada; y
- -
- girar el elemento articulado al nivel de dicha articulación dada según un o los ángulos proporcionales a dicho o a dichos ángulos elementales de articulación.
\vskip1.000000\baselineskip
El ángulo de rotación global puede ser calculado
por medio de un producto vectorial global entre los primer y segundo
vectores globales, y el ángulo de rotación local puede ser calculado
por medio de un producto vectorial local entre los primer y segundo
vectores locales.
El o los ángulos elementales de rotación global
pueden ser calculados por medio de un o los productos escalares
entre el producto vectorial global y el o los ejes de la orientación
global, y el o los ángulos elementales de articulación pueden ser
calculados por medio de un o los productos escalares entre el
producto vectorial local y el o los ejes de grado de libertad de la
articulación dada.
Según un modo particular de la invención, el
desplazamiento del objeto articulado puede ser implementado por
medio de un agente de atracción que actúa sobre posición global, y/o
la orientación global, y/o la pluralidad de grados de libertad del
objeto articulado.
El alejamiento del objeto articulado de su
entorno puede ser implementado por medio de un agente de
deslizamiento que actúa sobre la posición global, y/o la orientación
global, y/o la pluralidad de grados de libertad del objeto
articulado.
Ventajosamente, el procedimiento incluye,
además, una etapa de desplazamiento del objeto articulado en tiempo
real por un operador por medio de un agente de operador que actúa
sobre la posición y/o la orientación y/o la pluralidad de grados de
libertad del objeto articulado.
Según una particularidad de la invención, el
objeto articulado puede ser un maniquí virtual que se desplaza sobre
un suelo de entorno virtual, estando el maniquí definido por una
posición sobre el suelo virtual, una orientación alrededor de un eje
vertical perpendicular a dicho suelo y que pasa por el centro de
gravedad del maniquí y la pluralidad de ángulos de articulación que
define el conjunto de sus elementos articulados.
La invención está dirigida también a un programa
informático concebido para implementar el procedimiento descrito
aquí arriba cuando es ejecutado por un ordenador.
Otras particularidades y ventajas del
procedimiento y del sistema según la invención se destacarán mejor
con la lectura de la descripción hecha a continuación, a título
indicativo pero no limitativo, en referencia a los dibujos adjuntos,
en los cuales:
- la figura 1 es una vista en perspectiva de los
medios materiales implementados en el sistema o procedimiento de la
invención;
- la figura 2A ilustra muy esquemáticamente un
objeto articulado virtual definido en un espacio métrico según la
invención;
- la figura 2B ilustra muy esquemáticamente un
maniquí virtual definido en un espacio métrico según la
invención;
- la figura 3A ilustra muy esquemáticamente un
vector de extracción definido en un modo de distancia mínima según
la invención;
- la figura 3B ilustra muy esquemáticamente un
vector de extracción definido en un modo de profundidad de
penetración según la invención;
- la figura 4 ilustra muy esquemáticamente un
movimiento de alejamiento actuando sobre la posición global del
objeto articulado según la invención;
- la figura 5 ilustra muy esquemáticamente un
movimiento de alejamiento actuando sobre orientación global del
objeto articulado según la invención;
\newpage
\global\parskip0.930000\baselineskip
- la figura 6 ilustra muy esquemáticamente un
movimiento de alejamiento actuando al nivel de una articulación dada
del objeto articulado según la invención;
- la figura 7A es un organigrama que ilustra las
etapas principales del desplazamiento del objeto articulado según la
invención;
- la figura 7B es una variante de la figura 7A;
y
- la figura 8 ilustra muy esquemáticamente una
arquitectura de un sistema multiagente utilizado para el
desplazamiento del objeto articulado según la invención.
La figura 1 representa un sistema que puede ser
utilizado para la modelización del desplazamiento de un objeto
articulado. Este sistema comprende una estación de trabajo u
ordenador 1 que dispone de buenas capacidades gráficas, utilizado
para la ejecución de un programa informático concebido para
implementar el procedimiento según la invención.
El ordenador 1 comprende los medios materiales
que se encentran habitualmente con este tipo de aparato. Más
particularmente, el ordenador comprende una unidad central 2 que
ejecuta las secuencias de instrucciones del programa según el
procedimiento de la invención, una memoria central 3 que almacena
los datos y programas en curso de ejecución, soportes de
almacenamiento de datos numéricos (disco duro, CD 4, disquete, ...)
que conservan de forma duradera los datos y los programas
manipulados, periféricos de entrada (teclado 5, ratón "2D" o
"3D" 6, palanca de mando, ...) así como periféricos de salida
(pantalla 7, cascos o gafas estereoscópicas, ...) para poder
visualizar el desplazamiento de un objeto articulado.
Por supuesto, con el fin de aumentar la
capacidad de cálculo, la modelización según la invención puede ser
implementada sobre varias estaciones de trabajo funcionando en
paralelo.
La figura 2A ilustra muy esquemáticamente un
objeto articulado virtual 10 caracterizado por una cadena articulada
arborescente. Así, el objeto articulado 10 está definido por un
conjunto "de objetos pasivos", es decir elementos 11 unidos
entre sí por articulaciones 12, que pueden ser clasificados de forma
conocida según varias cadenas de articulaciones.
Una referencia local cuyo origen es el centro de
gravedad G del objeto articulado 10 puede ser asociada a este
último.
En particular, la referencia local puede incluir
un solo eje Z que pasa por el centro de gravedad G del objeto
articulado 10.
El objeto articulado 10 evoluciona en un entorno
virtual 13 altamente ocupado por un cierto número de objetos u
obstáculos 13a, 13b, 13c, 13d que el objeto articulado 10 debe
evitar durante su desplazamiento. El objeto articulado 10 así como
su entorno están definidos en un espacio métrico (O; x, y, z).
Gracias a este espacio métrico, la posición y la
orientación del objeto articulado 10 así como los diferentes objetos
13a, 13b, 13c, 13d de su entorno 13 pueden ser referenciadas de
forma simple.
Así, el objeto articulado 10 puede ser
referenciado en cada instante en el entorno 13 por una posición
global, una orientación global y una pluralidad de ángulos de
articulación que definen la posición del conjunto de elementos
articulados 11, según una pluralidad de grados de libertad.
En efecto, la posición global del objeto
articulado 10 puede ser definida por las coordenadas cartesianas
según los ejes x, y, z de su centro de gravedad.
La orientación global puede estar referenciada
de forma conocida, por tres ángulos que definen la orientación del
eje 7 asociado al objeto articulado con respecto a los ejes x, y,
z.
Por supuesto, es necesario también tener en
cuenta los parámetros o restricciones impuestos por los límites
articulares y por las ligaduras físicas entre los diferentes
miembros o elementos 11 de este objeto articulado 10.
Estos datos y variables que definen el objeto
articulado 10 así como los parámetros que definen su entorno 13 son
almacenados en el soporte de datos numéricos 3 del sistema
informático 1.
La figura 2B muestra que, en particular, el
objeto articulado puede ser un maniquí virtual 10a que se desplaza
sobre un suelo del entorno virtual 13.
En este caso, el maniquí 10a puede estar
definido por su posición sobre el suelo virtual, su orientación
alrededor de un eje vertical Z1 perpendicular a dicho suelo y
que pasa por el centro de gravedad G del maniquí 10a y por una
pluralidad de ángulos de articulación que definen el conjunto de sus
elementos articulados.
\global\parskip1.000000\baselineskip
De forma conocida, el objeto articulado 10 tal
como un maniquí 10a puede ser desplazado en el entorno virtual 13
según una sucesión de movimientos elementales para, por ejemplo,
alcanzar un objetivo (dar en un blanco) 13c.
Así, para generar una trayectoria que permita al
objeto articulado 10 alcanzar su blanco 13c, es posible actuar sobre
la posición global del objeto articulado 10 según un paso
predefinido de desplazamiento en posición \Deltap, y/o la
orientación global del objeto articulado según un paso predefinido
de desplazamiento en orientación \Deltao, y/o la pluralidad
de grados de libertad del objeto articulado según un paso
predefinido de desplazamiento en articulación \Deltaa.
Esto se traduce en la atracción del objeto
articulado 10 hacia su blanco 13c sin consideración de las
dimensiones del blanco 13c o de cualquier otro objeto 13a, 13b en el
entorno 13.
Con el fin de que el objeto articulado 10 evite
las colisiones con su entorno 13, es necesario definir un criterio
de colisión. Un criterio tal puede ser definido, de forma conocida
para el experto, por el cálculo de una distancia de interacción
entre el objeto articulado 10 y su entorno 13 que proporciona
igualmente los puntos que realizan esta distancia de
interacción.
Se apreciará que la distancia de interacción
puede corresponder a una distancia mínima o una profundidad de
penetración entre el objeto articulado 10 y su entorno.
En efecto, las figuras 3A y 3B ilustran el
reconocimiento de la distancia de interacción entre un elemento del
objeto articulado 10 y un objeto 13d que pertenece al entorno.
El ejemplo de la figura 3A ilustra, más
particularmente, el criterio de distancia mínima entre el objeto
articulado 10 y su entorno y los puntos P1 y P2 que realizan esta
distancia mínima.
Por otro lado, el ejemplo de la figura 3B
ilustra el criterio de profundidad de penetración entre el objeto
articulado 10 y su entorno, que define los puntos P1 y P2 que
realizan esta profundidad de penetración.
Así, el cálculo de la distancia de interacción
permite extraer un punto P1, designado "primer punto" en lo que
sigue de la descripción, que pertenece a uno de los elementos 11 del
objeto articulado 10 y otro punto P2, designado "segundo punto"
en lo que sigue de la descripción, que pertenece al entorno 13.
Entonces es posible definir a partir de estos
primer P1 y segundo P2 puntos, un vector de extracción único
V.
Según el modo basado en el cálculo de una
distancia mínima (figura 3A), el vector de extracción V es
igual a las coordenadas del primer punto P1 menos las del segundo
punto P2. Dicho de otra manera, el segundo punto P2 es el origen del
vector de extracción V y el primer punto P1 es el extremo del
vector de extracción V.
Por contra, según el modo basado en el cálculo
de una profundidad de penetración (figura 3B), el vector de
extracción V es igual a las coordenadas del segundo punto P2
menos las del primer punto P1. Dicho de otra manera, el primer punto
P1 es el origen del vector de extracción V y el segundo punto
P2 es el extremo del vector de extracción V.
Finalmente, para evitar una colisión entre el
objeto articulado 10 y el entorno 13, este objeto articulado 10
puede ser alejado de su entorno según un movimiento definido en
función del vector de extracción único V y actuando sobre la
posición global y/o la orientación global y/o los grados de libertad
del objeto articulado 10.
Las figuras 4 a 6 ilustran los movimientos de
alejamiento del objeto articulado según el modo de distancia mínima,
pero por supuesto el principio es el mismo según el modo de
profundidad de penetración.
La figura 4 ilustra un movimiento de alejamiento
actuando sobre la posición global del objeto articulado.
Así, el alejamiento del objeto articulado 10 de
su entorno 13 es realizado según un movimiento de traslación
M1 proporcional a las componentes del vector de extracción
V que actúa sobre la posición global del objeto articulado,
es decir M1 = \lambda \cdot V, siendo \lambda un
coeficiente positivo.
En particular, en el ejemplo de un maniquí 10a
en el que la posición global está definida en un plano (x, y)
entonces no se considera más que la proyección del vector de
extracción V sobre este plano.
El movimiento de traslación contribuye así a la
evitación de una colisión por un desplazamiento global del objeto
articulado 10.
Se apreciará que el vector de extracción único
V calculado a partir de una distancia mínima o de una
profundidad de penetración puede ser normalizado por el valor del
paso de desplazamiento elemental en posición \Deltap, es
decir, el movimiento de traslación M1 está dado por la
ecuación siguiente:
La figura 5 ilustra un movimiento de alejamiento
que actúa sobre la orientación global del objeto articulado.
El alejamiento del objeto articulado 10 de su
entorno 13 es realizado determinando la rotación a efectuar
alrededor de un punto, por ejemplo el centro de gravedad G, que
lleva desde el objeto articulado 10 para desplazar el punto de
aplicación del vector de extracción V sobre el objeto
articulado 10 siguiendo este vector V. Esta rotación es
normalizada por el valor del paso de desplazamiento en orientación
\Deltao.
En efecto, este movimiento de rotación que actúa
sobre la orientación global del objeto articulado 10 puede ser
determinada según las etapas que van mas abajo.
Un primer vector V1g, designado
"primer vector global" en lo que sigue de la descripción, está
definido entre el centro de gravedad G del objeto articulado 10 y el
origen del vector de extracción V. Según este ejemplo, el
origen del vector de extracción V es el segundo punto P2,
pero sería el primer punto P1 en un modo de profundidad de
penetración.
De la misma manera, un segundo vector global
V2g está definido entre el centro de gravedad G del
objeto articulado 10 y el extremo P1 del vector de extracción
V.
A continuación, se calcula un ángulo de rotación
\thetag, designado "ángulo de rotación global" en lo
que sigue de la descripción, haciendo coincidir el primer vector
global V1g sobre el segundo vector global
V2g. El ángulo de rotación global \thetag
puede ser calculado por medio de un producto vectorial, designado en
lo que sigue "producto vectorial global" entre los primer
V1g y segundo V2g vectores globales.
Así, el ángulo de rotación global \thetag está dado por la
ecuación siguiente:
Este ángulo de rotación global \thetag
está descompuesto en el o los ángulos elementales \thetagi
de rotación global siguiendo el o los ejes que definen la
orientación global del objeto articulado. El o los ángulos
elementales \thetagi de rotación global pueden ser
calculados por medio de un o los productos escalares entre el
producto vectorial global y el o los ejes de la orientación
global.
Finalmente, el objeto articulado 10 es girado
según un o los ángulos a proporcionales a dicho o dichos ángulos
elementales \thetagi de rotación global. En efecto, los
ángulos elementales \thetagi de rotación global son
normalizados por los valores correspondientes del paso de
desplazamiento en orientación \Deltao, es decir, \alpha
=\thetagi/\Deltao.
En particular, cuando la orientación global del
objeto articulado está definida por un solo eje 7 como en el ejemplo
de la figura 2, entonces resulta un solo ángulo elemental
normalizado a de rotación global que define el movimiento de
rotación del objeto articulado alrededor de este eje Z dado
por la ecuación siguiente:
La figura 6, ilustra un movimiento de rotación
articular que actúa al nivel de grados de libertad del objeto
articulado.
Se apreciará que el alejamiento del objeto
articulado 10 de su entorno 13 es realizado según un movimiento de
rotación articular actuando al nivel de cada una de las
articulaciones 12 que pertenecen a una cadena de articulaciones que
preceden el elemento 11 del objeto articulado al cual pertenece el
primer punto P1 definido aquí anteriormente (véase las figuras 2A y
2B).
A título de ejemplo, si el objeto articulado es
un maniquí virtual 10a y si la distancia de interacción entre el
maniquí 10a y el entorno 13 está realizada por un primer punto P1
sobre el antebrazo, entonces la cadena de articulaciones corresponde
al codo, hombro y clavícula. Dicho de otra manera, el movimiento de
rotación articular es calculado para actuar sobre todas las
articulaciones 12 del brazo que preceden al antebrazo. Por otro
lado, si el primer punto P1 pertenece al brazo, entonces la cadena
de articulación incluiría solamente las articulaciones del hombro y
de la clavícula. Si el primer punto P1 pertenece a la mano, entonces
todas las articulaciones 12 del brazo serían consideradas, es decir,
que la cadena de articulación incluiría la muñeca, el codo, el
hombro y la clavícula.
Así, para un objeto articulado 10 dado, la
cadena de articulación depende del elemento 11 del objeto articulado
10 que incluya al primer punto P1.
En particular, el ejemplo de la figura 6 muestra
el movimiento de rotación articular que actúa al nivel de una
articulación dada 12a que forma parte de una cadena de
articulaciones 12a, 12b y 12c.
En efecto, este movimiento de rotación articular
que actúa al nivel de una articulación dada 12a, puede ser
determinado según las etapas que van más abajo.
Un primer vector V1l designado
"primer vector local" en lo que sigue de la descripción, está
definido entre el centro de articulación de dicha articulación dada
12a y el origen P2 del vector de extracción V.
De la misma manera, un segundo vector local
V2l está definido entre el centro de articulación de
dicha articulación dada 12a y el extremo P1 del vector de extracción
V.
A continuación, se calcula un ángulo de rotación
\thetal , designado "ángulo de rotación local" en lo
que sigue de la descripción, haciendo coincidir el primer vector
local V1l sobre el segundo vector local
V2l. El ángulo de rotación local \thetal
puede ser calculado por medio de un producto vectorial, designado en
lo que sigue "producto vectorial local" entre los primer
V1l y segundo V2l vectores locales según
la fórmula que va abajo:
Este ángulo de rotación local \thetal
está descompuesto en el o los ángulos elementales \thetali
de rotación articular siguiendo el o los ejes Ui que definen
el o los grados de libertad que corresponden a dicha articulación
dada 12a del objeto articulado 10. Según este ejemplo, la
articulación dada 12a incluye dos ejes U1 y U2. El o
los ángulos elementales \thetali de rotación articular
pueden ser calculados por medio de un o los productos escalares
entre el producto vectorial local y el o los ejes Ui de grado
de libertad de la articulación dada 12a.
Finalmente, el elemento articulado al nivel de
dicha articulación dada es girado según un o los ángulos
\alphai proporcionales a dicho o dichos ángulos elementales
\thetali de articulación.
En efecto, los ángulos elementales
\thetali de articulación son normalizados por los valores
correspondientes del paso de desplazamiento en articulación
\Deltaa.
El elemento articulado al nivel de dicha
articulación dada es girado según un o los ángulos \alphai
dados por la fórmula siguiente:
Por supuesto, las mismas etapas anteriores deben
ser efectuadas para todas las articulaciones 12a, 12b y 12c que
componen la cadena de articulaciones considerada.
Así, la utilización de un vector de extracción
único V calculado a partir de una distancia mínima o de una
profundidad de penetración permite mejorar sensiblemente el
procedimiento de evitación de colisión entre el objeto articulado 10
y el entorno 13.
En efecto, la presente invención permite reducir
considerablemente el número de cálculos de distancia mínima o de
profundidad de penetración, que requieren mucho tiempo de cálculo,
con respecto a los cálculos de gradientes de la técnica anterior y
sin afectar la precisión de evitación de colisión entre el objeto
articulado y el entorno.
La figura 7A es un organigrama que ilustra las
etapas principales que modelizan el desplazamiento del objeto
articulado evitando las colisiones entre este último y el
entorno.
La etapa S0 es una inicialización del
organigrama en la que se definen diferentes parámetros. Por ejemplo,
se inicializa un contador de cadencia de impulsos o etapas de
cálculo de la modelización.
Del mismo modo, los movimientos elementales o
paso de desplazamiento en posición \Deltap, en orientación
\Deltao y en articulación \Deltaa pueden también
ser definidos en la etapa S0. Por ejemplo, se pueden atribuir pasos
diferentes según la naturaleza de la articulación 12. Se puede
también escoger un paso constante óptimo para todas las
articulaciones 12 y a lo largo de toda la trayectoria del objeto
articulado 10.
En la etapa S1, se realiza un cálculo de un
movimiento elemental del objeto articulado 10.
La etapa S2 es una prueba para determinar si hay
colisión o no entre el objeto articulado 10 y el entorno 13. El
criterio de colisión depende del valor de la distancia de
interacción.
Dicho de otra manera, para el modo basado en la
distancia mínima, se puede considerar que una colisión sobreviene si
esta distancia mínima es inferior o igual a una distancia mínima
umbral que puede ser igual a cero con el fin de permitir el
desplazamiento del objeto articulado 10 sin colisión con su entorno
13.
Por contra, para el modo basado en la
profundidad de penetración se puede considerar que una colisión
sobreviene si esta profundidad es superior o igual a una profundidad
de penetración umbral. Así, según la elección de este valor umbral,
se puede por un lado, permitir el desplazamiento del objeto
articulado 10 sin colisión con su entorno 13 o, por otro lado,
permitir el desplazamiento del objeto articulado 10 con una colisión
limitada y controlada con su entorno 13. Este último caso permite
modelizar una cierta plasticidad cuando el objeto articulado 10 está
en contacto con un objeto del entorno 13.
Si no hay colisión según el criterio de la etapa
precedente S2, entonces en la etapa S3 se indica, por ejemplo, en la
pantalla 7 del ordenador 1, el desplazamiento del objeto articulado
10 calculado en la etapa S1 antes de volver a esta misma etapa S1
para calcular un desplazamiento elemental siguiente.
Así, en la etapa S3, no son ejecutadas las
etapas de extracción de los primer y segundo puntos, de definición
del vector de extracción y del alejamiento del objeto articulado 10
del entorno 13.
Por contra, si hay colisión, entonces se anula
en la etapa S4 el desplazamiento elemental calculado en la etapa
S1.
A continuación, en la etapa S5, se calcula el
movimiento definido en función del vector de extracción único y
actuando sobre la posición global, y/o la orientación global, y/o
los grados de libertad del objeto articulado para alejar el objeto
articulado 10 de su entorno 13, antes de retornar a la etapa S1.
La figura 7B es una variante de la figura 7A que
es válida únicamente en el modo de cálculo que utiliza la
profundidad de penetración.
El organigrama de esta figura es el mismo que el
de la figura 7A salvo en que la etapa S4 no existe.
Así, cuando hay una colisión en la etapa S2, se
pasa directamente a la etapa S5 de alejamiento del objeto articulado
10 de su entorno 13, sin anulación del último desplazamiento
elemental, permitiendo así una ligera penetración entre el objeto
articulado 10 y su entorno 13.
El desplazamiento del objeto articulado virtual
10 en un entorno virtual 13 puede ser implementado por medio de un
sistema "multiagente" o de cualquier otro sistema conocido.
En efecto, la figura 8 ilustra muy
esquemáticamente una arquitectura de un sistema multiagente 50 que
puede ser utilizada para modelizar el desplazamiento de un objeto
articulado 10. Este sistema multiagente 50 está compuesto por un
conjunto de elementos activos o agentes 20, 21, 22, 23, 30, 31, 32 y
33 que actúan sobre los objetos pasivos (elementos 11 y
articulaciones 12) que componen el objeto articulado 10 en función
de su entorno.
Los datos o variables que definen el objeto
articulado 10 y su entorno constituyen los datos compartidos 15 a
través de los cuales los diferentes agentes interactúan.
La arquitectura del sistema multiagente puede
ser organizada en varias etapas o niveles, de forma piramidal, de
suerte que los agentes de base contribuyen a las acciones de los que
están un nivel más elevado.
En este ejemplo, el sistema multiagente 50
presenta un primer nivel 51 y un segundo nivel 52.
El primer nivel 51 ilustra la acción o la
contribución global sobre el objeto articulado 10 e incluye la
contribución de un primer agente global 20 y la contribución de un
segundo agente global 30 que actúan sobre el objeto articulado 10 a
través de los datos compartidos 15.
El primer agente global 20 actúa sobre la
posición y orientación globales del objeto articulado 10 y el
segundo agente global 30 actúa sobre los grados de libertad internos
de articulación 12 del objeto articulado 10.
El segundo nivel 52 ilustra diferentes
contribuciones, que emanan de los diferentes tipos de agentes que
engendran las contribuciones de los primer y segundo agentes
globales 20 y 30 interactuando a través de los datos compartidos
15.
Así, el desplazamiento del objeto articulado 10
puede ser implementado por medio de un agente de atracción que actúa
sobre la posición global y/u orientación global y/o la pluralidad de
grados de libertad del objeto articulado.
Por otro lado, el alejamiento del objeto
articulado de su entorno puede ser implementado por medio de un
agente de deslizamiento que actúa sobre la posición global y/u
orientación global y/o la pluralidad de grados de libertad del
objeto articulado.
Así, el segundo nivel 52 del sistema multiagente
50 puede incluir un agente de deslizamiento repulsivo 21 que actúa
sobre la posición y/u orientación global del objeto articulado 10,
un agente de atracción global 22 que actúa sobre la posición y/u
orientación global del objeto articulado 10, un agente de
deslizamiento cinemático 31 que actúa sobre los grados de libertad
internos de articulación 12 del objeto articulado 10 y un agente de
atracción cinemática 32 que actúa sobre los grados de libertad
internos de articulación 12 del objeto articulado 10.
Además, el objeto articulado 10 puede ser
desplazado en tiempo real por un operador por medio de un agente de
operador que actúa sobre la posición y/o la orientación y/o la
pluralidad de grados de libertad del objeto articulado.
Así, el segundo nivel 52 del sistema multiagente
50 puede incluir también un agente de operador global 23 que actúa
sobre la posición y/u orientación global del objeto articulado 10, y
un agente de operador interno 33 que actúa sobre los grados de
libertad internos de articulación 12 del objeto articulado 10.
Claims (15)
1. Procedimiento de desplazamiento de un objeto
articulado virtual (10) según una sucesión de movimientos
elementales en un entorno virtual (13), estando referenciado el
objeto articulado (10) en este entorno (13) por una posición global,
una orientación global y una pluralidad de ángulos de articulación
que definen la posición de un conjunto de elementos articulados (11)
que componen dicho objeto articulado, según una pluralidad de grados
de libertad, procedimiento que incluye las etapas siguientes:
- -
- calcular una distancia de interacción entre el objeto articulado (10) y su entorno (13);
- -
- extraer de dicha distancia de interacción un primer punto (P1) perteneciente a uno de los elementos (11) del objeto articulado (10) y un segundo punto (P2) perteneciente al entorno (13);
- -
- definir un vector de extracción único (V) a partir de dichos primer y segundo puntos (P1, P2); y
- -
- alejar el objeto articulado (10) de su entorno (13) según un movimiento definido en función del vector de extracción único (V), movimiento de alejamiento que se realiza según un movimiento de traslación actuando sobre la posición global del objeto articulado, y un movimiento de rotación actuando sobre la orientación global del objeto articulado, y un movimiento de rotación articular actuando al nivel de cada una de las articulaciones que pertenecen a una cadena de articulaciones que preceden al elemento del objeto articulado al cual pertenece dicho primer punto;
caracterizado porque el cálculo del
movimiento de rotación que actúa sobre la orientación global del
objeto articulado (10) incluye las etapas siguientes:
- -
- definir un primer vector global (V1g) entre el centro de gravedad (G) del objeto articulado (10) y el origen del vector de extracción (V);
- -
- definir un segundo vector global (V2g) entre el centro de gravedad (G) del objeto articulado (10) y el extremo del vector de extracción (V);
- -
- calcular un ángulo de rotación global (\thetag) haciendo coincidir el primer vector global sobre el segundo vector global;
- -
- calcular un o los ángulos elementales de rotación global descomponiendo dicho ángulo de rotación global según el o los ejes que definen la orientación global del objeto articulado (10); y
- -
- girar el objeto articulado (10) según un o los ángulos proporcionales a dicho o a dichos ángulos elementales de rotación global.
\vskip1.000000\baselineskip
2. Procedimiento según la reivindicación 1,
caracterizado porque incluye además una etapa que determina,
después de cada movimiento elemental de dicha sucesión de
movimientos elementales si sobreviene una colisión entre el objeto
articulado (10) y su entorno (13).
3. Procedimiento según una cualquiera de las
reivindicaciones 1 y 2, caracterizado porque la distancia de
interacción corresponde a una profundidad de penetración, de suerte
que el vector de extracción (V) es igual a las coordenadas
del segundo punto (P2) menos las del primer punto (P1), permitiendo
la profundidad de penetración el desplazamiento del objeto
articulado (10) con una colisión limitada y controlada con su
entorno (13).
4. Procedimiento según una cualquiera de las
reivindicaciones 1 y 2, caracterizado porque la distancia de
interacción corresponde a una distancia mínima, de suerte que el
vector de extracción (V) es igual a las coordenadas del
primer punto (P1) menos las del segundo punto (P2), permitiendo la
distancia mínima el desplazamiento del objeto articulado (10) sin
colisión con su entorno (13).
5. Procedimiento según una cualquiera de las
reivindicaciones 1 a 4, caracterizado porque incluye, además,
una etapa de anulación del último movimiento elemental de dicha
sucesión de movimientos elementales cuando sobreviene una colisión
entre el objeto articulado (10) y su entorno (13).
6. Procedimiento según una cualquiera de las
reivindicaciones 1 a 4, caracterizado porque dichas etapas de
extracción de los primer y segundo puntos (P1, P2), de definición
del vector de extracción (V) y de alejamiento del objeto
articulado (10), no son ejecutadas cuando no sobreviene una colisión
entre el objeto articulado (10) y el entorno (13).
7. Procedimiento según una cualquiera de las
reivindicaciones 1 a 5, caracterizado porque el movimiento de
traslación es proporcional a las componentes del vector de
extracción (V) que actúa sobre la posición global del objeto
articulado (10).
8. Procedimiento según una cualquiera de las
reivindicaciones 1 a 5, caracterizado porque el movimiento de
rotación articular que actúa al nivel una articulación dada (12a) de
cada una de las articulaciones que pertenecen a la cadena de
articulaciones que preceden al elemento del objeto articulado al
cual pertenece dicho primer punto, incluye las etapas
siguientes:
- -
- definir un primer vector local (V1l) entre el centro de articulación de dicha articulación dada (12a) y el origen del vector de extracción (V);
- -
- definir un segundo vector local (V2l) entre el centro de articulación de dicha articulación dada y el extremo del vector de extracción (V);
- -
- calcular un ángulo de rotación local (\thetal) haciendo coincidir el primer vector local sobre el segundo vector local;
- -
- calcular un o los ángulos elementales de rotación articular descomponiendo dicho ángulo de rotación local según el o los ejes que definen el o los grados de libertad que corresponden a dicha articulación dada; y
- -
- girar el elemento articulado (10) al nivel de dicha articulación dada según un o los ángulos proporcionales a dicho o a dichos ángulos elementales de articulación.
\vskip1.000000\baselineskip
9. Procedimiento según una cualquiera de las
reivindicaciones 1 a 8, caracterizado porque el ángulo de
rotación global (\thetag) es calculado por medio de un
producto vectorial global entre los primer y segundo vectores
globales, y el ángulo de rotación local (\thetal) es
calculado por medio de un producto vectorial local entre los primer
y segundo vectores locales
10. Procedimiento según una cualquiera de las
reivindicaciones 1 a 9, caracterizado porque el o los ángulos
elementales de rotación global son calculados por medio de un o los
productos escalares entre el producto vectorial global y el o lo
ejes de la orientación global, y el o los ángulos elementales de
articulación son calculados por medio de un o los productos
escalares entre el producto vectorial local y el o los ejes de grado
de libertad de la articulación dada.
11. Procedimiento según una cualquiera de las
reivindicaciones 1 a 10, caracterizado porque el
desplazamiento del objeto articulado (10) es implementado por medio
de un agente de atracción (22, 32) que actúa sobre la posición
global, y/o la orientación global, y/o la pluralidad de grados de
libertad del objeto articulado.
12. Procedimiento según una cualquiera de las
reivindicaciones 1 a 11, caracterizado porque el alejamiento
del objeto articulado de su entorno es implementado por medio de un
agente de deslizamiento (21, 31) que actúa sobre la posición global,
y/o la orientación global, y/o la pluralidad de grados de libertad
del objeto articulado.
13. Procedimiento según una cualquiera de las
reivindicaciones 1 a 12, caracterizado porque el
procedimiento incluye, además, una etapa de desplazamiento del
objeto articulado (10) en tiempo real por un operador por medio de
un agente de operador (23, 33) que actúa sobre la posición y/o la
orientación y/o la pluralidad de grados del objeto articulado.
14. Procedimiento según una cualquiera de las
reivindicaciones 1 a 13, caracterizado porque el objeto
articulado (10) es un maniquí virtual (10a) que se desplaza sobre un
suelo del entorno virtual, estando el maniquí definido por una
posición sobre el suelo virtual, una orientación alrededor de un eje
vertical perpendicular a dicho suelo y que pasa por el centro de
gravedad del maniquí y la pluralidad de ángulos de articulación que
define el conjunto de sus elementos articulados.
15. Programa informático caracterizado
porque está concebido para implementar el procedimiento según una
cualquiera de las reivindicaciones 1 a 14 cuando es ejecutado por un
ordenador (1).
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 (1)
Publication Number | Publication Date |
---|---|
ES2359239T3 true ES2359239T3 (es) | 2011-05-19 |
Family
ID=34400874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES04292230T Active ES2359239T3 (es) | 2003-10-29 | 2004-09-17 | Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones entre el objeto articulado y el entorno. |
Country Status (10)
Country | Link |
---|---|
US (1) | US7457733B2 (es) |
EP (1) | EP1528511B1 (es) |
JP (1) | JP4942924B2 (es) |
CN (1) | CN100419796C (es) |
CA (1) | CA2483083C (es) |
DE (1) | DE602004031185D1 (es) |
ES (1) | ES2359239T3 (es) |
FR (1) | FR2861858B1 (es) |
RU (1) | RU2308764C2 (es) |
UA (1) | UA85820C2 (es) |
Families Citing this family (17)
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 |
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 |
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 |
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 |
IL264690B (en) | 2016-08-11 | 2022-06-01 | Magic Leap Inc | Automatic positioning of a virtual object in 3D space |
CN106489113B (zh) * | 2016-08-30 | 2019-03-15 | 北京小米移动软件有限公司 | Vr控制的方法、装置及电子设备 |
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)
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 |
WO2004047008A1 (en) * | 2002-11-15 | 2004-06-03 | Esc Entertainment, A California Corporation | Reverse-rendering method for digital modeling |
-
2003
- 2003-10-29 FR FR0312641A patent/FR2861858B1/fr not_active Expired - Lifetime
-
2004
- 2004-09-17 EP EP04292230A patent/EP1528511B1/fr active Active
- 2004-09-17 ES ES04292230T patent/ES2359239T3/es active Active
- 2004-09-17 DE DE602004031185T patent/DE602004031185D1/de active Active
- 2004-10-21 US US10/969,073 patent/US7457733B2/en active Active
- 2004-10-22 CA CA2483083A patent/CA2483083C/fr active Active
- 2004-10-25 RU RU2004131050/09A patent/RU2308764C2/ru active
- 2004-10-25 JP JP2004309120A patent/JP4942924B2/ja active Active
- 2004-10-28 UA UA20041008811A patent/UA85820C2/uk unknown
- 2004-10-29 CN CNB2004100898891A patent/CN100419796C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
RU2004131050A (ru) | 2006-04-10 |
DE602004031185D1 (de) | 2011-03-10 |
JP2005182759A (ja) | 2005-07-07 |
CA2483083C (fr) | 2013-12-24 |
EP1528511B1 (fr) | 2011-01-26 |
CN100419796C (zh) | 2008-09-17 |
UA85820C2 (uk) | 2009-03-10 |
US7457733B2 (en) | 2008-11-25 |
RU2308764C2 (ru) | 2007-10-20 |
JP4942924B2 (ja) | 2012-05-30 |
EP1528511A1 (fr) | 2005-05-04 |
FR2861858B1 (fr) | 2014-09-05 |
CA2483083A1 (fr) | 2005-04-29 |
US20050096889A1 (en) | 2005-05-05 |
FR2861858A1 (fr) | 2005-05-06 |
CN1612168A (zh) | 2005-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2359239T3 (es) | Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones entre el objeto articulado y el entorno. | |
Žlajpah | Simulation in robotics | |
ES2290648T3 (es) | Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones internas entre los elementos articulados del objeto articulado. | |
US9449416B2 (en) | Animation processing of linked object parts | |
Borst et al. | Realistic virtual grasping | |
US20090306825A1 (en) | Manipulation system and method | |
Conkur | Path planning using potential fields for highly redundant manipulators | |
Srivatsan et al. | On the position kinematic analysis of MaPaMan: A reconfigurable three-degrees-of-freedom spatial parallel manipulator | |
Yuan et al. | A novel approach for forward dynamic analysis of 3-PRS parallel manipulator with consideration of friction effect | |
JP4267508B2 (ja) | 仮想ダミーの人間工学的動きの最適化 | |
Kaushik et al. | Imitating human movement using a measure of verticality to animate low degree-of-freedom non-humanoid virtual characters | |
Kumar et al. | Simulation in robotics | |
Pai et al. | Platonic beasts: Spherically symmetric multilimbed robots | |
Bodily | Design optimization and motion planning for pneumatically-actuated manipulators | |
Huang | Forward displacement analysis of a parallel manipulator | |
Tsai et al. | Two-phase optimized inverse kinematics for motion replication of real human models | |
Khusnutdinov et al. | Household objects pick and place task for AR-601M humanoid robot | |
Usta | Comparison of quaternion and euler angle methods for joint angle animation of human figure models | |
Abdullah et al. | Robot arm simulation using 3D software application with 3D modeling, programming and simulation support | |
Keith et al. | Haptic interaction with virtual avatars | |
US20220226987A1 (en) | Robot with an inverse kinematics (ik)-based controller for retargeting input motions | |
Kovar et al. | Laboratory delta robot for mechatronic education purposes | |
Frutuoso | Smart collision avoidance system for a dual-arm manipulator | |
Dai et al. | Kinematics analysis of a 3-dof rotational parallel mechanism | |
Chan et al. | Accelerating Numerical Inverse Kinematics Methods with the Lookup Table |