Main Content

Dinámicas de robot

En este tema se detallan los diferentes elementos, propiedades y ecuaciones de la dinámica de robot de cuerpo rígido. La dinámica de robot es la relación entre las fuerzas que actúan en un robot y el movimiento del robot resultante. En Robotics System Toolbox™, la información de la dinámica del manipulador se incluye en un objeto rigidBodyTree que especifica los cuerpos rígidos, los puntos de acoplamiento y los parámetros de inercia para los cálculos de cinemática y dinámica.

Nota

Para utilizar funciones de objeto de dinámica, debe establecer la propiedad DataFormat del objeto rigidBodyTree en "row" o "column". Estos ajustes aceptan entradas y devuelven salidas como vectores fila o columna, respectivamente, para cálculos de robótica relevantes, como configuraciones de robot o par motores de articulación.

Propiedades dinámicas

Al trabajar con dinámicas de robot, especifique la información de los distintos cuerpos del robot manipulador utilizando estas propiedades de los objetos rigidBody:

  • Mass: masa del cuerpo rígido en kilogramos.

  • CenterOfMass: centro de posición de masa del cuerpo rígido, especificado como un vector con la forma [x y z]. El vector describe la ubicación del centro de masa del cuerpo rígido respecto al marco del cuerpo en metros. La función de objeto centerOfMass utiliza los valores de propiedad del cuerpo rígido al calcular el centro de masa de un robot.

  • Inertia: inercia del cuerpo rígido, especificada como un vector con la forma [Ixx Iyy Izz Iyz Ixz Ixy]. El vector es relativo al marco del cuerpo en kilogramos por metro cuadrado. El tensor de inercia es una matriz definida positiva con la forma:

    A 3-by-3 matrix. The first row contains Ixx, Ixy, and Ixz. The second contains Ixy, Iyy, and Iyz. The third contains Ixz, Iyz, and Izz.

    Los primeros tres elementos del vector Inertia son el momento de inercia, que son los elementos en diagonal del tensor de inercia. Los últimos tres elementos son el producto de la inercia, que son los elementos fuera de la diagonal del tensor de inercia.

Para obtener información relacionada con todo el modelo de robot manipulador, especifique estas propiedades del objeto rigidBodyTree:

  • Gravity: aceleración gravitacional experimentada por el robot, especificada como un vector [x y z] en m/s2. De forma predeterminada, no existe aceleración gravitacional.

  • DataFormat: el formato de los datos de entrada y salida de las funciones cinemáticas y dinámicas, especificado como "struct", "row" o "column".

Ecuaciones dinámicas

La dinámica de un cuerpo rígido de manipulador se rige por esta ecuación:

ddt[qq˙]=[q˙M(q)1(C(q,q˙)q˙G(q)J(q)TFExt+τ)]

también expresada como:

M(q)q¨=C(q,q˙)q˙G(q)J(q)TFExt+τ

donde:

  • M(q): es una matriz de masa de espacio articular basada en la configuración actual del robot. Calcule esta matriz utilizando la función de objeto massMatrix.

  • C(q,q˙): son los términos de Coriolis, que se multiplican por q˙ para calcular el producto de velocidad. Calcule el producto de velocidad utilizando la función de objeto velocityProduct.

  • G(q): son las fuerzas y los par motores de gravedad necesarios para que todas las articulaciones mantengan sus posiciones en la gravedad especificada Gravity. Calcule el par motor de gravedad utilizando la función de objeto gravityTorque.

  • J(q): es la jacobiana geométrica de la configuración de articulación especificada. Calcule la jacobiana geométrica utilizando la función de objeto geometricJacobian.

  • FExt: es una matriz de las fuerzas externas aplicadas al cuerpo rígido. Genere las fuerzas externas utilizando la función de objeto externalForce.

  • τ: son las fuerzas y los par motores de articulación, aplicados directamente como un vector a cada articulación.

  • q,q˙,q¨: son la configuración de articulación, las velocidades de articulación y las aceleraciones de articulación, respectivamente, como vectores individuales. Para las articulaciones giratorias, especifique los valores en radianes, rad/s y rad/s2, respectivamente. Para las articulaciones prismáticas, especifíquelos en metros, m/s y m/s2.

Para calcular la dinámica directamente, utilice la función de objeto forwardDynamics. Esta función calcula las aceleraciones de las articulaciones para las combinaciones especificadas de las entradas anteriores.

Para realizar un conjunto de movimientos determinado, utilice la función de objeto inverseDynamics. La función calcula los par motores de articulación que son necesarios para obtener la configuración, así como las velocidades, aceleraciones y fuerzas externas especificadas.

Consulte también

Funciones

Objetos

Temas relacionados