Main Content

loadrobot

Load predefined robot model and specifications from Robot Library

Description

This function loads a predefined robot model and specifications from the Robot Library as a rigidBodyTree object. Robot models in the Robot Library include visual meshes and physical attributes. If you additionally need the source mesh data, like DAE or STL files, for use in functions like smimport (Simscape Multibody), you must download and install the Robotics System Toolbox Robot Library Data support package. For more information, see Install Robotics System Toolbox Robot Library Data Support Package.

Note

To import your own robot model from a Unified Robot Description Format (URDF), XML Macros (Xacro), or Simulation Description Format (SDF) file or Simscape™ Multibody™ model, see the importrobot function.

robotRBT = loadrobot(robotname) loads a predefined robot model from the Robot Library as a rigidBodyTree object specified by robot model name robotname.

example

[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 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);

Figure contains an axes object. The axes object with xlabel X, ylabel Y 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.

Input Arguments

collapse all

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

Robot ModelMesh VisualizationDescription
"abbIrb120"

Figure contains the mesh of ABB IRB 120 6-axis robot

ABB IRB 120 6-axis robot

"abbIrb120T"

Figure contains the mesh of ABB IRB 120T 6-axis robot

ABB IRB 120T 6-axis robot

"abbIrb1600"

Figure contains the mesh of ABB IRB 1600 6-axis robot

ABB IRB 1600 6-axis robot

"abbYuMi"

Figure contains the mesh of ABB YuMi 2-armed robot

ABB YuMi 2-armed robot

"amrPioneer3AT"

Figure contains the mesh of Adept MobileRobots Pioneer 3-AT mobile robot

Adept MobileRobots Pioneer 3-AT mobile robot

"amrPioneer3DX"

Figure contains the mesh of Adept MobileRobots Pioneer 3-DX mobile robot

Adept MobileRobots Pioneer 3-DX mobile robot

"amrPioneerLX"

Figure contains the mesh of Adept MobileRobots Pioneer LX mobile robot

Adept MobileRobots Pioneer LX mobile robot

"atlas"

Figure contains the mesh of Boston Dynamics ATLAS Humanoid robot

Boston Dynamics ATLAS® Humanoid robot

"clearpathHusky"

Figure contains the mesh of Clearpath Robotics Husky mobile robot

Clearpath Robotics Husky mobile robot

"clearpathJackal"

Figure contains the mesh of Clearpath Robotics Jackal mobile robot

Clearpath Robotics Jackal mobile robot

"clearpathTurtleBot2"

Figure contains the mesh of Clearpath Robotics TurtleBot 2 mobile robot

Clearpath Robotics TurtleBot 2 mobile robot

"fanucLRMate200ib"

Figure contains the mesh of FANUC LR Mate 200iB 6-axis robot

FANUC LR Mate 200iB 6-axis robot

"fanucM16ib"

Figure contains the mesh of FANUC M-16iB 6-axis robot

FANUC M-16iB 6-axis robot

"frankaEmikaPanda"

Figure contains the mesh of Franka Emika Panda 7-axis robot

Franka Emika Panda 7-axis robot

"kinovaGen3"

Version 1:

Figure contains the mesh of version 1 of KINOVA Gen3 7-axis robot

Version 2:

Figure contains the mesh of version 2 of KINOVA Gen3 7-axis robot

KINOVA® Gen3 7-axis robot

"kinovaJacoJ2N6S200"

Figure contains the mesh of KINOVA JACO 2-fingered 6 DOF robot with non-spherical wrist

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

"kinovaJacoJ2N6S300"

Figure contains the mesh of KINOVA JACO 3-fingered 6 DOF robot with non-spherical wrist

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

"kinovaJacoJ2N7S300"

Figure contains the mesh of KINOVA JACO 3-fingered 7 DOF robot with non-spherical wrist

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

"kinovaJacoJ2S6S300"

Figure contains the mesh of KINOVA JACO 3-fingered 6 DOF robot with spherical wrist

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

"kinovaJacoJ2S7S300"

Figure contains the mesh of KINOVA JACO 3-fingered 7 DOF robot with spherical wrist

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

"kinovaJacoTwoArmExample"

Figure contains the mesh of Two KINOVA JACO 3-fingered 6 DOF robots with non-spherical wrist

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

"kinovaMicoM1N4S200"

Figure contains the mesh of KINOVA MICO 2-fingered 4 DOF robot

KINOVA MICO® 2-fingered 4 DOF robot

"kinovaMicoM1N6S200"

Figure contains the mesh of KINOVA MICO 2-fingered 6 DOF robot

KINOVA MICO® 2-fingered 6 DOF robot

"kinovaMicoM1N6S300"

Figure contains the mesh of KINOVA MICO 3-fingered 6 DOF robot

KINOVA MICO® 3-fingered 6 DOF robot

"kinovaMovo"

Figure contains the mesh of KINOVA MOVO 2-armed mobile robot

KINOVA MOVO® 2-armed mobile robot

"kukaIiwa7"

Figure contains the mesh of KUKA LBR iiwa 7 R800 7-axis robot

KUKA LBR iiwa 7 R800 7-axis robot

"kukaIiwa14"

Figure contains the mesh of KUKA LBR iiwa 14 R820 7-axis robot

KUKA LBR iiwa 14 R820 7-axis robot

"meca500r3"

Figure contains the mesh of Mecademic Meca500 R3 6-axis robot

Mecademic Meca500 R3 6-axis robot

"omronEcobra600"

Figure contains the mesh of Omron eCobra 600 4-axis SCARA robot

Omron eCobra 600 4-axis SCARA robot

"puma560"

Figure contains the mesh of PUMA 560 6-axis robot

PUMA 560 6-axis robot

"quanserQArm"

Figure contains the mesh of Quanser QArm 4 DOF robot

Quanser QArm 4 DOF robot

"quanserQBot2e"

Figure contains the mesh of Quanser QBot 2e mobile robot

Quanser QBot 2e mobile robot

"quanserQCar"

Figure contains the mesh of Quanser QCar mobile robot

Quanser QCar mobile robot

"rethinkBaxter"

Figure contains the mesh of Rethink Robotics Baxter 2-armed robot

Rethink Robotics Baxter 2-armed robot

"rethinkSawyer"

Figure contains the mesh of Rethink Robotics Sawyer 7-axis robot

Rethink Robotics Sawyer 7-axis robot

"robotiq2F85"

Figure contains the mesh of Robotiq 2F-85 2-finger gripper

Robotiq 2F-85 2-finger gripper

The gripper can be used with the following list of manipulators:

  • Universal Robots UR3

  • Universal Robots UR3e

  • Universal Robots UR5

  • Universal Robots UR5e

  • Universal Robots UR10

  • Universal Robots UR10e

  • Universal Robots UR16e

  • KINOVA® Gen3 (versions 1 and 2)

"robotiqEPick4CupVacuumAssembly"

Mesh figure of Robotiq EPick Gripper with 2 Cup Vacuum Assembly

Robotiq EPick Gripper with 4 Cup Vacuum Assembly

"robotiqEPick2CupVacuumAssembly"

Mesh figure of Robotiq EPick Gripper with 2 Cup Vacuum Assembly

Robotiq EPick Gripper with 2 Cup Vacuum Assembly

"robotiqEPickVacuumCup"

Mesh figure of Robotiq EPick Gripper with Vacuum Cup

Robotiq EPick Gripper with Vacuum Cup
"robotiqEPickVacuumCup200mm"

Mesh figure of Robotiq EPick Gripper with 200mm Vacuum Cup Extension

Robotiq EPick Gripper with 200mm Vacuum Cup Extension
"robotisOP2"

Figure contains the mesh of ROBOTIS OP2 Humanoid robot

ROBOTIS OP2 Humanoid robot

"robotisOpenManipulator"

Figure contains the mesh of ROBOTIS OpenMANIPULATOR 4-axis robot with gripper

ROBOTIS OpenMANIPULATOR 4-axis robot with gripper

"robotisTurtleBot3Burger"

Figure contains the mesh of ROBOTIS TurtleBot 3 Burger robot

ROBOTIS TurtleBot 3 Burger robot

"robotisTurtleBot3Waffle"

Figure contains the mesh of ROBOTIS TurtleBot 3 Waffle robot

ROBOTIS TurtleBot 3 Waffle robot

"robotisTurtleBot3WaffleForOpenManipulator"

Figure contains the mesh of ROBOTIS TurtleBot 3 Waffle robot for OpenMANIPULATOR

ROBOTIS TurtleBot 3 Waffle robot for OpenMANIPULATOR

"robotisTurtleBot3WafflePi"

Figure contains the mesh of ROBOTIS TurtleBot 3 Waffle Pi robot

ROBOTIS TurtleBot 3 Waffle Pi robot

"robotisTurtleBot3WafflePiForOpenManipulator"

Figure contains the mesh of ROBOTIS TurtleBot 3 Waffle Pi robot for OpenMANIPULATOR

ROBOTIS TurtleBot 3 Waffle Pi robot for OpenMANIPULATOR

"techmanTM5-700"

Figure contains the mesh of Techman TM5-700 6-axis robot with Camera

Techman TM5-700 6-axis robot with Camera

"techmanTM5x-700"

Figure contains the mesh of Techman TM5X-700 6-axis robot without Camera

Techman TM5X-700 6-axis robot without Camera

"techmanTM5-900"

Figure contains the mesh of Techman TM5-900 6-axis robot with Camera

Techman TM5-900 6-axis robot with Camera

"techmanTM5x-900"

Figure contains the mesh of Techman TM5X-900 6-axis robot without Camera

Techman TM5X-900 6-axis robot without Camera

"techmanTM12"

Figure contains the mesh of Techman TM12 6-axis robot with Camera

Techman TM12 6-axis robot with Camera

"techmanTM12x"

Figure contains the mesh of Techman TM12X 6-axis robot without Camera

Techman TM12X 6-axis robot without Camera

"techmanTM14"

Figure contains the mesh of Techman TM14 6-axis robot with Camera

Techman TM14 6-axis robot with Camera

"techmanTM14x"

Figure contains the mesh of Techman TM14X 6-axis robot without Camera

Techman TM14X 6-axis robot without Camera

"universalUR3"

Figure contains the mesh of Universal Robots UR3 6-axis robot

Universal Robots UR3 6-axis robot

"universalUR3e"

Figure contains the mesh of Universal Robots UR3e 6-axis robot

Universal Robots UR3e 6-axis robot

"universalUR5"

Figure contains the mesh of Universal Robots UR5 6-axis robot

Universal Robots UR5 6-axis robot

"universalUR5e"

Figure contains the mesh of Universal Robots UR5e 6-axis robot

Universal Robots UR5e 6-axis robot

"universalUR10"

Figure contains the mesh of Universal Robots UR10 6-axis robot

Universal Robots UR10 6-axis robot

"universalUR10e"

Figure contains the mesh of Universal Robots UR10e 6-axis robot

Universal Robots UR10e 6-axis robot

"universalUR16e"

Figure contains the mesh of Universal Robots UR16e 6-axis robot

Universal Robots UR16e 6-axis robot

"valkyrie"

Figure contains the mesh of NASA Valkyrie Humanoid robot

NASA Valkyrie Humanoid robot

"willowgaragePR2"

Figure contains the mesh of Willow Garage PR2 mobile robot

Willow Garage PR2 mobile robot

"yaskawaMotomanMH5"

Figure contains the mesh of Yaskawa Motoman MH5 6-axis robot

Yaskawa Motoman MH5 6-axis robot

Data Types: char | string

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

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.

URDF version of the robot model, specified as a numeric scalar.

Robot ModelVersions
"kinovaGen3"1 –– Loads the kinovaGen3.urdf robot model
2 –– Loads the kinovaGen3V12.urdf robot model

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

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

Version

(relevant for all robot types)

Version number of the robot model

WheelRadius

Wheel radius of the robot in meters

WheelBase

Distance between front and rear axles 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

  • Ackermann –– Drive type of robots with an Ackermann 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

  • ackermannKinematics object –– Ackermann kinematic motion model for robots with an Ackermann mobile base

HasBodyInertiasFlag indicating if the robot model has inertias, indicated as a 1 (true) if the robot model has at least one body with body inertia or 0 (false) if the robot model has no bodies with inertia.

Data Types: struct

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2019b

expand all