Get Joint Temperatures
SUMMARY
Get Joint Temperatures reads the motor temperature of every joint, returning values in degrees Celsius.
Use this skill to monitor thermal load and prevent overheating during prolonged or high-force operations.
SUPPORTED ROBOTS
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
The Skill
temperatures = robot.get_joint_temperatures()The Code
Example: Read and Log Joint Temperatures
Connect to the robot and read the current motor temperatures.
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)
temperatures = robot.get_joint_temperatures()
logger.success(f"Joint temperatures: {temperatures}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_joint_temperatures reads the joint_temperatures field from the RTDE data stream. Values are in degrees Celsius, ordered from base to wrist. Sustained temperatures above the manufacturer's rated limit may trigger thermal protection and a protective stop.
How to Tune the Parameters
This skill takes no input parameters.
Return Value
| Type | Description |
|---|---|
list[float] | Motor temperatures in °C, one value per joint, ordered base to wrist. |
Where to Use the Skill
- Thermal monitoring — Log temperatures during extended operations to detect overheating trends
- Duty-cycle management — Trigger cooling breaks when any joint exceeds a temperature threshold
- Health dashboards — Surface thermal state alongside other robot diagnostics in a monitoring UI
When Not to Use the Skill
Do not use Get Joint Temperatures when:
- You need electrical load — use Get Actual Joint Currents for current-based load monitoring

