Skip to content

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

TypeDescription
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