Main Content

centerOfMass

Posición del centro de masa y jacobianas

Descripción

ejemplo

com = centerOfMass(robot) calcula la posición del centro de masa del modelo de robot en la configuración inicial respecto al marco de la base.

com = centerOfMass(robot,configuration) calcula la posición del centro de masa del modelo de robot en la configuración de articulación especificada respecto al marco de la base.

[com,comJac] = centerOfMass(robot,configuration) devuelve también la jacobiana del centro de masa, que relaciona la velocidad del centro de masa con las velocidades de articulación.

Ejemplos

contraer todo

Cargue un modelo de robot KUKA LBR iiwa de Robotics System Toolbox™ loadrobot. Está especificado como un objeto rigidBodyTree.

lbr = loadrobot("kukaIiwa14")
lbr = 
  rigidBodyTree with properties:

     NumBodies: 10
        Bodies: {[1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]  [1x1 rigidBody]}
          Base: [1x1 rigidBody]
     BodyNames: {'iiwa_link_0'  'iiwa_link_1'  'iiwa_link_2'  'iiwa_link_3'  'iiwa_link_4'  'iiwa_link_5'  'iiwa_link_6'  'iiwa_link_7'  'iiwa_link_ee'  'iiwa_link_ee_kuka'}
      BaseName: 'world'
       Gravity: [0 0 0]
    DataFormat: 'struct'

Establezca el formato de datos en "row". El formato de datos debe ser "row" o "column" para todos los cálculos de dinámica.

lbr.DataFormat = "row";

Calcule la posición del centro de masa y la jacobiana en la configuración inicial del robot.

[comLocation,comJac] = centerOfMass(lbr);
show(lbr);
hold all
plot3(comLocation(1),comLocation(2),comLocation(3),Marker="x",MarkerSize=30,LineWidth=5);

Argumentos de entrada

contraer todo

Modelo de robot, especificado como un objeto rigidBodyTree. Para usar la función centerOfMass, establezca la propiedad DataFormat en 'row' o 'column'.

Configuración del robot, especificada como un vector con posiciones para todas las articulaciones no fijas del modelo de robot. Puede generar una configuración utilizando homeConfiguration(robot) o randomConfiguration(robot), o especificando sus propias posiciones de articulación. Para usar la forma de vector de configuration, establezca la propiedad DataFormat para el robot en 'row' o 'column'.

Argumentos de salida

contraer todo

La ubicación del centro de masa, devuelta como un vector [x y z]. El vector describe la ubicación del centro de masa respecto al marco de cuerpo para la configuration especificada en metros.

La jacobiana del centro de masa, devuelta como una matriz de 3 por n, en la que n son los grados de libertad de la velocidad del robot.

Referencias

[1] Featherstone, Roy. Rigid Body Dynamics Algorithms. Springer US, 2008. DOI.org (Crossref), doi:10.1007/978-1-4899-7560-7.

Capacidades ampliadas

Historial de versiones

Introducido en R2017a

expandir todo