Articulaciones dinámicas de cuerpos rígidos

Parece que no puedo encontrar ninguna información sobre cuerpos rígidos conectados por una articulación. ¿Alguien puede explicarme los conceptos básicos? Estoy tratando de investigar un poco para descubrir qué tan factible sería implementar la física del muñeco de trapo en 3D para mi juego de disparos en primera persona.

Esa parecería ser una situación que pide a gritos ser manejada en la mecánica lagrangiana (porque puede definir la mayoría de sus coordenadas generalizadas para que sean los ángulos de unión ). Ver cualquier texto de mecánica de la división superior o graduado.

Respuestas (2)

Probablemente demasiado tarde para el OP, pero por el bien de las próximas generaciones o cualquiera que busque algo relacionado con este tema, dejo este enlace:

http://www.gamasutra.com/resource_guide/20030121/jacobson_01.shtml

En realidad, este artículo contiene todo lo que necesita saber sobre la programación del genial motor de física ragdoll. ¡Ejemplos de código incluidos!

Este artículo es en realidad uno de los puntos de inflexión en mi vida, ¿será el tuyo también? :)

Me sale un enlace roto.
Lo siento, debería haber incluido el nombre del artículo. Es "Física avanzada de personajes" de Thomas Jakobsen. Es bastante bien googleable.

Descargo de responsabilidad : el artículo aquí es desde el punto de vista de la robótica y no es específico del desarrollo de juegos. Para los juegos, es mucho más simple considerar figuras de palitos de masas puntuales, en lugar de dinámicas de cuerpo rígido en 3D completas (que se muestran a continuación).

Una muñeca de trapo se conecta principalmente con rótulas, que restringen la posición de un punto del cuerpo rígido y permiten los tres grados de libertad. No hay respuestas fáciles, aunque las ecuaciones necesarias se pueden encontrar en un libro de dinámica de nivel universitario.

Cada articulación compleja se modela como una secuencia de articulaciones 1DOF más simples, cada una con su propia posición (o ángulo), velocidad y aceleración de la articulación.

Los conceptos básicos para tratar con sistemas justos son resolver primero la cinemática (cómo se relacionan entre sí todos los movimientos individuales de cada cuerpo), aplicar las leyes de Newton para relacionar cómo se relacionan entre sí todas las fuerzas individuales y, finalmente, usar juntas. relaciones de poder para resolverlo todo. Como mencioné, no hay respuestas fáciles.

Configuración del problema

Considere el siguiente ejemplo simple (?!?), Con dos cuerpos conectados a través de una articulación de bisagra.

  1. Ejemplo : el cuerpo 1 se considera el cuerpo principal y el cuerpo 2, el cuerpo secundario. Así la posición r 2 del cuerpo 2, es función de la posición r 1 del cuerpo 1, así como el ángulo de articulación θ . El eje de la bisagra z ^ es un vector unitario descrito en coordenadas mundiales a continuación.

    Figura 1

  2. Cinemática de posición : por lo general, este es uno de los pasos más complejos, pero al usar la geometría y la orientación de los cuerpos, describe la posición de la articulación. r A desde la posición r 1 como y la matriz de orientación (rotación) de 3 × 3 R 1 del cuerpo 1. Entonces la orientación del cuerpo 2 se describe recursivamente

    (1) R 2 = R 1 r o t ( z ^ , θ )
    La posición del cuerpo 2 se describe recursivamente
    (2) r 2 = r 1 + R 1 (local a 1) + R 2 (local a 2)

  3. Cinemática de velocidad : este es el paso menos complejo, ya que involucra ecuaciones bastante intuitivas, que son el resultado de diferenciar las expresiones anteriores.

    (3) ω 2 = ω 1 + z ^ θ ˙ v 2 = v 1 + ω 1 × ( r A r 1 ) + ω 2 × ( r 2 r A )
    Si hubiera algún deslizamiento a lo largo z ^ entonces la velocidad v 2 tendría algún componente añadido paralelo a z ^ .

  4. Cinemática de aceleración : diferenciar las velocidades usando la regla de la cadena produce las aceleraciones y esto es más complejo porque hay muchos términos involucrados.

    (4) α 2 = α 1 + z ^ θ ¨ + ω 1 × z ^ θ ˙ a 2 = a 1 + α 1 × ( r A r 1 ) + α 2 × ( r 2 r A ) + + ω 1 × ( v A v 1 ) + ω 2 × ( v 2 v A )

  5. Dinámica : aquí es donde confiamos en los diagramas de cuerpo libre para equilibrar las fuerzas y los momentos. Considere solo la gravedad presente, y la articulación generando algún vector de fuerza F y momento METRO A que se aplica en igual y opuesta medida a cada cuerpo. Pero primero, necesitamos encontrar el momento de masa del tensor de inercia (matriz 3×3) usando las matrices de orientación. Usar I 1 = R 1 I cuerpo R 1 para el cuerpo 1 y I 2 = R 2 I cuerpo R 2 para el cuerpo 2, donde I cuerpo es el momento de masa del tensor de inercia en las coordenadas de conducción del cuerpo (una matriz constante).

    • Cuerpo 1

    (5) F + metro 1 gramo = metro 1 a 1 METRO A ( r A r 1 ) × F = I 1 α 1 + ω 1 × I 1 ω 1

    • Cuerpo 2

    (6) F + metro 2 gramo = metro 2 a 2 METRO A + ( r A r 2 ) × F = I 2 α 2 + ω 2 × I 2 ω 2

  6. Fuerza conjunta : la última parte para resolver el problema es imponer que las fuerzas y los momentos conjuntos no agreguen potencia al sistema (solo fuerzas de restricción). Para la simulación de muñeca de trapo, todas las articulaciones tienen libertad de movimiento y, por lo tanto, deben obedecer la ley de entrada de energía igual a salida de energía. Para una junta de pasador, lo anterior se simplifica a lo siguiente

    (7) z ^ METRO A = 0

Solución

Tenemos 6 movimientos desconocidos para cada cuerpo (traslación y rotación) más el movimiento de la articulación para resolver. Además, hay 6 componentes desconocidos de fuerzas/momentos conjuntos. Esto nos da un total de 6*2+1+6=19incógnitas en el problema anterior.

También tenemos 2 ecuaciones vectoriales de cinemática, 4 ecuaciones vectoriales de dinámica más 1 ecuación de potencia escalar. Esto nos da un total de 2*3+4*3+1=19ecuaciones para resolver el sistema, por lo que el sistema es solucionable .