Skip to content

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

python
jacobian_dot = robot.get_jacobian_time_derivative()

The Code

Example: Read the Jacobian Time Derivative

Connect to the robot, read J̇, and log it.

python
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

ParameterTypeDefaultDescription
qlist[float][]6-element joint configuration [q1…q6] [deg]. Empty list uses the current configuration.
qdlist[float][]6-element joint velocity [q̇1…q̇6] [deg/s]. Empty list uses the current velocities.
tcplist[float][]TCP pose offset [x, y, z, rx, ry, rz] relative to the flange. Empty list uses the configured TCP.

Return Value

TypeDescription
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