Main Content

getTransform

Obtener una transformada entre marcos de cuerpo

Descripción

transform = getTransform(robot,configuration,bodyname) calcula la transformada que convierte puntos desde el marco bodyname al marco de la base del robot utilizando la configuración de robot especificada.

ejemplo

transform = getTransform(robot,configuration,sourcebody,targetbody) calcula la transformada que convierte puntos desde la estructura del cuerpo de origen a la estructura del cuerpo objetivo utilizando la configuración de robot especificada.

Ejemplos

contraer todo

Obtenga la transformada entre los dos marcos para una configuración de robot específica.

Cargue un manipulador Yaskawa Motoman MH-5 de Robotics System Toolbox™ loadrobot.

motoman = loadrobot("yaskawaMotomanMH5");
showdetails(motoman)
--------------------
Robot: (6 bodies)

 Idx     Body Name     Joint Name     Joint Type     Parent Name(Idx)   Children Name(s)
 ---     ---------     ----------     ----------     ----------------   ----------------
   1        link_s        joint_s       revolute         base_link(0)   link_l(2)  
   2        link_l        joint_l       revolute            link_s(1)   link_u(3)  
   3        link_u        joint_u       revolute            link_l(2)   link_r(4)  
   4        link_r        joint_r       revolute            link_u(3)   link_b(5)  
   5        link_b        joint_b       revolute            link_r(4)   link_t(6)  
   6        link_t        joint_t       revolute            link_b(5)   
--------------------

Obtenga la transformada entre los cuerpos "link_1" y "link_t" del robot motoman dada una configuración de robot específica. La transformada convierte puntos del marco "link_l" al marco "link_t".

q = randomConfiguration(motoman);
show(motoman,q);

transform = getTransform(motoman,q,"link_l","link_t")
transform = 4×4

    0.7787    0.0961   -0.6199    0.3115
    0.5256    0.4396    0.7283   -0.4624
    0.3425   -0.8930    0.2918   -0.1886
         0         0         0    1.0000

Argumentos de entrada

contraer todo

Modelo de robot, especificado como un objeto rigidBodyTree.

La configuración del robot, especificada como un arreglo de estructuras 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 propios nombres y posiciones de articulación en un arreglo de estructuras.

Nombre del cuerpo, especificado como escalar de cadena o vector de caracteres. Este cuerpo debe formar parte del modelo de robot especificado en robot.

Tipos de datos: char | string

El nombre del cuerpo objetivo, especificado como vector de caracteres. Este cuerpo debe formar parte del modelo de robot especificado en robot. El marco de destino es el sistema de coordenadas al que desea transformar los puntos.

Tipos de datos: char | string

Nombre del cuerpo, especificado como escalar de cadena o vector de caracteres. Este cuerpo debe formar parte del modelo de robot especificado en robot. El marco de origen es el sistema de coordenadas al que pertenecen los puntos que desea transformar.

Tipos de datos: char | string

Argumentos de salida

contraer todo

La transformada homogénea, devuelta como una matriz de 4 por 4.

Capacidades ampliadas

Historial de versiones

Introducido en R2016b

expandir todo