Skip to content

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

python
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.

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)

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

TypeDescription
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: