42
1 Hardware and Software manual for Evolution of Oil Droplets in a ChemoRobotic Platform Juan Manuel Parrilla Gutierrez 1 , Trevor Hinkley 1 , James Taylor 1 , Kliment Yanev 2 , and Leroy Cronin *1 1 WestCHEM, School of Chemistry, University of Glasgow, Glasgow, G12 8QQ UK 2 Future Bits OpenTech UG, Cologne, 51103, Germany * Corresponding author: [email protected]

Hardware and Software manual for Evolution of Oil … Hardware and Software manual for Evolution of Oil Droplets in a Chemo‐Robotic Platform Juan Manuel Parrilla Gutierrez1, Trevor

  • Upload
    hathuy

  • View
    219

  • Download
    1

Embed Size (px)

Citation preview

1

HardwareandSoftwaremanualforEvolutionofOilDropletsinaChemo‐RoboticPlatform

JuanManuelParrillaGutierrez1,TrevorHinkley1,JamesTaylor1,KlimentYanev2,and

LeroyCronin*1

1WestCHEM,SchoolofChemistry,UniversityofGlasgow,Glasgow,G128QQUK

2FutureBitsOpenTechUG,Cologne,51103,Germany

*Correspondingauthor:[email protected]

2

S.1 Hardware

Theroboticsystemspecifiedinthisdocument,DropBot,wasbuiltonthefoundationslaidbytheRepRap3Dprinterproject[1].Thisprojectwaschosenasastartingpointduetoitsopen‐source

philosophy, expansive documentation and large community. These reasons were considered

advantageous as they are expected to contribute to the easy replication and adoption of the

DropBot paradim and implementation in other laboratories, as compared to a proprietaryproduct.EarlydesignsofDropBot(datanotshown)aimedtouseaRepRap3dprinterdirectly,through the replacingof the thermoplasticextruderwitha liquidhandlingsystem.Afterearly

prototypingphases, itwasdecidedthatthisplatformwasunsuitableandsoanewdesignwas

formulated, re‐usingmodularcomponents fromtheRepRapproject rather than itsmonolithic

design. This section provides an overview of the methodology applied to the design and

implementationofDropBot:SubsectionS.1.1givesanintroductiontothelimitationsencounteredinthedirectconversionofRepRapintoaliquid‐handlingrobotandthedevelopmentofthefinal

designusedforthispublication,S.1.3givesanoverviewofthedigitalcontrolsystemsusedand

S.1.2.3describesthe3d‐printed,servoactuatedsyringedesignthatwasdevelopedforthisrobotic

platform.

S.1.1 RobotFrame

The primary limitations encountered in early prototyping phases,which attempted the direct

modificationofaRepRap3dprinterintoaliquidhandlingrobot,werethelimitedworkingarea

andthetrans‐locationofthetargetstage,intheYaxis,ratherthanthemanipulationapparatus.

ThemostcommondesignforaRepRap3dprinterhasaworkingareaof20x20cm,whichwaswas

unsuitably small for the target experiments. The limitations imposed by the size of the

experimentation apparatus, prescribed a target stage of around 50x40cm; no extant printer

design,whichalsomettheotherdemands,wasdiscoveredthatwouldfulfilthiscriterion,atthe

timeofprojectinitiation.Thesecondfactor,themovementofstagealongtheY‐axis,renderedthe

designunsuitableforaliquidhandlingrobot,asitintroducedextremeturbulencetotheliquid‐

phasetargetchemistry;essentially,thestagewasbehavingsimilarlytoashakerplate.Inaddition,

the design involved the majority of the Y‐actuation mechanism being physically located

underneath the stage, occupying space thatwouldoptimallybeallocated to the inclusionof a

camera,fortheanalysisoftheexperiments,withacleanfieldofview.

Tocorrectthesedeficiencies,itwasdecidedthatthemanipulationapparatusshouldbelocatedon

anoverheadXY‐axis,aboveastatic,glassstagingarea,withacameralocatedonaseparateXY‐

axis being locatedunderneath this stage, viewing the experiments through the glass from the

bottom.Whilstthisrestrictedtherobottoworkingwithglassapparatus,itwasdecidedthat,since

thiswouldbethenormalmodeofoperationinanycase,thislimitationwouldnotimpactthereal‐

worldperformance.

3

S.1.1.1 Mechanicaldesign

Figure1showsthefinaldesign,usedforallmethodsinthispublication.Theprimarymodulesof

thedesignare:

1. Thestagingarea,onwhichtheexperimentationapparatusisplaced.

2. TheX‐axis,whichactuatesmotionalongthelongedgeoftherobot.

3. TheY‐axis,whichactuatesmotionalongtheshortedgeoftherobot.

4. Themanipulationapparatus(themobilecarriage),whichperformsformulationmixing,

aqueous‐phasehandling,dropletplacementandcleaning.

5. Thefluid‐handlingplatform,whichhandlestheintroductionofliquidstothemainstage

oftherobotforfurthermanipulation.

Figure1:Overallpictureoftherobot.Strutprofileswereusedtobuildtheframe.Theywerejoined

using3Dprintedpieces.Thecarriagewhichholdsthesyringesandtubeswasalso3Dprinted.All

themechanismswerebasedonRepRap3Dprinters.ThelongaxisshownhereistheXaxis,with

theshorterbeingtheYaxis.Thecarriageisshownathome(0,0)position.

S.1.1.2 Stagingarea

Thestagingareaconsistedofalargeglassplate,fixedtotherobotframe.Thisareawasdefinedby

beingthatspaceoverwhichtheX‐Ycarriagecouldmoveandhenceallapparatus thatneeded

manipulationbythecarriagewasplacedonthestage.Atthecentreofthestagewasa96‐well

plate,inwhichfluidswereplacedforformulationmixing,priortodropletplacement.Therewas

amagneticstirrerunderneaththewell‐plate, toactuateminiaturemagneticstirrerbars inside

eachwell.Alsoatopthestageweretwopetridishes,onewasusedtocarryouttheexperiments

andtheotherwasusedtocollectwasteafterexperimentswereconcluded.Manualintervention

4

wasrequiredafteraseriesof48,or96,experiments(dependantonwhetherexperimentsran

overnight)tocleanthewell‐plateandwastepetridish.

S.1.1.3 X‐axis

Figure 2 shows a 3D‐rendering of the X‐axis translation mechanism. The same design was

mirroredonbothsidesoftheframe.Thismechanismisstaticinrelationtothestagingareaand

frameoftherobot.

Figure2:Xaxis3Ddesign.Blue:Theprecision rod (8h7).Grey:The timingbelt (T2.5x6mm).Yellow:The3d‐printedparts(seesectionS.6).Darkred:Aluminiumstrutprofile(20x20mm).Transparentred:Theparallelepipednearthemotoriswheretheendstopswereplaced;otherpartsinthiscolouraremachinescrewsusedtofastenthepartstogether.

S.1.1.4 Y‐axis

Figure3showsa3d‐renderingoftheY‐axistranslationmechanism.Thismechanismrunsalong

theX‐axisvia theX‐axisbelt, rodand linearbearingsystem.Thetworoundsteelbarsseen in

figure3wereinsertedintothecomplimentaryholesseeninfigure2.Asinglemotorwasmounted

ononeoftheX‐axiscarriagestoactuatethecentralbeltandprovidelinearmotionalongtheY‐

axis.

Figure3:Yaxis3Ddesign.Blue,theprecisionrod.Grey,thebelt.Yellowtheprintedparts.ThemotorthatmovedthecarriagearoundtheYaxiscouldbeseenonFigure2.Theredtransparent

parallelepipediswheretheendstopswereplaced.Thefourholesonitsside,andontheotherside

whereitcannotbeseen,wereusedtoplacethestructuresthatwouldhandlethesyringesorany

otherequipment,makingthedesigncustomizable.

5

S.1.1.5 Mobilecarriage

Figure4showsa3d‐renderingoftheX‐Ycarriage.ThiscomponentsrunsalongtheY‐axisviathe

Y‐axisbelt,rodandlinearbearingsystem.The“ridge”runningfromlefttorightalongtheY‐axis

runnerservedasanattachmentpointforthecircuitry(subsectionS.1.3).Thedesignofthesyringe

actuationmechanismisdetailedinsubsectionS.1.2.3.

Figure4:TheX‐Ycarriage,assembledbutwithoutsyringes(seesubsectionS.1.2.3).Thelocations

foractuatedsyringesandfluidicconnectionstothefluidplatformcanbeseenintheforeground.

InthebackgroundistheattachmenttotheY‐axis.

S.1.1.6 Fluidplatform

Thefluid‐handlingplatformisasimpleframe,constructedfromaluminiumstrutprofileandthe

3d‐printedassemblypiecesusedinthemainroboticframe.Sheet‐polycarbonatewasattachedto

thestrut‐frametosupport theweightof thepumps.The framewasdesignedso that reagents

couldbeplacesunderneath thepumps;Thisdesignwas chosen tominimize the effect of any

chemicalspillsbypreventedcontactwiththeelectronics.Thedesignofthepumpsthemselvesis

detailedinsectionS.1.2.1.

S.1.2 LiquidHandling

Bothservo‐actuatedsyringesandsyringepumpswereusedtotransportliquidphases.Theservo‐

syringesweremoreprecisebutwereunabletocarryasmuchvolumeasthesyringepumps.Servo‐

syringeswereusedtomixtheliquidinthewell‐platesandtocarrysmallvolumesofliquidinto

thepetridishviadropletformation.Syringepumpswereusedtotransportliquidsfromsource

reagentbottlestocomponentsontheexperimentstage.

S.1.2.1 Pumps

Inthecourseofextraneousandpriorresearch,theauthorshadaccumulatedanumberofdefective

commercialsyringepumps,renderedinoperativethroughfaultsintheirlogicboards.Itsoriginal

electronicswereremovedandthemotorswereconnectedtocustomcomponents(seesubsection

S.1.3).Atotalofsevensuchpumpswereusedbytherobot,mountedonasingleplatform(see

subsectionS.1.1.6).Eachpumpwasequippedwithathreewayvalve:Allowingthesyringetobe

connectedthroughoneporttoeitheroftheothertwo.Oneoftheseportwasdesignatedasan

6

inputportandtheotherasanoutputport.Threeofthepumpswereequippedwith5mlsyringes:

Onewasusedforintroducingtheaqueousphase(seesubsectionS.3.1),andtheothertwoforthe

introducingandremovingsolventsaspartofthecleaningprocedure(seesubsectionS.3.3).All

pumpsexceptonewereconnectedviatheinputporttoareagentbottleandviatheoutputportto

theX‐Ycarriage;thesoleexceptwasthesyringepumpusedforremovingtheacetonefromthe

petri dish as part of the cleaning cycle. The remaining four pumps were equipped with 1ml

syringes;thesewereusedtointroduceorganicphases,asdescribedinsubsectionS.3.2.

Figure5:Tubingoutputsetup.Plasticsyringesbarrelswereusedtoguidethetubes.Firstthefour

oils,andattheendacetoneandaqueousphasesharethesamebarrel.

Thetubingset‐upattheX‐Ycarriagecanbeseeninfigure5.Thesyringebarrelswereusedas

guides, to maintain accurate positioning of the tubing above the working area. Acetone and

aqueousphasesharedthesamebarrel,withtwoindependenttubesbeingfixedinsidebyhotglue.

Thesupportstructurewas3d‐printedinPLAandwasattachedtothecarriagewithbrassscrews.

S.1.2.2 Mixingstage

Figure6:“NuncU960.5ml”wellplates,with‘MagneticstirbarmicroPTFE6mmx3mm”and

“VariomagCompact”stirrerplateusedthemixtheoils.

7

Therobotusedastandard96‐wellplate(seefigure6);eachwellhaditsownminiaturemagnetic

stirrerbarandtheentireplatewasmountedoverastirrerplate.Thisdesignwaschosensothat

multipleexperimentscouldbeconcludedbeforemanualinterventionwasnecessarytocleanthe

mixingarea.

S.1.2.3 Carriage‐mountedsyringes

Asshowninfigure7,anautomaticsyringewasdesignedtobeusedwiththeX‐Ycarriage.The

casing and structurewas 3d‐printed fromPLA. Independent crankmechanismswere used to

actuatetheplungerofthesyringeandtolowerandraisethesyringe.Theseconsistedofthedefault

servomotorarmanda3d‐printedpiece, joinedvia steelpins.Thecrankwasalignedwith the

centreofthesyringeitselftoavoidunwantedlateraltorque.Smalldiametersteelrodsandteflon

linearbearingswereusedtomitigaterotationawayfromandtowardstheservo.

Figure7:Automatedsyringeprototype.Theplungerwasactuatedusinga9gservomotor.Guide

rodswereusedtoavoidbending.

8

Figure8:Syringeattachedtoneedleandliftingmechanism.Thesameliftingmechanismwasused

toraiseandloweraplasticneedletoremoveliquidfromthePetridish

Thesyringeswerefittedwithametalneedle‐tip,asshowninfigure8.Themechanismtoraiseand

lowerthesyringe,viaacrank,canalsobeseeninthisfigure.Ontherightoffigure8,thesame

mechanismcanbeseentobeactuatinganunactuatedsyringe.Thissyringehashaditsplunger

removedandisinsteadfittedwithapieceofplastictubing,whichconnectsittoasyringepumps.

Thissyringewasusedtoremovesolvents fromthePetridishduringacleaningcycle.For this

reason,theneedletapertipwascut,toeffectalargerabsorptiondiameter.WhilstDropBotonlyused one of each syringe type, itwould be possible to expand the robot by adding additional

syringestothecarriage.

S.1.3 Electronics

Theelectronicscanbedividedintothreegroups.Onegroupcontrolsthemovementoftherobot

alongtheXandYaxes,anothergroupcontrolstheservomotorswhichactuatethesyringes,and

athirdgroupcontrolthepumps.

9

S.1.3.1 Axiscontrol

Figure9:ArduinoMegaPCBshieldwithdirectcontroloutputsto2steppermotorsandbreakout

headertotheservodaughter‐board.

Themovement along the X and Y axes was performed using a stripped down version of the

electronicsusedbyaRepRap3Dprinter,whereonlythepartsrequiredbytheXandYmovement

werekept:anArduinoMega[2]boardand“A4988StepperMotorDriverCarrier”.APCBshield

was designed (see Figure 9), which interfaced the Arduino board to the motor drivers and

providedconnectorsforthemotorstothedrivers.Inaddition,connectionswereprovidedfortwo

end‐stops,eachassignedtoaparticularaxis, forhomingpurposes.Eachstepperdriverhad16

pins,butonly3ofthemwereneededtocontrolthemotor:enable,stepanddirection,withthe

otherpinsbeingconnectedtohigh(5V),low(GND),12Vortothemotoritself.Theboardtherefore

usedonlyeightoutputs(theend‐stopsusedtwooutputs)fromtheArduinodirectlyandinterfaced

the remainder of digital connectors, and a power supply, to a header output for the servo

daughterboard.TheattachmentbetweentheArduinoboardandthePCBshieldcanbeseenon

Figure10.

Figure10:ArduinoMegaboardwiththePCBshielddescribedonFigure9attached.

10

S.1.3.2 Carriagecontrol

Theheaderinputtotheservodaughter‐board(Figure11)consistedoftwentypins,connectedto

theArduinoviaaribboncabletothebypassontheXYdriverboard.Theservoboarditselfwas

mountedontheX‐Ycarriageinordertoprovidebothpowerandcontroltothesyringe‐actuation

servomotors.Each servomotor tookpower froma commonsupplyandwere connected to a

commonground,withtheonlyindividualconnectionbeingasinglePWMdatapintotheArduino.

The servo daughter‐board was therefore able to service 20 unique servo motors, of which

maximumfourwereusedinpractice.

S.1.3.3 Pumpcontrol

ThepumpsmentionedinsectionS.1.2.1werefaultyonlyinthefunctionoftheirlogicboards;the

mechanicalcomponentsandmotorswerefullyoper‐

Figure11:PCBdesignedtomapthedigitalpinsfromtheArduinoboardintoservomotorsockets.

Itworkedforboth3.3Vand5Vservomotors.

11

Figure12:TricontinentpumpbeingusedbyattachingitsmotorstothedesignedPCBshield.

Figure13:EachpumpwasassignedauniquePCB,withonedrivercontrollingeachmotor.Each

driverwascontrolledbyanArduinoboardcommontoallpumpsbutseparatefromtheX‐Y/servo

Arduino.

12

ational. As motion was provided by two stepper motors, from the NEMA family, these were

thereforecompatiblewiththeshielddevelopedfortheX‐Yaxiscontrol(SectionS.1.3.1).Itwas

therefore possible to re‐use the mechanical components of these syringe pumps by the

replacementoftheirelectronicswithcustomPCBs(Figure12).Sinceeachboardcontrolledtwo

steppermotors,asingleboardwasassignedtoeachpumps(Figure13).AsecondArduinowas

assignedentirelytopumpcontrol,inadditiontoasecondpower‐supplyassignedonlytopump

motors.

S.1.4BillofMaterials

• The framewas built using Bosch‐Wrexroth 20x20mm aluminium strut profile, fastened

togetherusingcustom,3d‐printedPLA1pieces.

• ThemotorsusedwereNEMA214fortheY‐axisandtwoNEMA17sfortheX‐axis.

• ThelinearmotionmechanicswerederivedfromtheRepRapprinter,usingabelt(Timing

beltT2.5x6mm)andpulley(T2.5pulley,5mmbore)systemconnectedtothemotors

• Round‐profilehardened‐steelbar (8h7, chromeplated)and roundprofile linearbearings

(LME8UU)wereusedtoachievesmoothlinearmotion.

• Thesyringepumpsmodifiedandusedwere“TriContinentC‐Series”•“IDEXHealthScience

PEEK1/8”” tubingwasusedtoconnectthosepumpsused introduceorremovecleaning

solventto/fromthepetridisharena.

• “IDEXHealthScienceFEPOra1/16x0.20””wasusedtocarryorganicphasesfromreagent

bottlestosyringepumpsandfromsyringepumpstotheX‐YCarriage.

• The syringe used to direct the tubing from the syringepumps at the carriage the “1ml

NORM‐JECT”.

• Thesesyringeswerefittedwith“WellerKDS16TN25NeedleTaperTip16G”.

• Thesyringeused in the servo‐actuatedsyringeswasa “Hamilton710LT100μL”. •The

needlesusedwere“WellerKDS2012PDispensingNeedleGA20ID0.66MM”.

• Thesyringewasraisedandloweredbya“NewPowerXL‐3.7”servomotor.

• Theplungerwasactuatedwitha“9gservomotor”.Inthisspecificcase,a“TowerProMicro

Servo9gSG90”.

• Themotorarmusedwasthedefaultarm,whichshippedwiththeservomotor.

1Polylacticacid.

2NationalElectricalManufactersAssociation.http://www.nema.org

13

• Thewellplateusedwas“NuncU96PP0.5ml”.

• Insideeverywell,a“MagneticstirbarmicroPTFE6mmx3mm”wasusedtoprovideliquid

turbulence.

• Belowthewellplate,wasasingle“VariomagCompact”stirrerplate,usedtoturnthestirrer

bars.

S.2 Software

Figure14:Softwarearchitectureshowingdistributionofworkflowactorsandactuatorsandtheir

distributionintosoftwarepackages.

A hierarchical/deliberative paradigm was followed when designing the control software.

SoftwarecomponentsresidentonthehostcomputerwasprogrammedentirelyinPython,whilst

software components on the Arduinos (referred to henceforth as the firmware) were

programmedinC++.Softwarewasdividedintothreeconceptualmodules:planning,acting,andsensing.Figure14representsthestructureofthishierarchy;data‐flowoccursinaniterativeloop(shown).

The artificial intelligence (AI) component is responsible for coordinating the overarching

experimentalplan,selectingdropletformulationsbasedonprior(ifany)dataandpassingthese

formulae on to the next component. Thus the AI acts as globally, with overview of an entire

experimentalseries,andtheRC,FWandCVcomponentshavepurviewonlyofsingleexperiments.

Theroboticscontroller(RC)takestheseformulaeasinputand,actingasaninterfacebetweenthe

AIandthephysicalrobot, transformsthesenumericalrecipes intoaG‐coderepresentation.G‐

codeisastandardizedschedulinglanguage[3]usedintheautomationindustrytoplanmechanical

operations(seesubsectionS.2.2formoredetails).

Thefirmware(FW)consistsofsoftwareresidentontheArduinoboard.Itconvertsthesymbolic

G‐code representation into a series of experimental operations, instantiated as a sequence of

analogueanddigitalsignalssenttothemechanicalpartsthroughtheArduinoboards.

14

Thecomputervision(CV)componentinterfaceswiththecameraandconvertsrawimagedata,

throughanalgorithmicimage‐processingpipeline,intoquantitative‐numericalfitnessdata,which

isthenreturnedtotheAI.

Figure 15: UML diagram describing the softwarework‐flow and communication between the

diversesoftwarecomponents.

A multiprocessing software architecture was chosen to make maximum usage of time and

resources, and to ease development by modularizing the software. Software interprocess

communication was used between modules running on the host computer, whilst USB‐serial

protocolswereusedtocommunicatebetweenthesoftwareandfirmware.Thecommunication

layersbetweenthevariouscomponentsisoutlinedinfigure15;interestedreadersshouldconsult

theprovidedsource‐codeforfurtherdetails.

S.2.1 RobotController

Therobotcontrollerfunctionstotranslateexperimentalproceduresformahigh‐leveldescription

intoaG‐coderepresentation.TheG‐codecanbeconsideredasanintermediatelayerbetweenthe

description of a recipe and the digital actuation, effected by the electronics. By using this

translation pipeline, a number of expert‐written modules could be leveraged, significantly

reducingdevelopmentcostsandtime.ThecorecomponentoftheRCisthePrintRun[4]library,

developed for controlling RepRap printers (via G‐code) and and which constitutes the most

popular choice of library for this purpose. As this central library is written in the Python

programming language[5], this language was used for the entire development of this layer.

PrintRuncommunicateswiththeArduino‐basedFirmwareviaaUSBemulated‐serialconnection,

facilitatedbythepySeriallibraryonthehostcomputer[6].

15

The RC’s interface to exterior code was encapsulated within a library called “RobotCtl”. This

library contains functions which relate to the fixed set of modular lab operations (e.g. “form

droplet”or“cleanpetridish”)requiredtoperformallexperiments.Theinterfacefunctionedto

convertasequenceoftheseoperationsintoasequenceofG‐codeinstructions.Therobotcould

movethesyringestoanypositionaroundXorYwithaprecisionof0.1mmandthisprecisionwas

accountedforintheconversion.SincethereweremultiplecomponentsontheX‐Ycarriage,the

relativedistancebetween thesecomponentswashardcodedandused tomodify the finalX‐Y

positionwhenonespecificapparatuswasselected.Incontrasttotheoperationalmodeofa3d‐

printer,whichproducestheentirebatchofG‐codefroma3dmodelinonerun,theRCrunsin

onlinemode,compilingoperationsintoG‐codeastheyarereceived.Thismodeofoperationisa

necessity,duetotheiterativenatureoftheprocedures,wherebyfutureoperationsareunknown

until data from present operations have been processed. The Gcode produced in real‐time is

communicatedtotherobotviathePrintRuncore.

S.2.2 Firmware

Thefirmwarelayerisdirectlyresponsiblefortheactuationofmechanicalparts.Thefirmwarewas

writtenspecificallyforthetargetArduinoboards,hencetheArduinodevelopmentenvironment

wasusedforthislayer.ThenativelanguageofthisenvironmentisC++;therefore,thiswasthe

languageusedtodevelopthefirmwarelayer.

Code DescriptionPX SelectspumpX.X

MY SelectsmotorY.Y

DZ Selectsplungerdirection.Z

SA Setsspeed.Aisthenumberofmsofwaitbetweensteps

EB Setsnumberofsteps.Pumpsusedarelimitedtoa

maximumof50000steps

Table1:“PXMYDZSAEB”ExampleofG‐codeoperationsoutputbytherobotcontroller.

ThereweretwoseparateArduinoboards,onetocontroltheX‐Ycarriage(subsectionS.1.1.5)and

onetocontrolthefluidplatform(subsectionS.1.1.6)AswiththeRClayer,thecarriagefirmware

was built on top of extant 3d‐printermodules. In this case, the firmware core used was the

Sprinterpackage[7],commonlyusedwithReprap3Dprinters.FunctionalitywithregardstoZ‐

axismovement,temperaturecontrolandextrusionofthermoplasticwasremovedfromthecode‐

base.Initsstead,functionalitywasaddedforcontrolofthesyringes(SeesubsectionS.1.2.3),via

the servo library provided by Arduino[8]. The modified Sprinter firmware was therefore

capabilityofX‐Ymotion,abletoactuateallservo‐motorsandsynchronizetheseactuationswith

theRCcomponent,viathereceiptandparsingofG‐codeinstructions.

Thefluidplatformfirmwarewasdevelopeddenovo.Eachpumpcontainedtwocomponents:Athree‐wayvalveandlead‐screwactuatedplunger.Bothofthesecomponentssourcedmotiveforce

fromaNEMAsteppermotor.Thesemotorswerecontrolled,aswithothermotorsontherobot,

viaan“A4988StepperMotorDriver”.AG‐codeinterfacewasadded,withnewsymbolsforpump

movement(Table1).VerylittlesanitycheckingwasperformedandsotheRCwasrelieduponfor

coherentoperation.Figure16outlinesthecomponentsdescribed.

16

S.2.3 ComputerVision

Thecomputervisioncomponentfunctionedtoevaluatethebehaviours,exhibitedbythedroplets,

forfurtheranalysisbytheAIcomponent.Therobotuseda“PS3EyeToy”asthebasicsensor,to

recordvideodatafromtheunder‐sideoftheexperimentalarena.Tofacilitatevisualanalysis,a

white background panel was used to cover the petri dish, to block ambient visual noise. A

resolutionof640x480pixelsandaframe‐rateof30FPSwasusedforvideorecording.Thecore

componentofthecomputervisioncomponentwasthelibraryOpenCV(version2.4.7)[11],with

SciPy[12]usedforsomeadditionalanalysis.AllanalysiswasperformedusingthePythonbindings

forOpenCV.

Figure16:Softwarearchitecturedescribingthemaincomponents.TherobotusedtwoArduino

boards running a different firmware. One extends the 3D printing functionality with liquid

handlingcapabilities.Theothercontrolsasetofpumps.Thecommunicationwiththehost‐based

pythonRCwasperformedusingaserialprotocolthroughUSB.

S.2.3.1 CommonImageProcessing

TheCVcomponentconsistedofmultipleimageprocessingpipelines,oneforeachbehaviourthat

wastobeevaluated.Throughthispipeline,dropletswereidentifiedinrawframedata(Figure18,

topleft)andanalysedfortheirposition,size,shapeandcolour.Rawframedatawaspresentedto

theimageprocessingpipelinesintheformofRGBimages,asreceivedfromthecamera.Noprior

informationwasused to inform the image analysispipelines. Figure17outlines the complete

processingpipeline.

TheinitialstepforallpipelinesbeganwithaHoughtransform[13],usedtodetectthepetridish.

Oncedetected,ananalyticarena,slightlysmallerthanthepetridish,wasdefined.Theaimofthis

reductionwastoremovethosedropletsthathadbecomecaughtagainsttheedgeofthedish;these

dropletswereconsidered“dead”.

After theHoughtransform, thepipelinewassplit into twoparallel tracks.Oneof thesetracks,

aimedatlong‐termanalysis,wasbasedonforegroundsubtraction18.Theobjectiveofthistrack

17

was thediscovery,andremoval,ofambientbackground fromthechemicalcomponentsof the

experiment(droplets).Becauseawhitebackgroundwasused,onlythearena,withaqueousphase

present,anddropletswerepresent.Thesecondtrackwastargetedatanalysisofearlyframesand

wasbasedonachainofimageprocessingoperations.Theobjectiveoftheimageprocessingtrack

wasthediscoveryofclosedstructures,whichcorrespondedtodroplets.Thesestructurescould

haveanyshape,aslongastheycouldberepresentedbyaconnectedcomponent.

Figure17:Schemeoutliningthepipelineofthedifferenttechniquesandalgorithmsinvolvedin

thedropletdetection.

The imageprocessing trackbeganwithanRGB‐to‐greyblurringoperation, applied to remove

noise.ThiswasfollowedbytheapplicationoftheCannyedgedetectionalgorithm[14],resulting

inanedgemap(Figure18,topright).Ascontoursmaybemissingpixels(ascanbeseeninfigure

18),adilationoperationwasappliedtofillthesegaps.Thiswasfollowedbya“flowfill”operation,

withtheoriginatpixel(0,0)(Figure18,bottomright).Theresultofthisoperationwastheremoval

of any non‐closed structure. The previously calculated Hough transformwas then applied, to

define the operational arena (Figure 18, bottom right). The next step in the pipelinewas the

applicationofadistancetransform,toremovenoiseandtodisconnectdropletsthatmayhave

beenartificiallyconnectedintoonestructureasaresultofthedilationoperation(Figure19,top

right).ThesefinalconnectedcomponentswerelabelledusingSciPy;thelabelsandthebordersof

theconnectedcomponentsweresenttoawatershedalgorithm[15],torecovertheoriginalsizeof

thedroplets(Figure19,bottomleft).Thisconcludedtheimage‐processingtrackoftheparallelCV.

The foreground reduction algorithm used a mixture of Gaussians[16]. The default OpenCV

parameterswereusedforfittingthemixturemodel,withlearningratesetto0.05.Theresultof

themixturemodelwasaforeground(droplets)withbackgroundinformationremoved.

Thetwoparalleltracksresultedeachinabinaryimage,wherepixelswereeither‘on’(pixelispart

ofadroplet)or‘off’(nodroplet).Thesetwoimageswerecombined,usingaboolean“or”operation

togivedefinitivedroplet‐onlyimages.Thecontourswerethendiscoveredonthiscombinedimage

(Figure19,bottomright).Withthiscontourmap,thearea,size,shape,colourandcentreofthe

dropletscouldbecalculated.Thesedatawerethenpassedontothefitness‐specificcomponents

oftheimage‐processingpipeline.

18

Figure18:Dropletdetection,imageprocessingpipeline.Topleft:Rawframe.TopRight:Canny

edgedetection.BottomLeft:Dilatemorphooperation.BottomRight:Floodfilloperation,seedat

pixel0,0.

S.2.3.2 Tracking

Acommonwaytotrackobjectsistouseafilter,liketheKalmanfilter[9]oraparticlefilter[10].

Sincethecameraproduced30FPS,overlappingconsecutiveframestotrackdropletsovertime

wasenoughconsideringthesizeofadropletandhowmuchitcouldmovebetweenframes.

Givenadropletdtinframet,andasetofdropletsDt−1inframet−1,asetofcandidatesCt−1was

builtasthedropletsinDt−1whosecenterwasinsideanareadefinedasacirclewith30pixelsof

radiusarounddt.ThebestcandidateinCt−1waschosenasitwasthenearestdroplettodtusingthe

Euclideandistance. If therewerenodroplets inside thisarea,orall thedropletswerealready

assignedtoanotherdroplet,thisdropletwasconsiderednew.

19

Figure19:Dropletdetection,imageprocessingpipeline.Topleft:Houghtransform,dishdetection.

TopRight:Distancetransform.BottomLeft:Watershedalgorithm.BottomRight:Finalresult.Blue

circlemarksthedishdetection,redcirclerepresentsthearena.

S.2.3.3 ExperimentalDataGeneration

For each experiment, a data structure describing the positions of the droplets over timewas

produced.Thisdatawasusedinordertorateanexperimentbasedondifferentfactors.During

this research, the behaviours analysed in this way were “division”, “movement” and

“directionality”.

S.2.3.4 Division

Everyexperimentbeganwiththerobotplacingdropletsintheaqueousmedium.Dependingon

thechemistry,thedropletscouldsplitassoonastheyinterfacedwiththeaqueousphase,butthe

robotmadeexactlyfourinjections.

Divisionwasdefinedasthenumberofdropletsaliveattheendoftheexperiment.Weconsidered

asviableanydropletwithanareagreaterthan15pixels.Theexperimentaimedtofinddroplet

recipesthatwoulddivideinacontrolledfashion,producingviableoffspringratherthandisparate

fragments.

S.2.3.5 Movement

Givenadropletd,itsmovementwasdefinedastheEuclideandistancedescribedbyitstranslationbetweenframestandt+1.Thistranslationwasdescribedinpixelsasthefundamentalunitsofdistance.

20

Sincebetweenapairofframestherecanbeseveraldropletsmoving,thetotalsumofdistances

describedbyallthedropletswasdividedbetweenthenumberofdroplets,obtainingtheaverage

distancetranslatedperdroplet.Everyexperimentranfor1minute,containingafewthousandof

frames.The averagedistanceperdropletwas calculated for everypair of frames, its quantity

summed, and then divided by the total number of frames, in order to obtain the average

translationdescribedperdropletperframe.

Themovement‐derivedfitnessisthengivenby

  (1)

whereNisthetotalnumberofframesinthevideosequence,Misthetotalnumberofdropletsobservedandwhere(xi,t,yi,t)aretheEuclideancoordinatesofdropletionframet

S.2.3.6 Directionality

Givenadropletdinframet,t+1andt+2,itspositionforeachframeintheXYplaneisdenotedbythepointsA,BandC.Twovectorsweredefined: and .

Bydirectionalityofadropletitismeanttheanglebetweenvandwwhichrepresentsthechangeofdirectiononadropletmovingpattern.Lowvaluesmaptodropletswhichmoveinstraightlines,

middlevaluestodropletswhichdescribecurvesandhighvaluesdropletsthatvibrateorwobble.

Invertingthedotproductformula:

  (2)

Theangleisobtained:

  (3)

Foreachexperiment,theangularrotation,perdroplet,perframewasgivenwasusedasthe

directionalfitness,asgivenby

  (4)

S.2.4 ArtificialIntelligence

For each behaviour to be tested, three Genetic Algorithm (GA) runswere used. Each GA run

performed21generations,withafixed‐populationsizeof25individualsand15individualsbeing

propagated fromthepreviousgeneration, fora totalof225recipes.Eachrecipewasrepeated

threetimes,andtheminimumbetweenthemeanandtheaverageof these3experimentswas

returned.Eachexperimentgeneratedfourdroplets.

21

AcompletetestrantheGA3times,thereforeintotalitgenerated675recipes.Eachrecipewasrepeated3times,foratotalof2025experiments.Eachexperimentgenerated4droplets,foratotalof8100droplets.

Individualswerefixed‐lengthgenomesof4 floating‐pointnumbers(i.e.Quantitativetrait loci).

TheGAusedaper‐locusprobabilityofmutation(resulting inapoisson‐distributednumberof

mutations per individual). For each locus selected for mutation, a normal‐distributed noise

function,withameanof0andanSDof0.1wasadditivelyapplied.Eachchildwasalwaystheproductof a single crossover recombinationbetween twodistinctparents,with the crossover

beinguniformlydistributedalongthegenomeandthesamegeneticlocationbeingusedforeach

parent. Individuals were birthed with parents being selected, without replacement, from the

extantpoolwithprobabilityproportionaltothefitness(tothepowerofsomeparameter).After

birthingandfitnessmeasurement,thepopulationwasculledtoafixedsize,withindividualsbeing

chosen fordeathwithprobability inverselyproportional to the fitness (to thepower of some

selectivepressureparameter).

Parameter Value

Generations 21

Genomelength 4

Populationsize 25

Carry‐overs 15

Per‐locusmutationrate 0.3

QTLmutation(SD) 0.1

Selectivepressure 1

Table2:ParametersusedtogenerateallGA‐deriveddatapresentedinthispaper.

S.3 Chemistry

OilsandsurfactantswerepurchasedfromSigma‐Aldrichandusedasreceived,unlessotherwise

stated.Allexperimentswereperformedat22degreesCelsius.

S.3.1 Preparationofaqueousphase

Tetradecyltrimethylammoniumbromide(TTAB)(6.73g,20.0mmol)wasdissolved indistilled

water(ca600mL),adjustedtopH13.00with5MNaOHsolutionandmadeupto1Ltogivea20mMsolutionatpH13.00.

S.3.2 Preparationofoils

Theoils(1‐octanol,octanoicacid,dodecane,1‐pentanolanddiethylphthalate)werepreparedin

200mLaliquotsinreagentbottles.Eachoilwasdyedwith0.25mg/mLSudanIIIandvortexedto

mix.

22

S.3.3 Cleaningcycle

Aftereachexperiment,acetone(ca3mL)waspumpedintothepetridishtodissolveremainingoildropletsandthemixturewasaspiratedfromthedishtothewastecontainer.Thedishwasthen

washedwithacetone(2x3mL)andaqueousphase(2x3mL)Lessthoroughcleaningcycleswere

oftentoleavetraceresidues,whichinterferedwithsubsequentexperiments.

S.4 Methods

A fully automated liquidhandling robot capable of producingdroplets in aPetri dishwith an

aqueoussub‐phasewasconstructed.TherobotwasbaseduponaRepRap3Dprinterarchitecture

withawebcamforvideorecording/imageanalysis.

23

Thedropletformulationsareproducedinwell‐plates(96‐wellformat)whereeachwellisstirred

withamagneticstirrerbar.Thedropletformulationsarebaseduponthefollowingreagents((1‐

octanol,1‐pentanol,diethylphthalate(DEP),dodecaneanddilutionsofoctanoicacidinoneofthe

otheroils(typically20Theformulationsweredeliveredfromthecomputercontrolintheformof

fournumbers,whichrepresentedtheproportionofeachoil;thereforethetotalsummedto“1.0”.

24

Thetotalvolumeoftheoilsplaceinawellwas360μL.Thespecificquantityforeachoilwasthisvolumemultipliedbytheirrelativeproportion.

Oncethemixingwascompleted,threeexperimentswereconductedfromthefinalformulation.

Foreachexperiment,80μLofoilwereabsorbedusingthesyringe.Ofthisvolume,four5μLoildropletsarethenplacedintheaqueousphase(20mMaqueoustetradecyltrimethylammonium

bromide(TTAB),adjustedtopH13.00with5MNaOHsolution).Thesepositionswereconsistent

betweenexperiments,withpre‐programmedX‐Ycoordinates.Theneedlewaslaidjustabovethe

aqueousphaseandthedropletswerereleasedto thesurfaceof the liquid.Onceadropletwas

outsidetheneedle,thesyringewasmoveduptoitsdefaultposition.Thismovementbrokethe

tensionbetweenthedropletandtheneedle,depositingthedropletovertheaqueousphase.This

processissummarisedinFigure20.

A video of the resulting droplet behaviourwas then recorded from beneath the dish using a

cameraataresolutionof640x480pixelsat60fpsfrombelowaftercoveringthetopofthePetri

dishwithawhitebackgroundfor60seconds.Aftertheexperimenttheentirecontentsofthedish

areautomaticallyremoved,cleanedwiththreewashesofacetonefollowingwiththreewashesof

aqueousphase.Duringtheacetonewash,thesyringeiscleanedalsowithacetone.Afteracomplete

generationhasconcluded,theevolutionaryalgorithmquantifiesthefitnessoftheformulations

andcalculatesthenextsetofreagentvolumes.Imageanalysisofthedropletbehaviouragainstthe

fitnessfunctionprovidesthenextsetofinputsfortheevolutionaryalgorithm.

Our four component system comprises 1‐Octanol, Diethyl‐phthalate, 1Pentanol, and either

OctanoicacidorDodecaneasthefourthingredient.Movementof1‐pentanoldropletsisdescribed

in the literature [30], and a range of other mid‐to‐long chain alcohols were tested using

automation to explore a range of solubilities. Diethyl phthalate is known to form stable

droplets[31].Dodecanewaschosenasanextremelynon‐polaroilwithlowdensityandviscosity.

OctanoicacidwasexploredasitisdeprotonatedathighpHtoformananionicsurfactant.

Oncetheexperimentwasconcluded,thesyringepumpswereusedtopumpacetoneandaqueous

phaseintothePetridishandthentoremovethesolvatedwaste.First,threewashesofacetone

wereperformed:4ml,4mland3ml.Duringthefirsttwoofthesewashes,theneedlewasdropped

intotheacetone,andtheplungerwasactuatedtoabsorbandreleaseacetone,cleaningtheneedle

andsyringe.

Figure 20: Outline of the droplet generation. First the aqueous phase is placed, and then the

dropletsaredroppedoverit.

25

Afterwashingwithacetone,threewasheswithaqueousphasewereperformed,with1.5ml,1.5

mland1ml.Theobjectiveoftheaqueousphasewashwastoremovetheremainsofacetonefrom

the petri dish so that it would not interfere with subsequent experiments. This process is

summarizedinfigure21.

Figure21:Atfirst,threewasheswithacetonewereperformed.Betweenthefirstandsecond,and

thesecondandthird,thesyringeisdippedintotheacetone,andtheplungeractuated,cleaning

theneedle,barrelandplunger.The three followingaqueousphasewasheswereperformedto

removetheremainsofacetone.

S.5 Analysis

S.5.1 ProcessingofFitnessLandscapes

The fitness landscapes seen in Figure 6 in themain textwere produced through amulti‐step

analyticalpipeline.TheresultsfromtheGAwerefirstcollatedandpassedthrougharadialbasis

functionkernelridgeregressiontoproduceamodel.Thismodelwasthenqueriedthroughagrid

searchalongeachfaceoftheparameter‐spacesimplextoestimatethefitnessateachlocation.

S.5.1.1 KernelRidgeRegression

GeneralLinearRegression(GLR)performsmodelfittingbyminimizingthesum‐of‐squareserror

overaspaceoflinearcoefficients,inanequationoftheform

(5)

withthesum‐of‐squareserrorbeinggivenfor

pointsas. (6)

Ridge‐regression, also known as Tikhonov regularisation[24], is a commonly usedmethod of

regularizationofill‐posedproblems.Thisformofregressionaugmentstheminimizationwitha

weightedpenaltyonthesizeofthecoefficientvectorφ:

26

  (7)

Kernel ridge‐regression is a re‐formulation of ridge‐regression, used in situation where the

numberofdimensionsexceedsthenumberofdata‐points.Equation5issubstitutedby

    (8)

Withequation7takingtheequivalentsubstitution:

       (9)

Animportantpropertyofthisreformulationisthat itrequiresthecalculationofadot‐product

between each input vector and every other. These dot‐products can be collated in the Gram

matrix:

  G=XXT (10)

However,thedot‐productdoesnotneedtobecomputedininputspace.Higherpredictivitycan

oftenbeobtainedbytransformingtheinputvectorsintoahigher‐dimensionalspace,knownas

”featurespace”:

  zi=f(xi) (11)

theGrammatrixG isthenreplacedbythekernelmatrixK,whoseentriesaregivenby

  . (12)

Rather than calculating the dot products through an explicit mapping from input space into

feature space, it isusuallyquicker tousean implicit feature‐space innerproductg, calculateddirectlyontheinputvectors:

  Kij=g(xi,xj) (13)

Thefunctiongisthenknownasthe”kernelfunction”anditsuse,withassociatedimprovementsincomputationalspeed,isoftenreferredtoasthe”kerneltrick”.

S.5.1.2 RadialBasisFunction

Thekernelfunctionthatweapplytoextendthesampledpointsintoasmoothfitnesslandscapeis

theGaussianKernel.ThiskernelfunctionfallsintothebroadercategoryofRadialBasisFunctions

(RBFs), whose members are defined by being real‐valued function that depend only on the

distance,ininputspace,betweentheinputvectors.Distanceisheredefinedbetweenpointsiandjas  . (14)

TheGaussianRBFthendefinesthekernelfunctionbetweentwopointsiandjas

  . (15)

Whereσisaproblem‐specificparameter,roughlyequivalenttothestandarddeviationoftheGaussian probability distribution. One peculiar property of the Gaussian kernel function, not

sharedbyotherRBFs, is its implicitmappingof the inputvectors intoan infinitedimensioned

φ

27

feature space. This property arises from the expansion of the exponential term, here

demonstratedforasingle‐dimensioninputvector:

  (16)

  (17)

Asaresult,whereasotherkernelfunctionscanbeusedtoderiveasetoffeaturespacecoefficients,

theGaussianRBFrequiresthatthekernelfunctionbeevaluatedforeveryNtrainingvectorwithanewvector,forapredictiontobemadeforthatvector:

  (18)

S.5.1.3 CompleteLandscapes

Threereducedfitnesslandscapesareshowninthemaintextinfigure6.Eachofthesesubfigures

showsathree‐dimensional“facet”of the four‐dimensionalspaceofoilcomposition.Each facet

waschosensothattheglobalmaximum, foreachenvironment,wouldbeshown, ineachcase.

However,aseachfacetisderivedbyholdingoneoftheoilproportionsatzero,therearethree

otherfacetsperenvironment.Allfacetsforthethreeenvironmentsarethereforeshownbelow.

Figure22:Fitnesslandscapesfortheenvironmentsdivision(Ai‐iv),motility(Bi‐iv)andvibration(Ci‐iv. In eachplot, three substances are displayed as the plot title. The fourth substance canthereforebeassumedtobeheldataconstantzero.Theprojectionusedisequivalenttotheternary

plots shown in themain text. Each axis shows theproportion of a substance (indicated). The

proportionofthethirdsubstance(Z)iscalculatedasZ=1−X−Y.Thenumericalindicationsshowthelocationoffitnesspeaks.Indivisionandvibrationtwomajorfitnesspeakswerediscovered.

28

Minorfitnesspeaksarenotindicated.Thescalebarcorrespondstothefitnessfunctionsforeach

environmentandarenotcomparablebetweenenvironments.

Figure22showsfourfitnesslandscapesperenvironment,displayingagreaterproportionofthe

analysisthanthatfoundinthemain‐text.As“true”representationofthedataconsistsofasolid

four‐dimensionalsimplex,graphicalrepresentationisinherentlydifficult.Theauthorstherefore

optedtodisplayonthefacesofthissimplex.Thiswasconsideredareasonableapproximationas,

foreachenvironment,theglobalmaximumwasfoundononeofthesefacesandnotinternally.

Indeed, fordivisionandvibrationenvironments,thelargerofthetwomajorfitnesspeakswas

foundonanedgebetweentwofaces(atwo‐substancecomposition).Thesemaximacantherefore

beseen,ontwofaces,fordivisioninAiiiandAiv(7.777)andforvibrationinCiiandCiii(7.188).Numeroussub‐optimallocalmaximaarealsodiscoveredbytheanalysisinallenvironmentsand

areexploredinsubsectionS.5.1.4.

S.5.1.4 Catchment

Inanevolutionaryfitnesslandscape,multi‐modalitycorrespondstotheconceptoffitnessislands[27].Suchafeatureisdefinedasbeingthatvolumesurroundingalocal(ortheglobal)maximum,

suchthatforanypointwithinthatvolume,consistent,upwardprogressalongthegradientwill

convergeatthatspecificmaximum.

Toanalysethenumberandboundariesofthefitnesslandscapesthatunderlytheexperimental

evolutioncomponentofthismanuscript,adiscoveryalgorithmwasrunonthefitnesshyperplanes

derived through the kernel modelling. The hyperplanes were represented as 4 301 × 301

quantizedlattices,asplottedinfigure4inthemaintext.Foreachuniquemaximum,anactiveset

wasmaintained,startingwithasinglelocationatthatmaximum.Foreachlocationintheactive‐

set,alleightsurrounding,quantizedlocationsweretested,suchthatforeachlocationtested,the

8 locations around that locationwere tested, to discoverwhich of them corresponded to theneighbouring maximum. For each location whose neighbouring maximum was the current

locationfromtheactive‐set,thatlocationwasmarkedasbelongingtothecurrentfitnessisland

andthenaddedtotheactive‐setforanalysisofitsownneighbourhood.Itwassimpletoallowthis

search to extend over the boundaries of one hyperplane to another hyperplane, where the

locationswereequivalent(i.e.whereoneofthecomponentswas0).

Theresultsofthisalgorithmarepresentedinfigure23.Foreachofthethreelandscapes,exactly

five fitness islandswereobserved,althoughtheremaybe fitness islands, in the interiorof the

fitnessspace,notrevealedbythesearchacrosstheexteriorhyperplanes.Thereisinsufficientdata

tospecifywhethertheconsistencyoftheoccurrenceoffiveislandsperlandscapeisaproductof

thedimensionalityoracoincidentalartefact.

S.5.2 EvolutionaryTrajectories

Statistical analyses were carried out on the evolutionary trajectory of each of the three

optimizationexperiments.Therawfitnessdistributions,asafunctionofgenerationareshownin

figure24.

29

Figure23:Fitnessislandmapderivedfromthekernelanalysisforthefitnesslandscapesdivision

(Ai‐iv), motility (Bi‐iv) and vibration (Ci‐iv). Each colour (Red, yellow, green, blue, purple)corresponds toastable fitness island(coloursstated insortedorderof island‐maximumfrom

highesttolowest[i.e.redisthefittestislandandpurpletheleastfit]).Fiveislandswereobserved

ineachlandscape,althoughitisunknowniffurtherislandsarepresentintheinteriorofthefull

simplex.

It isstatedintheintroductionthatthefinalpopulationofdroplets, inallcases,showenriched

fitness compared to the initial populations. This analysis was performed by comparison of

generation 1 with generation 21. It is common, in biological scenarios, to consider the fitter

membersofapopulation,ratherthantheaverage,sincethesewillpropagate.P‐values forthis

analysiswerethereforeconductedbycomparingonlythetophalf(fitnessgreaterthanmedian)

of each generation. This resulted in 38 individuals per generation (all three repeats were

amalgamated).Analysis‐of‐Variancewasthenperformedwithfitnessasafunctionofgeneration

(21or1)andissummarizedintable4.

Fromtheresultspresentedinfigure24,itnotvisuallyobviouswhetherpopulationfitnessshows

improvementduringthelatterhalfofeachrun.Todeterminewhetherthiswasthecaseornot,

thesameanalysisasabovewasrepeated,butwithgeneration21comparedagainstgeneration

11. As can be seen in the results presented in table 5, both division and vibration showed

significantimprovementfromthehalfway‐pointtotheend.Motility,however,canbeconsidered

ashavingbeenoptimizedaftertheconclusionof11generations.

30

Figure24:Fitnessprogression throughouteachof thenineoptimizationexperiments,derived

fromthreerepeatsforeachofthethreefitnesslandscapes.Fitnessisspecifictoeachlandscape

and not comparable between landscapes. The black line corresponds to themedian for each

generation,darkgreenboundsthedistributionbetweentheupperandlower25thpercentileand

lightgreenboundsbetweentheupperandlower10thpercentile.

Itwasthenquestionedwhetherthereisasignificantdifferentinfitnessvariationasafunctionof

generation. For this analysis, all generations were examined under an Analysis‐of‐Variance,

comparingcontinuousfitnessagainstcategoricalgenerationnumber.Theresultsaresummarized

intable6;allenvironmentsshowedahighlysignificantresult.

Finally itwas testedwhether therewasapositivedependenceof fitnessupongeneration (i.e.

whetherfitnessincreasedpositivelywithgeneration).Duetothenon‐linearassociationthatwas

visually observed from figure 24, the Kendall correlation test was used[29]. The results are

summarisedintable7;allenvironmentsshowedahighlysignificantresult.

S.5.3 Latticesearch

To better visually represent the behavioural space exhibited during the lattice‐search, a self‐

organizingmapanalysiswasappliedtotheresultantdata.Readersunfamiliarwiththetechnique

arereferredto[25]and[26]

×

Table 4: ANOVA analysis of the first generation individuals in the upper half of the fitness

distributionagainstthelastgenerationindividualsintheupperhalfofthefitnessdistribution.All

Fitness F‐value p‐value

Division 104.1 <10−15MotilityVibration

74.943.6

1.7×10−13

2.7 10−13

31

fitnesslandscapesshowedhighlysignificantimprovementinfitnessfromthebeginning,tothe

conclusionoftheexperiment.

Fitness F‐value p‐value

Division 5.51 0.0207Motility 0.611 0.436Vibration 7.08 0.00902

Table5:ANOVAanalysisofthe11thgenerationagainstthelastgeneration,underthesamemethod

of analysis as in table 4. Division and vibration both show significant improvement in fitness

during the latter half of the experiment (Under the Holm–Bonferroni multiple testing

correction[28]).

asintroductorytexts.Behavioursweremanuallyassigned,basedonvisualassessmentbyoneof

theresearchers.Eachcircleinfigure25representsa“node”:Thefundamentalunitofoutputfrom

theSOM.ChemicalcompositionvariesacrossboththeXandYaxesinaspatiallysignificant,but

visuallynon‐obviouspattern.Eachbehaviourisassignedanindividualcolouranditcanbeseen

thatbehaviourclustertogetherinspace,andthereforeincomposition.Eachclusterofbehaviours

thereforerepresentsaphenotypic“island”withinthecomposition/behaviourmapping.

Fitness F‐value p‐value

Division 407.8 <10−15Motility 259.1 <10−15Vibration 297 <10−15

Table6:ANOVAanalysisofallgenerations;theentiredistributionforeachgenerationwastested

asafunctionofgeneration,expressedasacategoricalvariable.Allfitnesslandscapesshowhighly

significantdifferencesinvariationbetweengenerations.

Fitness τ‐value Z‐value p‐value

Division 0.283 18.89 <10−15Motility 0.210 14.33 <10−15Vibration 0.256 17.50 <10−15

Table 7: Kendall rank‐correlation test of non‐linear dependence of fitness on generation,

expressed as a continuous variable. All fitness landscapes show a highly significant, positive

correlationbetweenthetwovariables.

32

Figure25:Self‐OrganizingMapofdropletbehavioursacrosstheformulationspace.Eachcircle

represents a resultant node, with colours assigned to individual behaviours. Chemical

compositionvariesaccordingtospatialcoordinatewithneighbouringcoordinateshavingsimilar

composition.

33

S.6 PrintedParts

S.6.1 Mainframe

S.6.1.1 3DPP1,trussbase

3DPP1Trussbaseforsolidcornerconnectionontherobotframe

S.6.1.2 3DPP2,trussfoot

3DPP2Trussbaseandintegratedfootforbottomhalf

34

S.6.2 X‐Yaxis

S.6.2.1 3DPP3,trussrod

3DPP3Trussbaseandintegratedrodholderforroundedsteelbar

S.6.2.2 3DPP4,trussmotor

3DPP4Trussbaseandintegratedmotorholderforpulleydrivers

35

S.6.2.3 3DPP5,Yidler

3DPP5XaxisrailrunnerwithattachmentsocketsforY‐axisrods

S.6.2.4 3DPP6,Yidlerwithmotor

3DPP6XaxisrailrunnerwithattachmentsocketsforY‐axisrodsandattachmentpointforYmotor

36

S.6.3 X‐Ycarriage

S.6.3.1 3DPP7,carriagemaincomponent

3DPP7Maincarriagecomponent,usedasattachmentpointforothercarriageapparatus

S.6.3.2 3DPP8,camerabackgroundpanel

3DPP8Holderforwhitepaneltoprovideuniformbackgroundthecamera.

37

S.6.3.3 3DPP9,panelsupport

3DPP9Supportingcomponenttosteadythebackgroundpanel.

S.6.3.4 3DPP10,panelgrip

3DPP10Supportingcomponenttosteadythebackgroundpanel.

38

S.6.4 Fluidhandling

S.6.4.1 3DPP11,tubeholder

3DPP11 Component for holding tubes incoming from the fluid platform, attaches to3DPP7.

S.6.4.2 3DPP12,sryingeholder

3DPP12Maincomponentforholdingsyringes,attachesto3DPP7.

39

S.6.4.3 3DPP13,syringeholdercap

3DPP13auxiliarycomponentforholdingsyringes,attachesto3DPP11.

S.6.4.4 3DPP14,plungercasing

3DPP14componentforholdingandactuatingthesyringeplungers.

40

S.6.4.5 3DPP15,syringetip

3DPP15componentforactuatingthesyringetipsupanddown.

S.6.4.6 3DPP16,crankshaft

3DPP16crankshaftforsyringeactuation,toattachtoinjectionmouldedmotorarm.

41

References

[1] Jones,R.,Haufe,P.,Sells,E.,Iravani,P.,Olliver,V.,Palmer,C.,andBowyer,A.,:RepRap‐TheReplicating Rapid Prototyper, Robotica (2011) volume 29, pp. 177–191. CambridgeUniversityPress.

[2] http://www.arduino.cc/

[3] Multipleauthors(1982).NumericalControlofMachinesISO69831:1982

[4] Yanev,K.etal(2011)https://github.com/kliment/Printrun

[5] G.vanRossumandF.L.Drake(eds),PythonReferenceManual,PythonLabs,Virginia,USA,2001.Availableathttp://www.python. org

[6] Liechti,C.(2001)http://pyserial.sourceforge.net/

[7] Yanev,K.etal(2010)https://github.com/kliment/Sprinter

[8] http://playground.arduino.cc/ComponentLib/Servo

[9] Kalman,R.E.(1960).ANewApproachtoLinearFilteringandPredictionProblems.JournalofBasicEngineering82(1):35–45.

[10] Pitt,M.K.;Shephard,N.(1999).FilteringViaSimulation:AuxiliaryParticleFilters.JournaloftheAmericanStatisticalAssociation94(446):590–591.

[11] Bradski,G.(2000)Dr.Dobb’sJournalofSoftwareTools.

[12] Jones, E., Oliphant, T., Peterson, P. et al (2001) SciPy: Open source scientific tools forPython.http://www.scipy.org/

[13] Duda,R.O.andP.E.Hart,(1972)UseoftheHoughTransformationtoDetectLinesandCurvesinPictures,Comm.ACM,Vol.15,pp.11–15

[14] Canny,J.,(1986)AComputationalApproachToEdgeDetection,IEEETrans.PatternAnalysisandMachineIntelligence,8(6):679–698

[15] Najman,L.andSchmitt,M.(1996)Geodesicsaliencyofwatershedcontoursandhierarchicalsegmentation.IEEETransactionsonPatternAnalysisandMachineIntelligence,Vol.18,Num.12,pages1163–1173.

[16] Reynolds, D.A.; Rose, R.C. (1995) Robust text‐independent speaker identification usingGaussianmixturespeakermodelsIEEETransactionsonSpeechandAudioProcessing3(1):72–83.

[17] Haynes,W.M.(2013).CRCHandbookofChemistryandPhysics,94thEdition.CRCPress,94thedition,

[18] Budavari,S.,Smith,A.,Heckelman,P.,Kinneary,J.andO’Neill,M.(1996)TheMerckIndex.Merck.

42

[19] Thomsen,M.,Carlsen,L.andHvidt,S.(2001)SolubilitiesandSurfaceActivitiesofPhthalatesInvestigated by Surface Tension Measurements. Experimental Toxicology and Chemistry,20(1):127–132.

[20] http://www.dynesonline.com/visc_table.html

[21] Jasper, J. J., and Kring, E. V. (1955) The Isobaric Surface Tensions and ThermodynamicPropertiesoftheSurfacesofaSeriesofn‐Alkanes,C5toC18,1‐Alkenes,C6toC16,andofn‐Decylcyclopentane, nDecylcyclohexane and n‐Dcylbenzene. Journal of Physical Chemistry,2142(3):3–5,1955.

[22] Rostamkolahi,A.M.,Rostami,A.A.,Koohyar,F.,andKiani,F.(2013)Thermodynamicprop+vinylacetate,diethylphthalate+vinylacetateorbromocyclohexane,anddibutylphthalate+vinylacetateor1,2‐dichlorobenzeneat298.15–308.15K.ChemicalPapers,67(11):1433–1441

[23] http://sigmaaldrich.com

[24] Tikhonov,A.N.(1963).Solutionof incorrectly formulatedproblemsandtheregularizationmethod.DokladyAkademiiNaukSSSR151:501–504..TranslatedinSovietMathematics4:1035–1038.

[25] Kohonen, T. (1982) Self‐Organized Formation of Topologically Correct Feature MapsBiologicalCybernetics43(1):59–69.

[26] Haykin,S.(1999).9.Self‐organizingmaps.Neuralnetworks‐Acomprehensivefoundation(2nded.).Prentice‐Hall.

[27] Jain, K. and Krug, J. (2007)Deterministicand StochasticRegimes ofAsexualEvolution onRuggedFitnessLandscapes.Genetics175:1275–1288

[28] Holm,S.(1979).Asimplesequentiallyrejectivemultipletestprocedure.ScandinavianJournalofStatistics6(2):65–70.

[29] Kendall,M.(1938).ANewMeasureofRankCorrelation.Biometrika30(1–2):81–89.

[30] Toyota,T.,Maru,N.,Hanczyc,M.M.,Ikegami,T.andSugawara,T.(2009)Self‐propelledoildropletsconsuming“fuel”surfactant.J.Am.Chem.Soc.131,5012–3.

[31] Hadorn,M. et al. (2012)Specificand reversibleDNA‐directed self‐assemblyofoil‐in‐wateremulsiondroplets.Proc.Natl.Acad.Sci.U.S.A.109,20320–5.