Main Content

loadrobot

Load rigid body tree robot model

Description

example

robotRBT = loadrobot(robotname) loads a robot model as a rigidBodyTree object specified by robot model name robotname.

To import your own robot model as a Unified Robot Description Format (URDF) file or Simscape™ Multibody™ model, see the importrobot function.

[robotRBT,robotData] = loadrobot(robotname) returns additional information about the robot model as a structure, robotData.

[robotRBT,robotData] = loadrobot(robotname,Name,Value) specifies additional options using one or more name-value pair arguments. For example, 'Gravity',[0 0 –9.81] sets the gravity property to –9.81 m/s2 in the z-direction for the robot model.

Examples

collapse all

This example shows how to load an included robot model using loadrobot. Specify one of the select robot names to get a rigidBodyTree robot model that contains kinematic and dynamic constraints and visual meshes for the specified robot geometry.

gen3 = loadrobot("kinovaGen3");

Show the robot model in a figure.

show(gen3);

Input Arguments

collapse all

Name of robot model, specified as one of these valid robot model names:

Robot ModelDescription
"abbIrb120"

ABB IRB 120 6-axis robot

"abbIrb120T"

ABB IRB 120T 6-axis robot

"abbIrb1600"

ABB IRB 1600 6-axis robot

"abbYuMi"

ABB YuMi 2-armed robot

"amrPioneer3AT"

Adept MobileRobots Pioneer 3-AT mobile robot

"amrPioneer3DX"

Adept MobileRobots Pioneer 3-DX mobile robot

"amrPioneerLX"

Adept MobileRobots Pioneer LX mobile robot

"atlas"

Boston Dynamics ATLAS® Humanoid robot

"clearpathHusky"

Clearpath Robotics Husky mobile robot

"clearpathJackal"

Clearpath Robotics Jackal mobile robot

"clearpathTurtleBot2"

Clearpath Robotics TurtleBot 2 mobile robot

"fanucLRMate200ib"

FANUC LR Mate 200iB 6-axis robot

"fanucM16ib"

FANUC M-16iB 6-axis robot

"frankaEmikaPanda"

Franka Emika Panda 7-axis robot

"kinovaGen3"

KINOVA® Gen3 7-axis robot

"kinovaJacoJ2N6S200"

KINOVA JACO® 2-fingered 6 DOF robot with non-spherical wrist

"kinovaJacoJ2N6S300"

KINOVA JACO® 3-fingered 6 DOF robot with non-spherical wrist

"kinovaJacoJ2N7S300"

KINOVA JACO® 3-fingered 7 DOF robot with non-spherical wrist

"kinovaJacoJ2S6S300"

KINOVA JACO® 3-fingered 6 DOF robot with spherical wrist

"kinovaJacoJ2S7S300"

KINOVA JACO® 3-fingered 7 DOF robot with spherical wrist

"kinovaJacoTwoArmExample"

Two KINOVA JACO® 3-fingered 6 DOF robots with non-spherical wrist

"kinovaMicoM1N4S200"

KINOVA MICO® 2-fingered 4 DOF robot

"kinovaMicoM1N6S200"

KINOVA MICO® 2-fingered 6 DOF robot

"kinovaMicoM1N6S300"

KINOVA MICO® 3-fingered 6 DOF robot

"kinovaMovo"

KINOVA MOVO® 2-armed mobile robot

"kukaIiwa7"

KUKA LBR iiwa 7 R800 7-axis robot

"kukaIiwa14"

KUKA LBR iiwa 14 R820 7-axis robot

"quanserQBot2e"

Quanser QBot 2e mobile robot

"quanserQCar"

Quanser QCar mobile robot

"rethinkBaxter"

Rethink Robotics Baxter 2-armed robot

"rethinkSawyer"

Rethink Robotics Sawyer 7-axis robot

"robotisOP2"

ROBOTIS OP2 Humanoid robot

"robotisOpenManipulator"

ROBOTIS OpenMANIPULATOR 4-axis robot with gripper

"robotisTurtleBot3Burger"

ROBOTIS TurtleBot 3 Burger robot

"robotisTurtleBot3Waffle"

ROBOTIS TurtleBot 3 Waffle robot

"robotisTurtleBot3WaffleForOpenManipulator"

ROBOTIS TurtleBot 3 Waffle robot with OpenMANIPULATOR

"robotisTurtleBot3WafflePi"

ROBOTIS TurtleBot 3 Waffle Pi robot

"robotisTurtleBot3WafflePiForOpenManipulator"

ROBOTIS TurtleBot 3 Waffle Pi robot with OpenMANIPULATOR

"universalUR3"

Universal Robots UR3 6-axis robot

"universalUR5"

Universal Robots UR5 6-axis robot

"universalUR10"

Universal Robots UR10 6-axis robot

"valkyrie"

NASA Valkyrie Humanoid robot

"willowgaragePR2"

Willow Garage PR2 mobile robot

"yaskawaMotomanMH5"

Yaskawa Motoman MH5 6-axis robot

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'Gravity',[0 0 -9.81] sets the gravity property to -9.81 m/s2 in the z-direction for the robot model.

Input/output data format for the kinematics and dynamics functions of the robot model, specified as the comma-separated pair consisting of 'DataFormat' and "struct", "row", or "column". To use dynamics functions, you must specify either "row" or "column". This name-value pair sets the DataFormat property of the rigidBodyTree robot model.

Gravitational acceleration experienced by robot, specified as the comma-separated pair consisting of 'Gravity' and a three-element vector of the form [x y z] in m/s2. Each element corresponds to the acceleration of the base robot frame in the x-, y-, and z-direction, respectively. This name-value pair sets the Gravity property of the rigidBodyTree robot model.

Output Arguments

collapse all

Rigid body tree robot model, returned as a rigidBodyTree object. This model contains all the kinematic and dynamic constraints based on the robot source files specified in robotData. Some models also contain visual meshes for visualizing robot trajectories.

Robot model information, returned as a structure containing these fields. Whether the function returns a value for a field is based on the type of robot specified by the robotname input. Non-relevant fields for that robot are empty.

This table describes the fields of the robot model information structure.

FieldDescription

RobotName

(relevant for all robot types)

Name of the returned robot model

FilePath

(relevant for all robot types)

File path of the URDF file that is used to create the rigid body tree model

Source

(relevant for all robot types)

URL source of the robot model

WheelRadius

Wheel radius of the robot in meters

TrackWidth

Distance between wheels on axle in meters

MaxTranslationalVelocity

Maximum linear velocity of the robot in m/s

MaxRotationalVelocity

Maximum angular velocity of the robot in rad/s

DriveType

All robots are modeled with a fixed base, but this field describes the actual drive type of the robot base. The drive type can be any one of the following based on the specified robot:

  • FixedBase –– Drive type of robots with a fixed base

  • Differential-Drive –– Drive type of robots with a differential-drive mobile base

  • Omni-Wheel –– Drive type of robots with an omni-wheel mobile base

ManipulatorMotionModel

Motion model of a manipulator robot

MobileBaseMotionModel

Kinematic motion model of the mobile base. The motion model can be any one of the following based on the specified robot:

  • differentialDriveKinematics object –– Differential-drive kinematic motion model for robots with a differential-drive mobile base

  • unicycleKinematics object –– Unicycle kinematic motion model for robots with an omni-wheel mobile base

Data Types: struct

Introduced in R2019b