Start Teach Mode
SUMMARY
Start Teach Mode puts the robot into zero-gravity teach mode — all axes become back-drivable with no compliance frame or axis constraints. This is the simplest back-drive mode for teach-pendant-style pose capture.
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.start_teach_mode()The Code
Example: Start Teach Mode and Record a Pose
Enter teach mode, allow 10 seconds of manual interaction, exit, then read the robot's new pose.
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)
logger.info("Starting teach mode — move the robot by hand.")
robot.start_teach_mode()
time.sleep(10)
robot.stop_teach_mode()
logger.success("Teach mode stopped.")
pose = robot.get_cartesian_pose()
logger.info(f"Recorded pose: {pose}")
# Disconnect
robot.disconnect()The Explanation of the Code
start_teach_mode is similar to freedrive but requires no configuration — all axes are always free and no compliance frame is set. Use it for simple teach-by-demonstration workflows where you want to record poses interactively. Call stop_teach_mode() when manual interaction is complete.
How to Tune the Parameters
This skill takes no input parameters.
Return Value
| Return Type | Description |
|---|---|
None | Returns after teach mode is activated. |
Where to Use the Skill
- Simple teach-by-demonstration workflows.
- Recording joint or Cartesian poses during commissioning.
When Not to Use the Skill
Use freedrive mode for axis-constrained back-drive:
- Use Start Freedrive Mode when you need to constrain specific axes or specify a compliance frame.

