Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

centerOfMass

重心の位置とヤコビアン

説明

com = centerOfMass(robot) は、base 座標系を基準として、ホーム コンフィギュレーションでのロボット モデルの重心位置を計算します。

com = centerOfMass(robot,configuration) は、base 座標系を基準として、指定したジョイント コンフィギュレーションでのロボット モデルの重心位置を計算します。

[com,comJac] = centerOfMass(robot,configuration) は、重心ヤコビアンも返します。重心ヤコビアンは重心速度をジョイント速度に関連付けます。

すべて折りたたむ

事前定義された KUKA LBR ロボット モデルを読み込みます。これは、RigidBodyTree オブジェクトとして指定されています。

load exampleRobots.mat lbr

データ形式を 'row' に設定します。すべてのダイナミクス計算について、データ形式は 'row' または 'column' でなければなりません。

lbr.DataFormat = 'row';

ロボットのホーム コンフィギュレーションでの重心の位置とヤコビアンを計算します。

[comLocation,comJac] = centerOfMass(lbr);

入力引数

すべて折りたたむ

ロボット モデル。rigidBodyTree オブジェクトとして指定します。関数 centerOfMass を使用するには、DataFormat プロパティを 'row' または 'column' に設定します。

ロボット コンフィギュレーション。ロボット モデル内の固定されていないすべてのジョイント位置を含むベクトルとして指定します。コンフィギュレーションは、homeConfiguration(robot)randomConfiguration(robot) を使用するか、独自のジョイント位置を指定することによって生成できます。configuration のベクトル形式を使用するには、robotDataFormat プロパティを 'row' または 'column' に設定します。

出力引数

すべて折りたたむ

重心位置。[x y z] ベクトルとして返されます。このベクトルは、ボディ座標系を基準とした、指定した configuration の重心の位置を、メートル単位で表します。

重心ヤコビアン。3 行 n 列の行列として返されます。ここで、n はロボットの速度の自由度です。

拡張機能

R2017a で導入