ES2290648T3 - Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones internas entre los elementos articulados del objeto articulado. - Google Patents
Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones internas entre los elementos articulados del objeto articulado. Download PDFInfo
- Publication number
- ES2290648T3 ES2290648T3 ES04292231T ES04292231T ES2290648T3 ES 2290648 T3 ES2290648 T3 ES 2290648T3 ES 04292231 T ES04292231 T ES 04292231T ES 04292231 T ES04292231 T ES 04292231T ES 2290648 T3 ES2290648 T3 ES 2290648T3
- Authority
- ES
- Spain
- Prior art keywords
- articulated
- elements
- given
- vec
- articulated object
- 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.)
- Expired - Lifetime
Links
- 238000006073 displacement reaction Methods 0.000 title claims abstract description 32
- 239000013598 vector Substances 0.000 claims abstract description 56
- 238000000605 extraction Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000003993 interaction Effects 0.000 claims abstract description 23
- 239000003795 chemical substances by application Substances 0.000 claims description 36
- 230000035515 penetration Effects 0.000 claims description 21
- 230000005484 gravity Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 17
- 230000009471 action Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 210000002832 shoulder Anatomy 0.000 description 3
- 210000003109 clavicle Anatomy 0.000 description 2
- 210000001513 elbow Anatomy 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000012748 slip agent Substances 0.000 description 2
- 238000003556 assay Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39096—Self-collision, internal collison, collision between links of one robot
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Manipulator (AREA)
- Processing Or Creating Images (AREA)
- Numerical Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Tires In General (AREA)
Abstract
Procedimiento de desplazamiento de un objeto articulado virtual (10) en un entorno virtual (13) según una sucesión de movimientos elementales, incluyendo el objeto articulado (10) un conjunto de elementos articulados (11) ligados entre sí por un conjunto de articulaciones (12), estando definidas las posiciones relativas de los elementos articulados (11) por una pluralidad de ángulos de articulación según una pluralidad de grados de libertad, incluyendo el procedimiento una etapa para calcular una distancia de interacción entre un elemento articulado dado (11c) y los demás elementos articulados (11) del objeto articulado (10), caracterizado porque el procedimiento incluye además las etapas siguientes: - extraer de dicha distancia de interacción, un primer punto (P1) perteneciente al elemento articulado dado (11c) y un segundo punto (P2) perteneciente a uno de los otros elementos articulados (11d) del objeto articulado; - definir un vector de extracción único () a partir de dichos primer y segundo puntos; y - alejar el elemento articulado dado (11c) de los otros elementos articulados del objeto articulado, según un movimiento definido en función del vector de extracción único () y actuando sobre los grados de libertad del objeto articulado (10) para evitar una colisión entre el elemento articulado dado (11c) y los otros elementos del objeto articulado.
Description
Desplazamiento de un objeto articulado virtual
en un entorno virtual evitando las colisiones internas entre los
elementos articulados del objeto articulado.
La presente invención se refiere al campo de la
simulación de desplazamiento de un objeto articulado virtual, en un
entorno virtual. En particular, la invención se refiere a la
evitación de las colisiones entre los elementos articulados del
objeto articulado y el resto del objeto articulado.
En numerosas industrias, tales como la
aeronáutica o la espacial, se acude habitualmente a unas
modelizaciones en realidad virtual. Por ejemplo, se utiliza a
menudo una maqueta digital para evaluar las interferencias entre
diferentes piezas.
Análogamente, se puede utilizar la modelización
para simular unas acciones humanas o robóticas en un entorno
definido a fin de visualizar, por ejemplo, los desplazamientos que
un técnico o robot deberá realizar para efectuar estas acciones.
Esto es útil para validar y optimizar la accesibilidad de ciertas
piezas de un dispositivo, como las de un motor de avión, que
demandan unas inspecciones y unos mantenimientos regulares.
Así, se puede controlar la facilidad de acceso
de los diferentes elementos de un dispositivo virtualmente desde la
modelización de éstos últimos, gracias a una simulación por medio de
un objeto articulado virtual.
Un objeto articulado virtual es un conjunto de
datos digitales que define un sistema cinemática caracterizado por
varios elementos articulados según una pluralidad de grados de
libertad.
Así, en un instante dado, el objeto articulado
virtual puede ser definido por su posición y orientación en un
espacio digital y por los valores de los grados de libertad de esas
articulaciones. Estos datos así como unos parámetros que definen el
entorno del objeto articulado virtual pueden ser guardados en un
soporte de datos digitales.
La utilización de un objeto articulado para este
tipo de aplicación existe ya.
En efecto, se da un ejemplo en el artículos de
Chedmail, Damay y Le Roy, titulado "Realidad virtual, maqueta
digital de producto, útiles de distribución y compartimiento del
diseño" (Jornadas Priméca, La Plagne 7-9 de
abril de 1999).
Este artículo propone un método para validar la
accesibilidad para su montaje/desmontaje de un objeto situado en un
entorno aglomerado utilizando un modelo de desplazamiento de dos
brazos articulados virtuales o de un maniquí virtual en un entorno
virtual.
Este método permite al maniquí desplazarse en un
entorno aglomerado de obstáculos sin entrar en colisión con esos
obstáculos.
Por el contrario, la postura del maniquí,
durante su desplazamiento, puede ser cualquiera, lo cual puede
provocar una colisión entre un miembro dado del maniquí y los otros
miembros del maniquí. Esto reduce la precisión de la modelización
del desplazamiento del maniquí.
Se conoce otro ejemplo por el artículo de
Kuffner y otros titulado "Detección y prevención de la
autocolisión para robots humanoides", actas de la Conferencia
Internacional del IEEE sobre robótica y automación, Washington DC,
EEUU, mayo de 2002. Este artículo propone un método para hacer
desplazar un robot según una sucesión de movimientos elementales
evitando colisiones internas gracias a unos cálculos de distancias
de interacciones entre los diferentes elementos del robot. Este
método es muy costoso en cálculo porque necesita el cálculo de un
gran número de distancias de interacción.
La presente invención pretende remediar los
inconvenientes anteriormente citados proponiendo un procedimiento
que permite simular el desplazamiento o la manipulación de un objeto
articulado evitando la colisión entre un elemento articulado dado y
los otros elementos articulados del objeto articulado y con un
tiempo de cálculo óptimo.
Otra finalidad es evitar las colisiones internas
entre todos los elementos articulados del objeto articulado
haciendo deslizar los diferentes elementos articulados los unos
sobre los otros.
Estas finalidades se alcanzan gracias a un
procedimiento de desplazamiento de un objeto articulado virtual en
un entorno virtual según una sucesión de movimientos elementales,
incluyendo el objeto articulado un conjunto de elementos
articulados ligados entre sí por un conjunto de articulaciones,
estando definidas las posiciones relativas de los elementos
articulados por una pluralidad de ángulos de articulación según una
pluralidad de grados de libertad, incluyendo el procedimiento las
etapas siguientes:
- calcular una distancia de interacción entre un
elemento articulado dado y los demás elementos articulados del
objeto articulado;
- extraer de dicha distancia de interacción, un
primer punto perteneciente al elemento articulado dado y un segundo
punto perteneciente a uno de los otros elementos articulados del
objeto articulado;
- definir un vector de extracción único a partir
de dichos primer y segundo puntos; y
- alejar el elemento articulado dado de los
otros elementos articulados del objeto articulado, según un
movimiento definido en función del vector de extracción único y
actuando sobre los grados de libertad del objeto articulado para
evitar una colisión entre el elemento articulado dado y los otros
elementos del objeto articulado.
Así, el procedimiento según la invención evita
la colisión entre un elemento articulado dado del objeto articulado
y los otros elementos del objeto articulado utilizando un solo
cálculo de distancia de interacción.
Esto permite una modelización del desplazamiento
del objeto articulado con una gran precisión y un tiempo de cálculo
óptimo.
Ventajosamente, dichas etapas de cálculo de una
distancia de interacción, de extracción de los primer y segundo
puntos, de definición del vector de extracción y de alejamiento del
elemento articulado dado se repiten para cada uno de los elementos
articulados del objeto articulado para evitar una colisión entre
cada uno de los elementos articulados del objeto articulado para
evitar una colisión entre cada elemento articulado y el resto del
objeto articulado.
Así, los diferentes elementos articulados se
deslizan los unos sobre los otros sin colisiones internas.
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 elemento articulado dado y los otros elementos
articulados del objeto articulado.
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 manera 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 controlada entre sus
elementos articulados.
Según un segundo modo de realización de la
invención, la distancia de interacción corresponde a una distancia
mínima, de manera 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 entre sus elementos articulados.
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
elemento articulado dado y los otros elementos articulados del
objeto articulado.
Ventajosamente, dichas etapas de extracción de
los primer y segundo puntos, de definición del vector de extracción
y de alejamiento del elemento articulado no se ejecutan cuando
sobreviene una colisión entre el elemento articulado dado y los
otros elementos articulados del objeto articulado.
Se puede realizar el alejamiento del elemento
articulado dado de los otros elementos articulados del objeto
articulado según un movimiento de rotación articular que actúa al
nivel de cada una de las articulaciones pertenecientes a una cadena
de articulaciones que preceden al elemento articulado dado, actuando
el movimiento de rotación articular al nivel de una articulación
dada de cada una de dichas articulaciones que incluye las etapas
siguientes:
- definir un primer vector entre el centro de
articulación de dicha articulación dada y el origen del vector de
extracción;
- definir un segundo vector 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 que hace
coincidir el primer vector con el segundo vector;
- calcular uno o unos ángulos elementales de
rotación articular descomponiendo dicho ángulo de rotación según el
eje o ejes que definen los grados de libertad correspondientes a
dicha articulación dada; y
- girar el elemento articulado al nivel de dicha
articulación dada según uno o unos ángulos proporcionales a dicho o
a dichos ángulos elementales de articulación.
Se puede calcular el ángulo de rotación por
medio de un producto vectorial entre el primer y el segundo
vectores.
Se puede calcular el ángulo o los ángulos
elementales de articulación por medio de uno o unos productos
escalares entre el producto vectorial y el eje o ejes de grado de
libertad de la articulación dada.
Según un modo particular de la invención, se
puede efectuar el alejamiento del elemento articulado de los otros
elementos articulados del objeto articulado por medio de un agente
de deslizamiento interno que actúa sobre la pluralidad de grados de
libertad del objeto articulado.
Ventajosamente, el objeto articulado puede ser
referenciado en el entorno virtual por una posición global, y una
orientación global, de manera que se efectúa el desplazamiento del
objeto articulado por medio de un agente de atracción que actúa
sobre una posición global y/o una orientación global y/o la
pluralidad de grados de libertad del objeto articulado.
El procedimiento puede incluir además una etapa
de desplazamiento del objeto articulado en tiempo real por un
operador mediante 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 es un maniquí virtual que se desplaza sobre un
suelo del entorno virtual, estando definido el maniquí 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 contempla también un programa
informático diseñado para aplicar el procedimiento descrito
anteriormente, cuando es ejecutado por un ordenador.
\vskip1.000000\baselineskip
Surgirán con mayor claridad otras
particularidades y ventajas del procedimiento y del sistema según la
invención de la lectura de la descripción que se hace a
continuación, a título indicativo pero no limitativo, haciendo
referencia a los dibujos anexos, en los cuales:
- la figura 1 es una vista en perspectiva de los
medios materiales aplicados en el sistema o procedimiento según la
invención;
- la figura 2A ilustra muy esquemáticamente un
objeto articulado virtual que incluye un conjunto de elementos
articulados según la invención;
- la figura 2B es una variante de la figura
2A;
- 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 que actúa al nivel de una articulación
dada del objeto articulado según la invención;
- la figura 5A es un organigrama que ilustra las
etapas principales del desplazamiento del objeto articulado según
la invención;
- la figura 5B es una variante de la figura 5A;
y
- la figura 6 ilustra muy esquemáticamente una
arquitectura de un sistema multiagente utilizado para modelizar el
desplazamiento del objeto articulado según la invención;
\vskip1.000000\baselineskip
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 diseñado para aplicar
el procedimiento según la invención.
El ordenador 1 comprende los medios materiales
que se encuentra 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, unos soportes de
almacenamiento de datos digitales (disco duro, CD 4, disquete, ...)
que conserva los datos y los programas manipulados de forma
duradera, unos periféricos de entrada (teclado 5, ratón "2D" o
"3D" 6, palanca, ...) así como unos periféricos de salida
(pantalla 7, cascos o gafas estereoscópicas, ...) para poder
visualizar el desplazamiento de un objeto articulado.
Bien entendido, a fin de aumentar la capacidad
de cálculo, se puede ejecutar la modelización según la invención en
varias estaciones de trabajo que funcionan en paralelo.
La figura 2A ilustra muy esquemáticamente un
objeto articulado virtual 10 que incluye un conjunto de elementos
articulados 11 ligados entre sí por un conjunto de articulaciones
12.
Además, el objeto articulado 10 se caracteriza
por una cadena articulada arborescente, de manera que los elementos
articulados 11 y las articulaciones 12 pueden ser clasificados de
forma conocida, según varias cadenas de articulaciones.
Cada articulación 12 puede incluir varios ejes
que definen varios grados de libertad de la articulación,
permitiendo así determinar el estado interno del objeto articulado
10 por una pluralidad de grados de libertad. A título de ejemplo,
la figura 2A muestra una articulación 12a que incluye tres ejes que
definen tres grados de libertad asociados a esta articulación
12a.
Así, se puede definir las posiciones relativas
de los elementos articulados 10, en cada instante, por una
pluralidad de ángulos de articulación según la pluralidad de grados
de libertad del objeto articulado 10.
Además, se puede asociar a éste último una
referencia local cuyo origen es el centro de gravedad G del objeto
articulado 10.
El objeto articulado 10 puede evolucionar en un
entorno virtual 13 que puede estar ocupado por cierto número de
objetos u obstáculos 13a, 13b, y 13c, con los cuales el objeto
articulado 10 puede, de manera conocida, evitar entrar en colisión
durante su desplazamiento.
De este modo, el objeto articulado 10 así como
su entorno, pueden ser definidos en un espacio métrico (0; x, y,
z), con respecto al cual se puede referenciar la posición y la
orientación del objeto articulado 10 así como los diferentes
objetos 13a, 13b, y 13c de su entorno 13, de manera simple.
Por consiguiente, además de la posición relativa
del conjunto de elementos articulados 11, se puede referenciar
también el objeto articulado 10 en cada instante en el entorno 13,
por una posición global y una orientación global.
En efecto, se puede definir la posición global
del objeto articulado 10 por las coordenadas cartesianas según los
ejes x, y, z de su centro de gravedad G.
Se puede referenciar la orientación global de
forma conocida, por tres ángulos que definen la orientación del eje
\vec{z} asociado al objeto articulado con respecto a los ejes x,
y, z.
Bien entendido, también es preciso tener en
cuenta los parámetros o limitaciones impuestos por los límites de
articulación y por los enlaces físicos entre los diferentes miembros
o elementos 11 de este objeto articulado 10.
Estos datos y variables que definen el objeto 10
así como unos datos que definen su entorno 13 están guardados en el
soporte de datos digitales 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 ser definido
por una pluralidad de ángulos de articulación que definen el
conjunto de sus elementos articulados, su posición sobre un suelo
virtual, y su orientación alrededor de un eje vertical \vec{z} 1
perpendicular a dicho suelo y que pasa por el centro de gravedad G
del maniquí 10a.
De manera conocida, el objeto articulado 10 tal
como el maniquí 10a, puede ser desplazado en el entorno virtual 13
según una sucesión de movimientos elementales, por ejemplo para
alcanzar 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 y/o sobre la orientación
global del objeto articulado según un paso predefinido de
desplazamiento en orientación, y/o sobre la pluralidad de los
grados de libertad del objeto articulado según un paso predefinido
de desplazamiento en articulación \Deltaa.
A fin de evitar las colisiones internas entre un
elemento articulado dado y los otros elementos articulados 11 del
objeto articulado 10, es necesario definir un criterio de
colisión.
De manera conocida, se puede definir un criterio
de colisión entre dos objeto cualesquiera por el cálculo de una
distancia de interacción entre estos dos objetos. Este criterio de
colisión puede proporcionar igualmente los puntos que realizan esta
distancia de interacción.
Se observará que la distancia de interacción
puede corresponder a una distancia mínima o a una profundidad de
penetración entre los dos objetos.
En efecto, las figuras 3A y 3B ilustran el
reconocimiento de la distancia de interacción entre un elemento
articulado dado 11c del objeto articulado 10 y uno de los otros
elementos articulados 11d del objeto articulado 10.
El ejemplo de la figura 3A ilustra más
particularmente el criterio de distancia mínima entre el elemento
articulado dado 11c y uno de los otros elementos articulados 11d
del objeto articulado 10, así como los puntos P1 y P2 que realizan
esta distancia mínima.
Por otra parte, el ejemplo de la figura 3B
ilustra el criterio de profundidad de penetración entre el elemento
articulado dado 11c y uno de los otros elementos articulados 11d del
objeto articulado 10, así como 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 como "primer punto" en
la continuación de la descripción, que pertenece al elemento
articulado dado 11c del objeto articulado 10 y otro punto P2,
designado como "segundo punto" en la continuación de la
descripción, que pertenece a uno de los otros elementos articulados
11d del objeto articulado 10.
Es entonces posible definir a partir de estos
primer P1 y segundo P2 puntos, un vector de extracción único
\vec{V}.
Según el modo basado en el cálculo de una
distancia mínima (figura 3A), el vector de extracción \vec{V} es
igual a las coordinadas del primer punto P1 menos las del segundo
punto P2. Dicho de otro modo, el segundo punto P2 es el origen del
vector de extracción \vec{V} y el primer punto P1 es el extremo
del vector de extracción \vec{V}.
Por el contrario, según el modo basado en el
cálculo de una profundidad de penetración (figura 3B), el vector de
extracción \vec{V} es igual a las dos coordenadas del segundo
punto P2 menos las del primer punto P1. Dicho de otro modo, el
primer punto P1 es el origen del vector de extracción \vec{V} y el
segundo punto P2 es el extremo del vector de extracción
\vec{V}.
Finalmente, para evitar una colisión entre el
elemento articulado dado 11c y los otros elementos articulados 11
del objeto articulado 10, este elemento articulado dado 11c puede
ser alejado de los otros elementos articulados 11 según un
movimiento definido en función del vector de extracción único
\vec{V} y actuando sobre los grados de libertad del objeto
articulado 10.
La figura 4 ilustra un movimiento de alejamiento
del elemento articulado 11c de los otros elementos articulados del
objeto articulado 10, según el modo de distancia mínima, pero, bien
entendido, el principio es el mismo que según el modo de
profundidad de penetración.
Este movimiento de alejamiento es un movimiento
de rotación articular que actúa al nivel de grados de libertad del
objeto articulado 10.
Se observará que el alejamiento del elemento
articulado dado 11c de los otros elementos articulados 11 del
objeto articulado 10 se realiza según un movimiento de rotación
articular que actúa al nivel de cada una de las articulaciones 12
pertenecientes a una cadena de articulaciones que preceden al
elemento 11c del objeto articulado 10 al cual pertenece el primer
punto P1 definido aquí a continuación. Según este ejemplo, el
segundo punto P2 pertenece a uno de los otros elementos articulados
referenciado por 11d.
A título de ejemplo, si el objeto articulado es
un maniquí virtual 10a y si la distancia de interacción entre el
elemento articulado dado 11c y los otros elementos articulados 11
del objeto virtual 10 se realiza por un primer punto P1 en el
antebrazo, entonces la cadena de articulaciones corresponde al codo,
hombro y clavícula. Dicho de otra manera, se calcula el movimiento
de rotación articular para actuar sobre todas las articulaciones 12
del brazo que preceden al antebrazo. Por otra parte, si el primer
punto P1 pertenece al brazo, entonces la cadena de articulación
incluiría solamente las articulaciones del hombro y la clavícula. Si
el primer punto P1 pertenece a la mano, entonces se considerarían
todas las articulaciones 12 del brazo, 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 articulado del objeto
articulado 10 que incluye el primer punto P1.
En particular, el ejemplo de la figura 4,
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.
\newpage
En efecto, se puede determinar este movimiento
de rotación articular que actúa al nivel de una articulación dada
12a según las etapas siguientes.
Se define un primer vector \vec{V}1 entre el
centro de articulación de dicha articulación dada 12a y el origen
del vector de extracción \vec{V}. Según este ejemplo, el origen
del vector de extracción \vec{V} es el segundo punto P2, pero
sería el primer punto P1 en un modo de profundidad de
penetración.
Análogamente, se define un segundo vector
\vec{V}2 entre el centro de articulación de dicha articulación
dada 12ª y el extremo P1 del vector de extracción \vec{V}.
A continuación, se calcula un ángulo de rotación
\vec{\theta}, que hace coincidir el primer vector \vec{V}1 con
el segundo vector \vec{V}2. Se puede calcular el ángulo de
rotación \vec{\theta} por medio de un producto vectorial entre el
primer \vec{V}1 y el segundo \vec{V}2 vectores según la fórmula
siguiente:
Este ángulo de rotación \vec{\theta} se
descompone en uno o unos ángulos elementales \vec{\theta}_{i}
de rotación articular según el eje o los ejes que definen el grado
o grados de libertas correspondiente(s) a dicha articulación
dada 12a del objeto articulado 10.
Según este ejemplo, el ángulo de rotación
\vec{\theta} se descompone en tres ángulos elementales
\vec{\theta}_{i} de rotación articular según los ejes
\vec{x_{a}}, \vec{y_{a}}, | \vec{z_{a}}.
Se puede calcular el ángulo o los ángulos
elementales \vec{\theta}_{i} de rotación articular por medio de
un(os) producto(s) escalar(es) entre el
producto vectorial calculado anteriormente y el eje o ejes 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 uno o unos ángulos
\alpha_{i} proporcionales a dicho o dichos ángulos elementales
\vec{\theta}_{i} de articulación.
En efecto, los ángulos elementales
\vec{\theta}_{i} de articulación están normalizados por los
valores correspondientes del paso de desplazamiento en articulación
\Deltaa.
El elemento articulado al nivel de dicha
articulación dada 12a es girado según uno o unos ángulos
\alpha_{i} dados por la fórmula siguiente:
Bien entendido, se debe efectuar las mismas
etapas anteriores para todas las articulaciones 12a, 12b y 12c que
componen la cadena de articulaciones considerada.
La utilización de un vector de extracción único
\vec{V} calculado a partir de una distancia mínima o de una
profundidad de penetración permite evitar la colisión entre un
elemento articulado dado 11c y los otros elementos articulados 11
del objeto articulado 10 mejorando así la precisión del
desplazamiento del objeto articulado 10 con un número de cálculo
óptimo.
En efecto, la presente invención utiliza un solo
cálculo de distancia mínima o de profundidad de penetración para
alejar un elemento articulado dado de los otros elementos
articulados 11 del objeto articulado 10.
Además, a fin de evitar una colisión entre cada
elemento articulado 11 y el resto del objeto articulado 10, se
repite las etapas precedentes de cálculo de una distancia de
interacción, de extracción de los primer y segundo puntos, de
definición del vector d extracción y de alejamiento del elemento
articulado para cada uno de los elementos articulados 11 del objeto
articulado 10.
En particular, se puede escoger el elemento
articulado dado 11c entre un subconjunto dado de los elementos
articulados 11 que componen el objeto articulado 10.
\newpage
En efecto, algunos elementos articulados pueden
ser correlacionados entre sí de manera que sus movimientos
relativos sean interdependientes y no entren en colisión los unos
con los otros. En este caso, basta con escoger el elemento
articulado dado entre un subconjunto que incluye los elementos
articulados que presentan unos movimientos independientes los unos
de los otros.
A título de ejemplo, en el caso de un maniquí
10a, se puede considerar que las piernas están ligadas la una a la
otra y que sólo los brazos pueden entrar en colisión entre sí o con
el resto del maniquí 10a.
La figura 5A es un organigrama que ilustra las
etapas principales que modelizan el desplazamiento del objeto
articulado 10 evitando las colisiones internas entre sus elementos
articulados 11.
La etapa S0 es una inicialización del
organigrama donde se definen diferentes parámetros. Por ejemplo, se
inicializa un contador de cadencia de los impulsos o etapas de
cálculo de la modelización.
Análogamente, también se puede definir los
movimientos elementales o pasos de desplazamiento en posición, en
orientación o en articulación \Deltaa en la etapa S0. Por ejemplo,
se puede atribuir unos pasos diferentes según la naturaleza de la
articulación 12. También se puede escoger un paso constante óptimo
para todas las articulaciones 12 y a todo lo largo del movimiento
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 un ensayo para determinar si
existe colisión o no entre el elemento articulado dado y uno de los
otros elementos articulados del objeto articulado 10. 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 sobreviene una colisión
si esta distancia mínima es inferior o igual a una distancia mínima
umbral que puede ser igual a cero a fin de permitir el
desplazamiento del objeto articulado 10 sin colisión entre el
elemento articulado dado y los otros elementos articulados del
objeto articulado 10.
Por el contrario, para el modo basado en la
profundidad de penetración, se puede considerar que sobreviene una
colisión 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 una parte, permitir el desplazamiento del objeto
articulado 10 sin colisiones internas o por otra parte, permitir el
desplazamiento del objeto articulado 10 con una colisión limitada y
controlada entre sus elementos articulados. Este último caso permite
modelizar una cierta plasticidad entre los elementos articulados
cuando están en contacto los unos con los otros.
Si no existe colisión según el criterio de la
etapa precedente S2, entonces en la etapa S3 se presenta, 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 se ejecutan las etapas
de extracción de los primer y segundo puntos, de definición del
vector de extracción y de alejamiento del elemento articulado.
Por el contrario, si existe colisión, entonces
se anula la etapa S4, calculándose el desplazamiento elemental 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 en los grados de libertad del objeto articulado para alejar
el elemento articulado dado de los otros elementos articulados del
objeto articulado 10 antes de cerrar el lazo de la etapa S1.
La figura 5B es una variante de la figura 5A 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 5A, salvo que ya no existe la etapa S4.
Así, cuando en la etapa S2 hay una colisión, se
pasa de inmediato a la etapa S5 de alejamiento del elemento
articulado dado de los otros elementos articulados del objeto
articulado, sin la anulación del último desplazamiento elemental,
permitiendo así una ligera penetración entre el elemento articulado
dado y los otros elementos articulados del objeto articulado.
Se puede efectuar el desplazamiento del objeto
articulado virtual 10 en un entorno virtual 13 por medio de un
sistema "multiagente" de cualquier otro sistema conocido.
En efecto, la figura 6 ilustra muy
esquemáticamente una arquitectura de un sistema multiagente 50 que
puede ser utilizado 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,
33, 34 y 35 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 unos datos compartidos 15 a
través de los cuales interactúan los diferentes agentes.
Se puede organizar la arquitectura del sistema
multiagente en varias etapas o niveles, de manera piramidal, de
modo que los agentes de base contribuyen a las acciones de los que
están en un nivel más elevado.
En este ejemplo, el sistema multiagente 50
presenta un primer nivel 51, un segundo nivel 52, y un tercer nivel
53.
El primer nivel 51 ilustra la acción o la
contribución global en 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úa sobre el objeto articulado 10
mediante el desvío de los datos compartidos 15.
El primer agente global 20 actúa sobre la
posición y la orientación 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 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í, se puede efectuar el desplazamiento del
objeto articulado 10 por medio de un agente de atracción que actúa
sobre la posición global, y/o sobre la orientación global, y/o sobre
la pluralidad de grados de libertad del objeto articulado.
Por otra parte, se puede efectuar el alejamiento
del elemento articulado dado de los otros elementos articulados 11
del objeto articulado 10 por medio de un agente de deslizamiento
interno que actúa sobre la pluralidad de grados de libertad del
objeto articulado.
Además, de manera conocida, se puede efectuar el
alejamiento del elemento articulado dado de los otros elementos
articulados 11 del objeto articulado 10 por medio de un agente de
deslizamiento que actúa sobre la posición global, y/o sobre la
orientación global, y/o sobre 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/o la orientación global del objeto articulado
10, un agente de atracción 22 que actúa sobre la posición y/o la
orientación global del objeto articulado 10, un agente de
deslizamiento cinemática 31 que actúa sobre los grados de libertad
internos de la 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 la articulación 12 del objeto articulado
10.
El tercer nivel puede incluir un agente de
deslizamiento interno 34 y un agente de deslizamiento 35 sobre
obstáculo que interactúan a través de los datos compartidos 15 para
engendrar las contribuciones del agente de deslizamiento cinemático
31.
El agente de deslizamiento 35 sobre obstáculo
evita la colisión entre el objeto articulado y el entorno, actuando
sobre la pluralidad de grados de libertad del objeto articulado
10.
El agente de deslizamiento interno 34 permite
así asegurar la no colisión o la ausencia de penetración demasiado
importante entre un elemento dado y los otros elementos del objeto
articulado, actuando sobre la pluralidad de grados de libertad de
del objeto articulado 10.
En el modo de distancia mínima, y en caso de
proximidad inmediata, la no colisión se realiza alejando el elemento
articulado dado de los otros elementos articulados del objeto
articulado después de la anulación del desplazamiento que lleva a
una colisión.
En el modo de profundidad de penetración, y en
caso de una ligera penetración, se puede realizar el alejamiento
del elemento articulado dado de los otros elementos articulados del
objeto articulado sin anulación del desplazamiento que lleva a la
ligera penetración. Esto permite modelizar una plasticidad de la
envolvente del objeto articulado. Así, para un maniquí se puede
modelizar una cierta flexibilidad de la carne del maniquí.
Además, el objeto articulado 10 puede ser
desplazado en tiempo real por un operador por medio de un agente
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/o la 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) en un entorno virtual (13) según una
sucesión de movimientos elementales, incluyendo el objeto articulado
(10) un conjunto de elementos articulados (11) ligados entre sí por
un conjunto de articulaciones (12), estando definidas las posiciones
relativas de los elementos articulados (11) por una pluralidad de
ángulos de articulación según una pluralidad de grados de libertad,
incluyendo el procedimiento una etapa para calcular una distancia de
interacción entre un elemento articulado dado (11c) y los demás
elementos articulados (11) del objeto articulado (10),
caracterizado porque el procedimiento incluye además las
etapas siguientes:
- extraer de dicha distancia de interacción, un
primer punto (P1) perteneciente al elemento articulado dado (11c) y
un segundo punto (P2) perteneciente a uno de los otros elementos
articulados (11d) del objeto articulado;
- definir un vector de extracción único
(\vec{V}) a partir de dichos primer y segundo puntos; y
- alejar el elemento articulado dado (11c) de
los otros elementos articulados del objeto articulado, según un
movimiento definido en función del vector de extracción único
(\vec{V}) y actuando sobre los grados de libertad del objeto
articulado (10) para evitar una colisión entre el elemento
articulado dado (11c) y los otros elementos del objeto
articulado.
2. Procedimiento según la reivindicación 1,
caracterizado porque dichas etapas de cálculo de una
distancia de interacción, de extracción de los primer y segundo
puntos, de definición del vector de extracción (\vec{V}) y de
alejamiento del elemento articulado dado se repiten para cada uno de
los elementos articulados (11) del objeto articulado (10) para
evitar una colisión entre cada uno de los elementos articulados del
objeto articulado para evitar una colisión entre cada elemento
articulado y el resto del objeto articulado.
3. Procedimiento según una cualquiera de las
reivindicaciones 1 y 2, 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 elemento articulado dado (11c) y los otros
elementos articulados del objeto articulado (10).
4. Procedimiento según una cualquiera de las
reivindicaciones 1 a 3, caracterizado porque la distancia de
interacción corresponde a una profundidad de penetración, de manera
que el vector de extracción (\vec{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 entre sus
elementos articulados.
5. Procedimiento según una cualquiera de las
reivindicaciones 1 a 3, caracterizado porque la distancia de
interacción corresponde a una distancia mínima, de manera que el
vector de extracción (\vec{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 sin
colisión entre sus elementos articulados.
6. Procedimiento según una cualquiera de las
reivindicaciones 1 a 5, 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 elemento articulado dado (11c) y los otros elementos
articulados (11) del objeto articulado (10).
7. Procedimiento según una cualquiera de las
reivindicaciones 1 a 5, caracterizado porque dichas etapas de
extracción de los primer y segundo puntos (P1, P2), de definición
del vector de extracción (\vec{V}) y de alejamiento del elemento
articulado (11c) no se ejecutan cuando sobreviene una colisión entre
el elemento articulado dado y los otros elementos articulados del
objeto articulado.
8. Procedimiento según una cualquiera de las
reivindicaciones 1 a 6, caracterizado porque se realiza el
alejamiento del elemento articulado dado (11c) de los otros
elementos articulados del objeto articulado (10) según un
movimiento de rotación articular que actúa al nivel de cada una de
las articulaciones (12) pertenecientes a una cadena de
articulaciones que preceden al elemento articulado dado, actuando el
movimiento de rotación articular al nivel de una articulación dada
(12a) de cada una de dichas articulaciones que incluye las etapas
siguientes:
- definir un primer vector (\vec{V}1) entre el
centro de articulación de dicha articulación dada (12a) y el origen
del vector de extracción (\vec{V});
- definir un segundo vector (\vec{V}2) entre
el centro de articulación de dicha articulación dada (12a) y el
extremo del vector de extracción (\vec{V});
- calcular un ángulo de rotación
(\vec{\theta}) que hace coincidir el primer vector con el segundo
vector;
- calcular uno o unos ángulos elementales de
rotación articular descomponiendo dicho ángulo de rotación
(\vec{\theta}) según el eje o ejes que definen el grado o grados
de libertad correspondiente(s) a dicha articulación dada
(12a); y
- girar el elemento articulado al nivel de dicha
articulación dada (12a) según uno o unos ángulos proporcionales a
dicho o dichos ángulos elementales de articulación.
9. Procedimiento según la reivindicación 8,
caracterizado porque se calcula el ángulo de rotación por
medio de un producto vectorial entre el primer y el segundo
vectores.
10. Procedimiento según una cualquiera de las
reivindicaciones 8 y 9, caracterizado porque se calcula el
ángulo o los ángulos elementales de articulación por medio de uno o
unos productos escalares entre el producto vectorial y el eje o ejes
de grado de libertad de la articulación dada.
11. Procedimiento según una cualquiera de las
reivindicaciones 1 a 10, caracterizado porque se efectúa el
alejamiento del elemento articulado de los otros elementos
articulados del objeto articulado por medio de un agente de
deslizamiento interno (34) que actúa sobre la pluralidad de grados
de libertad del objeto articulado.
12. Procedimiento según una cualquiera de las
reivindicaciones 1 a 11, caracterizado porque el objeto
articulado es referenciado en el entorno virtual por una posición
global, y una orientación global, de manera que se efectúa el
desplazamiento del objeto articulado por medio de un agente de
atracción que actúa sobre una posición global y/o una 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 en tiempo real por un operador mediante 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.
14. Procedimiento según una cualquiera de las
reivindicaciones 1 a 13, caracterizado porque el objeto
articulado es un maniquí virtual (10a) que se desplaza sobre un
suelo del entorno virtual, estando definido el maniquí 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á diseñado para aplicar el procedimiento según una
cualquiera de las reivindicaciones 1 a 14 descrito anteriormente,
cuando es ejecutado por un ordenador (1).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0312640 | 2003-10-29 | ||
FR0312640A FR2861857B1 (fr) | 2003-10-29 | 2003-10-29 | Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions internes entre les elements articules de l'objet articule |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2290648T3 true ES2290648T3 (es) | 2008-02-16 |
Family
ID=34429707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES04292231T Expired - Lifetime ES2290648T3 (es) | 2003-10-29 | 2004-09-17 | Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones internas entre los elementos articulados del objeto articulado. |
Country Status (10)
Country | Link |
---|---|
US (1) | US7403880B2 (es) |
EP (1) | EP1537960B1 (es) |
JP (1) | JP4283752B2 (es) |
CN (1) | CN100474343C (es) |
CA (1) | CA2483077C (es) |
DE (1) | DE602004007744T2 (es) |
ES (1) | ES2290648T3 (es) |
FR (1) | FR2861857B1 (es) |
RU (1) | RU2308762C2 (es) |
UA (1) | UA88757C2 (es) |
Families Citing this family (18)
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 |
US7859540B2 (en) * | 2005-12-22 | 2010-12-28 | Honda Motor Co., Ltd. | Reconstruction, retargetting, tracking, and estimation of motion for 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 | キヤノン株式会社 | 情報処理方法、情報処理装置 |
CN101005661B (zh) * | 2006-11-15 | 2010-11-03 | 深圳凯虹移动通信有限公司 | 具有数据、菜单隐形功能的移动终端及其加密隐藏方法 |
EP1972415B1 (en) * | 2007-03-23 | 2019-01-02 | Honda Research Institute Europe GmbH | Robots with collision avoidance functionality |
EP1972416B1 (en) * | 2007-03-23 | 2018-04-25 | Honda Research Institute Europe GmbH | Robots with occlusion avoidance functionality |
EP1974869A1 (en) * | 2007-03-26 | 2008-10-01 | Honda Research Institute Europe GmbH | Apparatus and method for generating and controlling the motion of a robot |
DE102008016604B4 (de) * | 2008-04-01 | 2014-07-17 | Kuka Laboratories Gmbh | Verfahren und Vorrichtung zur Eigenkollisionsüberwachung eines Manipulators |
CN101719285B (zh) * | 2009-12-28 | 2013-01-02 | 电子科技大学 | 一种多层次虚拟群体的避碰方法 |
AU2011201024A1 (en) | 2011-03-08 | 2012-09-27 | Canon Kabushiki Kaisha | Shape parameterisation for editable document generation |
CN102157008B (zh) * | 2011-04-12 | 2014-08-06 | 电子科技大学 | 一种大规模虚拟人群实时绘制方法 |
ITTO20110994A1 (it) * | 2011-10-31 | 2013-05-01 | Comau Spa | Metodo per il controllo di almeno due robot aventi rispettivi spazi di lavoro includenti almeno una regione in comune |
WO2014121365A1 (ru) * | 2013-02-11 | 2014-08-14 | Mytnik Vyacheslav Georgievich | Способ управления объектом |
US9424378B2 (en) * | 2014-02-03 | 2016-08-23 | Siemens Product Lifecycle Management Software Inc. | Simulation using coupling constraints |
CN104776968B (zh) * | 2015-04-03 | 2018-03-20 | 华东师范大学 | 一种多关节模型穿透深度的计算方法 |
US10525355B2 (en) * | 2016-11-01 | 2020-01-07 | Htc Corporation | Method, device, and non-transitory computer readable storage medium for interaction to event in virtual space |
US10937218B2 (en) * | 2019-07-01 | 2021-03-02 | Microsoft Technology Licensing, Llc | Live cube preview animation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625577A (en) * | 1990-12-25 | 1997-04-29 | Shukyohojin, Kongo Zen Sohonzan Shorinji | Computer-implemented motion analysis method using dynamics |
WO1997040471A1 (en) * | 1996-04-04 | 1997-10-30 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters with blended motion data |
US7472047B2 (en) * | 1997-05-12 | 2008-12-30 | Immersion Corporation | System and method for constraining a graphical hand from penetrating simulated graphical objects |
JP2000277039A (ja) * | 1999-03-26 | 2000-10-06 | Toshiba Corp | 画像表示装置およびその製造方法 |
US6853964B1 (en) * | 2000-06-30 | 2005-02-08 | Alyn Rockwood | System for encoding and manipulating models of objects |
US6856319B2 (en) * | 2002-06-13 | 2005-02-15 | Microsoft Corporation | Interpolation using radial basis functions with application to inverse kinematics |
AU2003278994A1 (en) * | 2002-09-26 | 2004-04-19 | Barrett Technology, Inc. | Intelligent, self-contained robotic hand |
AU2003295586B2 (en) * | 2002-11-15 | 2009-05-07 | Warner Bros. Entertainment Inc. | Method for digitally rendering skin or like materials |
-
2003
- 2003-10-29 FR FR0312640A patent/FR2861857B1/fr not_active Expired - Fee Related
-
2004
- 2004-09-17 DE DE602004007744T patent/DE602004007744T2/de not_active Expired - Lifetime
- 2004-09-17 ES ES04292231T patent/ES2290648T3/es not_active Expired - Lifetime
- 2004-09-17 EP EP04292231A patent/EP1537960B1/fr not_active Expired - Lifetime
- 2004-10-22 US US10/970,161 patent/US7403880B2/en active Active
- 2004-10-22 CA CA2483077A patent/CA2483077C/fr active Active
- 2004-10-25 RU RU2004131049/09A patent/RU2308762C2/ru active
- 2004-10-25 JP JP2004309119A patent/JP4283752B2/ja active Active
- 2004-10-28 UA UA20041008813A patent/UA88757C2/uk unknown
- 2004-10-29 CN CNB2004100898887A patent/CN100474343C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2005202927A (ja) | 2005-07-28 |
DE602004007744D1 (de) | 2007-09-06 |
CA2483077A1 (fr) | 2005-04-29 |
RU2308762C2 (ru) | 2007-10-20 |
FR2861857A1 (fr) | 2005-05-06 |
UA88757C2 (uk) | 2009-11-25 |
US7403880B2 (en) | 2008-07-22 |
CN1612167A (zh) | 2005-05-04 |
JP4283752B2 (ja) | 2009-06-24 |
FR2861857B1 (fr) | 2006-01-20 |
DE602004007744T2 (de) | 2008-06-05 |
CN100474343C (zh) | 2009-04-01 |
US20050096890A1 (en) | 2005-05-05 |
EP1537960B1 (fr) | 2007-07-25 |
RU2004131049A (ru) | 2006-04-10 |
EP1537960A1 (fr) | 2005-06-08 |
CA2483077C (fr) | 2014-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2290648T3 (es) | Desplazamiento de un objeto articulado virtual en un entorno virtual evitando las colisiones internas entre los elementos articulados del objeto articulado. | |
Iqbal et al. | Modeling and analysis of a 6 DOF robotic arm manipulator | |
Romdhane | Design and analysis of a hybrid serial-parallel manipulator | |
López et al. | Delta robot: inverse, direct, and intermediate Jacobians | |
Lozano-Pérez et al. | Task-level planning of pick-and-place robot motions | |
Mason | Progress in nonprehensile manipulation | |
Ruppel et al. | Cost functions to specify full-body motion and multi-goal manipulation tasks | |
Yamasaki et al. | PINO the humanoid that walk | |
Conkur | Path planning using potential fields for highly redundant manipulators | |
Şucan et al. | Combining planning techniques for manipulation using realtime perception | |
Pai et al. | Platonic beasts: a new family of multilimbed robots | |
Kim et al. | Papras: Plug-and-play robotic arm system | |
US20220314437A1 (en) | Simulating task performance of virtual characters | |
Seredyńsk et al. | Graph-based potential field for the end-effector control within the torque-based task hierarchy | |
Ravuri et al. | Design and simulation of medical assistance robot for combating COVID-19 | |
Hazard et al. | Automated design of manipulators for in-hand tasks | |
Calvo-Varela et al. | Development of a Nao humanoid robot able to play Tic-Tac-Toe game on a tactile tablet | |
Grey et al. | Planning heavy lifts for humanoid robots | |
Corke | Denavit-Hartenberg notation for common robots | |
Baek et al. | Pre-grasp manipulation planning to secure space for power grasping | |
Farhadmanesh et al. | Dynamics formulation and motion control of a planar parallel manipulator | |
Kumar et al. | Simulation in robotics | |
Rojas et al. | Characterization of the precision manipulation capabilities of robot hands via the continuous group of displacements | |
ZAHIRI et al. | Modeling and simulation of a loader and unloader manipulator | |
Singh et al. | Curve-based approach for shape reconstruction and planning of a mobile-continuum manipulator in structured environment |