[{"data":1,"prerenderedAt":1753},["ShallowReactive",2],{"navigation":3,"\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fgripper-positions":750,"\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fgripper-positions-surround":1748},[4,80,134,364,428,530,567,646],{"title":5,"path":6,"stem":7,"children":8,"page":42},"Get Started","\u002Fget-started","01.get-started",[9,13,17,43,47],{"title":10,"path":11,"stem":12},"Welcome to UniteLabs","\u002Fget-started\u002Fwelcome","01.get-started\u002F00.welcome",{"title":14,"path":15,"stem":16},"How it works","\u002Fget-started\u002Fhow-it-works","01.get-started\u002F01.how-it-works",{"title":18,"path":19,"stem":20,"children":21,"page":42},"Use Cases","\u002Fget-started\u002Fuse-cases","01.get-started\u002F02.use-cases",[22,26,30,34,38],{"title":23,"path":24,"stem":25},"Instrument Control","\u002Fget-started\u002Fuse-cases\u002Flow-level-instrument-control","01.get-started\u002F02.use-cases\u002F10.low-level-instrument-control",{"title":27,"path":28,"stem":29},"Multi-device Control","\u002Fget-started\u002Fuse-cases\u002Fmulti-device-control","01.get-started\u002F02.use-cases\u002F20.multi-device-control",{"title":31,"path":32,"stem":33},"Workflow Orchestration","\u002Fget-started\u002Fuse-cases\u002Fworkflow-orchestration","01.get-started\u002F02.use-cases\u002F30.workflow-orchestration",{"title":35,"path":36,"stem":37},"Custom Apps and LIMS Integration","\u002Fget-started\u002Fuse-cases\u002Fcustom-apps-lims","01.get-started\u002F02.use-cases\u002F40.custom-apps-lims",{"title":39,"path":40,"stem":41},"Scale and Fleet Management","\u002Fget-started\u002Fuse-cases\u002Fscale-and-fleet","01.get-started\u002F02.use-cases\u002F50.scale-and-fleet",false,{"title":44,"path":45,"stem":46},"Lab as Code","\u002Fget-started\u002Fwhy-code","01.get-started\u002F03.why-code",{"title":48,"path":49,"stem":50,"children":51,"page":42},"Setup","\u002Fget-started\u002Fsetup","01.get-started\u002F20.setup",[52,56,60,64,68,72,76],{"title":53,"path":54,"stem":55},"GroundControl","\u002Fget-started\u002Fsetup\u002Fgroundcontrol","01.get-started\u002F20.setup\u002F10.groundcontrol",{"title":57,"path":58,"stem":59},"Network requirements","\u002Fget-started\u002Fsetup\u002Fnetwork-requirements","01.get-started\u002F20.setup\u002F20.network-requirements",{"title":61,"path":62,"stem":63},"Multi-device Networking","\u002Fget-started\u002Fsetup\u002Fmultiple-devices","01.get-started\u002F20.setup\u002F30.multiple-devices",{"title":65,"path":66,"stem":67},"Connect to Platform","\u002Fget-started\u002Fsetup\u002Fconnect-to-platform","01.get-started\u002F20.setup\u002F40.connect-to-platform",{"title":69,"path":70,"stem":71},"Headless install","\u002Fget-started\u002Fsetup\u002Fheadless-install","01.get-started\u002F20.setup\u002F50.headless-install",{"title":73,"path":74,"stem":75},"Raspberry Pi","\u002Fget-started\u002Fsetup\u002Fraspberry-pi","01.get-started\u002F20.setup\u002F55.raspberry-pi",{"title":77,"path":78,"stem":79},"Installation","\u002Fget-started\u002Fsetup\u002Fsdk-installation","01.get-started\u002F20.setup\u002F60.sdk-installation",{"title":81,"path":82,"stem":83,"children":84,"page":42},"Integrate","\u002Fintegrate","02.integrate",[85,89,93,118],{"title":86,"path":87,"stem":88},"What is a connector?","\u002Fintegrate\u002Fwhat-is-a-connector","02.integrate\u002F00.what-is-a-connector",{"title":90,"path":91,"stem":92},"Calling a Connector","\u002Fintegrate\u002Fcontrol-with-code","02.integrate\u002F05.control-with-code",{"title":94,"path":95,"stem":96,"children":97,"page":42},"Concepts","\u002Fintegrate\u002Fconcepts","02.integrate\u002F10.concepts",[98,102,106,110,114],{"title":99,"path":100,"stem":101},"Connector","\u002Fintegrate\u002Fconcepts\u002Fconnector","02.integrate\u002F10.concepts\u002F10.connector",{"title":103,"path":104,"stem":105},"Module","\u002Fintegrate\u002Fconcepts\u002Fmodule","02.integrate\u002F10.concepts\u002F20.module",{"title":107,"path":108,"stem":109},"Action","\u002Fintegrate\u002Fconcepts\u002Faction","02.integrate\u002F10.concepts\u002F30.action",{"title":111,"path":112,"stem":113},"Subscription","\u002Fintegrate\u002Fconcepts\u002Fsubscription","02.integrate\u002F10.concepts\u002F40.subscription",{"title":115,"path":116,"stem":117},"Device","\u002Fintegrate\u002Fconcepts\u002Fdevice","02.integrate\u002F10.concepts\u002F50.device",{"title":119,"path":120,"stem":121,"children":122,"page":42},"Use a connector","\u002Fintegrate\u002Fuse-a-connector","02.integrate\u002F30.use-a-connector",[123,126,130],{"title":53,"path":124,"stem":125},"\u002Fintegrate\u002Fuse-a-connector\u002Fgroundcontrol","02.integrate\u002F30.use-a-connector\u002F10.groundcontrol",{"title":127,"path":128,"stem":129},"Platform","\u002Fintegrate\u002Fuse-a-connector\u002Fplatform","02.integrate\u002F30.use-a-connector\u002F20.platform",{"title":131,"path":132,"stem":133},"UniteLabs SDK & REST API","\u002Fintegrate\u002Fuse-a-connector\u002Fpython","02.integrate\u002F30.use-a-connector\u002F30.python",{"title":135,"path":136,"stem":137,"children":138,"page":42},"Operate","\u002Foperate","03.operate",[139,142,146,186,259],{"title":135,"path":140,"stem":141},"\u002Foperate\u002Foverview","03.operate\u002F00.overview",{"title":143,"path":144,"stem":145},"Your First Protocol","\u002Foperate\u002Fyour-first-protocol","03.operate\u002F05.your-first-protocol",{"title":94,"path":147,"stem":148,"children":149,"page":42},"\u002Foperate\u002Fconcepts","03.operate\u002F10.concepts",[150,154,158,162,166,170,174,178,182],{"title":151,"path":152,"stem":153},"Liquid Handling","\u002Foperate\u002Fconcepts\u002Fliquid-handling","03.operate\u002F10.concepts\u002F10.liquid-handling",{"title":155,"path":156,"stem":157},"Modules","\u002Foperate\u002Fconcepts\u002Fmodules","03.operate\u002F10.concepts\u002F20.modules",{"title":159,"path":160,"stem":161},"Deck","\u002Foperate\u002Fconcepts\u002Fdeck","03.operate\u002F10.concepts\u002F30.deck",{"title":163,"path":164,"stem":165},"Labware","\u002Foperate\u002Fconcepts\u002Flabware","03.operate\u002F10.concepts\u002F40.labware",{"title":167,"path":168,"stem":169},"Liquids","\u002Foperate\u002Fconcepts\u002Fliquids","03.operate\u002F10.concepts\u002F50.liquids",{"title":171,"path":172,"stem":173},"Liquid Classes","\u002Foperate\u002Fconcepts\u002Fliquid-classes","03.operate\u002F10.concepts\u002F60.liquid-classes",{"title":175,"path":176,"stem":177},"Tips and Tip Tracking","\u002Foperate\u002Fconcepts\u002Ftips","03.operate\u002F10.concepts\u002F70.tips",{"title":179,"path":180,"stem":181},"Simulation","\u002Foperate\u002Fconcepts\u002Fsimulation","03.operate\u002F10.concepts\u002F80.simulation",{"title":183,"path":184,"stem":185},"Error Handling","\u002Foperate\u002Fconcepts\u002Ferror-handling","03.operate\u002F10.concepts\u002F90.error-handling",{"title":187,"path":188,"stem":189,"children":190,"page":42},"Guides","\u002Foperate\u002Fguides","03.operate\u002F20.guides",[191,220,232,256],{"title":163,"path":192,"stem":193,"children":194},"\u002Foperate\u002Fguides\u002Flabware","03.operate\u002F20.guides\u002F10.labware\u002Findex",[195,196,200,204,208,212,216],{"title":163,"path":192,"stem":193},{"title":197,"path":198,"stem":199},"Standard Labware","\u002Foperate\u002Fguides\u002Flabware\u002Fstandard-labware","03.operate\u002F20.guides\u002F10.labware\u002F05.standard-labware",{"title":201,"path":202,"stem":203},"Plates","\u002Foperate\u002Fguides\u002Flabware\u002Fplates","03.operate\u002F20.guides\u002F10.labware\u002F10.plates",{"title":205,"path":206,"stem":207},"Tips and Tip Racks","\u002Foperate\u002Fguides\u002Flabware\u002Ftips-and-racks","03.operate\u002F20.guides\u002F10.labware\u002F20.tips-and-racks",{"title":209,"path":210,"stem":211},"Tubes and Tube Racks","\u002Foperate\u002Fguides\u002Flabware\u002Ftubes-and-tube-racks","03.operate\u002F20.guides\u002F10.labware\u002F30.tubes-and-tube-racks",{"title":213,"path":214,"stem":215},"Troughs","\u002Foperate\u002Fguides\u002Flabware\u002Ftroughs","03.operate\u002F20.guides\u002F10.labware\u002F35.troughs",{"title":217,"path":218,"stem":219},"Carriers and Adapters","\u002Foperate\u002Fguides\u002Flabware\u002Fcarriers-and-adapters","03.operate\u002F20.guides\u002F10.labware\u002F40.carriers-and-adapters",{"title":159,"path":221,"stem":222,"children":223,"page":42},"\u002Foperate\u002Fguides\u002Fdeck","03.operate\u002F20.guides\u002F20.deck",[224,228],{"title":225,"path":226,"stem":227},"Building a Deck","\u002Foperate\u002Fguides\u002Fdeck\u002Fbuilding-a-deck","03.operate\u002F20.guides\u002F20.deck\u002F10.building-a-deck",{"title":229,"path":230,"stem":231},"Save\u002FLoad a Deck","\u002Foperate\u002Fguides\u002Fdeck\u002Fsave-load-deck","03.operate\u002F20.guides\u002F20.deck\u002F20.save-load-deck",{"title":233,"path":234,"stem":235,"children":236,"page":42},"Pipetting","\u002Foperate\u002Fguides\u002Fpipetting","03.operate\u002F20.guides\u002F30.pipetting",[237,241,245,249,252],{"title":238,"path":239,"stem":240},"Basic Pipetting","\u002Foperate\u002Fguides\u002Fpipetting\u002Fbasic-pipetting","03.operate\u002F20.guides\u002F30.pipetting\u002F10.basic-pipetting",{"title":242,"path":243,"stem":244},"Advanced Pipetting","\u002Foperate\u002Fguides\u002Fpipetting\u002Fadvanced-pipetting","03.operate\u002F20.guides\u002F30.pipetting\u002F20.advanced-pipetting",{"title":246,"path":247,"stem":248},"Tip Handling","\u002Foperate\u002Fguides\u002Fpipetting\u002Ftip-handling","03.operate\u002F20.guides\u002F30.pipetting\u002F30.tip-handling",{"title":171,"path":250,"stem":251},"\u002Foperate\u002Fguides\u002Fpipetting\u002Fliquid-classes","03.operate\u002F20.guides\u002F30.pipetting\u002F40.liquid-classes",{"title":253,"path":254,"stem":255},"Labware Transport","\u002Foperate\u002Fguides\u002Fpipetting\u002Flabware-transport","03.operate\u002F20.guides\u002F30.pipetting\u002F50.labware-transport",{"title":179,"path":257,"stem":258},"\u002Foperate\u002Fguides\u002Fsimulation","03.operate\u002F20.guides\u002F40.simulation",{"title":260,"path":261,"stem":262,"children":263,"page":42},"Liquid Handler Guides","\u002Foperate\u002Fdevices","03.operate\u002F30.devices",[264,305,330,347],{"title":265,"path":266,"stem":267,"children":268,"page":42},"Hamilton STAR","\u002Foperate\u002Fdevices\u002Fhamilton-star","03.operate\u002F30.devices\u002F10.hamilton-star",[269,273,277,281,285,289,293,297,301],{"title":270,"path":271,"stem":272},"Positioning & Movement","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fpositioning","03.operate\u002F30.devices\u002F10.hamilton-star\u002F10.positioning",{"title":274,"path":275,"stem":276},"Gripper Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcore-gripper","03.operate\u002F30.devices\u002F10.hamilton-star\u002F20.core-gripper",{"title":278,"path":279,"stem":280},"iSWAP Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fiswap","03.operate\u002F30.devices\u002F10.hamilton-star\u002F30.iswap",{"title":282,"path":283,"stem":284},"Using TADM","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Ftadm","03.operate\u002F30.devices\u002F10.hamilton-star\u002F40.tadm",{"title":286,"path":287,"stem":288},"Autoload Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fautoload","03.operate\u002F30.devices\u002F10.hamilton-star\u002F50.autoload",{"title":290,"path":291,"stem":292},"Waste Block","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fwaste-block","03.operate\u002F30.devices\u002F10.hamilton-star\u002F60.waste-block",{"title":294,"path":295,"stem":296},"Complex Mixing","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcomplex-mixing","03.operate\u002F30.devices\u002F10.hamilton-star\u002F66.complex-mixing",{"title":298,"path":299,"stem":300},"Teaching Gripper Paddle Positions","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fgripper-positions","03.operate\u002F30.devices\u002F10.hamilton-star\u002F70.gripper-positions",{"title":302,"path":303,"stem":304},"Training a Custom Deck Position With the iSWAP","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcustom-deck-position","03.operate\u002F30.devices\u002F10.hamilton-star\u002F75.custom-deck-position",{"title":306,"path":307,"stem":308,"children":309,"page":42},"Hamilton Vantage","\u002Foperate\u002Fdevices\u002Fhamilton-vantage","03.operate\u002F30.devices\u002F20.hamilton-vantage",[310,314,318,322,326],{"title":311,"path":312,"stem":313},"Waste Configuration","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fwaste-configuration","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F05.waste-configuration",{"title":315,"path":316,"stem":317},"Covers and Lights","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fcovers-and-lights","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F10.covers-and-lights",{"title":319,"path":320,"stem":321},"IDL Module","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fidl","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F20.idl",{"title":323,"path":324,"stem":325},"IPG Module","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fipg","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F30.ipg",{"title":327,"path":328,"stem":329},"XL Pipettes","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fxl-channels","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F40.xl-channels",{"title":331,"path":332,"stem":333,"children":334,"page":42},"Agilent Bravo","\u002Foperate\u002Fdevices\u002Fagilent-bravo","03.operate\u002F30.devices\u002F30.agilent-bravo",[335,338,341,344],{"title":246,"path":336,"stem":337},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Ftip-handling","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F10.tip-handling",{"title":238,"path":339,"stem":340},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fbasic-pipetting","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F20.basic-pipetting",{"title":171,"path":342,"stem":343},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fliquid-classes","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F25.liquid-classes",{"title":274,"path":345,"stem":346},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fusing-the-gripper","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F30.using-the-gripper",{"title":348,"path":349,"stem":350,"children":351,"page":42},"Tecan FluentControl","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol",[352,356,360],{"title":353,"path":354,"stem":355},"Connect & Run a Method","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Fconnect-and-run","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F10.connect-and-run",{"title":357,"path":358,"stem":359},"Sending XML Commands","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Fsending-xml-commands","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F20.sending-xml-commands",{"title":361,"path":362,"stem":363},"Full Workflow Example","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Ffull-workflow-example","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F30.full-workflow-example",{"title":365,"path":366,"stem":367,"children":368,"page":42},"Device Guides","\u002Fdevice-guides","06.device-guides",[369,372,385,402,415],{"title":365,"path":370,"stem":371},"\u002Fdevice-guides\u002Foverview","06.device-guides\u002F00.overview",{"title":373,"path":374,"stem":375,"children":376,"page":42},"Incubation","\u002Fdevice-guides\u002Fincubation","06.device-guides\u002F20.incubation",[377,381],{"title":378,"path":379,"stem":380},"Inheco ODTC","\u002Fdevice-guides\u002Fincubation\u002Finheco-odtc","06.device-guides\u002F20.incubation\u002F10.inheco-odtc",{"title":382,"path":383,"stem":384},"Inheco SCILA","\u002Fdevice-guides\u002Fincubation\u002Finheco-scila","06.device-guides\u002F20.incubation\u002F20.inheco-scila",{"title":386,"path":387,"stem":388,"children":389,"page":42},"Heater-Shakers","\u002Fdevice-guides\u002Fheater-shakers","06.device-guides\u002F30.heater-shakers",[390,394,398],{"title":391,"path":392,"stem":393},"Inheco Thermoshake","\u002Fdevice-guides\u002Fheater-shakers\u002Finheco-thermoshake","06.device-guides\u002F30.heater-shakers\u002F10.inheco-thermoshake",{"title":395,"path":396,"stem":397},"QInstruments Bioshake","\u002Fdevice-guides\u002Fheater-shakers\u002Fqinstruments-bioshake","06.device-guides\u002F30.heater-shakers\u002F20.qinstruments-bioshake",{"title":399,"path":400,"stem":401},"QInstruments ColdPlate","\u002Fdevice-guides\u002Fheater-shakers\u002Fqinstruments-coldplate","06.device-guides\u002F30.heater-shakers\u002F30.qinstruments-coldplate",{"title":403,"path":404,"stem":405,"children":406,"page":42},"Readers","\u002Fdevice-guides\u002Freaders","06.device-guides\u002F40.readers",[407,411],{"title":408,"path":409,"stem":410},"Biotek Gen5","\u002Fdevice-guides\u002Freaders\u002Fbiotek-gen5","06.device-guides\u002F40.readers\u002F10.biotek-gen5",{"title":412,"path":413,"stem":414},"Biotek Synergy H1","\u002Fdevice-guides\u002Freaders\u002Fbiotek-synergy-h1","06.device-guides\u002F40.readers\u002F20.biotek-synergy-H1",{"title":416,"path":417,"stem":418,"children":419,"page":42},"Tilt & Turn","\u002Fdevice-guides\u002Ftilt-and-turn","06.device-guides\u002F50.tilt-and-turn",[420,424],{"title":421,"path":422,"stem":423},"TurnStation","\u002Fdevice-guides\u002Ftilt-and-turn\u002Fqinstruments-turnstation","06.device-guides\u002F50.tilt-and-turn\u002F10.qinstruments-turnstation",{"title":425,"path":426,"stem":427},"TiltStation","\u002Fdevice-guides\u002Ftilt-and-turn\u002Fqinstruments-tiltstation","06.device-guides\u002F50.tilt-and-turn\u002F20.qinstruments-tiltstation",{"title":429,"path":430,"stem":431,"children":432,"page":42},"Automate","\u002Fautomate","07.automate",[433,437,441,445,494],{"title":434,"path":435,"stem":436},"What is a workflow?","\u002Fautomate\u002Fwhat-is-a-workflow","07.automate\u002F00.what-is-a-workflow",{"title":438,"path":439,"stem":440},"Workflow template","\u002Fautomate\u002Fworkflow-template","07.automate\u002F05.workflow-template",{"title":442,"path":443,"stem":444},"Your First Workflow","\u002Fautomate\u002Fyour-first-workflow","07.automate\u002F08.your-first-workflow",{"title":94,"pages":446,"path":456,"stem":457,"children":458,"page":42},[447,448,449,450,451,452,453,454,455],"workflow","phase","step","runs","input","artifacts","logs","human-in-the-loop","error-handling","\u002Fautomate\u002Fconcepts","07.automate\u002F10.concepts",[459,463,467,471,475,479,483,487,491],{"title":460,"path":461,"stem":462},"Workflow","\u002Fautomate\u002Fconcepts\u002Fworkflow","07.automate\u002F10.concepts\u002F10.workflow",{"title":464,"path":465,"stem":466},"Phase","\u002Fautomate\u002Fconcepts\u002Fphase","07.automate\u002F10.concepts\u002F20.phase",{"title":468,"path":469,"stem":470},"Step","\u002Fautomate\u002Fconcepts\u002Fstep","07.automate\u002F10.concepts\u002F30.step",{"title":472,"path":473,"stem":474},"Runs","\u002Fautomate\u002Fconcepts\u002Fruns","07.automate\u002F10.concepts\u002F40.runs",{"title":476,"path":477,"stem":478},"Input","\u002Fautomate\u002Fconcepts\u002Finput","07.automate\u002F10.concepts\u002F50.input",{"title":480,"path":481,"stem":482},"Artifacts","\u002Fautomate\u002Fconcepts\u002Fartifacts","07.automate\u002F10.concepts\u002F60.artifacts",{"title":484,"path":485,"stem":486},"Logs","\u002Fautomate\u002Fconcepts\u002Flogs","07.automate\u002F10.concepts\u002F70.logs",{"title":488,"path":489,"stem":490},"Human in the Loop","\u002Fautomate\u002Fconcepts\u002Fhuman-in-the-loop","07.automate\u002F10.concepts\u002F80.human-in-the-loop",{"title":183,"path":492,"stem":493},"\u002Fautomate\u002Fconcepts\u002Ferror-handling","07.automate\u002F10.concepts\u002F90.error-handling",{"title":187,"path":495,"stem":496,"children":497,"page":42},"\u002Fautomate\u002Fguides","07.automate\u002F25.guides",[498,502,506,510,514,518,522,526],{"title":499,"path":500,"stem":501},"Deploy a workflow","\u002Fautomate\u002Fguides\u002Fdeploy-a-workflow","07.automate\u002F25.guides\u002F30.deploy-a-workflow",{"title":503,"path":504,"stem":505},"Run a workflow","\u002Fautomate\u002Fguides\u002Frun-a-workflow","07.automate\u002F25.guides\u002F35.run-a-workflow",{"title":507,"path":508,"stem":509},"CI\u002FCD for workflows","\u002Fautomate\u002Fguides\u002Fcicd-for-workflows","07.automate\u002F25.guides\u002F40.cicd-for-workflows",{"title":511,"path":512,"stem":513},"HITL basics","\u002Fautomate\u002Fguides\u002Fbasic-hitl","07.automate\u002F25.guides\u002F50.basic-hitl",{"title":515,"path":516,"stem":517},"Typed operator inputs","\u002Fautomate\u002Fguides\u002Ftyped-operator-inputs","07.automate\u002F25.guides\u002F55.typed-operator-inputs",{"title":519,"path":520,"stem":521},"Error recovery","\u002Fautomate\u002Fguides\u002Fbasic-error-handling","07.automate\u002F25.guides\u002F60.basic-error-handling",{"title":523,"path":524,"stem":525},"Advanced error handling","\u002Fautomate\u002Fguides\u002Fadvanced-error-handling","07.automate\u002F25.guides\u002F70.advanced-error-handling",{"title":527,"path":528,"stem":529},"Workflows REST API","\u002Fautomate\u002Fguides\u002Fworkflows-api","07.automate\u002F25.guides\u002F80.workflows-api",{"title":531,"path":532,"stem":533,"children":534,"page":42},"Observe","\u002Fobserve","08.observe",[535,539,555],{"title":536,"path":537,"stem":538},"Overview","\u002Fobserve\u002Foverview","08.observe\u002F10.overview",{"title":94,"path":540,"stem":541,"children":542,"page":42},"\u002Fobserve\u002Fconcepts","08.observe\u002F20.concepts",[543,547,551],{"title":544,"path":545,"stem":546},"Object Storage","\u002Fobserve\u002Fconcepts\u002Fstorage","08.observe\u002F20.concepts\u002F10.storage",{"title":548,"path":549,"stem":550},"Secrets","\u002Fobserve\u002Fconcepts\u002Fsecrets","08.observe\u002F20.concepts\u002F20.secrets",{"title":552,"path":553,"stem":554},"Data sources","\u002Fobserve\u002Fconcepts\u002Fdata-sources","08.observe\u002F20.concepts\u002F30.data-sources",{"title":187,"path":556,"stem":557,"children":558,"page":42},"\u002Fobserve\u002Fguides","08.observe\u002F30.guides",[559,563],{"title":560,"path":561,"stem":562},"File System Connector","\u002Fobserve\u002Fguides\u002Ffilesystem-connector","08.observe\u002F30.guides\u002F10.filesystem-connector",{"title":564,"path":565,"stem":566},"Building an ETL","\u002Fobserve\u002Fguides\u002Fbuilding-an-etl","08.observe\u002F30.guides\u002F20.building-an-etl",{"title":568,"path":569,"stem":570,"children":571,"page":42},"Technical Reference","\u002Ftechnical-reference","10.technical-reference",[572,576,580,592,603,614,624,635],{"title":573,"path":574,"stem":575},"Introduction","\u002Ftechnical-reference\u002Fplatform-blueprint","10.technical-reference\u002F00.platform-blueprint",{"title":577,"path":578,"stem":579},"REST API","\u002Ftechnical-reference\u002Frest-api","10.technical-reference\u002F01.rest-api",{"title":53,"path":581,"stem":582,"children":583,"page":42},"\u002Ftechnical-reference\u002Fgroundcontrol","10.technical-reference\u002F10.groundcontrol",[584,588],{"title":585,"path":586,"stem":587},"Install & Setup","\u002Ftechnical-reference\u002Fgroundcontrol\u002Finstall","10.technical-reference\u002F10.groundcontrol\u002F10.install",{"title":589,"path":590,"stem":591},"Changelog","\u002Ftechnical-reference\u002Fgroundcontrol\u002Fchangelog","10.technical-reference\u002F10.groundcontrol\u002F20.changelog",{"title":593,"path":594,"stem":595,"children":596,"page":42},"UniteLabs SDK","\u002Ftechnical-reference\u002Fpython-sdk","10.technical-reference\u002F20.python-sdk",[597,600],{"title":585,"path":598,"stem":599},"\u002Ftechnical-reference\u002Fpython-sdk\u002Finstall","10.technical-reference\u002F20.python-sdk\u002F10.install",{"title":589,"path":601,"stem":602},"\u002Ftechnical-reference\u002Fpython-sdk\u002Fchangelog","10.technical-reference\u002F20.python-sdk\u002F20.changelog",{"title":604,"path":605,"stem":606,"children":607,"page":42},"Liquid Handling SDK","\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk","10.technical-reference\u002F30.python-liquid-handling-sdk",[608,611],{"title":585,"path":609,"stem":610},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Finstall","10.technical-reference\u002F30.python-liquid-handling-sdk\u002F10.install",{"title":589,"path":612,"stem":613},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Fchangelog","10.technical-reference\u002F30.python-liquid-handling-sdk\u002F20.changelog",{"title":163,"path":615,"stem":616,"children":617,"page":42},"\u002Ftechnical-reference\u002Flabware","10.technical-reference\u002F40.labware",[618,621],{"title":585,"path":619,"stem":620},"\u002Ftechnical-reference\u002Flabware\u002Finstall","10.technical-reference\u002F40.labware\u002F10.install",{"title":589,"path":622,"stem":623},"\u002Ftechnical-reference\u002Flabware\u002Fchangelog","10.technical-reference\u002F40.labware\u002F20.changelog",{"title":625,"path":626,"stem":627,"children":628,"page":42},"Python Omnibus","\u002Ftechnical-reference\u002Fpython-omnibus","10.technical-reference\u002F50.python-omnibus",[629,632],{"title":585,"path":630,"stem":631},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Finstall","10.technical-reference\u002F50.python-omnibus\u002F10.install",{"title":589,"path":633,"stem":634},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Fchangelog","10.technical-reference\u002F50.python-omnibus\u002F20.changelog",{"title":636,"path":637,"stem":638,"children":639,"page":42},"Python CDK","\u002Ftechnical-reference\u002Fpython-cdk","10.technical-reference\u002F60.python-cdk",[640,643],{"title":585,"path":641,"stem":642},"\u002Ftechnical-reference\u002Fpython-cdk\u002Finstall","10.technical-reference\u002F60.python-cdk\u002F10.install",{"title":589,"path":644,"stem":645},"\u002Ftechnical-reference\u002Fpython-cdk\u002Fchangelog","10.technical-reference\u002F60.python-cdk\u002F20.changelog",{"title":647,"path":648,"stem":649,"children":650},"Connector Development (CDK)","\u002Fconnector-development","20.connector-development",[651,653,672,705,713,744],{"title":647,"path":648,"stem":652},"20.connector-development\u002Findex",{"title":654,"path":655,"stem":656,"children":657,"page":42},"Getting Started","\u002Fconnector-development\u002Fgetting-started","20.connector-development\u002F10.getting-started",[658,661,665,668],{"title":536,"path":659,"stem":660},"\u002Fconnector-development\u002Fgetting-started\u002Foverview","20.connector-development\u002F10.getting-started\u002F10.overview",{"title":662,"path":663,"stem":664},"What's new","\u002Fconnector-development\u002Fgetting-started\u002Fwhats-new","20.connector-development\u002F10.getting-started\u002F20.whats-new",{"title":77,"path":666,"stem":667},"\u002Fconnector-development\u002Fgetting-started\u002Finstallation","20.connector-development\u002F10.getting-started\u002F30.installation",{"title":669,"path":670,"stem":671},"Contributing","\u002Fconnector-development\u002Fgetting-started\u002Fcontributing","20.connector-development\u002F10.getting-started\u002F40.contributing",{"title":673,"path":674,"stem":675,"children":676,"page":42},"Tutorial","\u002Fconnector-development\u002Ftutorial","20.connector-development\u002F20.tutorial",[677,681,685,689,693,697,701],{"title":678,"path":679,"stem":680},"Walkthrough","\u002Fconnector-development\u002Ftutorial\u002Fwalkthrough","20.connector-development\u002F20.tutorial\u002F00.walkthrough",{"title":682,"path":683,"stem":684},"SiLA Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fsila-endpoints","20.connector-development\u002F20.tutorial\u002F10.sila-endpoints",{"title":686,"path":687,"stem":688},"Data Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fdata-endpoints","20.connector-development\u002F20.tutorial\u002F20.data-endpoints",{"title":690,"path":691,"stem":692},"Controls","\u002Fconnector-development\u002Ftutorial\u002Fcontrols","20.connector-development\u002F20.tutorial\u002F30.controls",{"title":694,"path":695,"stem":696},"SiLA Data Types","\u002Fconnector-development\u002Ftutorial\u002Fdata-types","20.connector-development\u002F20.tutorial\u002F40.data-types",{"title":698,"path":699,"stem":700},"Feature","\u002Fconnector-development\u002Ftutorial\u002Fconnector-structure","20.connector-development\u002F20.tutorial\u002F70.connector-structure",{"title":702,"path":703,"stem":704},"Hardware Communication","\u002Fconnector-development\u002Ftutorial\u002Fhardware-communication","20.connector-development\u002F20.tutorial\u002F90.hardware-communication",{"title":94,"path":706,"stem":707,"children":708,"page":42},"\u002Fconnector-development\u002Fconcepts","20.connector-development\u002F30.concepts",[709],{"title":710,"path":711,"stem":712},"SiLA","\u002Fconnector-development\u002Fconcepts\u002Fsila","20.connector-development\u002F30.concepts\u002Fsila",{"title":187,"path":714,"stem":715,"children":716,"page":42},"\u002Fconnector-development\u002Fguides","20.connector-development\u002F40.guides",[717,721,725,729,733,736,740],{"title":718,"path":719,"stem":720},"Configuration","\u002Fconnector-development\u002Fguides\u002Fconfiguration","20.connector-development\u002F40.guides\u002F20.configuration",{"title":722,"path":723,"stem":724},"Deployment","\u002Fconnector-development\u002Fguides\u002Fdeployment","20.connector-development\u002F40.guides\u002F30.deployment",{"title":726,"path":727,"stem":728},"Security","\u002Fconnector-development\u002Fguides\u002Fsecurity","20.connector-development\u002F40.guides\u002F40.security",{"title":730,"path":731,"stem":732},"Subscriptions","\u002Fconnector-development\u002Fguides\u002Fsubscriptions","20.connector-development\u002F40.guides\u002F45.subscriptions",{"title":183,"path":734,"stem":735},"\u002Fconnector-development\u002Fguides\u002Ferror-handling","20.connector-development\u002F40.guides\u002F50.error-handling",{"title":737,"path":738,"stem":739},"Serial Troubleshooting","\u002Fconnector-development\u002Fguides\u002Fserial-troubleshooting","20.connector-development\u002F40.guides\u002F70.serial-troubleshooting",{"title":741,"path":742,"stem":743},"Testing","\u002Fconnector-development\u002Fguides\u002Ftesting","20.connector-development\u002F40.guides\u002F80.testing",{"title":745,"path":746,"stem":747,"children":748},"References","\u002Fconnector-development\u002Freference","20.connector-development\u002F50.reference\u002Findex",[749],{"title":745,"path":746,"stem":747},{"id":751,"title":298,"body":752,"description":1742,"extension":1743,"links":1744,"meta":1745,"navigation":1122,"path":299,"seo":1746,"stem":300,"__hash__":1747},"docs\u002F03.operate\u002F30.devices\u002F10.hamilton-star\u002F70.gripper-positions.md",{"type":753,"value":754,"toc":1737},"minimark",[755,759,765,790,795,798,806,970,979,982,1040,1047,1055,1065,1069,1072,1176,1179,1186,1189,1206,1209,1212,1249,1256,1342,1349,1427,1430,1490,1493,1553,1556,1559,1563,1669,1676,1679,1701,1704,1726,1733],[756,757,758],"p",{},"This guide explains the teaching process of the CO-RE gripper positions on the MFX CO-RE gripper carrier and how the gripper module is configured.",[756,760,761],{},[762,763,764],"strong",{},"Prerequisites",[766,767,768,772,775,778,781],"ul",{},[769,770,771],"li",{},"A switched on Microlab STAR device",[769,773,774],{},"A running Microlab STAR connector",[769,776,777],{},"An MFX CO-RE gripper carrier with two gripper paddles",[769,779,780],{},"At least two installed pipetting channels",[769,782,783,784,789],{},"Understanding of basic movement of the pipetting channels as described in the ",[785,786,788],"a",{"href":787},"\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fpositioning\u002F","Positioning and movement"," guide",[791,792,794],"h2",{"id":793},"get-deck-dimensions","Get Deck Dimensions",[756,796,797],{},"Instantiate a liquid handler instance and initialize the device. This will load the device configuration from the device's firmware. The configuration is set up during the initial hardware installation of the device. In case the configuration does not match the actual device state, it can be adjusted with the UniteLabs SDK, but we strongly advise to consult with the vendor.",[756,799,800,801,805],{},"The configuration can be viewed via the ",[802,803,804],"code",{},"await hamilton.get_configuration()"," method. To quickly hone in on the x-coordinate of the gripper position, we check the following entries:",[807,808,813],"pre",{"className":809,"code":810,"language":811,"meta":812,"style":812},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight",">>> await hamilton.get_configuration()\n{\n    ...\n    'waste_x': Decimal('1340.0'),\n    'waste_direction': 'right',\n    'min_x': Decimal('360.0'),\n    'max_x': Decimal('1140.0'),\n    ...\n}\n","python","",[802,814,815,842,848,854,886,909,934,959,964],{"__ignoreMap":812},[816,817,820,824,828,832,835,839],"span",{"class":818,"line":819},"line",1,[816,821,823],{"class":822},"sMK4o",">>>",[816,825,827],{"class":826},"s7zQu"," await",[816,829,831],{"class":830},"sTEyZ"," hamilton",[816,833,834],{"class":822},".",[816,836,838],{"class":837},"s2Zo4","get_configuration",[816,840,841],{"class":822},"()\n",[816,843,845],{"class":818,"line":844},2,[816,846,847],{"class":822},"{\n",[816,849,851],{"class":818,"line":850},3,[816,852,853],{"class":830},"    ...\n",[816,855,857,860,864,867,870,873,876,878,881,883],{"class":818,"line":856},4,[816,858,859],{"class":822},"    '",[816,861,863],{"class":862},"sfazB","waste_x",[816,865,866],{"class":822},"'",[816,868,869],{"class":822},":",[816,871,872],{"class":837}," Decimal",[816,874,875],{"class":822},"(",[816,877,866],{"class":822},[816,879,880],{"class":862},"1340.0",[816,882,866],{"class":822},[816,884,885],{"class":822},"),\n",[816,887,889,891,894,896,898,901,904,906],{"class":818,"line":888},5,[816,890,859],{"class":822},[816,892,893],{"class":862},"waste_direction",[816,895,866],{"class":822},[816,897,869],{"class":822},[816,899,900],{"class":822}," '",[816,902,903],{"class":862},"right",[816,905,866],{"class":822},[816,907,908],{"class":822},",\n",[816,910,912,914,917,919,921,923,925,927,930,932],{"class":818,"line":911},6,[816,913,859],{"class":822},[816,915,916],{"class":862},"min_x",[816,918,866],{"class":822},[816,920,869],{"class":822},[816,922,872],{"class":837},[816,924,875],{"class":822},[816,926,866],{"class":822},[816,928,929],{"class":862},"360.0",[816,931,866],{"class":822},[816,933,885],{"class":822},[816,935,937,939,942,944,946,948,950,952,955,957],{"class":818,"line":936},7,[816,938,859],{"class":822},[816,940,941],{"class":862},"max_x",[816,943,866],{"class":822},[816,945,869],{"class":822},[816,947,872],{"class":837},[816,949,875],{"class":822},[816,951,866],{"class":822},[816,953,954],{"class":862},"1140.0",[816,956,866],{"class":822},[816,958,885],{"class":822},[816,960,962],{"class":818,"line":961},8,[816,963,853],{"class":830},[816,965,967],{"class":818,"line":966},9,[816,968,969],{"class":822},"}\n",[756,971,972,973,975,976,978],{},"In most cases, the (fixed) carrier is located between the last track and the trash position, i.e. the ",[802,974,941],{}," and the ",[802,977,863],{}," respectively.",[756,980,981],{},"The following table provides some references of some device instances:",[983,984,985,1003],"table",{},[986,987,988],"thead",{},[989,990,991,996,1000],"tr",{},[992,993,995],"th",{"align":994},"left","Model",[992,997,999],{"align":998},"center","Gripper Position 1",[992,1001,1002],{"align":998},"Gripper Position 2",[1004,1005,1006,1018,1029],"tbody",{},[989,1007,1008,1012,1015],{},[1009,1010,1011],"td",{"align":994},"Microlab STARlet",[1009,1013,1014],{"align":998},"x=796, y=105, z=225",[1009,1016,1017],{"align":998},"x=796, y=79, z=225",[989,1019,1020,1023,1026],{},[1009,1021,1022],{"align":994},"Microlab STARlet (2009)",[1009,1024,1025],{"align":998},"x=797, y=124.3, z=234.7",[1009,1027,1028],{"align":998},"x=797, y=106.3, z=234.7",[989,1030,1031,1034,1037],{},[1009,1032,1033],{"align":994},"Microlab STAR",[1009,1035,1036],{"align":998},"x=1338.1, y=125, z=235",[1009,1038,1039],{"align":998},"x=1338.1, y=106.5, z=235",[756,1041,1042,1043,1046],{},"We can check that the gripper is not configured by running ",[802,1044,1045],{},"hamilton.core_gripper.park_location",", resulting in:",[807,1048,1053],{"className":1049,"code":1051,"language":1052,"meta":812},[1050],"language-text","(Vector(x=Decimal('0'), y=Decimal('0'), z=Decimal('0')),\n Vector(x=Decimal('0'), y=Decimal('0'), z=Decimal('0')))\n","text",[802,1054,1051],{"__ignoreMap":812},[1056,1057,1059],"callout",{"icon":1058},"i-heroicons-shield-exclamation",[756,1060,1061,1064],{},[762,1062,1063],{},"Warning",": Never use the gripper without configuring the positions correctly. This may crash the pipetting channels!",[791,1066,1068],{"id":1067},"channel-selection-teaching","Channel Selection & Teaching",[756,1070,1071],{},"Typically, the two channels closest to the cover are used, which correspond to the last two channels with the highest indices, which may vary depending on the number of channels installed. Before we start the teaching process, we clear the y-range to move the other channels out of the way and start with the foremost channel. For an 8-channel setup, we use the following:",[807,1073,1075],{"className":809,"code":1074,"language":811,"meta":812,"style":812},"hamilton.api.min_traverse_height = 282.5\nawait hamilton.api.disable_cover_control()\n\nawait hamilton.pipettes.clear_y_range(channels=[7])\nawait hamilton.pipettes.api.set_z_positions_to_safety()\n",[802,1076,1077,1100,1118,1124,1155],{"__ignoreMap":812},[816,1078,1079,1082,1084,1088,1090,1093,1096],{"class":818,"line":819},[816,1080,1081],{"class":830},"hamilton",[816,1083,834],{"class":822},[816,1085,1087],{"class":1086},"swJcz","api",[816,1089,834],{"class":822},[816,1091,1092],{"class":1086},"min_traverse_height",[816,1094,1095],{"class":822}," =",[816,1097,1099],{"class":1098},"sbssI"," 282.5\n",[816,1101,1102,1105,1107,1109,1111,1113,1116],{"class":818,"line":844},[816,1103,1104],{"class":826},"await",[816,1106,831],{"class":830},[816,1108,834],{"class":822},[816,1110,1087],{"class":1086},[816,1112,834],{"class":822},[816,1114,1115],{"class":837},"disable_cover_control",[816,1117,841],{"class":822},[816,1119,1120],{"class":818,"line":850},[816,1121,1123],{"emptyLinePlaceholder":1122},true,"\n",[816,1125,1126,1128,1130,1132,1135,1137,1140,1142,1146,1149,1152],{"class":818,"line":856},[816,1127,1104],{"class":826},[816,1129,831],{"class":830},[816,1131,834],{"class":822},[816,1133,1134],{"class":1086},"pipettes",[816,1136,834],{"class":822},[816,1138,1139],{"class":837},"clear_y_range",[816,1141,875],{"class":822},[816,1143,1145],{"class":1144},"sHdIc","channels",[816,1147,1148],{"class":822},"=[",[816,1150,1151],{"class":1098},"7",[816,1153,1154],{"class":822},"])\n",[816,1156,1157,1159,1161,1163,1165,1167,1169,1171,1174],{"class":818,"line":888},[816,1158,1104],{"class":826},[816,1160,831],{"class":830},[816,1162,834],{"class":822},[816,1164,1134],{"class":1086},[816,1166,834],{"class":822},[816,1168,1087],{"class":1086},[816,1170,834],{"class":822},[816,1172,1173],{"class":837},"set_z_positions_to_safety",[816,1175,841],{"class":822},[756,1177,1178],{},"We can always check the current location of the channels by using:",[766,1180,1181],{},[769,1182,1183],{},[802,1184,1185],{},"await hamilton.pipettes.current_locations()",[756,1187,1188],{},"for all locations at once or",[766,1190,1191,1196,1201],{},[769,1192,1193],{},[802,1194,1195],{},"await hamilton.pipettes.api.get_z_positions()",[769,1197,1198],{},[802,1199,1200],{},"await hamilton.pipettes.api.get_x_position()",[769,1202,1203],{},[802,1204,1205],{},"await hamilton.pipettes.api.get_y_positions()",[756,1207,1208],{},"for the individual directions.",[756,1210,1211],{},"After checking that the deck is clear of any obstructions, the arm is moved to the approximate location. In this case\nthe waste_x-coordinate of a STAR model is used.",[807,1213,1215],{"className":809,"code":1214,"language":811,"meta":812,"style":812},"await hamilton.pipettes.api.set_x_position(x_position=1340.0)\n",[802,1216,1217],{"__ignoreMap":812},[816,1218,1219,1221,1223,1225,1227,1229,1231,1233,1236,1238,1241,1244,1246],{"class":818,"line":819},[816,1220,1104],{"class":826},[816,1222,831],{"class":830},[816,1224,834],{"class":822},[816,1226,1134],{"class":1086},[816,1228,834],{"class":822},[816,1230,1087],{"class":1086},[816,1232,834],{"class":822},[816,1234,1235],{"class":837},"set_x_position",[816,1237,875],{"class":822},[816,1239,1240],{"class":1144},"x_position",[816,1242,1243],{"class":822},"=",[816,1245,880],{"class":1098},[816,1247,1248],{"class":822},")\n",[756,1250,1251,1252,1255],{},"Alternatively, the ",[802,1253,1254],{},"move_to"," method can be used to specify a new location in x-, y-, z-coordinates:",[807,1257,1259],{"className":809,"code":1258,"language":811,"meta":812,"style":812},"from unitelabs.labware import Vector\n\nawait hamilton.pipettes[7].move_to(Vector(x=1340.0, y=125, z=334.7))\n",[802,1260,1261,1280,1284],{"__ignoreMap":812},[816,1262,1263,1266,1269,1271,1274,1277],{"class":818,"line":819},[816,1264,1265],{"class":826},"from",[816,1267,1268],{"class":830}," unitelabs",[816,1270,834],{"class":822},[816,1272,1273],{"class":830},"labware ",[816,1275,1276],{"class":826},"import",[816,1278,1279],{"class":830}," Vector\n",[816,1281,1282],{"class":818,"line":844},[816,1283,1123],{"emptyLinePlaceholder":1122},[816,1285,1286,1288,1290,1292,1294,1297,1299,1302,1304,1306,1309,1311,1314,1316,1318,1321,1324,1326,1329,1331,1334,1336,1339],{"class":818,"line":850},[816,1287,1104],{"class":826},[816,1289,831],{"class":830},[816,1291,834],{"class":822},[816,1293,1134],{"class":1086},[816,1295,1296],{"class":822},"[",[816,1298,1151],{"class":1098},[816,1300,1301],{"class":822},"].",[816,1303,1254],{"class":837},[816,1305,875],{"class":822},[816,1307,1308],{"class":837},"Vector",[816,1310,875],{"class":822},[816,1312,1313],{"class":1144},"x",[816,1315,1243],{"class":822},[816,1317,880],{"class":1098},[816,1319,1320],{"class":822},",",[816,1322,1323],{"class":1144}," y",[816,1325,1243],{"class":822},[816,1327,1328],{"class":1098},"125",[816,1330,1320],{"class":822},[816,1332,1333],{"class":1144}," z",[816,1335,1243],{"class":822},[816,1337,1338],{"class":1098},"334.7",[816,1340,1341],{"class":822},"))\n",[756,1343,1344,1345,1348],{},"We can use the ",[802,1346,1347],{},"move_by"," method to hone in on the exact x-, y-, and z-location just above the gripper paddles.",[807,1350,1352],{"className":809,"code":1351,"language":811,"meta":812,"style":812},"from unitelabs.labware import Vector\n\nawait hamilton.pipettes[7].move_by(Vector(y=10))\nawait hamilton.pipettes.api.get_y_positions()\n",[802,1353,1354,1368,1372,1406],{"__ignoreMap":812},[816,1355,1356,1358,1360,1362,1364,1366],{"class":818,"line":819},[816,1357,1265],{"class":826},[816,1359,1268],{"class":830},[816,1361,834],{"class":822},[816,1363,1273],{"class":830},[816,1365,1276],{"class":826},[816,1367,1279],{"class":830},[816,1369,1370],{"class":818,"line":844},[816,1371,1123],{"emptyLinePlaceholder":1122},[816,1373,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1399,1401,1404],{"class":818,"line":850},[816,1375,1104],{"class":826},[816,1377,831],{"class":830},[816,1379,834],{"class":822},[816,1381,1134],{"class":1086},[816,1383,1296],{"class":822},[816,1385,1151],{"class":1098},[816,1387,1301],{"class":822},[816,1389,1347],{"class":837},[816,1391,875],{"class":822},[816,1393,1308],{"class":837},[816,1395,875],{"class":822},[816,1397,1398],{"class":1144},"y",[816,1400,1243],{"class":822},[816,1402,1403],{"class":1098},"10",[816,1405,1341],{"class":822},[816,1407,1408,1410,1412,1414,1416,1418,1420,1422,1425],{"class":818,"line":856},[816,1409,1104],{"class":826},[816,1411,831],{"class":830},[816,1413,834],{"class":822},[816,1415,1134],{"class":1086},[816,1417,834],{"class":822},[816,1419,1087],{"class":1086},[816,1421,834],{"class":822},[816,1423,1424],{"class":837},"get_y_positions",[816,1426,841],{"class":822},[756,1428,1429],{},"for z:",[807,1431,1433],{"className":809,"code":1432,"language":811,"meta":812,"style":812},"await hamilton.pipettes[7].move_by(Vector(z=-10))\nawait hamilton.pipettes.api.get_z_positions()\n",[802,1434,1435,1469],{"__ignoreMap":812},[816,1436,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1462,1465,1467],{"class":818,"line":819},[816,1438,1104],{"class":826},[816,1440,831],{"class":830},[816,1442,834],{"class":822},[816,1444,1134],{"class":1086},[816,1446,1296],{"class":822},[816,1448,1151],{"class":1098},[816,1450,1301],{"class":822},[816,1452,1347],{"class":837},[816,1454,875],{"class":822},[816,1456,1308],{"class":837},[816,1458,875],{"class":822},[816,1460,1461],{"class":1144},"z",[816,1463,1464],{"class":822},"=-",[816,1466,1403],{"class":1098},[816,1468,1341],{"class":822},[816,1470,1471,1473,1475,1477,1479,1481,1483,1485,1488],{"class":818,"line":844},[816,1472,1104],{"class":826},[816,1474,831],{"class":830},[816,1476,834],{"class":822},[816,1478,1134],{"class":1086},[816,1480,834],{"class":822},[816,1482,1087],{"class":1086},[816,1484,834],{"class":822},[816,1486,1487],{"class":837},"get_z_positions",[816,1489,841],{"class":822},[756,1491,1492],{},"and for x respectively:",[807,1494,1496],{"className":809,"code":1495,"language":811,"meta":812,"style":812},"await hamilton.pipettes[3].move_by(Vector(x=0.1))\nawait hamilton.pipettes.api.get_x_position()\n",[802,1497,1498,1532],{"__ignoreMap":812},[816,1499,1500,1502,1504,1506,1508,1510,1513,1515,1517,1519,1521,1523,1525,1527,1530],{"class":818,"line":819},[816,1501,1104],{"class":826},[816,1503,831],{"class":830},[816,1505,834],{"class":822},[816,1507,1134],{"class":1086},[816,1509,1296],{"class":822},[816,1511,1512],{"class":1098},"3",[816,1514,1301],{"class":822},[816,1516,1347],{"class":837},[816,1518,875],{"class":822},[816,1520,1308],{"class":837},[816,1522,875],{"class":822},[816,1524,1313],{"class":1144},[816,1526,1243],{"class":822},[816,1528,1529],{"class":1098},"0.1",[816,1531,1341],{"class":822},[816,1533,1534,1536,1538,1540,1542,1544,1546,1548,1551],{"class":818,"line":844},[816,1535,1104],{"class":826},[816,1537,831],{"class":830},[816,1539,834],{"class":822},[816,1541,1134],{"class":1086},[816,1543,834],{"class":822},[816,1545,1087],{"class":1086},[816,1547,834],{"class":822},[816,1549,1550],{"class":837},"get_x_position",[816,1552,841],{"class":822},[756,1554,1555],{},"Repeat this process until all axes are aligned. The x- and y-position must align with the center of the paddle hole, whereas the bottom of the channel must align with the upper brim of the paddle hole.",[756,1557,1558],{},"Repeat this for position 2. The same channel is used for teaching although for configuration, the second gripper channel is used.",[791,1560,1562],{"id":1561},"configuration-usage","Configuration & Usage",[807,1564,1566],{"className":809,"code":1565,"language":811,"meta":812,"style":812},"await hamilton.core_gripper.configure(park_location=(Vector(x=1338.1, y=125, z=235), Vector(x=1338.1, y=106.5, z=235)), channels=(6, 7))\n",[802,1567,1568],{"__ignoreMap":812},[816,1569,1570,1572,1574,1576,1579,1581,1584,1586,1589,1592,1594,1596,1598,1600,1603,1605,1607,1609,1611,1613,1615,1617,1620,1623,1626,1628,1630,1632,1634,1636,1638,1640,1643,1645,1647,1649,1651,1654,1657,1659,1662,1664,1667],{"class":818,"line":819},[816,1571,1104],{"class":826},[816,1573,831],{"class":830},[816,1575,834],{"class":822},[816,1577,1578],{"class":1086},"core_gripper",[816,1580,834],{"class":822},[816,1582,1583],{"class":837},"configure",[816,1585,875],{"class":822},[816,1587,1588],{"class":1144},"park_location",[816,1590,1591],{"class":822},"=(",[816,1593,1308],{"class":837},[816,1595,875],{"class":822},[816,1597,1313],{"class":1144},[816,1599,1243],{"class":822},[816,1601,1602],{"class":1098},"1338.1",[816,1604,1320],{"class":822},[816,1606,1323],{"class":1144},[816,1608,1243],{"class":822},[816,1610,1328],{"class":1098},[816,1612,1320],{"class":822},[816,1614,1333],{"class":1144},[816,1616,1243],{"class":822},[816,1618,1619],{"class":1098},"235",[816,1621,1622],{"class":822},"),",[816,1624,1625],{"class":837}," Vector",[816,1627,875],{"class":822},[816,1629,1313],{"class":1144},[816,1631,1243],{"class":822},[816,1633,1602],{"class":1098},[816,1635,1320],{"class":822},[816,1637,1323],{"class":1144},[816,1639,1243],{"class":822},[816,1641,1642],{"class":1098},"106.5",[816,1644,1320],{"class":822},[816,1646,1333],{"class":1144},[816,1648,1243],{"class":822},[816,1650,1619],{"class":1098},[816,1652,1653],{"class":822},")),",[816,1655,1656],{"class":1144}," channels",[816,1658,1591],{"class":822},[816,1660,1661],{"class":1098},"6",[816,1663,1320],{"class":822},[816,1665,1666],{"class":1098}," 7",[816,1668,1341],{"class":822},[1056,1670,1671],{"icon":1058},[756,1672,1673,1675],{},[762,1674,1063],{},": The coordinates used for configuration must be adjusted and validated for each device individually. Don't use the coordinates above. Use the coordinates identified during the above teaching procedure. If not specified correctly, the pipetting channel may crash during pick-up!",[756,1677,1678],{},"When picking up the gripper, the configured channels will move to the pickup location to pick up the gripper paddles.",[807,1680,1682],{"className":809,"code":1681,"language":811,"meta":812,"style":812},"await hamilton.core_gripper.pick_up_gripper()\n",[802,1683,1684],{"__ignoreMap":812},[816,1685,1686,1688,1690,1692,1694,1696,1699],{"class":818,"line":819},[816,1687,1104],{"class":826},[816,1689,831],{"class":830},[816,1691,834],{"class":822},[816,1693,1578],{"class":1086},[816,1695,834],{"class":822},[816,1697,1698],{"class":837},"pick_up_gripper",[816,1700,841],{"class":822},[756,1702,1703],{},"In case the pick-up failed on the first try, adjust the z-direction to allow for a bit more space between the upper brim of the hole and the channel bottom. To reset the state, drop the paddles using:",[807,1705,1707],{"className":809,"code":1706,"language":811,"meta":812,"style":812},"await hamilton.core_gripper.drop_gripper()\n",[802,1708,1709],{"__ignoreMap":812},[816,1710,1711,1713,1715,1717,1719,1721,1724],{"class":818,"line":819},[816,1712,1104],{"class":826},[816,1714,831],{"class":830},[816,1716,834],{"class":822},[816,1718,1578],{"class":1086},[816,1720,834],{"class":822},[816,1722,1723],{"class":837},"drop_gripper",[816,1725,841],{"class":822},[756,1727,1728,1729,1732],{},"Once finished, ",[802,1730,1731],{},"await star.core_gripper.put_down_gripper()"," will put the paddles back into the currently configured position.",[1734,1735,1736],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":812,"searchDepth":819,"depth":844,"links":1738},[1739,1740,1741],{"id":793,"depth":844,"text":794},{"id":1067,"depth":844,"text":1068},{"id":1561,"depth":844,"text":1562},"How to teach the gripper paddle positions and configuring the gripper module.","md",null,{},{"title":298,"description":1742},"P4FougoNPVmRe5mF6NVL75Kt8aCRAfeYv6WLZVl7owY",[1749,1751],{"title":294,"path":295,"stem":296,"description":1750},"Perform highly customized mixing operations by chaining together aspirate and dispense steps.",{"title":302,"path":303,"stem":304,"description":1752},"Define and use a custom deck position using the iSWAP module.",1783607776487]