Get Jacobian
SUMMARY
Get Jacobian returns the 6×6 geometric Jacobian matrix of the robot at the current or specified joint configuration. The matrix maps joint velocities to TCP spatial velocities and is the cornerstone of velocity-level kinematics and Cartesian-space control.
The Jacobian is returned as a 36-element flat list in row-major order.
SUPPORTED ROBOTS
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
The Skill
jacobian = robot.get_jacobian()The Code
Example: Read the Jacobian at the Current Configuration
Connect to the robot, read the Jacobian, and log it.
from loguru import logger
from telekinesis.synapse.robots.manipulators import universal_robots
robot_ip = "192.168.1.2" # replace with your robot's IP
robot = universal_robots.UniversalRobotsUR10E()
# Connect
robot.connect(ip=robot_ip)
jacobian = robot.get_jacobian()
logger.info(f"Jacobian (6x6 flat): {jacobian}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_jacobian returns the 6×6 geometric Jacobian J(q) evaluated at the given joint configuration. The Jacobian maps joint velocities q̇ to TCP spatial velocities (linear + angular): v_tcp = J(q) · q̇. The result is a 36-element flat list in row-major order. The optional tcp parameter specifies a custom TCP pose offset [x, y, z, rx, ry, rz] relative to the flange; leaving it empty uses the currently configured TCP.
How to Tune the Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
q | list[float] | [] | 6-element joint configuration [q1…q6] [deg]. Empty list uses the current configuration. |
tcp | list[float] | [] | TCP pose offset [x, y, z, rx, ry, rz] relative to the flange. Empty list uses the configured TCP. |
Return Value
| Type | Description |
|---|---|
list[float] | 36-element flat list representing the 6×6 geometric Jacobian, in row-major order. |
Where to Use the Skill
- Velocity kinematics — Convert between joint velocities and Cartesian TCP velocities
- Cartesian-space control — Compute joint torques from Cartesian force/torque via Jᵀ·F
- Singularity analysis — Detect near-singular configurations by evaluating the Jacobian determinant
- Redundancy resolution — Use the Jacobian pseudo-inverse for minimum-norm joint velocity solutions
When Not to Use the Skill
Do not use Get Jacobian when:
- Only the time derivative is needed — use Get Jacobian Time Derivative for J̇
- Only the mass matrix is needed — use Get Mass Matrix instead

