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 PDF

Info

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
Application number
ES04292231T
Other languages
English (en)
Inventor
Bruno Maille
Edouard Ramstein
Patrick Chedmail
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Aircraft Engines SAS
Original Assignee
SNECMA SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SNECMA SAS filed Critical SNECMA SAS
Application granted granted Critical
Publication of ES2290648T3 publication Critical patent/ES2290648T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39096Self-collision, internal collison, collision between links of one robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

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.
Campo de la invención
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.
Antecedentes de la invención
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.
Objeto y resumen de la invenció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
Breve descripción de los dibujos
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
Descripción detallada de modos preferentes de realizació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 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:
100
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:
101
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).
ES04292231T 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. Expired - Lifetime ES2290648T3 (es)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8467904B2 (en) 2005-12-22 2013-06-18 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
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)

* Cited by examiner, † Cited by third party
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

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