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

Currently supported only on Universal Robots.

UNITS

Input pose is [x, y, z, rx, ry, rz] in meters and Euler XYZ degrees. Returns a boolean.

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: