Get Actual Momentum
SUMMARY
Get Actual Momentum returns the norm (magnitude) of the robot's total Cartesian linear momentum — the scalar quantity |p| = |M·v_tcp| computed from the robot's mass and TCP velocity. This is a key safety metric monitored by the controller's safety system.
Elevated momentum values indicate high kinetic energy in the system, which is a contributing factor to the severity of potential collisions.
SUPPORTED ROBOTS
This skill is currently supported on Universal Robots only. Calling this method on other robot brands will raise a NotImplementedError.
The Skill
momentum = robot.get_actual_momentum()The Code
Example: Read the Cartesian Linear Momentum Norm
Connect to the robot, read the momentum, and log it.
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)
p = robot.get_actual_momentum()
logger.info(f"Cartesian linear momentum: {p:.4f} kg·m/s")
# Disconnect
robot.disconnect()The Explanation of the Code
get_actual_momentum returns the scalar norm of the robot's Cartesian linear momentum in kg·m/s. The value is zero when the robot is stationary and increases with speed and payload. The controller uses this value internally as part of its power and force limiting safety calculations.
How to Tune the Parameters
This skill takes no parameters.
Return Value
| Type | Description |
|---|---|
float | Norm of the Cartesian linear momentum [kg·m/s]. |
Where to Use the Skill
- Safety monitoring — Log momentum during motion to ensure operation within safe limits
- Speed scaling validation — Verify that momentum stays within bounds when operating at reduced speed
When Not to Use the Skill
Do not use Get Actual Momentum when:
- You need the TCP velocity — use Get Actual TCP Speed instead

