Get Actual Joint Currents
SUMMARY
Get Actual Joint Currents reads the actual motor current drawn by each joint, returning values in amperes.
This skill is useful for load monitoring, overload detection, and energy profiling.
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_currents = robot.get_actual_joint_currents()The Code
Example: Read and Log Joint Currents
Connect to the robot and read its current motor currents.
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_currents = robot.get_actual_joint_currents()
logger.success(f"Actual joint currents: {joint_currents}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_actual_joint_currents reads the actual_current field from the RTDE data stream. Values are in amperes, one per joint, ordered from the base to the wrist. High current readings may indicate joint overloading or mechanical resistance.
How to Tune the Parameters
This skill takes no input parameters.
Return Value
| Type | Description |
|---|---|
list[float] | Actual motor currents in amperes, one value per joint. |
Where to Use the Skill
- Load monitoring — Detect anomalous current spikes that indicate unexpected contact or mechanical obstruction
- Energy profiling — Log current consumption during a task cycle to estimate power draw
- Predictive maintenance — Track current trends over time to identify degrading joints
When Not to Use the Skill
Do not use Get Actual Joint Currents when:
- You need joint torques — use Get Joint Torques for gravity-and-friction-corrected torque values

