Analytical Measurements and Efﬁcient Process Generation Using a Dual–Arm Robot Equipped with Electronic Pipettes

: The continued growth in life sciences is being accompanied by the constantly rising demand for robotic systems. Today, bioscreening and high–throughput screening processes are well automated. In contrast, a deﬁcit can be found in the area of analytical measurements with complex and frequently changing processes. Robots undertake not only transportation tasks, but also direct sample manipulation and subsequent analytical measurements. Due to their human-like structure, dual-arm robots perform such processes similar to human operation. Liquid handling is required to transfer chemicals, to prepare standard solutions, or to dilute samples. Two electronic pipettes with different volume ranges (5–200 µ L and 50–1000 µ L) were integrated into a dual–arm robotic system. The main focus in this publication is the software interface for alternating robot and pipette control as well as the high–level process control system. The performance using a dual–arm robot equipped with electronic pipettes and conventional manual pipettes was determined and compared. The automation system presented is the ﬁrst integration of a dual-arm robot in analytical measurement processes. Conventional manual laboratory pipettes and electronic pipettes are simultaneously used for liquid-handling tasks. The software control system enables a ﬂexible and user-friendly process generation.


Introduction
Bioscreening and high-throughput screening processes are well automated, using conventional transport devices, such as turntables, conveyors, or single-arm articulated robots, for labware transportation and positioning. Cartesian robots with xyz-drives typically perform automated liquiddispensing processes [1]. Robotic arms with multiple degrees of freedom act as system integrators to connect several stations on the automation system, and the tasks mainly involve transportation and positioning steps [2][3][4].
In contrast, a deficit in automation can be found in the area of analytical measurements with complex and frequently changing processes [4]. A promising solution are dual-arm robots, which are able to move and act in similar way to a human operator due to their structural similarity to humans [5][6][7][8]. Consequently, dual-arm robots act as integrated robots inside an automation system [4]. The most common application areas of dual-arm robots can be found in the automotive and heavy continuously used for more than one hour per day. The shoulders and neck also may be negatively affected by long-term pipetting [27].
The typically unsteady performance of human operators is another drawback. There are strong differences in pipette handling between untrained staff and users with long-term experiences. The operator's performance may be unstable due to the daily form or fitness, concentration, stress, overexertion, private issues, etc. This may result in pipetting errors, such as unintentional contamination of samples and solutions, and mistakes caused by accidental interchanging of sample vessels.

Approaches in Automated Liquid Handling
Cartesian robotic systems (xyz-robots) are typical representatives of automated liquid handling systems commercially available [1]. Fast and reproducible liquid handling processes are executed by high-throughput dosing devices integrated in self-contained, rigid workstations with a specified and limited workspace. Additional costs may occur due to type-specific equipment (e.g., pipetting tools, tips, and labware). Open software environments are often provided for the integration of external software modules and existing hierarchical laboratory management systems. Typical tasks are aspiration, dispensing, and mixing; covering and transportation of microplates and sample vessels are additional features. Add-on modules, such as barcode readers, centrifuges, storage elements, incubators, and measurement instruments, can be integrated into the workstations. These modules are usually individually tailored to the system and may cause follow-up costs. Other robotic liquid handling systems use an articulated robotic arm and conventional manual laboratory pipettes integrated into a workstation with a flexible deck layout [28].
Dual-arm robotic systems also can be applied for liquid handling processes if equipped with suitable pipettes. Due to the human-like structure of the robotic arms, conventional manual pipettes can be used [4,[10][11][12][13]29,30]. The dual-arm robot performs transportation tasks to connect several stations on the robotic working area and additionally the active manipulation of samples: The robot acts as a flexible robot [4]. For handling manual pipettes, the two robotic arms operate in coordinated bimanual mode: One arm holds the pipette and the second arm presses the button. In highly regulated areas, the use of conventional manual pipettes is essential. The manual and automated processes are identical, and thus avoids renewing the approval of the process. However, there are some disadvantages. The volume adjustment is done by turning a knob and a readout of a mechanical display, which can only be automated with a high sensory effort. To simplify the volume adjustment, a number of pipettes with previously adjusted volumes were provided in the robotic workspace. As a result, transportation and pipetting steps, as well as the processing time, were increased.
In this study, the pipetting process was simplified by the integration of electronic pipettes. The volume can be software controlled and adjusted and the pipette handling is performed using only one robotic arm. The second arm is free for additional processes. The design of the adapter for safe grasping the pipette by the robot and the hardware integration is presented in a previous publication and is only shortly summarized [14]. The focus in this publication is the multi-level software system for robot and pipette control and the integration into a high-level process control system for rapid generation of new pipetting processes using the dual-arm robot.

System Overview
The dual-arm robot, CSDA10F (Yaskawa, Kitakyūshū, Japan), is fix mounted in the automation system and surrounded by a workbench, multi-level storage racks, and two analytical measurement instruments. The samples can be automatically placed into the autosampler units of the liquid chromatography mass spectrometer (LC/MS) and the gas chromatography mass spectrometer (GC/MS) (both Agilent Technologies, Waldbronn, Germany) [4,10,12]. The workbench is equipped with automated labware positioners (ALPs) for exact placing of labware in standardized microplate format. Furthermore, several laboratory devices are mounted on the workbench, including an ultrasonic bath (Bandelin Electronic, Berlin, Germany), a tempered shaker (Eppendorf, Hamburg, Germany), and a non-tempered shaker (Variomag-USA, Daytona Beach, FL, USA). In the upper level, a number of manual piston pipettes (Eppendorf, Hamburg, Germany) and two electronic pipettes, rLine series BRL 200/1 and BRL 1000/1 (Sartorius Biohit Liquid Handling Oy, Helsinki, Finland), are placed for an easy unload by the robot. The volumes of the manual pipettes range from 10 µL up to 10 mL; the electronic pipettes provide volumes of 5-200 µL and 50-1000 µL. The automation cell is surrounded by a safety system consisting of a door switch and a two-side light curtain. The robot is controlled using the control unit, FS100 (Yaskawa, Kitakyūshū, Japan). The measurement instruments are controlled by the software, MassHunter (Agilent Technologies, Waldbronn, Germany). For the high-level process control, each device software was integrated into the process control software, SAMI (Beckman Coulter, Krefeld, Germany), by in-house implemented software interfaces acting as middleware. The middleware for the robot is the software module R-interface. Figure 1 gives an overview of the total robotic automation system. level, a number of manual piston pipettes (Eppendorf, Hamburg, Germany) and two electronic pipettes, rLine series BRL 200/1 and BRL 1000/1 (Sartorius Biohit Liquid Handling Oy, Helsinki, Finland), are placed for an easy unload by the robot. The volumes of the manual pipettes range from 10 µL up to 10 mL; the electronic pipettes provide volumes of 5-200 µL and 50-1000 µL. The automation cell is surrounded by a safety system consisting of a door switch and a two-side light curtain. The robot is controlled using the control unit, FS100 (Yaskawa, Kitakyūshū, Japan). The measurement instruments are controlled by the software, MassHunter (Agilent Technologies, Waldbronn, Germany). For the high-level process control, each device software was integrated into the process control software, SAMI (Beckman Coulter, Krefeld, Germany), by in-house implemented software interfaces acting as middleware. The middleware for the robot is the software module Rinterface. Figure 1 gives an overview of the total robotic automation system. Robotic system for automated sampled preparation and analytical measurements: (1) Dualarm robot CSDA10F grasping a pipette using the right arm; (2) workbench with automated labware positioners (ALP), laboratory devices, and equipment; (3) multi-level storage system; (4) electronic pipettes mounted in front of the robot; (5) cable guide for electronic pipettes; (6) conventional manual pipettes mounted behind the robot; (7) measurement system 1 (LC/MS); (8) measurement system 2 (GC/MS); and (9) safety system with light curtain.

Hardware Design
The hardware design for pipette integration was described in detail in a previous publication [14]. Here, the most important parts should be explained, which are required for understanding the software control focused in this paper.
The power supply of the pipettes and the data communication are realized using solid wiring. This concept provides a reliable power supply, ensures a stable communication, and enables a 24/7 operation. In each stadium of operation, the cable must not adversely affect the robot, labware, laboratory devices, and construction parts inside the working area. The pipettes and the stable cable guide are placed in front of the robot above the multi-level storage system. Each pipette is equipped with a gripping adapter for safe grasping and transportation by the dual-arm robot. Currently, two pipettes are integrated; the hardware design allows the operation of a maximum of four pipettes (e.g., with various volume ranges). A hardware interface was developed providing the power supply, the connection between the control computer and interface box via USB, and the connection between the Robotic system for automated sampled preparation and analytical measurements: (1) Dual-arm robot CSDA10F grasping a pipette using the right arm; (2) workbench with automated labware positioners (ALP), laboratory devices, and equipment; (3) multi-level storage system; (4) electronic pipettes mounted in front of the robot; (5) cable guide for electronic pipettes; (6) conventional manual pipettes mounted behind the robot; (7) measurement system 1 (LC/MS); (8) measurement system 2 (GC/MS); and (9) safety system with light curtain.

Hardware Design
The hardware design for pipette integration was described in detail in a previous publication [14]. Here, the most important parts should be explained, which are required for understanding the software control focused in this paper.
The power supply of the pipettes and the data communication are realized using solid wiring. This concept provides a reliable power supply, ensures a stable communication, and enables a 24/7 operation. In each stadium of operation, the cable must not adversely affect the robot, labware, laboratory devices, and construction parts inside the working area. The pipettes and the stable cable guide are placed in front of the robot above the multi-level storage system. Each pipette is equipped with a gripping adapter for safe grasping and transportation by the dual-arm robot. Currently, two pipettes are integrated; the hardware design allows the operation of a maximum of four pipettes (e.g., with various volume ranges). A hardware interface was developed providing the power supply, the connection between the control computer and interface box via USB, and the connection between the interface box and pipettes via RS232 (see Figure 2).

Software Design
Automated pipetting processes using the dual-arm robot require a suitable combination of pipetting commands and robot motions. The software concept provides an alternating control of the robot and the pipette via a central control computer using USB/RS232 and Ethernet communication. The electronic pipettes are addressed using virtual COM ports assigned by the Windows operation system. The communication is similar to a conventional RS232 interface. The robot jobs are managed by the robot interface software (R-interface). The R-interface is the middleware between the highlevel process control software, SAMI (Beckman Coulter, Krefeld, Germany), and the robot control unit, FS100 (Yaskawa, Kitakyūshū, Japan). The communication between SAMI and the R-interface is realized by command and parameter transfer using XML messages. The R-interface encodes/decodes the XML messages and communicates via Ethernet (UDP) with the robot control. The pipetting commands were integrated into the R-interface to realize a sequence control with an alternating call of robot jobs and pipetting commands. A class was implemented, which handles the communication with the electronic pipettes. Figure 3 visualizes the software concept.

Software Design
Automated pipetting processes using the dual-arm robot require a suitable combination of pipetting commands and robot motions. The software concept provides an alternating control of the robot and the pipette via a central control computer using USB/RS232 and Ethernet communication. The electronic pipettes are addressed using virtual COM ports assigned by the Windows operation system. The communication is similar to a conventional RS232 interface. The robot jobs are managed by the robot interface software (R-interface). The R-interface is the middleware between the high-level process control software, SAMI (Beckman Coulter, Krefeld, Germany), and the robot control unit, FS100 (Yaskawa, Kitakyūshū, Japan). The communication between SAMI and the R-interface is realized by command and parameter transfer using XML messages. The R-interface encodes/decodes the XML messages and communicates via Ethernet (UDP) with the robot control. The pipetting commands were integrated into the R-interface to realize a sequence control with an alternating call of robot jobs and pipetting commands. A class was implemented, which handles the communication with the electronic pipettes. Figure 3 visualizes the software concept.

Pipette Control
The interface software R-interface was created in the programming language C#. To ensure maximum compatibility, the integration of the electronic pipettes into the process control system was realized with a class written in C# for pipette control using commands and queries. For testing and optimization, a separate graphical user interface was created for easy parameter entering.

Communication Protocol
The communication with the rLine pipettes uses the RS232 protocol and the signals, "receive data" (Rx), "transmit data" (Tx) and "signal ground" (SG). The programming environment, Visual Basic (Microsoft, Redmond, US), provides RS232 communication methods using virtual COM ports. The configuration and control of the pipette is performed using messages with commands and queries. Each message contains six components with several functionalities (see Table 1) [31,32]. The messages are created using 7-bit ASCII code. An example should explain a message for a command to move the piston to position "234" (run to position 234). The command is addressed to the pipette with the address "1". The data part contains the position "234". The recognition of 1-bit errors during message transmission (longitudinal redundancy check, LRC) is deactivated in this example. Table 2 shows the message structure. The length of the message depends on the length of the component <DATA>. All other blocks have a fixed length. Therefore, the length of the total message may vary between 6 and 9 bytes.

Pipette Control
The interface software R-interface was created in the programming language C#. To ensure maximum compatibility, the integration of the electronic pipettes into the process control system was realized with a class written in C# for pipette control using commands and queries. For testing and optimization, a separate graphical user interface was created for easy parameter entering.

Communication Protocol
The communication with the rLine pipettes uses the RS232 protocol and the signals, "receive data" (Rx), "transmit data" (Tx) and "signal ground" (SG). The programming environment, Visual Basic (Microsoft, Redmond, US), provides RS232 communication methods using virtual COM ports. The configuration and control of the pipette is performed using messages with commands and queries. Each message contains six components with several functionalities (see Table 1) [31,32]. The messages are created using 7-bit ASCII code. An example should explain a message for a command to move the piston to position "234" (run to position 234). The command is addressed to the pipette with the address "1". The data part contains the position "234". The recognition of 1-bit errors during message transmission (longitudinal redundancy check, LRC) is deactivated in this example. Table 2 shows the message structure. The length of the message depends on the length of the component <DATA>. All other blocks have a fixed length. Therefore, the length of the total message may vary between 6 and 9 bytes.

Pipette Commands
Several types of pipette commands are available for initialization, configuration, and pipetting. A seven-segment angular sensor on the electromechanical driven piston gives position feedback. Prior to pipetting processes, this sensor must be initialized by moving the piston to all possible positions. The properties of the serial data transmission of master (control computer) and slave (pipette) must be identical to ensure a successful communication. Address, baud rate, and LRC state can be reconfigured using configuration commands. Pipetting actions are realized by pipetting commands, e.g., the piston is moved to the desired position with a defined speed. Table 3 gives an overview about pipetting commands and resulting actions. Table 3. Pipetting commands and resulting pipetting actions.

Command
Pipetting Action

Queries
Queries are used to receive pipette information. Some queries are only permissible in standby, such as requesting the pipette version and model, and moving cycles for maintenance, as well as the move-in and move-out speed of the piston. Other queries can be executed in both operation and standby. This includes requesting the module state, error state, and the current piston position.

Communication Testing
The communication methods using commands and queries were tested with a self-implemented test software, rLine_Com. The graphical user interface (GUI) enables easy parameter entering (see Figure 4). Commands and queries are executed by pressing buttons; values are monitored in text fields. Track bars are used for adjusting the desired values, such as piston positions and speed. After the application start, all available COM ports will be checked. By double clicking of an available COM port, an automated query for the pipette version and model is executed. This enables the pipette identification and port allocation for communication. After selection of the desired pipette, the implemented methods (commands and queries) can be executed and stepwise tested in the target hardware. Typically, the user input is done in units of volume (e.g., µL). A conversion module was implemented to calculate the volume value into steps required by the pipette control. All class methods can be called from other program parts using parameters. This is the prerequisite for the integration into the high-level process control system.

Robot Jobs
For pipette handling using the dual-arm robot, CSDA10F, several robot jobs have been created. This includes pipette grasping, transportation, placing back and collision avoidance with labware, devices, and constructions of the robot cell. The robot jobs were implemented with the teach-in procedure using the hand programming device as well as by calculations using labware parameters and relative motion parameters [33,34].
All pipetting processes are executed from a safe robot posture to avoid collisions. A combination of robot motions to reach the desired positions and gripper movements is used to grasp a pipette (motion 1) programmed with the teach-in method. The tip load movements (motion 2) are calculated. The pipette tips are stored in racks in microplate format with 96 tips on each rack. In the first step, the local position of the tip to be loaded must be determined. Therefore, the parameters, B043 and B044, are used in a Cartesian coordinate system (see Figure 5).

Robot Jobs
For pipette handling using the dual-arm robot, CSDA10F, several robot jobs have been created. This includes pipette grasping, transportation, placing back and collision avoidance with labware, devices, and constructions of the robot cell. The robot jobs were implemented with the teach-in procedure using the hand programming device as well as by calculations using labware parameters and relative motion parameters [33,34].
All pipetting processes are executed from a safe robot posture to avoid collisions. A combination of robot motions to reach the desired positions and gripper movements is used to grasp a pipette (motion 1) programmed with the teach-in method. The tip load movements (motion 2) are calculated. The pipette tips are stored in racks in microplate format with 96 tips on each rack. In the first step, the local position of the tip to be loaded must be determined. Therefore, the parameters, B043 and B044, are used in a Cartesian coordinate system (see Figure 5). For pipetting actions (motion 3 and 4), movements into and out from vessels are required, including variables representing the vessel type and the vessel position on the rack. The vessel type determines the immersion depth and speed. The position is given using the variables, B020 and B021, similar to the pipette tip box. The base stations/automated labware positioners (ALPs) for source and destination labware will be defined using the software R-interface and the process control software, SAMI, by parameter transfer. The motion types 2, 3, and 4 are calculated based on the start positions of the robot jobs related to the reference point of the corresponding base station [33,34]. The base station is defined using the variable, B018.
The teach-in method was used to realize the tip drop (motion 5) and placing back the pipette (motion 6) similar to the robot job for pipette pick-up. Table 4 gives an overview of these robot jobs. Table 4. Robot motion types and tasks, implementation method, and parameters.

Motion
Task Method Parameters 1 Pick-up the pipette Teach-in -2 Load tip Calculation Tip position in tip-box: X(B043); Y(B044) 3 Move pipette into vessel Calculation Vessel type; Vessel position in Rack: X(B020), Y(B021); speed 4 Move pipette out vessel Calculation Vessel type; speed 5 Tip eject to garbage Teach-in -6 Place pipette Teach-in -

Merging of Robot Jobs and Pipette Commands
The alternating control of the robot and the electronic pipette is a key component of the development of the software interface. The previously explained parts (robot jobs and pipette commands) must be combined in the form of a sequence control. Figure 6 visualizes an exemplary sequence control. For pipetting actions (motion 3 and 4), movements into and out from vessels are required, including variables representing the vessel type and the vessel position on the rack. The vessel type determines the immersion depth and speed. The position is given using the variables, B020 and B021, similar to the pipette tip box. The base stations/automated labware positioners (ALPs) for source and destination labware will be defined using the software R-interface and the process control software, SAMI, by parameter transfer. The motion types 2, 3, and 4 are calculated based on the start positions of the robot jobs related to the reference point of the corresponding base station [33,34]. The base station is defined using the variable, B018.
The teach-in method was used to realize the tip drop (motion 5) and placing back the pipette (motion 6) similar to the robot job for pipette pick-up. Table 4 gives an overview of these robot jobs. Place pipette Teach-in -

Merging of Robot Jobs and Pipette Commands
The alternating control of the robot and the electronic pipette is a key component of the development of the software interface. The previously explained parts (robot jobs and pipette commands) must be combined in the form of a sequence control. Figure 6 visualizes an exemplary sequence control. A software module was created inside the R-interface for alternating the sending and receiving of communication messages to/from the pipette and the robot. Table 5 shows the tasks and the related robot jobs and pipetting commands. Positioning for safe starting position EP_XXX_RELOAD -7 Place pipette EP_XXX_PUTBACK -After the initialization command to the desired pipette, the pipette is picked-up by the robot using the robot job, EP_XXX_PICKUP. The placeholder, "XXX", defines the type of the pipette: 200 or 1000. Figure 7 shows a picture series of pipette BRL 200/1 pick-up using the right robotic arm.  A software module was created inside the R-interface for alternating the sending and receiving of communication messages to/from the pipette and the robot. Table 5 shows the tasks and the related robot jobs and pipetting commands. Positioning for safe starting position EP_XXX_RELOAD -7 Place pipette EP_XXX_PUTBACK -After the initialization command to the desired pipette, the pipette is picked-up by the robot using the robot job, EP_XXX_PICKUP. The placeholder, "XXX", defines the type of the pipette: 200 or 1000. Figure 7 shows a picture series of pipette BRL 200/1 pick-up using the right robotic arm. A software module was created inside the R-interface for alternating the sending and receiving of communication messages to/from the pipette and the robot. Table 5 shows the tasks and the related robot jobs and pipetting commands. Positioning for safe starting position EP_XXX_RELOAD -7 Place pipette EP_XXX_PUTBACK -After the initialization command to the desired pipette, the pipette is picked-up by the robot using the robot job, EP_XXX_PICKUP. The placeholder, "XXX", defines the type of the pipette: 200 or 1000. Figure 7 shows a picture series of pipette BRL 200/1 pick-up using the right robotic arm.  For loading the pipette tip, the robot is moved to a safe starting posture above the workbench. The tip load is executed using the robot job, EP_XXX_LOAD, and the required variables for the local tip position (see Figure 5). Simultaneously, the pipette piston is moved to the home position recommended by the manufacturer. Figure 8 shows a picture series of the tip load using the pipette BRL 200/1. For loading the pipette tip, the robot is moved to a safe starting posture above the workbench. The tip load is executed using the robot job, EP_XXX_LOAD, and the required variables for the local tip position (see Figure 5). Simultaneously, the pipette piston is moved to the home position recommended by the manufacturer. Figure 8 shows a picture series of the tip load using the pipette BRL 200/1. The pipetting procedure uses the robot job, EP_XXX_INTO_VIAL. In the first movement, the robotic arm with the pipette is placed above the desired source labware (e.g., vessel, glass vial etc.). The local position is calculated using variables. In the next step, the robotic arm moves the pipette into the vessel and dips in the liquid. A pipetting command follows and the pipette piston is moved up to aspirate the desired liquid volume. If the aspiration step is finished, the pipette is moved out from the vessel using the robot job, EP_XXX_OUT_VIAL.
The dispensing procedure is similar to the aspiration step and starts with pipette positioning above the destination labware and into the vessel. The pipette piston is then moved down to dispense the liquid. To excess a potential remaining liquid droplet in the tip, the piston is moved up and down a short distance at high speed (blow out). Finally, the pipette is removed from the vessel.
A new pipetting process can be started using the same pipette tip. Alternatively, the tip can be ejected to start a new process with a new tip or to place the pipette back in the holder. For tip ejecting, the robot is moved to the border of the workbench above the waste container (robot job, EP_XXX_TIPEJECT), and the tip is then ejected by the related pipette command. Subsequently, the robot moves back to a safe posture (robot job, EP_XXX_RELOAD) and starts a new pipetting process or places the pipette back in the holder (robot job, EP_XXX_PUTBACK). This sequence control enables a flexible and cyclical execution of pipetting tasks. Figure 9 shows a picture series of various pipetting steps using the pipette, BRL 200/1.  The pipetting procedure uses the robot job, EP_XXX_INTO_VIAL. In the first movement, the robotic arm with the pipette is placed above the desired source labware (e.g., vessel, glass vial etc.). The local position is calculated using variables. In the next step, the robotic arm moves the pipette into the vessel and dips in the liquid. A pipetting command follows and the pipette piston is moved up to aspirate the desired liquid volume. If the aspiration step is finished, the pipette is moved out from the vessel using the robot job, EP_XXX_OUT_VIAL.
The dispensing procedure is similar to the aspiration step and starts with pipette positioning above the destination labware and into the vessel. The pipette piston is then moved down to dispense the liquid. To excess a potential remaining liquid droplet in the tip, the piston is moved up and down a short distance at high speed (blow out). Finally, the pipette is removed from the vessel.
A new pipetting process can be started using the same pipette tip. Alternatively, the tip can be ejected to start a new process with a new tip or to place the pipette back in the holder. For tip ejecting, the robot is moved to the border of the workbench above the waste container (robot job, EP_XXX_TIPEJECT), and the tip is then ejected by the related pipette command. Subsequently, the robot moves back to a safe posture (robot job, EP_XXX_RELOAD) and starts a new pipetting process or places the pipette back in the holder (robot job, EP_XXX_PUTBACK). This sequence control enables a flexible and cyclical execution of pipetting tasks. Figure 9 shows a picture series of various pipetting steps using the pipette, BRL 200/1. For loading the pipette tip, the robot is moved to a safe starting posture above the workbench. The tip load is executed using the robot job, EP_XXX_LOAD, and the required variables for the local tip position (see Figure 5). Simultaneously, the pipette piston is moved to the home position recommended by the manufacturer. Figure 8 shows a picture series of the tip load using the pipette BRL 200/1. The pipetting procedure uses the robot job, EP_XXX_INTO_VIAL. In the first movement, the robotic arm with the pipette is placed above the desired source labware (e.g., vessel, glass vial etc.). The local position is calculated using variables. In the next step, the robotic arm moves the pipette into the vessel and dips in the liquid. A pipetting command follows and the pipette piston is moved up to aspirate the desired liquid volume. If the aspiration step is finished, the pipette is moved out from the vessel using the robot job, EP_XXX_OUT_VIAL.
The dispensing procedure is similar to the aspiration step and starts with pipette positioning above the destination labware and into the vessel. The pipette piston is then moved down to dispense the liquid. To excess a potential remaining liquid droplet in the tip, the piston is moved up and down a short distance at high speed (blow out). Finally, the pipette is removed from the vessel.
A new pipetting process can be started using the same pipette tip. Alternatively, the tip can be ejected to start a new process with a new tip or to place the pipette back in the holder. For tip ejecting, the robot is moved to the border of the workbench above the waste container (robot job, EP_XXX_TIPEJECT), and the tip is then ejected by the related pipette command. Subsequently, the robot moves back to a safe posture (robot job, EP_XXX_RELOAD) and starts a new pipetting process or places the pipette back in the holder (robot job, EP_XXX_PUTBACK). This sequence control enables a flexible and cyclical execution of pipetting tasks. Figure 9 shows a picture series of various pipetting steps using the pipette, BRL 200/1.

High-Level Process Control
A high-level process control system enables remote control of the dual-arm robot and the electronic pipette and-in analytical laboratories, this is an important issue-it provides a tool for an easy generation of new robotic processes without robot programming knowledge. To fulfil these tasks, the dual-arm robot, peripheral devices, such as measurement instruments and the electronic pipettes, were integrated in the process control software, SAMI (Beckman Coulter, Krefeld, Germany). This control software is running on a central computer together with the interface software for the robot (R-interface). A process/workflow will be created in the SAMI editor via a graphical user interface (GUI).

Parameter Transfer Using XML
The process control software, SAMI, and the R-interface communicate using XML messages for parameter transfer for adjusting variables in robot jobs and pipetting commands. Different message types are available, such as "Version", "Transport", "MethodRun", "Resource", "KeepAlive", "Abort", "Stop", "Continue", and "Error". The low-level message format is shown in Table 6. Table 6. Format for XML messages between the process control software, SAMI, and the R-interface. The software module R-interface has been extended to recognize and evaluate (coding/decoding) the elements and attributes of the XML messages related to pipetting processes. The robot is integrated into the SAMI process per drag and drop and can be controlled using the method, "Run Yaskawa". Figure 10 exemplarily shows a process in the SAMI editor.

High-Level Process Control
A high-level process control system enables remote control of the dual-arm robot and the electronic pipette and-in analytical laboratories, this is an important issue-it provides a tool for an easy generation of new robotic processes without robot programming knowledge. To fulfil these tasks, the dual-arm robot, peripheral devices, such as measurement instruments and the electronic pipettes, were integrated in the process control software, SAMI (Beckman Coulter, Krefeld, Germany). This control software is running on a central computer together with the interface software for the robot (R-interface). A process/workflow will be created in the SAMI editor via a graphical user interface (GUI).

Parameter Transfer Using XML
The process control software, SAMI, and the R-interface communicate using XML messages for parameter transfer for adjusting variables in robot jobs and pipetting commands. Different message types are available, such as "Version", "Transport", "MethodRun", "Resource", "KeepAlive", "Abort", "Stop", "Continue", and "Error". The low-level message format is shown in Table 6. The software module R-interface has been extended to recognize and evaluate (coding/decoding) the elements and attributes of the XML messages related to pipetting processes. The robot is integrated into the SAMI process per drag and drop and can be controlled using the method, "Run Yaskawa". Figure 10 exemplarily shows a process in the SAMI editor. Inside the SAMI method, a new process was added for execution of a complete pipetting process (see Figure 11). The following parameters have to be entered to define the process parameter: Type of pipette, volume, and the COM port for pipette control as well as the speed values for liquid aspiration and dispensing. Furthermore, the properties and positions of the used labware are transferred from the SAMI process to the R-interface. This includes the positions of the pipetting tips, source, and destination labware. For future works, three further parameters were implemented for Inside the SAMI method, a new process was added for execution of a complete pipetting process (see Figure 11). The following parameters have to be entered to define the process parameter: Type of pipette, volume, and the COM port for pipette control as well as the speed values for liquid aspiration and dispensing. Furthermore, the properties and positions of the used labware are transferred from the SAMI process to the R-interface. This includes the positions of the pipetting tips, source, and destination labware. For future works, three further parameters were implemented for additional aspiration/dispensing volumes and for special pipetting features (e.g., pre-wet, mixing before/after aspiration/dispensing).
Energies 2018, 11, x FOR PEER REVIEW 13 of 21 additional aspiration/dispensing volumes and for special pipetting features (e.g., pre-wet, mixing before/after aspiration/dispensing). Figure 11. Parameter editor inside a run method.
The SAMI process control software uses sequential counting of the tip or vessel positions located at a tip box or a rack. The numbers inside the rack (see Figure 12, inside the circles) represent the position indication in SAMI. The counting starts in the upper left corner and ends in the lower right corner. In contrast, the robot jobs use a two-dimensional Cartesian coordinate system (origin in the upper right corner) and variables are used for position identification. The conversion from one system to another is automatically done in the R-interface. Figure 12 shows the arrangement of vessels on a rack and the two systems of position identification. The functionality of the communication protocol used between the process control software, SAMI, and the R-interface should be explained with an example message for execution of a pipetting process (see Figure 13). The XML message includes information for robot and pipette control. In the example, 10 pipetting steps are executed for pipetting 100 µL from 10 different source vessels into 10 different destination vessels using the pipette, BRL 200/1, communicating via port COM8. The tip The SAMI process control software uses sequential counting of the tip or vessel positions located at a tip box or a rack. The numbers inside the rack (see Figure 12, inside the circles) represent the position indication in SAMI. The counting starts in the upper left corner and ends in the lower right corner. In contrast, the robot jobs use a two-dimensional Cartesian coordinate system (origin in the upper right corner) and variables are used for position identification. The conversion from one system to another is automatically done in the R-interface. Figure 12 shows the arrangement of vessels on a rack and the two systems of position identification. additional aspiration/dispensing volumes and for special pipetting features (e.g., pre-wet, mixing before/after aspiration/dispensing). Figure 11. Parameter editor inside a run method.
The SAMI process control software uses sequential counting of the tip or vessel positions located at a tip box or a rack. The numbers inside the rack (see Figure 12, inside the circles) represent the position indication in SAMI. The counting starts in the upper left corner and ends in the lower right corner. In contrast, the robot jobs use a two-dimensional Cartesian coordinate system (origin in the upper right corner) and variables are used for position identification. The conversion from one system to another is automatically done in the R-interface. Figure 12 shows the arrangement of vessels on a rack and the two systems of position identification. The functionality of the communication protocol used between the process control software, SAMI, and the R-interface should be explained with an example message for execution of a pipetting process (see Figure 13). The XML message includes information for robot and pipette control. In the example, 10 pipetting steps are executed for pipetting 100 µL from 10 different source vessels into 10 different destination vessels using the pipette, BRL 200/1, communicating via port COM8. The tip The functionality of the communication protocol used between the process control software, SAMI, and the R-interface should be explained with an example message for execution of a pipetting process (see Figure 13). The XML message includes information for robot and pipette control. In the example, 10 pipetting steps are executed for pipetting 100 µL from 10 different source vessels into 10 different destination vessels using the pipette, BRL 200/1, communicating via port COM8. The tip will be changed after each pipetting step. The base stations for the source and destination labware as well as for the tip box must be defined depending on the current arrangement of the workbench. The bases 0, 1, and 7 are used in this example.
Energies 2018, 11, x FOR PEER REVIEW 14 of 21 will be changed after each pipetting step. The base stations for the source and destination labware as well as for the tip box must be defined depending on the current arrangement of the workbench. The bases 0, 1, and 7 are used in this example. Figure 13. XML message sent from SAMI to the R-interface.

Results and Discussion
The pipetting precision and the process times were determined using the dual-arm robot equipped with one or more manual pipettes and one electronic pipette. In each experiment, 12 empty GC vials (vol. 2 mL) were numbered and weighted. Ultrapure water was used as the test liquid for aspiration and dispensing. After finishing the pipetting process, the vials were weighted again and the corresponding water volume was calculated. Additionally, the process times required for liquid transfer using manual pipettes and electronic pipettes were recorded. The total process time, including all transportation steps, the time for pipetting from one source vessel into one destination vessel, and the time only for liquid aspiration and for liquid dispensing, were determined.

Pipetting a Volume of 100 µL
In the first test, a volume of 100 µL was pipetted using a manual pipette with the volume range of 10-100 µL (Eppendorf, Hamburg, Germany) and the electronic pipette, BRL 200/1 (Sartorius Biohit Liquid Handling Oy, Helsinki, Finland). The pipetting processes using one manual and one electronic pipette were identical. The tip box (vol. 300 µL) was transported from the overhead rack to the ALP on the workbench. A volume of 100 µL water was transferred into 12 vials using the manual/electronic pipette. The tip was not changed during this procedure. After liquid transfer, the tip was dropped into the waste, the pipette was placed back on the holder, and the tip box was returned to the overhead rack. The measurement results show average volumes of 97.07 µL for the manual pipette and 95.42 µL for the electronic pipette. The coefficients of variation (CV) reach from 1.44% (manual pipette) to 3.79% (electronic pipette). Table 7 gives an overview of the measurement results.

Results and Discussion
The pipetting precision and the process times were determined using the dual-arm robot equipped with one or more manual pipettes and one electronic pipette. In each experiment, 12 empty GC vials (vol. 2 mL) were numbered and weighted. Ultrapure water was used as the test liquid for aspiration and dispensing. After finishing the pipetting process, the vials were weighted again and the corresponding water volume was calculated. Additionally, the process times required for liquid transfer using manual pipettes and electronic pipettes were recorded. The total process time, including all transportation steps, the time for pipetting from one source vessel into one destination vessel, and the time only for liquid aspiration and for liquid dispensing, were determined.

Pipetting a Volume of 100 µL
In the first test, a volume of 100 µL was pipetted using a manual pipette with the volume range of 10-100 µL (Eppendorf, Hamburg, Germany) and the electronic pipette, BRL 200/1 (Sartorius Biohit Liquid Handling Oy, Helsinki, Finland). The pipetting processes using one manual and one electronic pipette were identical. The tip box (vol. 300 µL) was transported from the overhead rack to the ALP on the workbench. A volume of 100 µL water was transferred into 12 vials using the manual/electronic pipette. The tip was not changed during this procedure. After liquid transfer, the tip was dropped into the waste, the pipette was placed back on the holder, and the tip box was returned to the overhead rack. The measurement results show average volumes of 97.07 µL for the manual pipette and 95.42 µL for the electronic pipette. The coefficients of variation (CV) reach from 1.44% (manual pipette) to 3.79% (electronic pipette). Table 7 gives an overview of the measurement results. In the second experiment, a larger volume of 1300 µL was pipetted. Three manual pipettes are required with volume ranges of 10-100 µL, 20-200 µL, and 100-1000 µL. The maximum pipette volumes (100, 200, and 1000 µL) were previously adjusted and the pipettes placed on the holders behind the dual-arm robot. The electronic pipette, BRL 1000/1 (Sartorius Biohit Liquid Handling Oy, Helsinki, Finland), was used in two pipetting steps (1000 µL and 300 µL).

Process Using Manual Pipettes
The tip box (vol. 1000 µL) was transported from the overhead rack to the ALP on the deck area. A volume of 1000 µL of water was transferred into 12 vials using the manual pipette (volume range 100-1000 µL). The tip was not changed during this procedure. After liquid transfer, the tip was dropped into the waste, the pipette placed back on the holder, and the tip box returned to the overhead rack. A second tip box (vol. 300 µL) was transported from the overhead rack to the ALP on the workbench. The procedure was repeated with the next two pipettes to transfer 200 µL and 100 µL. Finally, the tip box was returned to the overhead rack.

Process Using Electronic Pipettes
The tip box with tips (vol. 1000 µL) was transported from the overhead rack to the ALP on the deck area. A volume of 1000 µL water was transferred into 12 vials using the electronic pipette BRL 1000/1. Then the volume was software-based adjusted to 300 µL and water was transferred into the same vials. The tip was not changed during these procedures. After liquid transfer, the tip was dropped into the waste, the pipette was placed back on the holder, and the tip box was returned to the overhead rack.
The measurement results show average volumes of 1276.50 µL for the manual pipette and 1284.17 µL for the electronic pipette. The coefficients of variation (CV) reach from 0.54% (manual pipette) to 0.45% (electronic pipette). Table 8 gives an overview of the measurement results.

Process Comparison Using Manual and Electronic Pipettes
The comparison of the performance using the manual and the electronic pipette shows no significant differences in the pipetting precision. For pipetting a volume of 100 µL, the CV value using the manual pipette was lower (1.44%) than using the electronic pipette (3.79%). For pipetting a volume of 1300 µL, the CV value was lower using the electronic pipette (0.45%) than using the manual pipette (0.54%). Figure 14 visualizes the measurement results. The process using manual pipettes requires a high number of pipettes with previously adjusted volumes to realize the final volume. The complexity increases if more pipetting steps are involved. All final volumes must be able to be composed from the provided pipettes and the previously adjusted volumes. This results in a high number of pipettes and much workspace for pipettes and pipette holders as well as a high number of transportation steps for the pick-up and return of the pipettes. Furthermore, pipettes for different volume ranges require different tips. This results in additional space for the tip boxes and an increasing number of transportation steps for the pick-up and return of the tip boxes. The total process time was about 12.2 min for pipetting a volume of 1300 µL of water into 12 vessels. Each step for liquid aspiration and dispensing required 4 s; in total, 8 s for one pipetting step. The transportation steps require the most processing time. Figure 15 shows a flow chart to give an overview of the process using manual pipettes for pipetting a volume of 1300 µL into 12 vessels. The process using manual pipettes requires a high number of pipettes with previously adjusted volumes to realize the final volume. The complexity increases if more pipetting steps are involved. All final volumes must be able to be composed from the provided pipettes and the previously adjusted volumes. This results in a high number of pipettes and much workspace for pipettes and pipette holders as well as a high number of transportation steps for the pick-up and return of the pipettes. Furthermore, pipettes for different volume ranges require different tips. This results in additional space for the tip boxes and an increasing number of transportation steps for the pick-up and return of the tip boxes. The total process time was about 12.2 min for pipetting a volume of 1300 µL of water into 12 vessels. Each step for liquid aspiration and dispensing required 4 s; in total, 8 s for one pipetting step. The transportation steps require the most processing time. Figure 15 shows a flow chart to give an overview of the process using manual pipettes for pipetting a volume of 1300 µL into 12 vessels.
In contrast, the number of transportation steps was significantly decreased using the electronic pipette. Two volumes were electronically adjusted; only one pipette and one tip box were required. The total process time was about 11.1 min for pipetting a volume of 1300 µL of water into 12 vessels; one minute lower than using manual pipettes. The liquid aspiration required 10 s and liquid dispensing 15 s; in total, 25 s for one pipetting step. In comparison to the process using manual pipettes, this time is about threefold. Reasons are found in the time required for data communication between the pipette and the R-interface. Another reason is the blowout after dispensing to release a potential remaining droplet, which was only executed using the electronic pipette. Figure 16 shows a flow chart to give an overview of the process using the electronic pipette for pipetting a volume of 1300 µL into 12 vessels. In contrast, the number of transportation steps was significantly decreased using the electronic pipette. Two volumes were electronically adjusted; only one pipette and one tip box were required. The total process time was about 11.1 min for pipetting a volume of 1300 µL of water into 12 vessels; one minute lower than using manual pipettes. The liquid aspiration required 10 s and liquid dispensing 15 s; in total, 25 s for one pipetting step. In comparison to the process using manual pipettes, this time is about threefold. Reasons are found in the time required for data communication between the pipette and the R-interface. Another reason is the blowout after dispensing to release a potential remaining droplet, which was only executed using the electronic pipette. Figure 16 shows a flow chart to give an overview of the process using the electronic pipette for pipetting a volume of 1300 µL into 12 vessels. The total processing times for pipetting using manual and electronic pipettes differ by about one minute. More time for transportation is required for handling a number of manual pipettes and tip boxes; the pipetting steps were faster since no data communication with the pipette is necessary. In contrast, for pipetting using electronic pipettes, the number of transportation steps and the number of pipettes/tip boxes were reduced; the pipetting steps were slower due to data communication. Table 9 summarizes the required equipment, transportation, and pipetting steps as well as the related processing times. The total processing times for pipetting using manual and electronic pipettes differ by about one minute. More time for transportation is required for handling a number of manual pipettes and tip boxes; the pipetting steps were faster since no data communication with the pipette is necessary. In contrast, for pipetting using electronic pipettes, the number of transportation steps and the number of pipettes/tip boxes were reduced; the pipetting steps were slower due to data communication. Table  9 summarizes the required equipment, transportation, and pipetting steps as well as the related processing times.

Conclusions
A dual-arm robotic system for automated sample preparation for analytical measurements was presented. The robot was able to handle classical laboratory pipettes using two arms in coordinated bimanual operation. Additionally, the robot was equipped with electronic pipettes for handling using only one arm. The first approach using classical pipettes is important for the automation of existing standardized and certified processes in highly regulated areas with strongly prescribed conditions, since the robot performs the same process with the same equipment as a human operator. The second approach using electronic pipettes enable a more efficient use of the system resources. Valuable space can be saved on the robot's working area due to the low number of pipettes required in the sample preparation process. The number of transportation steps (pipette and tip box movements) was significantly reduced. Only one robotic arm is required for pipette handling; this is a release of 50% of the robot resources. The second arm of the robot now can be used to run a completely different process or to support pipetting efficiency. Therefore, the dual-arm robot may be equipped with one pipette on each arm. There are two alternative operation modes possible. In non-coordinated operation, the robot may perform two independent pipetting processes in parallel. In goal-coordinated operation, the robot may alternate using two pipettes to perform one pipetting process. In both cases, the total processing time will be decreased. The control-especially if using a flexible graphical user interface-will become more complex since a multitude of additional parameters must be addressed, such as collision avoidance between the two arms as well as the arms and the equipment mounted on the robot working area.
The pipette commands and the related robot movements were integrated into a multi-level control system consisting of the robot control FS100, the software R-interface, and the process control system, SAMI, with a user-friendly GUI for the generation of new processes. The system presented enables the generation of highly flexible and complex processes in the area of analytical measurements.