smimport
Import a CAD, URDF, or Robotics System Toolbox model
Description
[
creates a Simscape™
Multibody™ model from a CAD, URDF, or Robotics System Toolbox™ model.H
,dataFileName
]
= smimport(modelSource
)
modelSource
is the name of the file or object for import. Use
XML files for CAD models, URDF files for URDF models, and rigidBodyTree
(Robotics System Toolbox) objects for
Robotics System Toolbox models. XML files must conform to the Simscape Multibody XML schema, and URDF files must conform to the Supported URDF Elements and Attributes.
A Robotics System Toolbox license is required to create rigidBodyTree
objects.
H
is the model handle, and dataFileName
is the name of the supporting file that, in imported CAD models, stores the numeric
values of block parameters—in a structure array populated with MATLAB variables
referenced in the blocks. The data file provides a mechanism to update the imported
model if the CAD model changes. Models imported from URDF files or
rigidBodyTree
objects do not rely on data files for block
parameters.
XML files can come from different sources. For example, the smexportonshape
function converts Onshape® CAD models into XML files. The Simscape
Multibody Link plug-in is able to convert Autodesk Inventor®, PTC®, and SolidWorks® CAD models into XML files. For other CAD applications and multibody
modeling tools, the Simscape
Multibody XML schema makes it possible to create a custom model export
app.
CAD, URDF, and rigidBodyTree
models all share the same components.
These are (i) rigid bodies, also known as parts in CAD models and links in URDF
models, and (ii) kinematic constraints, packaged, in some cases, as joints. Rigid
bodies import as Simulink® subsystems with solid and Rigid
Transform blocks. Constraints map into joint, gear, and other
constraint blocks.
URDF models contain <link>
elements which in turn contain
<joint>
elements. Likewise, rigidBodyTree
objects contain rigidBody
objects and
rigidBodyJoint
objects. In the created Simscape
Multibody model, joints become siblings to rigid bodies and features that not
inside rigid body subsystems but alongside them. Joint limits and home positions
persist, the later as position state targets, in the appropriate joint
blocks.
Note
Joint limits are imported from URDF and rigidBodyTree
models but not from CAD models. Reproduce the joint limits of CAD models
manually if you must—by enabling joint limits in the joint blocks and
setting the limit positions to appropriate values.
___ = smimport(___,Name,Value)
creates a Simscape
Multibody model from a CAD, URDF, or Robotics System Toolbox model with custom name or regenerates the data file of a previously
imported CAD model. Most name-value pair arguments apply only to CAD models. Use
ImportMode
to regenerate parameter data files and
PriorDataFile
to catch inadvertent changes to the model,
such as the removal of a part or a change in its name.
Examples
Input Arguments
Output Arguments
Version History
Introduced in R2012b
See Also
smexportonshape
| importrobot
(Robotics System Toolbox)