Main Content

getTransform

ボディ座標系間の変換を取得

説明

transform = getTransform(robot,configuration,bodyname) は、bodyname 座標系の点をロボットの base 座標系へと変える変換を、指定したロボット コンフィギュレーションを使用して計算します。

transform = getTransform(robot,configuration,sourcebody,targetbody) は、ソース ボディ座標系の点をターゲット ボディ座標系へと変える変換を、指定したロボット コンフィギュレーションを使用して計算します。

すべて折りたたむ

特定のロボット コンフィギュレーションについて、2 つの座標系間の変換を取得します。

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_l" 座標系の点が "link_t" 座標系に変換されます。

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 で導入

すべて展開する