Get Jacobian Time Derivative
SUMMARY
Get Jacobian Time Derivative returns the 6×6 time derivative of the geometric Jacobian (J̇) at the current or specified joint configuration and velocity. J̇ is required for computing the acceleration-level kinematics term J̇·q̇ in model-based control laws.
The matrix 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_dot = robot.get_jacobian_time_derivative()The Code
Example: Read the Jacobian Time Derivative
Connect to the robot, read J̇, 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_dot = robot.get_jacobian_time_derivative()
logger.info(f"Jacobian time derivative: {jacobian_dot}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_jacobian_time_derivative evaluates J̇(q, q̇) at the given joint configuration and velocity. The result is used in the kinematic acceleration relationship: a_tcp = J·q̈ + J̇·q̇. The 36-element flat list represents the 6×6 matrix in row-major order. All three parameters default to the current robot state if left empty.
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. |
qd | list[float] | [] | 6-element joint velocity [q̇1…q̇6] [deg/s]. Empty list uses the current velocities. |
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 Jacobian time derivative J̇, in row-major order. |
Where to Use the Skill
- Acceleration-level kinematics — Compute the J̇·q̇ term for Cartesian acceleration controllers
- Model-based control — Required for operational-space controllers that account for velocity-dependent dynamics
When Not to Use the Skill
Do not use Get Jacobian Time Derivative when:
- Only the Jacobian itself is needed — use Get Jacobian instead

