# jacob

## jacobn

Compute Jacobian that maps joint velocity to base or end-effector spatial velocity

### Syntax

• J0 = jacob0(robot, q, options)
• Jn = jacobn(robot, q, options)

### Input Arguments

• robot –a robot model to modify
• q –a 1 x nq vector of joint variable values, where nq = number of joint variables

### Output Arguments

• J0, Jn — 6 x nq Jacobian matrix

### Options

• ‘rpy’ — compute analytical Jacobian with rotation rate in terms of roll-pitch-yaw angles
• ‘eul’ — compute analytical Jacobian with rotation rate in terms of Euler angles
• ‘trans’ — return translational submatrix of Jcobian
• ‘rot’ — return rotational submatrix of Jacobian

### Description

J0 = jacob0(robot, q, options) is the Jacobian matrix (6 x nq) for the robot in pose q (1 x nq). The manipulator Jacobian matrix maps joint velocity to end-effector spatial velocity V = J0*QD expressed in the world-coordinate frame.

Jn = jacobn(robot, q, options) is the Jacobian matrix (6 x nq) for the robot in pose q (1 x nq). The manipulator Jacobian matrix maps joint velocity to end-effector spatial velocity V = JN*QD in the end-effector frame.

### Examples

```-->exec('./models/mdl_puma560.sce',-1); // create p560 robot model -->J0 = jacob0(p560,q_n) J0 = 0.15005 0.0143543 0.3196830 0. 0. 0. 0.5963031 0. 0. 0. 0. 0. 0. 0.5963031 0.2909744 0. 0. 0. 0. 0. 0. 0.7071068 0. 1. 0. - 1. - 1. 0. - 1. 0. 1. 0. 0. - 0.7071068 0. 0.   -->Jn = jacobn(p560,q_n) Jn = 0. - 0.5963031 - 0.2909744 0. 0. 0. 0.5963031 0. 0. 0. 0. 0. 0.15005 0.0143543 0.3196830 0. 0. 0. - 1. 0. 0. 0.7071068 0. 0. 0. - 1. - 1. 0. - 1. 0. 0. 0. 0. 0.7071068 0. 1.```