Skip to content

Jogging the Machine: Absolute and Relative Movements

Overview

This procedure teaches you how to move the Jubilee machine manually using both absolute (move_to) and relative (move) commands. Essential for learning how to precisely position tools and bed before other operations like calibration or pipetting.

Pre-Conditions

  • Jubilee is powered on and connected to the network.
  • The bed is clear of any objects.
  • Machine is already homed (optional but recommended).

Steps

1. Connect to the Machine

Create a connection to the machine controller.

python
from science_jubilee.machine import Machine

# Initialize connection
m = Machine(address='192.168.1.2')

# Optionally, home all axes if needed
# m.home_all()

2. Move Using Absolute Coordinates

Use move_to(x=..., y=..., z=...) to move to absolute positions relative to machine origin.

Example Moves

python
# Drop the bed safely downward
m.move_to(z=150)

# Move X axis to 100 mm position
m.move_to(x=100)

# Move Y axis to 200 mm position
m.move_to(y=200)

3. Control Speed

You can control the movement speed with the s parameter.

  • Speeds are specified in millimeters per minute (mm/min).
  • You can also define a helper function to use millimeters per second (mm/sec).
python
# Define mm/sec to mm/min converter
def mm_sec(speed):
    return speed * 60.0

# Move slowly (500 mm/min)
m.move_to(x=200, s=500)

# Move quickly (150 mm/sec)
m.move_to(x=100, y=100, s=mm_sec(150))

4. Move Using Relative Distances

Use move(dx=..., dy=..., dz=...) to incrementally move from the current position.

Example Relative Moves

python
# Move X axis by +5 mm
m.move(dx=5)

# Move Z axis by -10 mm (lowering bed)
m.move(dz=-10)

# Move diagonally and upward slowly
m.move(dx=5, dy=5, dz=5, s=mm_sec(10))

5. Check Current Position

After moving, you can query the machine's current position.

python
# Get the machine's current X, Y, Z coordinates
m.get_position()

Result: Returns a dictionary like {'X': 100.0, 'Y': 200.0, 'Z': 150.0}

Important Notes

  • Absolute Moves (move_to) always go to a specific machine-wide coordinate.
  • Relative Moves (move) always move based on current position.
  • Speed Safety: Moving too fast at low Z heights can crash into tools or bed surface — be cautious.
  • Z First: Always ensure Z height is raised (z=150) before major XY repositioning to avoid collisions.

Pre-release documentation · Internal research use only · Not authorized for redistribution.