Sometimes by any means necessary
Robots have historically been for mass-production.
They are expensive, tedious to program, and difficult to customize & run.
requires...
Open-source design for distributed manufacturing
Digital fabrication of modular and customizable hardware
A Jubilee outfitted with tools and associated control software for handling duckweed
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Interchangeable tools and bed plates for duckweed applications
Human-Centered Systems for Programming Experiments
m = MachineCommunication(port) m.toolChange(tools['media-syringe']) m.moveTo(x=media_reservoir['x'], y=media_reservoir['y']) m.aspirate(mL=20) wellA1 = fetch_well_position(1, "A1") # (plate, well id) m.moveTo(x=wellA1['x'], y=wellA1['y']) m.dispense(mL=1.5)
m = MachineCommunication(port) m.toolChange(tools['media-syringe']) m.moveTo(x=media_reservoir['x'], y=media_reservoir['y']) m.aspirate(mL=20) wellA1 = fetch_well_position(1, "A1") # (plate, well id) m.moveTo(x=wellA1['x'], y=wellA1['y']) m.dispense(mL=1.5)
m = MachineCommunication(port) m.toolChange(tools['media-syringe']) m.moveTo(x=media_reservoir['x'], y=media_reservoir['y']) m.aspirate(mL=20) wellA1 = fetch_well_position(1, "A1") # (plate, well id) m.moveTo(x=wellA1['x'], y=wellA1['y']) m.dispense(mL=1.5)
m = MachineCommunication(port) m.toolChange(tools['media-syringe']) m.moveTo(x=media_reservoir['x'], y=media_reservoir['y']) m.aspirate(mL=20) wellA1 = fetch_well_position(1, "A1") # (plate, well id) m.moveTo(x=wellA1['x'], y=wellA1['y']) m.dispense(mL=1.5)
m = MachineCommunication(port) m.toolChange(tools['media-syringe']) m.moveTo(x=media_reservoir['x'], y=media_reservoir['y']) m.aspirate(mL=20) wellA1 = fetch_well_position(1, "A1") # (plate, well id) m.moveTo(x=wellA1['x'], y=wellA1['y']) m.dispense(mL=1.5)
define experiment → setup plates → collect data → analyze data
define experiment → setup plates → collect data → analyze data
Experiment_name = "Demo" genotypes = ["Sp7498", "Lm5500", "Lm8627", "Wa7788"] media = ["0mM", "25mM", "50mM", "100mM"] reps = 4
define experiment → setup plates → collect data → analyze data
define experiment → setup plates → collect data → analyze data
define experiment → setup plates → collect data → analyze data
define experiment → setup plates → collect data → analyze data
Using Duckbot for other niche duckweed applications
Using Duckbot for other niche duckweed applications
Using Duckbot for other niche duckweed applications