Skip to content

Start Jog

SUMMARY

Start Jog starts continuous jogging of the robot at the given per-joint speeds. The robot moves until stop_jog() is called. This is the programmatic equivalent of holding a direction button on the teach pendant.

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.start_jog(speeds=[5.0, 0.0, 0.0, 0.0, 0.0, 0.0], feature=0)

The Code

Example: Jog Joint 1 for 3 Seconds

Start jogging joint 1 at 5 deg/s in the base frame, wait 3 seconds, then stop.

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)

speeds = [5.0, 0.0, 0.0, 0.0, 0.0, 0.0]
logger.info(f"Starting jog — speeds: {speeds} deg/s")
robot.start_jog(speeds=speeds, feature=0)

time.sleep(3)

robot.stop_jog()
logger.success("Jog stopped.")

# Disconnect
robot.disconnect()

The Explanation of the Code

start_jog sends a jog command to the controller. speeds specifies the per-joint angular velocities in deg/s. feature selects the reference frame: 0 = base frame, 1 = tool frame, 2 = custom frame (requires custom_frame). acc sets the joint acceleration in deg/s². The robot continues moving until stop_jog() is called. This method is intended for interactive manual-like control and operator-guided positioning.

How to Tune the Parameters

ParameterTypeDefaultDescription
speedslist[float]Per-joint jog speeds in deg/s. One value per joint.
featureint0Reference frame: 0 = base, 1 = tool, 2 = custom.
accfloat0.5Joint acceleration in deg/s².
custom_framelist[float][]Pose [x, y, z, rx, ry, rz] of the custom reference frame. Used only when feature=2.

Return Value

Return TypeDescription
NoneReturns after the jog command is sent.

Where to Use the Skill

  • Interactive positioning workflows where fine-grained joint control is needed.
  • Aligning the robot to a fixture or sensor by jogging individual joints.

When Not to Use the Skill

Use motion commands for repeatable positioning: