Task Space Motion Model
Model rigid body tree motion given task-space inputs
Robotics System Toolbox / Manipulator Algorithms
The Task Space Motion Model block models the closed-loop task-space motion
of a manipulator, specified as a
rigidBodyTree object. The motion model behavior
is defined using proportional-derivative (PD) control.
For more details about the equations of motion, see Task-Space Motion Model.
refPose — Desired end-effector pose
Homogenous transformation matrix representing the desired end-effector pose, specified in meters.
refVel — Desired end-effector velocities
6-element vector representing the desired linear and angular velocities of the end effector, specified in meters per second and radians per second.
FExt — External forces
6-by-m matrix representing external forces, where each column
is a wrench in the form
[Fx; Fy; Fz; Tx; Ty; Tz].
Fz are the
forces in the x-, y-, and
z-axes, in Newtons.
Tz are the torques about the x-,
y-, and z-axes, in Newton-meters.
m is the number of bodies in the
rigidBodyTree object in the Rigid body
tree parameter. Each of the m wrenches act on the
rigid body frame of the corresponding index in the rigid body tree. For example, the
third column of
FExt specifies the wrench acting on the third
rigid body in the rigid body tree.
To enable this port, set the
force input parameter to
Rigid body tree — Rigid body tree
twoJointRigidBodyTree object (default) |
Robot model, specified as a
RigidBodyTree object. You can also
import a robot model from an URDF (Unified Robot Description Formation) file using
The default robot model,
twoJointRigidBodyTree, is a robot with
revolute joints and two degrees of freedom.
End effector — End effector body
This parameter defines the body that will be used as the end effector, and for which
the task space motion is defined. The property must correspond to a body name in the
rigidBodyTree object of the property.
Click Select body to select a body from the
rigidBodyTree. If the
rigidBodyTree is updated
without also updating the end effector, the body with the highest index is assigned by
Proportional gain — Proportional gain for PD Control
500*eye(6) (default) | 6-by-6 matrix
Proportional gain for proportional-derivative (PD) control, specified as a 6-by-6 matrix.
Derivative gain — Derivative gain for PD Control
100*eye(6) (default) | 6-by-6 matrix
Derivative gain for proportional-derivative (PD) control, specified as a 6-by-6 matrix.
Show external force input — Display
off (default) |
Click the check-box to enable this parameter to input external forces using the
Simulate using — Type of simulation to run
Interpreted execution (default) |
Interpreted execution— Simulate model using the MATLAB® interpreter. For more information, see Simulation Modes (Simulink).
Code generation— Simulate model using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change.
 Craig, John J. Introduction to Robotics: Mechanics and Control. Upper Saddle River, NJ: Pearson Education, 2005.
 Spong, Mark W., Seth Hutchinson, and Mathukumalli Vidyasagar. Robot Modeling and Control. Hoboken, NJ: Wiley, 2006.
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2019b