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
| Parameter | Type | Default | Description |
|---|---|---|---|
q | list[float] | — | Joint configuration in degrees to check, one value per joint. |
Return Value
| Field | Type | Description |
|---|---|---|
within_limits | bool | True 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:
- You have a Cartesian target instead of a joint configuration — use Is Pose Within Safety Limits instead.

