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.