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
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.
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
| Field | Type | Description |
|---|---|---|
status | int | Singularity 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.

