Skip to content

Get Freedrive Status

SUMMARY

Get Freedrive Status returns the singularity proximity status during a freedrive session as an integer.

On Universal Robots, 0 = OK, 1 = approaching a singularity (reduced freedrive freedom), 2 = in singularity region.

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
status = robot.get_freedrive_status()

The Code

Example: Read and Log Freedrive Status

Connect to the robot and read the current freedrive singularity proximity status.

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)

status = robot.get_freedrive_status()
logger.success(f"Freedrive status: {status}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_freedrive_status reads the freedrive_status RTDE field. During a freedrive session initiated from the teach pendant, this field reports how close the robot is to a kinematic singularity. Higher values indicate increasing proximity to a singularity and reduced freedom of motion.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

FieldTypeDescription
statusintSingularity proximity code: 0 = OK, 1 = approaching singularity, 2 = in singularity region.

Where to Use the Skill

  • Monitoring dashboards during teach-by-demonstration sessions.
  • Alerting operators when singularity proximity increases.

When Not to Use the Skill

Use a different skill when:

  • The robot is executing programmed motion rather than freedrive — this field is only meaningful when freedrive is active; the value is undefined otherwise.