Speed Cartesian
SUMMARY
Speed Cartesian sets TCP velocity directly — the robot moves at the commanded Cartesian velocity until speed_stop() is called or the optional time duration elapses. This is the Cartesian space speed controller.
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
robot.speed_cartesian(
xd=[0.02, 0.0, 0.0, 0.0, 0.0, 0.0],
acceleration=0.25,
time=0.0,
)The Code
Example: Drive the TCP at 20 mm/s Along the Base X Axis for 2 Seconds
python
import time
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)
xd = [0.02, 0.0, 0.0, 0.0, 0.0, 0.0]
robot.speed_cartesian(xd=xd, acceleration=0.25)
time.sleep(2)
robot.speed_stop()
logger.success("Speed Cartesian stopped.")
# Disconnect
robot.disconnect()The Explanation of the Code
speed_cartesian commands the robot to move its TCP at the given Cartesian velocity. xd is [vx, vy, vz, vrx, vry, vrz] — linear components in m/s, angular components in deg/s, both in the robot base frame. acceleration is in m/s². A time of 0.0 means run until speed_stop().
How to Tune the Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
xd | list[float] | — | TCP velocity [vx, vy, vz, vrx, vry, vrz]. Linear in m/s, angular in deg/s. |
acceleration | float | 0.25 | TCP acceleration in m/s². |
time | float | 0.0 | Duration in seconds. 0.0 = run until speed_stop(). |
Return Value
| Value | Description |
|---|---|
None | This skill returns nothing. |
Where to Use the Skill
- Continuous Cartesian velocity control.
- Haptic teleoperation.
- Rate control from joystick input.
When Not to Use the Skill
Use a different skill instead in these cases:
- Use Servo Cartesian for high-frequency position-servo control in a tight loop.

