homeConfiguration
ロボットのホーム コンフィギュレーションの取得
説明
は、ロボット モデルのホーム コンフィギュレーションを返します。ホーム コンフィギュレーションは、固定されていない各ジョイントの configuration
= homeConfiguration(robot
)HomePosition
プロパティの順序付きリストです。
例
ロボット コンフィギュレーションの可視化
rigidBodyTree
モデルを使用して作成されたロボットのさまざまなコンフィギュレーションを表示します。関数 homeConfiguration
または関数 randomConfiguration
を使用して、すべてのジョイント位置を定義する構造体を生成します。
Robotics System Toolbox™ loadrobot
から FANUC LR Mate 200ib を読み込みます。rigidBodyTree
オブジェクトとして返されます。
robot = loadrobot("fanucLRMate200ib");
showdetails(robot)
-------------------- Robot: (9 bodies) Idx Body Name Joint Name Joint Type Parent Name(Idx) Children Name(s) --- --------- ---------- ---------- ---------------- ---------------- 1 base base_link-base fixed base_link(0) 2 link_1 joint_1 revolute base_link(0) link_2(3) 3 link_2 joint_2 revolute link_1(2) link_3(4) 4 link_3 joint_3 revolute link_2(3) link_4(5) 5 link_4 joint_4 revolute link_3(4) link_5(6) 6 link_5 joint_5 revolute link_4(5) link_6(7) 7 link_6 joint_6 revolute link_5(6) flange(8) tool0(9) 8 flange joint_6-flange fixed link_6(7) 9 tool0 link_6-tool0 fixed link_6(7) --------------------
ロボットのホーム コンフィギュレーションの構造体を作成します。構造体は、ロボット モデル上の各ボディのジョイント名およびジョイント位置をもちます。
config = homeConfiguration(robot)
config=1×6 struct array with fields:
JointName
JointPosition
show
を使用してホーム コンフィギュレーションを表示します。コンフィギュレーション入力を指定する必要はありません。
show(robot);
コンフィギュレーションを変更して、2 つ目のジョイント位置を pi/2
に設定します。結果として生じるロボット コンフィギュレーションの変化を表示します。
config(2).JointPosition = pi/2; show(robot,config);
ランダムなコンフィギュレーションを作成して表示します。
show(robot,randomConfiguration(robot));
入力引数
robot
— ロボット モデル
rigidBodyTree
オブジェクト
ロボット モデル。rigidBodyTree
オブジェクトとして指定します。
出力引数
configuration
— ロボット コンフィギュレーション
ベクトル | 構造体
ロボット コンフィギュレーション。ジョイント位置のベクトル、またはロボット モデル内のすべてのボディのジョイント名およびジョイント位置を含む構造体として返されます。コンフィギュレーションは、homeConfiguration(robot)
、randomConfiguration(robot)
を使用するか、構造体内で独自のジョイント位置を指定することによって生成できます。configuration
のベクトル形式を使用するには、robot
の DataFormat
プロパティを 'row'
または 'column'
に設定します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用に関するメモと制限:
rigidBodyTree
オブジェクトの作成時には、ロボット モデルにボディを追加する上限として MaxNumBodies
を指定する構文を使用します。また、DataFormat
プロパティを、名前と値のペアとして指定しなければなりません。次に例を示します。
robot = rigidBodyTree("MaxNumBodies",15,"DataFormat","row")
データの使用量を最小限に抑えるには、上限をモデル内の必要なボディ数に近い数にします。すべてのデータ形式がコード生成用でサポートされています。ダイナミクス関数を使用するには、データ形式を "row"
または "column"
に設定しなければなりません。
関数 show
および showdetails
ではコード生成はサポートされません。
バージョン履歴
R2016b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)