Get Actual Joint Velocities
SUMMARY
Get Actual Joint Velocities reads the current angular velocity of every joint, returning them as a list of values in degrees per second.
Use this skill to monitor motion dynamics, detect robot stillness, or feed a velocity-based controller.
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
joint_velocities = robot.get_actual_joint_velocities()The Code
Example: Read and Log Current Joint Velocities
Connect to the robot and read its current joint velocities.
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)
joint_velocities = robot.get_actual_joint_velocities()
logger.success(f"Actual joint velocities: {joint_velocities}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_actual_joint_velocities queries the robot controller for the current joint angular velocities as reported by the RTDE data stream. Values are in degrees per second, ordered from the base joint to the wrist.
How to Tune the Parameters
This skill takes no input parameters.
Return Value
| Type | Description |
|---|---|
list[float] | Current joint velocities in deg/s, one value per joint, ordered base to wrist. |
Where to Use the Skill
- Motion monitoring — Detect when the robot is decelerating or has come to a stop
- Velocity-based control loops — Use current velocity as feedback input to a controller
- Dynamics logging — Record velocity profiles alongside position data for motion analysis
When Not to Use the Skill
Do not use Get Actual Joint Velocities when:
- You need TCP speed — use Get Actual TCP Speed for end-effector velocity
- You need joint positions — use Get Joint Positions instead

