Servo Circular
SUMMARY
Servo Circular commands a circular arc motion by providing a via-point (or target) TCP pose. The robot traces a circular arc defined by the current pose, the via-point, and the target pose.
SUPPORTED ROBOTS
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
The Skill
robot.servo_circular(
pose=via_point_pose,
speed=0.25,
acceleration=1.2,
blend=0.0,
)The Code
Example: Execute a Circular Arc Move
Move the robot along a circular arc by providing a via-point offset from the current pose.
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)
current = robot.get_cartesian_pose()
via_point = current[:]
via_point[0] += 0.05
via_point[2] += 0.05
robot.servo_circular(
pose=via_point,
speed=0.25,
acceleration=1.2,
blend=0.0,
)
logger.info("Circular arc move executed.")
# Disconnect
robot.disconnect()The Explanation of the Code
servo_circular executes a circular arc motion. pose is the via-point (intermediate pose on the arc) [x, y, z, rx, ry, rz] in meters and degrees. speed is the TCP speed in m/s; acceleration is in m/s². blend is the blend radius in meters — a non-zero value blends the arc end smoothly into the next motion segment.
How to Tune the Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
pose | list[float] | — | Via-point TCP pose [x, y, z, rx, ry, rz]. |
speed | float | 0.25 | TCP speed in m/s. |
acceleration | float | 1.2 | TCP acceleration in m/s². |
blend | float | 0.0 | Blend radius in meters. |
Return Value
| Value | Description |
|---|---|
None | This skill returns nothing. |
Where to Use the Skill
- Arc weld paths.
- Circular polishing trajectories.
- Any application requiring a curved TCP path.
When Not to Use the Skill
Use a different skill instead in these cases:
- Use Set Cartesian Pose for straight-line moves.
- Use Move Cartesian Path for multi-segment linear paths.

