Programming Motions

From LabAutopedia

Jump to: navigation, search
Invited-icon.jpgA LabAutopedia invited article

Authored by: Mark F. Russo

Automatic kinematic computations vastly simplify the task of programming automated instrument motions by hiding the underlying complexity of coordinated motor control. Nevertheless, additional programming tools are necessary to build this basic functionality into a truly reusable toolkit.

Perhaps the simplest tool in the motion programming toolkit is the ability to record a sequence of points in space. An instrument is moved to a desired location, usually using some form of hand-held control terminal called a teach pendant. The instrument’s location and other configuration details are then saved, and the process is repeated. The resulting ordered list of sequential instrument locations and configuration settings can be saved and replayed at will by the programmer. A library of these complex motions is built up for a given instrument layout to form the basis of an automated method.

A benefit of laboratory automation is the real possibility of processing many more samples than would be possible using manual techniques. Multiwell microplates and container racks can hold hundreds of samples in a two-dimensional array layout. The intention of the ultimate automated method is for each sample to be accessed in an identical manner, with the only difference being the spatial starting point of the shared motion. The benefit of automation would be lost quickly if it was necessary to program a new motion for each of several hundred containers in an array. This problem is solved with the concept of a relative motion.

Unlike an absolute motion, which is made up of a sequence of absolute positions in space, relative motions store a sequence of offsets from some initial location. A relative motion can be replayed with respect to any starting point within a robot's work envelope provided the motion does not cause to robot to extend beyond its reach. In the case of the wells of a microplate, a complex relative motion can be taught to access a sample in one well from a given location above that well. This motion can then be reused by positioning the robot at the same relative location above a different well and replaying the relative motion. Building a library of relative instrument motions is one of the first tasks necessary for building a fully integrated laboratory automation system.

The ability to teach and reuse relative motions is a significant advantage. Next we would like to simplify the process of identifying of all the potential relative motion starting points in a system. Continuing with the previous example, it is not hard to imagine how to do just that. With knowledge of three corners of the container rack or microplate, combined with the number of containers in each row and column, it is possible to compute the locations of all wells in the array. The robot itself and its teach pendant can be used to teach the three corner locations. This information along with the dimensions of the array can be used compute the missing locations which can be saved and reused. This tool goes by several names, but all amount to a data structure that holds a regular array of points in space, or a safe point array.

By combining a safe point array with relative motions, instructing an instrument to perform an action on a given sample amounts to executing a relative motion with respect to a given element of a point array. Safe point arrays can be used to identify many other sample arrangements in an automated system. For example, the positions of a sample hotel can be recorded by teaching the top and bottom location of the hotel and entering the number of locations in between.

This basic concept can be extended even further by nesting arrays. A safe point array identifying a rack of test tubes can itself be accessed through a point array that identifies a rectangular array of rack positions on the deck of a liquid handler. This amounts to a series of vector additions in three-dimensional space that must start at one absolute point in that space.

When a library of motions has been assembled, the only motion related task remaining is to teach the automated instrument or robot how to move from place to place within its work envelope. Ideally, instrument safe points are taught in such a way as to allow straight motions from any safe point to any other safe point without the possibility of collision. More complex or space-constrained layouts may make this impossible. In that case certain intermediate locations within the work envelope are identified through which the robot must pass in order to safely move from one point to another. These points are often called waypoints, a term borrowed from the practice of terrestrial navigation.

The foundation of a complete motion programming toolkit is comprised of each of the aforementioned tools. The recording and playback of complex and relative motions, an ability to quickly teach and store safe point arrays, the execution of motions through a sequence of points in space including safe points and waypoints, and programmatic access to these tools through some form of command language, are all tools that can be found in any modern motion programming toolkit.

Automatically selecting points in space through which a robot must travel in order to safely move from one point to another is an advanced technique called motion planning. This technique was developed by the artificial intelligence community and has been extended to include more that motions, including the planning of complete activities in a goal oriented manner to achieve a complete task.

Click [+] for other articles on 
Programming automation(1 C, 10 P)
The Market Place for Lab Automation & Screening  Automation Software