Skip to content

Get Joint Mode

SUMMARY

Get Joint Mode returns the current control mode code for each of the six robot joints. These mode codes indicate the active control regime of each joint drive (e.g., position control, velocity control, idle, fault).

Use this skill to verify that all joints are in the expected operating mode before issuing motion commands.

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
modes = robot.get_joint_mode()

The Code

Example: Read the Joint Control Modes

Connect to the robot, read the joint modes, and log them.

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)

modes = robot.get_joint_mode()
logger.info(f"Joint modes: {modes}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_joint_mode returns a 6-element list [m1…m6] of integer mode codes, one per joint. The mode codes are defined by the UR RTDE specification. Typical values: 236 indicates normal position/velocity control mode; other values indicate idle, power-off, or fault states. Refer to the UR RTDE documentation for the full list of mode codes.

How to Tune the Parameters

This skill takes no parameters.

Return Value

TypeDescription
list[int]6-element list [m1…m6] of joint control mode codes (UR RTDE mode integer values).

Where to Use the Skill

  • Pre-motion checks — Confirm all joints are in the expected control mode before starting a task
  • Fault diagnosis — Identify which joint has entered an unexpected mode after an error

When Not to Use the Skill

Do not use Get Joint Mode when: