Main Content

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

loadrobot

剛体ツリー ロボット モデルを読み込む

説明

robotRBT = loadrobot(robotname) は、ロボット モデル名 robotname によって指定された rigidBodyTree オブジェクトとしてロボット モデルを読み込みます。

独自のロボット モデルを Unified Robot Description Format (URDF) ファイルまたは Simscape™ Multibody™ モデルとしてインポートするには、関数 importrobot を参照してください。

[robotRBT,robotData] = loadrobot(robotname) は、ロボット モデルに関する追加情報を構造体 robotData として返します。

[robotRBT,robotData] = loadrobot(robotname,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して追加のオプションを指定します。たとえば、'Gravity',[0 0 –9.81] は、ロボット モデルの z 方向の重力プロパティを –9.81 m/s2 に設定します。

すべて折りたたむ

この例では、loadrobotを使用して付属のロボット モデルを読み込む方法を説明します。選択対象のロボット名のいずれかを指定して、運動学的拘束および動的拘束と、指定したロボット ジオメトリのビジュアル メッシュを含むrigidBodyTreeロボット モデルを取得します。

gen3 = loadrobot("kinovaGen3");

ロボット モデルを Figure に表示します。

show(gen3);

Figure contains an axes object. The axes object contains 25 objects of type patch, line. These objects represent base_link, Shoulder_Link, HalfArm1_Link, HalfArm2_Link, ForeArm_Link, Wrist1_Link, Wrist2_Link, Bracelet_Link, EndEffector_Link, Shoulder_Link_mesh, HalfArm1_Link_mesh, HalfArm2_Link_mesh, ForeArm_Link_mesh, Wrist1_Link_mesh, Wrist2_Link_mesh, Bracelet_Link_mesh, base_link_mesh.

入力引数

すべて折りたたむ

ロボット モデルの名前。以下のいずれかの有効なロボット モデル名として指定します。

ロボット モデル説明
"abbIrb120"

ABB IRB 120 6 軸ロボット

"abbIrb120T"

ABB IRB 120T 6 軸ロボット

"abbIrb1600"

ABB IRB 1600 6 軸ロボット

"abbYuMi"

ABB YuMi 2 腕ロボット

"amrPioneer3AT"

Adept MobileRobots Pioneer 3-AT モバイル ロボット

"amrPioneer3DX"

Adept MobileRobots Pioneer 3-DX モバイル ロボット

"amrPioneerLX"

Adept MobileRobots Pioneer LX モバイル ロボット

"atlas"

Boston Dynamics ATLAS® ヒューマノイド ロボット

"clearpathHusky"

Clearpath Robotics Husky モバイル ロボット

"clearpathJackal"

Clearpath Robotics Jackal モバイル ロボット

"clearpathTurtleBot2"

Clearpath Robotics TurtleBot 2 モバイル ロボット

"fanucLRMate200ib"

FANUC LR Mate 200iB 6 軸ロボット

"fanucM16ib"

FANUC M-16iB 6 軸ロボット

"frankaEmikaPanda"

Franka Emika Panda 7 軸ロボット

"kinovaGen3"

KINOVA® Gen3 7 軸ロボット

"kinovaJacoJ2N6S200"

KINOVA JACO® 2 指 6 DOF ロボット (手首は非球面)

"kinovaJacoJ2N6S300"

KINOVA JACO® 3 指 6 DOF ロボット (手首は非球面)

"kinovaJacoJ2N7S300"

KINOVA JACO® 3 指 7 DOF ロボット (手首は非球面)

"kinovaJacoJ2S6S300"

KINOVA JACO® 3 指 6 DOF ロボット (手首は球面)

"kinovaJacoJ2S7S300"

KINOVA JACO® 3 指 7 DOF ロボット (手首は球面)

"kinovaJacoTwoArmExample"

KINOVA JACO® 3 指 6 DOF ロボット 2 台 (手首は非球面)

"kinovaMicoM1N4S200"

KINOVA MICO® 2 指 4 DOF ロボット

"kinovaMicoM1N6S200"

KINOVA MICO® 2 指 6 DOF ロボット

"kinovaMicoM1N6S300"

KINOVA MICO® 3 指 6 DOF ロボット

"kinovaMovo"

KINOVA MOVO® 2 腕モバイル ロボット

"kukaIiwa7"

KUKA LBR iiwa 7 R800 7 軸ロボット

"kukaIiwa14"

KUKA LBR iiwa 14 R820 7 軸ロボット

"quanserQArm"

Quanser QArm 4 DOF ロボット

"quanserQBot2e"

Quanser QBot 2e モバイル ロボット

"quanserQCar"

Quanser QCar モバイル ロボット

"rethinkBaxter"

Rethink Robotics Baxter 2 腕ロボット

"rethinkSawyer"

Rethink Robotics Sawyer 7 軸ロボット

"robotisOP2"

ROBOTIS OP2 ヒューマノイド ロボット

"robotisOpenManipulator"

ROBOTIS OpenMANIPULATOR 4 軸ロボット (グリッパー付属)

"robotisTurtleBot3Burger"

ROBOTIS TurtleBot 3 Burger ロボット

"robotisTurtleBot3Waffle"

ROBOTIS TurtleBot 3 Waffle ロボット

"robotisTurtleBot3WaffleForOpenManipulator"

ROBOTIS TurtleBot 3 Waffle ロボット (OpenMANIPULATOR 付属)

"robotisTurtleBot3WafflePi"

ROBOTIS TurtleBot 3 Waffle Pi ロボット

"robotisTurtleBot3WafflePiForOpenManipulator"

ROBOTIS TurtleBot 3 Waffle Pi ロボット (OpenMANIPULATOR 付属)

"universalUR3"

Universal Robots UR3 6 軸ロボット

"universalUR5"

Universal Robots UR5 6 軸ロボット

"universalUR10"

Universal Robots UR10 6 軸ロボット

"valkyrie"

NASA Valkyrie ヒューマノイド ロボット

"willowgaragePR2"

Willow Garage PR2 モバイル ロボット

"yaskawaMotomanMH5"

Yaskawa Motoman MH5 6 軸ロボット

名前と値の引数

例: 'Gravity',[0 0 -9.81] は、ロボット モデルの z 方向の重力プロパティを -9.81 m/s2 に設定します。

オプションのコンマで区切られた Name,Value 引数のペアを指定します。ここで、Name は引数名、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

ロボット モデルの運動学およびダイナミクス関数の入出力データ形式。'DataFormat'"struct""row"、または "column" で構成されるコンマ区切りのペアとして指定します。ダイナミクス関数を使用するには、"row" または "column" を指定する必要があります。この名前と値のペアは、rigidBodyTree ロボット モデルの DataFormat プロパティを設定します。

ロボットにかかる重力加速度。'Gravity' と、[x y z] 形式の 3 要素ベクトル (m/s2 単位) からなるコンマ区切りのペアとして指定します。各要素は、ロボットの base 座標系の、x、y、z それぞれの方向における加速度に対応します。この名前と値のペアは、rigidBodyTree ロボット モデルの Gravity プロパティを設定します。

ロボット モデルの URDF バージョン。数値スカラーとして指定します。

ロボット モデルバージョン
"kinovaGen3"1 –– kinovaGen3.urdf ロボット モデルを読み込む
2 –– kinovaGen3V12.urdf ロボット モデルを読み込む

例: loadrobot("kinovaGen3","Version",2)

出力引数

すべて折りたたむ

剛体ツリー ロボット モデル。rigidBodyTree オブジェクトとして返されます。このモデルには、robotData で指定されているロボット ソース ファイルに基づく、すべての運動学的拘束および動的拘束が含まれています。一部のモデルには、ロボットの軌跡を可視化するためのビジュアル メッシュも含まれています。

ロボット モデル情報。以下のフィールドを含む構造体として返されます。関数がフィールドの値を返すかどうかは、robotname 入力によって指定されるロボットのタイプに基づいています。そのロボットに関係のないフィールドは空になります。

次の表で、ロボット モデル情報の構造体のフィールドについて説明します。

フィールド説明

RobotName

(すべてのロボット タイプに関連)

返されるロボット モデルの名前

FilePath

(すべてのロボット タイプに関連)

剛体ツリー モデルの作成に使用される URDF ファイルのファイル パス

Source

(すべてのロボット タイプに関連)

ロボット モデルの URL ソース

Version

(すべてのロボット タイプに関連)

ロボット モデルのバージョン番号

WheelRadius

ロボットの車輪半径 (メートル単位)

WheelBase

前後の車軸間の距離 (メートル単位)

TrackWidth

車軸上の車輪間の距離 (メートル単位)

MaxTranslationalVelocity

ロボットの最大線形速度 (m/s 単位)

MaxRotationalVelocity

ロボットの最大角速度 (rad/s 単位)

DriveType

すべてのロボットは固定ベースでモデル化されますが、このフィールドではロボットのベースの実際の駆動タイプが記述されます。駆動タイプは、指定するロボットにより、次のいずれかとなります。

  • FixedBase –– 固定ベースをもつロボットの駆動タイプ

  • Differential-Drive –– 差動駆動型可動ベースをもつロボットの駆動タイプ

  • Omni-Wheel –– オムニホイール可動ベースをもつロボットの駆動タイプ

ManipulatorMotionModel

マニピュレーター ロボットの運動モデル

  • jointSpaceMotionModel オブジェクト –– マニピュレーター ロボットのジョイント空間運動モデル

MobileBaseMotionModel

可動ベースの運動学的運動モデル。運動モデルは、指定するロボットにより、次のいずれかとなります。

  • differentialDriveKinematics オブジェクト –– 差動駆動型可動ベースをもつロボットの差動駆動型運動学的運動モデル

  • unicycleKinematics オブジェクト –– オムニホイール可動ベースをもつロボットの一輪の運動学的運動モデル

データ型: struct

バージョン履歴

R2019b で導入