Get Joint Control Output
SUMMARY
Get Joint Control Output returns the joint control currents output by the controller's inner current loop. These are the actual current demands sent from the controller to the joint drives and represent the innermost control layer of the motion stack.
SUPPORTED ROBOTS
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
The Skill
output = robot.get_joint_control_output()The Code
Example: Read the Joint Control Output Currents
Connect to the robot, read the joint control output, and log it.
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)
output = robot.get_joint_control_output()
logger.info(f"Joint control output (A): {output}")
# Disconnect
robot.disconnect()The Explanation of the Code
get_joint_control_output returns a 6-element list [I1…I6] of current demand values in amperes [A] that the controller sends to the joint motor drives. These are the output of the controller's inner current-control loop, which is the lowest-level control signal observable via RTDE.
How to Tune the Parameters
This skill takes no parameters.
Return Value
| Type | Description |
|---|---|
list[float] | 6-element list [I1…I6] of joint control output currents [A]. |
Where to Use the Skill
- Inner-loop diagnostics — Inspect the current control outputs to diagnose inner-loop instability or saturation
- Drive characterisation — Record joint drive currents during motion for control system analysis
When Not to Use the Skill
Do not use Get Joint Control Output when:
- You need the controller-commanded target currents — use Get Target Joint Currents instead
- You need actual measured motor currents — use Get Actual Joint Currents instead

