Skip to content

Is Pose Within Safety Limits

SUMMARY

Is Pose Within Safety Limits checks a given Cartesian pose [x, y, z, rx, ry, rz] against the robot's active safety configuration and returns True if the pose is reachable within the safety boundaries.

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
within_limits = robot.is_pose_within_safety_limits(pose)

The Code

Example: Check Whether a Target Pose Is Within Safety Limits

Verify that a target pose is safe before commanding motion.

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)

pose = [0.5, 0.0, 0.5, 0.0, 0.0, 0.0]
within_limits = robot.is_pose_within_safety_limits(pose)
logger.success(f"Is pose within safety limits: {within_limits}")

# Disconnect
robot.disconnect()

The Explanation of the Code

is_pose_within_safety_limits queries the robot controller to check whether the given Cartesian pose falls within the active safety planes and workspace limits. This is a pre-flight check — use it before commanding motion to a new pose to catch out-of-bounds targets before they cause a protective stop.

How to Tune the Parameters

ParameterTypeDefaultDescription
poselist[float]Target pose [x, y, z, rx, ry, rz] to check. Position in meters, orientation in degrees.

Return Value

FieldTypeDescription
within_limitsboolTrue if the pose is within safety limits, False otherwise.

Where to Use the Skill

  • Pre-motion validation for dynamically computed targets (e.g., vision-guided grasps) to catch unsafe poses before issuing the move command.

When Not to Use the Skill

Use a different skill when: