Skip to content

Is Joints Within Safety Limits

SUMMARY

Is Joints Within Safety Limits checks a joint configuration vector against the robot's active safety configuration and returns True if all joints are within their permitted ranges.

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_joints_within_safety_limits(q)

The Code

Example: Check Whether a Joint Configuration Is Within Safety Limits

Verify that a computed joint configuration 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)

q = [0.0, -90.0, 90.0, -90.0, -90.0, 0.0]
within_limits = robot.is_joints_within_safety_limits(q)
logger.success(f"Is configuration within safety limits: {within_limits}")

# Disconnect
robot.disconnect()

The Explanation of the Code

is_joints_within_safety_limits queries the robot controller to check whether all joint angles in the given configuration fall within the active safety limits. This is a pre-flight check for joint-space targets computed by IK or trajectory planners.

How to Tune the Parameters

ParameterTypeDefaultDescription
qlist[float]Joint configuration in degrees to check, one value per joint.

Return Value

FieldTypeDescription
within_limitsboolTrue if all joints are within safety limits, False otherwise.

Where to Use the Skill

  • Validate IK solutions before commanding motion.
  • Pre-flight checks for joint-space waypoints in a trajectory.

When Not to Use the Skill

Use a different skill when: