geometricJacobian

Geometric Jacobian for robot configuration

Description

example

jacobian = geometricJacobian(robot,configuration,endeffectorname) computes the geometric Jacobian relative to the base for the specified end-effector name and configuration for the robot model.

Examples

collapse all

Calculate the geometric Jacobian for a specific end effector and configuration of a robot.

Load a Puma robot, which is specified as a RigidBodyTree object.

load exampleRobots.mat puma1

Calculate the geometric Jacobian of body 'L6' on the Puma robot for a random configuration.

geoJacob = geometricJacobian(puma1,randomConfiguration(puma1),'L6')
geoJacob = 6×6

   -0.0000    0.9826    0.9826    0.0286   -0.9155    0.2045
   -0.0000    0.1859    0.1859   -0.1512    0.3929    0.2690
    1.0000   -0.0000   -0.0000    0.9881    0.0866    0.9412
    0.4175    0.0530    0.0799    0.0000         0         0
    0.2317   -0.2802   -0.4223    0.0000         0         0
         0   -0.4532   -0.0464    0.0000         0         0

Input Arguments

collapse all

Robot model, specified as a rigidBodyTree object.

Robot configuration, specified as a vector of joint positions or a structure with joint names and positions for all the bodies in the robot model. You can generate a configuration using homeConfiguration(robot), randomConfiguration(robot), or by specifying your own joint positions in a structure. To use the vector form of configuration, set the DataFormat property for the robot to either "row" or "column" .

End-effector name, specified as a string scalar or character vector. An end effector can be any body in the robot model.

Data Types: char | string

Output Arguments

collapse all

Geometric Jacobian of the end effector with the specified configuration, returned as a 6-by-n matrix, where n is the number of degrees of freedom for the end effector. The Jacobian maps the joint-space velocity to the end-effector velocity, relative to the base coordinate frame. The end-effector velocity equals:

ω is the angular velocity, υ is the linear velocity, and is the joint-space velocity.

Introduced in R2016b