Main Content

getTransform

바디 프레임 간의 변환 구하기

설명

transform = getTransform(robot,configuration,bodyname)은 지정된 로봇 컨피규레이션을 사용하여 bodyname 프레임의 점을 로봇 베이스 프레임으로 변환하는 변환을 계산합니다.

예제

transform = getTransform(robot,configuration,sourcebody,targetbody)는 지정된 로봇 컨피규레이션을 사용하여 소스 바디 프레임의 점을 타깃 바디 프레임으로 변환하는 변환을 계산합니다.

예제

모두 축소

특정 로봇 컨피규레이션에 대해 두 프레임 간의 변환을 구합니다.

Robotics System Toolbox™ loadrobot 함수를 사용하여 Yaskawa Motoman MH-5 매니퓰레이터를 불러옵니다.

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)   
--------------------

주어진 컨피규레이션에 대해 motoman 로봇의 "link_1" 바디와 "link_t" 바디 간의 변환을 구합니다. 이 변환은 "link_t" 프레임의 점을 "link_l" 프레임으로 변환합니다.

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

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 20 objects of type patch, line. These objects represent base_link, link_s, link_l, link_u, link_r, link_b, link_t, link_s_mesh, link_l_mesh, link_u_mesh, link_r_mesh, link_b_mesh, link_t_mesh, base_link_mesh.

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

입력 인수

모두 축소

로봇 모델로, rigidBodyTree 객체로 지정됩니다.

로봇 컨피규레이션으로, 로봇 모델의 모든 바디에 대한 조인트 이름과 위치를 나타내는 구조체형 배열로 지정됩니다. homeConfiguration(robot), randomConfiguration(robot)을 사용하거나 조인트 이름과 위치를 구조체형 배열로 직접 지정하여 컨피규레이션을 생성할 수 있습니다.

바디 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 바디는 robot으로 지정된 로봇 모델에 있어야 합니다.

데이터형: char | string

타깃 바디 이름으로, 문자형 벡터로 지정됩니다. 이 바디는 robot으로 지정된 로봇 모델에 있어야 합니다. 타깃 프레임은 변환될 점이 위치할 좌표계입니다.

데이터형: char | string

바디 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다. 이 바디는 robot으로 지정된 로봇 모델에 있어야 합니다. 소스 프레임은 변환하려는 점이 있던 좌표계입니다.

데이터형: char | string

출력 인수

모두 축소

동차 변환으로, 4×4 행렬로 반환됩니다.

확장 기능

버전 내역

R2016b에 개발됨