m = maniplty(robot, q)
m = maniplty(robot, q, which)
computes the scalar manipulability index for the manipulator at the given pose. Manipu-
lability varies from 0 (bad) to 1 (good).
is a robot object that contains kinematic and optionally
dynamic parameters for the manipulator. Two measures are supported and are selected by the optional
can be either
. Yoshikawa's manipulability
measure is based purely on kinematic data, and gives an indication of how `far' the manipulator is
from singularities and thus able to move and exert forces uniformly in all directions.
Asada's manipulability measure utilizes manipulator dynamic data, and indicates how close the inertia
ellipsoid is to spherical.
is a vector
returns a scalar manipulability index. If
is a matrix
a column vector and each row is the manipulability index for the pose specified by the corresponding
Yoshikawa's measure is based on the condition number of the manipulator Jacobian
Asada's measure is computed from the Cartesian inertia matrix
(x) = J(q)
The Cartesian manipulator inertia ellipsoid is
(x)x = 1
and gives an indication of how well the manipulator can accelerate in each of the Cartesian directions.
The scalar measure computed here is the ratio of the smallest/largest ellipsoid axes
Ideally the ellipsoid would be spherical, giving a ratio of 1, but in practice will be less than 1.
T. Yoshikawa, "Analysis and control of robot manipulators with redundancy," in Proc. 1st Int. Symp.
Robotics Research, (Bretton Woods, NH), pp. 735747, 1983.
Robotics Toolbox Release 8
Peter Corke, December 2008