Contenido principal

geometricJacobian

Jacobianas geométricas para configurar robots

Descripción

jacobian = geometricJacobian(robot,configuration,endeffectorframe) calcula la jacobiana geométrica en relación con la base para el marco de efector final y la configuración del modelo de robot especificados.

ejemplo

jacobian = geometricJacobian(___,referenceframe) calcula la jacobiana geométrica para el marco de efector final con respecto al marco de referencia especificado.

ejemplo

Ejemplos

contraer todo

Calcule la jacobiana geométrica para un efector final y una configuración de robot específicos.

Cargue un robot PUMA 560 de Robotics System Toolbox™ loadrobot, especificado como un objeto rigidBodyTree.

puma = loadrobot("puma560");

Calcule la jacobiana geométrica del cuerpo "link7" en el robot Puma para una configuración aleatoria.

geoJacob = geometricJacobian(puma,randomConfiguration(puma),"link7")
geoJacob = 6×6

   -0.0000   -0.5752   -0.5752   -0.4266   -0.7683   -0.5213
    0.0000    0.8180    0.8180   -0.3000   -0.3776    0.8377
    1.0000   -0.0000   -0.0000    0.8533   -0.5168    0.1629
    0.1696    0.0823    0.3087   -0.0407    0.0198         0
   -0.5577    0.0578    0.2171   -0.0200    0.0210         0
    0.0000    0.5538    0.2224   -0.0274   -0.0448         0

Argumentos de entrada

contraer todo

Modelo de robot, especificado como un objeto rigidBodyTree.

Configuración del robot, especificada como un vector de posiciones de articulación o una estructura con nombres y posiciones de articulación para todos los cuerpos del modelo de robot. Puede generar una configuración utilizando homeConfiguration(robot) o randomConfiguration(robot), o especificando sus propias posiciones de articulación en una estructura. Para usar la forma de vector de configuration, establezca la propiedad DataFormat para el robot en "row" o "column".

Nombre del marco del efector final, especificado como escalar de cadena o vector de caracteres. El marco del efector final puede ser cualquier marco o cuerpo del modelo de robot.

Tipos de datos: char | string

Nombre del marco de referencia, especificado como escalar de cadena o vector de caracteres. El marco de referencia puede ser cualquier marco o cuerpo del modelo de robot.

De forma predeterminada, el marco de referencia está establecido en el mismo valor que la propiedad BaseName del objeto rigidBodyTree.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Jacobiana geométrica del efector final con la configuration especificada, que se devuelve como una matriz de 6 por n, donde n es el número de grados de libertad del robot. La jacobiana J relaciona la velocidad del espacio articular con la velocidad del efector final respecto al marco de coordenadas de la base. La velocidad del efector final es igual a:

VEE=[ωxωyωzvxvyvz]=Jq˙=J[q˙1q˙n]

ω es la velocidad angular, υ es la velocidad lineal, y es la velocidad del espacio articular.

De forma predeterminada, la jacobiana geométrica es relativa al marco de coordenadas de la base (J = Jbase). Si especifica un marco de referencia diferente mediante el argumento referenceframe, la función geometricJacobian transforma la jacobiana en el sistema de coordenadas del marco de referencia:

J=Jref=[Rbaseref03x303x3Rrefbase]Jbase

Rbaseref y Rrefbase son matrices de rotación SO(3) que relacionan las orientaciones del marco de coordenadas de la base y el marco de referencia.

Más acerca de

contraer todo

Referencias

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

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2016b

expandir todo