[{"data":1,"prerenderedAt":1694},["ShallowReactive",2],{"navigation":3,"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fusing-the-gripper":750,"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fusing-the-gripper-surround":1689},[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":274,"body":752,"description":1683,"extension":1684,"links":1685,"meta":1686,"navigation":861,"path":345,"seo":1687,"stem":346,"__hash__":1688},"docs\u002F03.operate\u002F30.devices\u002F30.agilent-bravo\u002F30.using-the-gripper.md",{"type":753,"value":754,"toc":1672},"minimark",[755,759,762,768,790,795,798,989,993,996,1088,1098,1102,1109,1135,1138,1189,1195,1231,1255,1269,1273,1279,1315,1318,1370,1374,1377,1411,1415,1420,1463,1467,1473,1538,1542,1545,1628,1638,1642,1668],[756,757,758],"p",{},"During liquid handling workflows, the need often arises to reposition labware across the deck. The Bravo's integrated gripper can pick up, move, and place plates between the 9 deck locations. For workflows involving an external robot, the Bravo can also move to a safe position to allow deck access.",[756,760,761],{},"This guide serves as a comprehensive walkthrough for utilizing the integrated gripper on the Agilent Bravo. By adhering to these instructions, users can effortlessly and precisely maneuver labware around the deck.",[756,763,764],{},[765,766,767],"strong",{},"Prerequisites",[769,770,771,775,778,781],"ul",{},[772,773,774],"li",{},"A switched on Agilent Bravo device",[772,776,777],{},"A plate",[772,779,780],{},"A running Agilent Bravo connector",[772,782,783,784,789],{},"Basic understanding of the liquid handler class (See the ",[785,786,788],"a",{"href":787},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fbasic-pipetting\u002F","Agilent Bravo tutorial",")",[791,792,794],"h2",{"id":793},"power-on-the-system","Power On the System",[756,796,797],{},"Ensure that the Agilent Bravo is powered on and ready for operation. Verify that the connector is running and connected to the UniteLabs platform.",[799,800,805],"pre",{"className":801,"code":802,"language":803,"meta":804,"style":804},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from unitelabs.sdk import AsyncApiClient\nfrom unitelabs.liquid_handling.agilent import Bravo\n\nclient = AsyncApiClient()\n\n# Initialize the Agilent Bravo\nbravo = Bravo(\n    name=\"Bravo\",\n    client=client,\n)\nawait bravo.configure()\nawait bravo.initialize()\nawait bravo.activate()\n","python","",[806,807,808,834,856,863,879,884,891,905,926,939,945,961,975],"code",{"__ignoreMap":804},[809,810,813,817,821,825,828,831],"span",{"class":811,"line":812},"line",1,[809,814,816],{"class":815},"s7zQu","from",[809,818,820],{"class":819},"sTEyZ"," unitelabs",[809,822,824],{"class":823},"sMK4o",".",[809,826,827],{"class":819},"sdk ",[809,829,830],{"class":815},"import",[809,832,833],{"class":819}," AsyncApiClient\n",[809,835,837,839,841,843,846,848,851,853],{"class":811,"line":836},2,[809,838,816],{"class":815},[809,840,820],{"class":819},[809,842,824],{"class":823},[809,844,845],{"class":819},"liquid_handling",[809,847,824],{"class":823},[809,849,850],{"class":819},"agilent ",[809,852,830],{"class":815},[809,854,855],{"class":819}," Bravo\n",[809,857,859],{"class":811,"line":858},3,[809,860,862],{"emptyLinePlaceholder":861},true,"\n",[809,864,866,869,872,876],{"class":811,"line":865},4,[809,867,868],{"class":819},"client ",[809,870,871],{"class":823},"=",[809,873,875],{"class":874},"s2Zo4"," AsyncApiClient",[809,877,878],{"class":823},"()\n",[809,880,882],{"class":811,"line":881},5,[809,883,862],{"emptyLinePlaceholder":861},[809,885,887],{"class":811,"line":886},6,[809,888,890],{"class":889},"sHwdD","# Initialize the Agilent Bravo\n",[809,892,894,897,899,902],{"class":811,"line":893},7,[809,895,896],{"class":819},"bravo ",[809,898,871],{"class":823},[809,900,901],{"class":874}," Bravo",[809,903,904],{"class":823},"(\n",[809,906,908,912,914,917,921,923],{"class":811,"line":907},8,[809,909,911],{"class":910},"sHdIc","    name",[809,913,871],{"class":823},[809,915,916],{"class":823},"\"",[809,918,920],{"class":919},"sfazB","Bravo",[809,922,916],{"class":823},[809,924,925],{"class":823},",\n",[809,927,929,932,934,937],{"class":811,"line":928},9,[809,930,931],{"class":910},"    client",[809,933,871],{"class":823},[809,935,936],{"class":874},"client",[809,938,925],{"class":823},[809,940,942],{"class":811,"line":941},10,[809,943,944],{"class":823},")\n",[809,946,948,951,954,956,959],{"class":811,"line":947},11,[809,949,950],{"class":815},"await",[809,952,953],{"class":819}," bravo",[809,955,824],{"class":823},[809,957,958],{"class":874},"configure",[809,960,878],{"class":823},[809,962,964,966,968,970,973],{"class":811,"line":963},12,[809,965,950],{"class":815},[809,967,953],{"class":819},[809,969,824],{"class":823},[809,971,972],{"class":874},"initialize",[809,974,878],{"class":823},[809,976,978,980,982,984,987],{"class":811,"line":977},13,[809,979,950],{"class":815},[809,981,953],{"class":819},[809,983,824],{"class":823},[809,985,986],{"class":874},"activate",[809,988,878],{"class":823},[791,990,992],{"id":991},"arrange-the-deck","Arrange the Deck",[756,994,995],{},"Place a standard 96 well plate on deck location 5.",[799,997,999],{"className":801,"code":998,"language":803,"meta":804,"style":804},"from unitelabs.labware.plates import Standard96Plate\n\nplate = Standard96Plate(identifier=\"DestinationPlate_96Well\")\nbravo.deck.add(plate, location=5)\n",[806,1000,1001,1022,1026,1053],{"__ignoreMap":804},[809,1002,1003,1005,1007,1009,1012,1014,1017,1019],{"class":811,"line":812},[809,1004,816],{"class":815},[809,1006,820],{"class":819},[809,1008,824],{"class":823},[809,1010,1011],{"class":819},"labware",[809,1013,824],{"class":823},[809,1015,1016],{"class":819},"plates ",[809,1018,830],{"class":815},[809,1020,1021],{"class":819}," Standard96Plate\n",[809,1023,1024],{"class":811,"line":836},[809,1025,862],{"emptyLinePlaceholder":861},[809,1027,1028,1031,1033,1036,1039,1042,1044,1046,1049,1051],{"class":811,"line":858},[809,1029,1030],{"class":819},"plate ",[809,1032,871],{"class":823},[809,1034,1035],{"class":874}," Standard96Plate",[809,1037,1038],{"class":823},"(",[809,1040,1041],{"class":910},"identifier",[809,1043,871],{"class":823},[809,1045,916],{"class":823},[809,1047,1048],{"class":919},"DestinationPlate_96Well",[809,1050,916],{"class":823},[809,1052,944],{"class":823},[809,1054,1055,1058,1060,1064,1066,1069,1071,1074,1077,1080,1082,1086],{"class":811,"line":865},[809,1056,1057],{"class":819},"bravo",[809,1059,824],{"class":823},[809,1061,1063],{"class":1062},"swJcz","deck",[809,1065,824],{"class":823},[809,1067,1068],{"class":874},"add",[809,1070,1038],{"class":823},[809,1072,1073],{"class":874},"plate",[809,1075,1076],{"class":823},",",[809,1078,1079],{"class":910}," location",[809,1081,871],{"class":823},[809,1083,1085],{"class":1084},"sbssI","5",[809,1087,944],{"class":823},[1089,1090,1092],"callout",{"icon":1091},"i-heroicons-shield-exclamation",[756,1093,1094,1097],{},[765,1095,1096],{},"Important",": The gripper and pipette head are mutually exclusive. The pipette head must have no tips mounted before the gripper can activate. The SDK handles activation and deactivation automatically, but tips must be dropped first. Attempting to activate the gripper while tips are mounted will raise an error.",[791,1099,1101],{"id":1100},"pick-up-labware","Pick Up Labware",[756,1103,1104,1105,1108],{},"Labware can be picked up by passing the labware object directly to the gripper's ",[806,1106,1107],{},"pick_up"," method. The gripper moves to the labware's deck location and picks it up.",[799,1110,1112],{"className":801,"code":1111,"language":803,"meta":804,"style":804},"await bravo.gripper.pick_up(plate)\n",[806,1113,1114],{"__ignoreMap":804},[809,1115,1116,1118,1120,1122,1125,1127,1129,1131,1133],{"class":811,"line":812},[809,1117,950],{"class":815},[809,1119,953],{"class":819},[809,1121,824],{"class":823},[809,1123,1124],{"class":1062},"gripper",[809,1126,824],{"class":823},[809,1128,1107],{"class":874},[809,1130,1038],{"class":823},[809,1132,1073],{"class":874},[809,1134,944],{"class":823},[756,1136,1137],{},"The plate is now held by the gripper and the deck location should be empty.",[799,1139,1141],{"className":801,"code":1140,"language":803,"meta":804,"style":804},"assert bravo.deck.is_location_empty(5)\nassert bravo.gripper.get() == plate\n",[806,1142,1143,1165],{"__ignoreMap":804},[809,1144,1145,1148,1150,1152,1154,1156,1159,1161,1163],{"class":811,"line":812},[809,1146,1147],{"class":815},"assert",[809,1149,953],{"class":819},[809,1151,824],{"class":823},[809,1153,1063],{"class":1062},[809,1155,824],{"class":823},[809,1157,1158],{"class":874},"is_location_empty",[809,1160,1038],{"class":823},[809,1162,1085],{"class":1084},[809,1164,944],{"class":823},[809,1166,1167,1169,1171,1173,1175,1177,1180,1183,1186],{"class":811,"line":836},[809,1168,1147],{"class":815},[809,1170,953],{"class":819},[809,1172,824],{"class":823},[809,1174,1124],{"class":1062},[809,1176,824],{"class":823},[809,1178,1179],{"class":874},"get",[809,1181,1182],{"class":823},"()",[809,1184,1185],{"class":823}," ==",[809,1187,1188],{"class":819}," plate\n",[756,1190,1191,1192,1194],{},"The ",[806,1193,1107],{}," method accepts optional parameters to fine-tune the operation:",[769,1196,1197,1203,1209,1215,1221],{},[772,1198,1199,1202],{},[806,1200,1201],{},"grip_gap",": Gripper close position in mm.",[772,1204,1205,1208],{},[806,1206,1207],{},"width_offset",": Gripper open position in mm before closing.",[772,1210,1211,1214],{},[806,1212,1213],{},"movement_velocity",": XYZ and Zg movement velocity in mm\u002Fs.",[772,1216,1217,1220],{},[806,1218,1219],{},"gripper_velocity",": Gripper jaw close velocity in mm\u002Fs.",[772,1222,1223,1226,1227,1230],{},[806,1224,1225],{},"pick_up_offset",": An offset ",[806,1228,1229],{},"Vector(dx, dy, dz)"," in mm to adjust the pick up location.",[1089,1232,1234],{"icon":1091,"color":1233},"amber",[756,1235,1236,1239,1240,1242,1243,1246,1247,1250,1251,1254],{},[765,1237,1238],{},"Offset alignment",": If you use ",[806,1241,1225],{}," during pick up, you must also pass ",[806,1244,1245],{},"drop_offset"," to ",[806,1248,1249],{},"put_down"," with the ",[765,1252,1253],{},"same value",". When an offset is omitted it falls back to the labware definition; a mismatch between an explicit offset and the default labware value can mis-align the gripper and crash into the deck.",[1089,1256,1258],{"icon":1257},"i-heroicons-light-bulb",[756,1259,1260,1263,1264,1268],{},[806,1261,1262],{},"grab_height"," is read from the labware definition. See the ",[785,1265,1267],{"href":1266},"\u002Foperate\u002Fguides\u002Flabware\u002Fplates\u002F","Plates guide"," for how to set it when creating custom labware.",[791,1270,1272],{"id":1271},"put-down-labware","Put Down Labware",[756,1274,1275,1276,1278],{},"Labware can be placed at any empty deck site. Pass the target deck site to the gripper's ",[806,1277,1249],{}," method.",[799,1280,1282],{"className":801,"code":1281,"language":803,"meta":804,"style":804},"await bravo.gripper.put_down(bravo.deck[7])\n",[806,1283,1284],{"__ignoreMap":804},[809,1285,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1309,1312],{"class":811,"line":812},[809,1287,950],{"class":815},[809,1289,953],{"class":819},[809,1291,824],{"class":823},[809,1293,1124],{"class":1062},[809,1295,824],{"class":823},[809,1297,1249],{"class":874},[809,1299,1038],{"class":823},[809,1301,1057],{"class":874},[809,1303,824],{"class":823},[809,1305,1063],{"class":1062},[809,1307,1308],{"class":823},"[",[809,1310,1311],{"class":1084},"7",[809,1313,1314],{"class":823},"])\n",[756,1316,1317],{},"The plate is now on the deck and the gripper should be empty.",[799,1319,1321],{"className":801,"code":1320,"language":803,"meta":804,"style":804},"assert bravo.gripper.get() is None\nassert bravo.deck.get_labware_at_location(7) == plate\n",[806,1322,1323,1345],{"__ignoreMap":804},[809,1324,1325,1327,1329,1331,1333,1335,1337,1339,1342],{"class":811,"line":812},[809,1326,1147],{"class":815},[809,1328,953],{"class":819},[809,1330,824],{"class":823},[809,1332,1124],{"class":1062},[809,1334,824],{"class":823},[809,1336,1179],{"class":874},[809,1338,1182],{"class":823},[809,1340,1341],{"class":823}," is",[809,1343,1344],{"class":823}," None\n",[809,1346,1347,1349,1351,1353,1355,1357,1360,1362,1364,1366,1368],{"class":811,"line":836},[809,1348,1147],{"class":815},[809,1350,953],{"class":819},[809,1352,824],{"class":823},[809,1354,1063],{"class":1062},[809,1356,824],{"class":823},[809,1358,1359],{"class":874},"get_labware_at_location",[809,1361,1038],{"class":823},[809,1363,1311],{"class":1084},[809,1365,789],{"class":823},[809,1367,1185],{"class":823},[809,1369,1188],{"class":819},[791,1371,1373],{"id":1372},"pick-up-from-deck-site","Pick Up from Deck Site",[756,1375,1376],{},"Alternatively, you can pick up labware by referencing the deck site instead of the labware object. This is useful when you know the location but not the labware reference.",[799,1378,1380],{"className":801,"code":1379,"language":803,"meta":804,"style":804},"await bravo.gripper.pick_up_from(bravo.deck[7])\n",[806,1381,1382],{"__ignoreMap":804},[809,1383,1384,1386,1388,1390,1392,1394,1397,1399,1401,1403,1405,1407,1409],{"class":811,"line":812},[809,1385,950],{"class":815},[809,1387,953],{"class":819},[809,1389,824],{"class":823},[809,1391,1124],{"class":1062},[809,1393,824],{"class":823},[809,1395,1396],{"class":874},"pick_up_from",[809,1398,1038],{"class":823},[809,1400,1057],{"class":874},[809,1402,824],{"class":823},[809,1404,1063],{"class":1062},[809,1406,1308],{"class":823},[809,1408,1311],{"class":1084},[809,1410,1314],{"class":823},[791,1412,1414],{"id":1413},"transfer","Transfer",[756,1416,1191,1417,1419],{},[806,1418,1413],{}," method combines pick up and put down into a single call. Pass the labware and the target deck site.",[799,1421,1423],{"className":801,"code":1422,"language":803,"meta":804,"style":804},"await bravo.gripper.transfer(plate, target=bravo.deck[1])\n",[806,1424,1425],{"__ignoreMap":804},[809,1426,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1448,1450,1452,1454,1456,1458,1461],{"class":811,"line":812},[809,1428,950],{"class":815},[809,1430,953],{"class":819},[809,1432,824],{"class":823},[809,1434,1124],{"class":1062},[809,1436,824],{"class":823},[809,1438,1413],{"class":874},[809,1440,1038],{"class":823},[809,1442,1073],{"class":874},[809,1444,1076],{"class":823},[809,1446,1447],{"class":910}," target",[809,1449,871],{"class":823},[809,1451,1057],{"class":874},[809,1453,824],{"class":823},[809,1455,1063],{"class":1062},[809,1457,1308],{"class":823},[809,1459,1460],{"class":1084},"1",[809,1462,1314],{"class":823},[791,1464,1466],{"id":1465},"transfer-from","Transfer From",[756,1468,1469,1470,824],{},"To transfer labware between two deck sites without needing a reference to the labware object, use ",[806,1471,1472],{},"transfer_from",[799,1474,1476],{"className":801,"code":1475,"language":803,"meta":804,"style":804},"await bravo.gripper.transfer_from(\n    source=bravo.deck[1],\n    target=bravo.deck[9],\n)\n",[806,1477,1478,1494,1514,1534],{"__ignoreMap":804},[809,1479,1480,1482,1484,1486,1488,1490,1492],{"class":811,"line":812},[809,1481,950],{"class":815},[809,1483,953],{"class":819},[809,1485,824],{"class":823},[809,1487,1124],{"class":1062},[809,1489,824],{"class":823},[809,1491,1472],{"class":874},[809,1493,904],{"class":823},[809,1495,1496,1499,1501,1503,1505,1507,1509,1511],{"class":811,"line":836},[809,1497,1498],{"class":910},"    source",[809,1500,871],{"class":823},[809,1502,1057],{"class":874},[809,1504,824],{"class":823},[809,1506,1063],{"class":1062},[809,1508,1308],{"class":823},[809,1510,1460],{"class":1084},[809,1512,1513],{"class":823},"],\n",[809,1515,1516,1519,1521,1523,1525,1527,1529,1532],{"class":811,"line":858},[809,1517,1518],{"class":910},"    target",[809,1520,871],{"class":823},[809,1522,1057],{"class":874},[809,1524,824],{"class":823},[809,1526,1063],{"class":1062},[809,1528,1308],{"class":823},[809,1530,1531],{"class":1084},"9",[809,1533,1513],{"class":823},[809,1535,1536],{"class":811,"line":865},[809,1537,944],{"class":823},[791,1539,1541],{"id":1540},"external-robot-access","External Robot Access",[756,1543,1544],{},"When an external robot needs to access the Bravo deck, the Bravo can be moved to a safe position. The status light updates to indicate it is safe for external interaction.",[799,1546,1548],{"className":801,"code":1547,"language":803,"meta":804,"style":804},"# Move Bravo out of the way, status light signals safe access\nawait bravo.move_to_safe_robot_position(x=5.0, y=5.0, z=0.0)\n\n# ... external robot operates ...\n\n# Re-enable Bravo, resume normal LED operation\nawait bravo.robot_finished()\n",[806,1549,1550,1555,1597,1601,1606,1610,1615],{"__ignoreMap":804},[809,1551,1552],{"class":811,"line":812},[809,1553,1554],{"class":889},"# Move Bravo out of the way, status light signals safe access\n",[809,1556,1557,1559,1561,1563,1566,1568,1571,1573,1576,1578,1581,1583,1585,1587,1590,1592,1595],{"class":811,"line":836},[809,1558,950],{"class":815},[809,1560,953],{"class":819},[809,1562,824],{"class":823},[809,1564,1565],{"class":874},"move_to_safe_robot_position",[809,1567,1038],{"class":823},[809,1569,1570],{"class":910},"x",[809,1572,871],{"class":823},[809,1574,1575],{"class":1084},"5.0",[809,1577,1076],{"class":823},[809,1579,1580],{"class":910}," y",[809,1582,871],{"class":823},[809,1584,1575],{"class":1084},[809,1586,1076],{"class":823},[809,1588,1589],{"class":910}," z",[809,1591,871],{"class":823},[809,1593,1594],{"class":1084},"0.0",[809,1596,944],{"class":823},[809,1598,1599],{"class":811,"line":858},[809,1600,862],{"emptyLinePlaceholder":861},[809,1602,1603],{"class":811,"line":865},[809,1604,1605],{"class":889},"# ... external robot operates ...\n",[809,1607,1608],{"class":811,"line":881},[809,1609,862],{"emptyLinePlaceholder":861},[809,1611,1612],{"class":811,"line":886},[809,1613,1614],{"class":889},"# Re-enable Bravo, resume normal LED operation\n",[809,1616,1617,1619,1621,1623,1626],{"class":811,"line":893},[809,1618,950],{"class":815},[809,1620,953],{"class":819},[809,1622,824],{"class":823},[809,1624,1625],{"class":874},"robot_finished",[809,1627,878],{"class":823},[1089,1629,1630],{"icon":1257},[756,1631,1191,1632,1634,1635,1637],{},[806,1633,1565],{}," method moves the pipette head to the specified coordinates and homes the gripper and plunger axes. The ",[806,1636,1625],{}," method re-enables all motor axes and returns the status light to normal operation so the Bravo can resume.",[791,1639,1641],{"id":1640},"troubleshooting","Troubleshooting",[1643,1644,1646,1652,1663],"u-accordion",{":items":1645},"[{\"label\":\"Cannot activate the gripper\",\"slot\":\"activate-failed\"},{\"label\":\"The gripper dropped the plate unexpectedly\",\"slot\":\"unexpected-drop\"},{\"label\":\"Cannot pick up from a deck location\",\"slot\":\"pick-up-failed\"}]",[1647,1648,1649],"template",{"v-slot:activate-failed":804},[756,1650,1651],{},"Ensure the pipette head has no tips mounted. The gripper and pipette head are mutually exclusive, so drop or discard all tips before activating the gripper.",[1647,1653,1654],{"v-slot:unexpected-drop":804},[756,1655,1656,1657,1659,1660,1662],{},"Adjust the ",[806,1658,1201],{}," parameter to apply more grip force, or use ",[806,1661,1225],{}," to fine-tune the pick up position so the gripper grabs the plate more securely.",[1647,1664,1665],{"v-slot:pick-up-failed":804},[756,1666,1667],{},"Ensure the deck location is not empty. The SDK will raise an error if you attempt to pick up from a location that has no labware assigned.",[1669,1670,1671],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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}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}",{"title":804,"searchDepth":812,"depth":836,"links":1673},[1674,1675,1676,1677,1678,1679,1680,1681,1682],{"id":793,"depth":836,"text":794},{"id":991,"depth":836,"text":992},{"id":1100,"depth":836,"text":1101},{"id":1271,"depth":836,"text":1272},{"id":1372,"depth":836,"text":1373},{"id":1413,"depth":836,"text":1414},{"id":1465,"depth":836,"text":1466},{"id":1540,"depth":836,"text":1541},{"id":1640,"depth":836,"text":1641},"Moving labware with the integrated gripper on the Agilent Bravo.","md",null,{},{"title":274,"description":1683},"Uzb9QKf3q-MiFAWhdhQqeI2Mnf0Qc3ID2ROGAOBW8o0",[1690,1692],{"title":171,"path":342,"stem":343,"description":1691},"Using predefined and custom liquid classes with the Agilent Bravo.",{"title":353,"path":354,"stem":355,"description":1693},"How to connect to the Tecan FluentControl connector and start a FluentControl method.",1783607779059]