Skip to content

Get Actual TCP Force

SUMMARY

Get Actual TCP Force reads the generalized forces at the Tool Center Point, returned as a 6-element wrench vector [Fx, Fy, Fz, Tx, Ty, Tz].

Forces are in Newtons; torques are in Newton-meters.

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
tcp_force = robot.get_actual_tcp_force()

The Code

Example: Read and Log TCP Force

Connect to the robot and read the current TCP wrench.

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)

tcp_force = robot.get_actual_tcp_force()
logger.success(f"Actual TCP force: {tcp_force}")

# Disconnect
robot.disconnect()

The Explanation of the Code

get_actual_tcp_force reads the actual_TCP_force field from the RTDE data stream. This wrench is the generalized external force acting at the TCP, expressed in the robot base frame. Forces are in Newtons; torques are in Newton-meters. The values are payload-compensated on supported controllers.

How to Tune the Parameters

This skill takes no input parameters.

Return Value

TypeDescription
list[float]TCP wrench [Fx, Fy, Fz, Tx, Ty, Tz]. Forces in N, torques in N·m.

Where to Use the Skill

  • Contact detection — Detect unexpected contact by monitoring force magnitude
  • Compliant control — Use force feedback to implement admittance or hybrid force-position control
  • Assembly verification — Confirm insertion force profile matches expected values

When Not to Use the Skill

Do not use Get Actual TCP Force when: