Not applicable.
Not applicable.
Not applicable.
The present invention is directed to improvements in the decisions and operations of devices, including robots, in viscous fluid, at least partially through efficient analysis of instantaneous data collected via passive sensors.
Fluid Flow Analysis and Applications
Fluid flow is important to multiple fields of technology and may be characterized for many reasons, including an interest in the fluid flow itself, or an interest the effects of the fluid flow (e.g., exerting forces on an object). To analyze fluid flow, various sensors may be used, and dyes or particles can help visualize flow patterns. Some of these sensors are microscopic or molecular in size. (Grosse and Schroder, “The Micro-Pillar Shear-Stress Sensor MPS(3) for Turbulent Flow,” Sensors, 2009; Martin, Brooks et al., “Complex fluids under microflow probed by SAXS: rapid microfabrication and analysis,” Journal of Physics: Conference Series, 2010; Mustafic, Huang et al., “Imaging of flow patterns with fluorescent molecular rotors,” J Fluoresc, 2010).
Fluid flow can have biological effects. For example, fluid flow is known to affect gene expression (Zou, Liu et al., “Flow-induced beta-hairpin folding of the glycoprotein lbalpha beta-switch,” Biophys J, 2010), and cells that fluoresce when subjected to shear stress have been created for use as sensors (Varma, Hou et al., “A Cell-based Sensor of Fluid Shear Stress for Microfluidics,” 17th International Conference on Miniaturized Systems for Chemistry and Life Sciences, Freiburg, Germany, 2013). Shear force is also believed to affect the vasculature (LUTZ, CANNON et al., “Wall Shear Stress Distribution in a Model Canine Artery during Steady Flow,” Circulation Research, 1977). Rheotaxis (navigation by facing into an oncoming current) in cells has also been studied (Kantsler, Dunkel et al., “Rheotaxis facilitates upstream navigation of mammalian sperm cells,” eLife, 2014).
Fluid forces can be used for particle handling. Such techniques include inertial focusing, and can be used to position objects within a fluid (e.g., microspheres or cells in microfluidics systems) into specific bins for sorting, or otherwise position the objects (e.g., for analysis in a lab-on-a-chip or assay scenario). (Sharp, Adrian et al., “Liquid Flows in Microchannels,” MEMS Introduction and Fundamentals, CRC Press, 2005; Petersson, Aberg et al., “Free Flow Acoustophoresis: Microfluidic-Based Mode of Particle and Cell Separation,” Anal. Chem., 2007; Karimi, Yazdi et al., “Hydrodynamic mechanisms of cell and particle trapping in microfluidics,” Biomicrofluidics, 2013; Martel and Toner, “Inertial focusing in microfluidics,” Annu Rev Biomed Eng, 2014)
Software for the simulation and analysis of fluid flow is freely and commercially available. For example, SOLIDWORKS (Waltham, Mass. USA) offers a “Flow Simulation” module, which performs computational fluid dynamics calculations. Autodesk's (San Rafael, Calif. USA) CFD software offers similar capabilities, as does COMSOL's (Burlington, Mass. USA) CFD (Computational Fluid Dynamics) and FSI (Fluid Structure Interaction) modules. OpenFOAM (openfoam.com) is an open source computational fluid dynamics package. More general tools, such as Mathematica (Wolfram Research, Champaign, Ill. USA) and MATLAB (MathWorks, Natick, Mass. USA), can also be used, and statistical analysis of results can be done via many software packages, including some of those already listed, and the free R (r-project.org). These lists are only exemplary; many other packages are available, and custom software could also be used.
Computing means which can be used include conventional CPUs, GPUs (graphical processing units), FPGAs (field-programmable gate arrays), ASICs (application-specific integrated circuits), mechanical computers, embedded microprocessors (in which we include microcontrollers), and application-specific mechanical devices (for example, a device similar to a mechanical odometer could be used to register sensor counts, time, or other quantities, and such a device, being optimized for a single purpose, can be smaller and more efficient than general purpose computational devices). For convenience, we may refer to all such computational means or devices as a “CPU”.
For many analysis techniques, such as FEA (finite element analysis) or FEM (finite element method), memory (e.g., RAM, or other memory or data storage means) size and memory bandwidth to one or more processors can be more limiting than CPU speed. The storage space required for the model itself is generally not a problem, and models themselves can be stored on CD, DVD, thumb drives, hard drives, or other data storage means. However, the memory required to analyze a given model can be problematically-large because memory requirements increase as degrees of freedom increase. Models with many elements or degrees of freedom may require memory beyond the capacity of, e.g., the average personal computer. Although virtual memory can be used, this substantially slows down the computations.
In general, solving fluid dynamics models in real-time or near real-time may be challenging or even impossible, depending on factors such as the hardware used, the available power (e.g., the same hardware may be run at different frequencies depending on available power and cooling), model complexity, computations required and algorithms used, and acceptable delay.
Rheological Sensors
Rheological sensors can aid in measuring properties of fluid flow, and such sensors be anywhere from macroscopic, to micron-scale (e.g., MEMS-based) or molecular-scale, and can measure flow, viscosity, velocity, shear and pressure (both of which are components of stress, and could be measured with a single type of sensor if desired), temperature, and other quantities (Lofdahl and Gad-el-Hak, “MEMS-based pressure and shear stress sensors for turbulent flows,” Meas. Sci. Technol., 1999; Akers, “A Molecular Rotor as Viscosity Sensor in Aqueous Colloid Solutions,” Journal of Biomechanical Engineering, 2004; Haidekker, Akers et al., “Sensing of Flow and Shear Stress Using Fluorescent Molecular Rotors,” Sensor Letters, 2005; Soundararajan, Rouhanizadeh et al., “MEMS shear stress sensors for microcirculation,” Sensors and Actuators A: Physical, 2005; Grosse and Schroder, “The Micro-Pillar Shear-Stress Sensor MPS(3) for Turbulent Flow,” Sensors, 2009; Haidekker, “Local flow and shear stress sensor based on molecular rotors,” US7517695, 2009; Wang, Chen et al., “MEMS-based gas flow sensors,” Microfluidics and Nanofluidics, 2009; Haidekker, Grant et al., “Supported molecular biolfluid viscosity sensors for invitro and in vivo use,” US7670844, 2010; Mustafic, Huang et al., “Imaging of flow patterns with fluorescent molecular rotors,” J Fluoresc, 2010; Wu, Day et al., “Shear stress mapping in microfluidic devices by optical tweezers,” OPTICS EXPRESS, 2010; Haidekker, Grant et al., “Supported molecular biofluid viscosity sensors for in vitro and in vivo use,” US7943390, 2011; Eswaran and Malarvizhi, “MEMS Capacitive Pressure Sensors: A Review on Recent Development and Prospective,” International Journal of Engineering and Technology, 2013; Zhang, Sun et al., “Red-Emitting Mitochondrial Probe with Ultrahigh Signal-to-Noise Ratio Enables High-Fidelity Fluorescent Images in Two-Photon Microscopy,” Anal Chem, 2015).
Although not technically falling under rheological sensors, numerous types of other sensors exist that could provide additional data, such as gravity-based sensors, magnetic field sensors, angle sensors, and accelerometers. Such sensors, and many more, are well-known, but for examples see (Huikai and Fedder, “Fabrication, characterization, and analysis of a DRIE CMOS-MEMS gyroscope,” IEEE Sensors Journal, 5, 2003; Herrera-May, Aguilera-Cortes et al., “Resonant Magnetic Field Sensors Based On MEMS Technology,” Sensors (Basel), 10, 2009; Koka and Sodano, “High-sensitivity accelerometer composed of ultra-long vertically aligned barium titanate nanowire arrays,” Nat Commun, 2013; Middlemiss, Bramsiepe et al., “Field Tests of a Portable MEMS Gravimeter,” Sensors (Basel), 11, 2017).
The present application includes material from the present inventor's earlier publications (Hogg, “Stress-based navigation for microscopic robots in viscous fluids,” Journal of Micro-Bio-Robotics, 2018; “Identifying Vessel Branching from Fluid Stresses on Microscopic Robots,” 2018).
Techniques are disclosed for controlling the actions of a device (including robots) in fluid systems having viscous flow, based on passive sensing of fluid flow data (for example, pressure and shear forces), which may be analyzed using quasi-static methods and machine learning, to derive information relating to the position and/or movement of the device, other objects in the fluid, and features of the fluid systems such as information about the fluid flow itself, and the geometry of the fluid boundaries. Examples of information about the device itself include its position, orientation, and/or movement in the channel. Examples of information about the fluid system include fluid flow velocity, channel size, detection of features such as curves, branches, and merges, and/or the presence of additional objects in the channel besides the device in question, either static or moving. Time courses may be considered in that multiple measurements over time may be analyzed for trends (e.g., changes in the curvature of the vessel as the device moves through the fluid system—this is in some sense time dependent, but only because the device location changes with time, not because the flow is turbulent and cannot be understood in an instantaneous manner), but each of these measurements is still typically collected instantaneously and the measurements for a particular time are analyzed in a quasi-static manner.
This strategy allows for advantages including faster computation, reduced hardware requirements, and reduced sensor usage. These techniques provide information on the device and the fluid system that can be used to characterize the system, such as by mapping features of the fluid system (curves, bumps, branch points, merge points, areas where the flow indicates a possible leak, etc.) Maps of the fluid system may be created, and such maps or other models of the system can be used to direct devices to desired locations in the system. Information on the fluid system features can also be used to tell the devices when to take actions, such as navigating branch points, adhering to the channel walls, or removing deposits found on the walls.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
“Boundaries” are divisions between the fluid and objects adjacent to the fluid, surrounding the fluid, or within the fluid. Examples include the wall (or “channel,” “vessel,” or other appropriate term) surrounding a fluid a stationary object within the fluid, or a moving object within the fluid.
“Boundary layers” are transitions, often sharp transitions, of one or more properties (e.g., the velocity or vector of a fluid flow, or a chemical, thermal, or other gradient within the fluid) of a fluid flow. Boundary layers may be caused by the fluid flow itself (although at low Reynolds numbers, gradual transitions are the norm), or maybe caused by boundaries interrupting the natural flow of the fluid.
A “channel”, unless context requires otherwise, is the boundary of a fluid system. Such a boundary may also be referred to as a wall or vessel, or any other term that conveys that it provides means for holding the fluid system in a particular shape (which shape is not necessarily static or rigid, though it may be). Specific examples may use terminology appropriate to the applicable field. For example, the fluid boundaries in an industrial system may be referred to as pipes, while in a biological context, they may be referred to as vasculature or capillaries.
“Features” of a fluid flow system include boundaries and their properties, fluid and its properties, fluid flow and its properties, and objects within the fluid and their properties. For example, features could include positions of boundaries holding the fluid, positions of objects within the fluid, characteristics of the fluid or fluid flow such as viscosity, velocity, direction, or the nature of any gradients present, such as gradients in temperature, velocity, or chemical concentrations. The term “feature” or “features” is also used in other contexts, such as using machine learning data-processing techniques to extract “features” from data. Context should make the intended meaning clear.
“Fluid flow system,” “fluid system” or simply “system” when context makes the meaning clear, refers to any system of flowing fluid(s) (including gases) and any boundaries, including walls and other objects within the fluid. Examples include, but are not limited to, systems frequently containing water or other common solvents (e.g., microfluidics or “lab on a chip” systems), biological systems (e.g., blood flow within vasculature, lymph flow within lymphatic channels, or gas flow within lungs), and industrial systems (which may deal with highly-viscous materials, from oil, to foodstuffs such as peanut butter, honey, ketchup and sour cream, and which, as a result, may have viscous flow even at relatively large sizes, providing some cases where devices could be at least several inches in size).
“Harmonic analysis” includes any of various mathematical analysis techniques in which data are represented as the superposition of basic waveforms, including 2-dimensional and 3-dimensional Fourier transformations, spherical harmonic techniques, and other techniques known in the art.
“Instantaneous” measurement means without the need for continuous data collection or time-courses. No process is literally instant. For example, sensors take time, even if only fractions of a second, to gather data. Computing means take time to analyze the data. Data transmission takes time. So, by taking “snapshots” or “instantaneous” readings, we mean that as fast as the data representing a system having viscous flow can be gathered and analyzed, the desired inferences can be made. The distinction is that static or quasi-static systems can be analyzed “instantaneously,” while time-dependent systems (which is almost all familiar everyday systems) cannot be, because even if nothing the natural flow of the fluid, the system can change over time due to turbulence.
“Machine learning” includes any appropriate mathematical operations or data analysis which allows the desired inferences or determinations to be made, including quantitative (e.g., velocity, viscosity) or qualitative (e.g., classification) analyses. Examples include Bayesian networks, classifiers, data mining, decision trees (and ensembles of decision frees such as random forests), deep learning, linear regression, logistic regression, neural networks, statistical analysis (descriptive and inferential), and wavelets. Pre- and post-processing of data, including averaging, noise reduction, normalization, Fourier transforms and many other techniques, is assumed to be inherent in machine learning and used as appropriate; such techniques are well-known. Machine learning may take place in real-time, or not, as necessary and convenient, and may be performed by computational means within a device inside a system, distributed among multiple devices in a system, offloaded to computational means outside the system, or a combination thereof. References to “inferences,” “determinations,” or other terms relating to the use of data to determine system properties, where contextually appropriate, are synonymous with machine learning. Machine learning is a well-developed field, with numerous publications and books on the subject. The following are but a small sampling of books on relevant topics in machine learning: (Everitt and Hothorn, “A Handbook of Statistical Analysis Using R, 2nd Edition,” CRC Press, 2010; Bishop, “Pattern Recognition and Machine Learning (Information Science and Statistics),” Springer, 2011; Witten, Frank et al., “Data Mining, Practical Machine Learning Tools and Techniques, 3rd Edition,” Burlington, Mass., Elsevier, 2011; Aster, Borchers et al., “Parameter Estimation and Inverse Problems, 2nd Edition,” Academic Press, 2012; Mostafa, Ismail et al., “Learning From Data,” AMLBook, 2012; Goodfellow, Bengio et al., “Deep Learning (Adaptive Computation and Machine Learning series),” MIT Press, 2016; Géron, “Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems,” O'Reilly Media, 2017)
Features and Position in Fluid Systems
Fluid forces are routinely used to position objects within a fluid. The design problem to be solved in such cases might be stated as “An object within the fluid flow starts at position X, and needs to end up at position Y. How can the fluid flow be designed to make that happen?”
However, there is another position-related problem to be solved, and one which, to the best of our knowledge, has not been previously addressed for Stokes flow (aka, viscous flow) scenarios. This problem might be stated as “Given the ability to gather fluid-flow data, what information can be determined about the location, identity, and characteristics of system features?”
In addition to having different goals, the context of these two problems may be very different due to different levels of control (or lack thereof) over various aspects of the respective fluid flow systems. Diagnostic capabilities may differ greatly as well.
For example, in microfluidics systems or other systems designed for particle handling, the systems are designed to achieve some goal (e.g., move an object from point X to point Y). In order to do this, the designer of the system has, within the limits of manufacturability and cost, complete control over system design. The size and shape of the fluid channels can be controlled, the wall material can be controlled, the flow rate can be controlled, valves can be added as needed, etc. In short, almost all aspects of the system are amenable to being engineered so that the system meets its functional goals. And, to ensure that this is happening reliably, diagnostic capabilities may be built into, or facilitated, by the system. For example, visual (including microscopic) inspection of microfluidics chambers can be permitted by using a transparent cover material, and such inspection can ensure that the objects within the fluid are being positioned as desired, or that the correct number of objects end up in various bins.
Further, not only are many of the features of an engineered system optimized for a given purpose, but the very fact that they were engineered implies that they are likely to be known. There is generally no need to experimentally determine, for example, the diameter of a microfluidics channel, its shape, or the path that it takes; even if it was arbitrary (which is unlikely), it is still known.
Such an example contrasts with a scenario where there is little or no control over system design, where knowledge of at least some of the system features may range from incomplete to non-existent, and where the system design does not facilitate information gathering (e.g., a transparent cover over the system allowing visual inspection).
As an industrial example, assume fluids (which could be anything from gasses, to water, to highly-viscous fluids such as oil, or foodstuffs such as peanut butter, honey, or sour cream) are pumped through pipes in a processing plant. It may be desirable to put one or more sensor-containing objects into the fluids for quality assurance or other data collection, either of the fluid, of the system itself (e.g., to find leaks, cracks, temperature variations, contaminant buildup, map the system if it has not been completely documented, etc.), or both. The parameters of such a system, such as the layout and construction of the pipes, the fluid in the pipes, and the flow velocities may not be amenable to being changed. And, it is likely that these parameters have not been engineered to be able to easily determine an object's location at a given point in time (for example, the pipes may not be transparent, not just to light, but to radiofrequency, ultrasound, or other sensing modalities, and they may not be easily accessible). Despite this, the sensor-laden objects (aka, devices, which may also be robots) must be able to identify system features, including their own location at a given time if mapping of system features is desired.
Similar problems occur in very different contexts and at very different scales. For example, consider the use of a medical micro-camera or other diagnostic object that could be injected into the blood stream. Some diagnostic data may be useful regardless of knowing the object's position (e.g., blood glucose level), but for other data (e.g., the existence of plaques on the vasculature walls, mapping the vasculature itself, or determining blood oxygen levels, which vary from the arterial to venous side of the circulatory system), it would be useful to be able to determine the position of the object as it moves through the system and correlate that position with the data being collected.
There are many ways to address the issue of position tracking of objects. At some scales, GPS, Wi-Fi, BlueTooth or RFID can be used for position tracking. In other scenarios, such as with medical applications, ultrasound, electromagnetic, or optical methods can be used for imaging and/or position tracking.
Despite the existence of several solutions to the problem of position and feature determination in a fluid system, not all solutions work well at all scales or Reynolds numbers. And regardless, alternative solutions can still be useful, particularly if they offer greater accuracy, a reduction in data processing to reduce computational capacity required, or allow faster processing and analysis of data with the same capacity. Also, alternative solutions need not stand alone, but rather data could be incorporated from multiple methods to refine accuracy and reliability.
Determining Feature Characteristics Using Flow Data
Some embodiments discussed herein include the indirect determination of feature information via the measurement of fluid flow-related data. For example, among the possible feature data of interest, indirect position determination is included in some embodiments of the invention. By “indirect,” it is meant that rather than measuring or observing, e.g., position, directly or using well-known means (e.g., using optical or ultrasound inspection), the desired information is inferred by collecting fluid flow data and computing the information of interest.
As an example of the process of indirect position determination, consider a device moving through a fluid system. The device may use various sensors to gather flow data, such as sensors capable of determining the fluid pressure and shear forces at multiple locations across the device's surface. Using these sensors, the device can map, spatially and over time, the patterns of the fluid flow which surround it. However, this information by itself does not provide the device's position. The patterns of fluid flow must be used to deduce information about the local environment. For example, pressure and shear values which differ from one side of the device to the other may indicate the proximity of a wall near one side of the device and give the device information about its velocity relative to the channel. Different values and patterns of the same sensor data may indicate that the device has passed another object in the fluid or could indicate a change in the geometry of the fluid channel (e.g., a curve, branch point, merge, narrowing, widening, or some irregularity such as a plaque or leak). Once such features are determined, the device position can be determined, at least relative to the features (e.g., the position of the device relative to the local channel geometry, or relative to another object in the fluid).
In some cases, device position relative to some feature(s) may be sufficient. However, in other cases it will be useful to determine the device's absolute position within the system. This can be done in a variety of ways, depending on the data available. If a map of the system is available, the position relative to one or more features may be able to be translated into an absolute position. For example, if sensors can gather data, which is then processed using machine learning, allowing the device to determine the geometry of the immediate channel (and perhaps having stored the geometry of other portions of the channel through which the device has already passed), if the geometry is unique and overlaps with data on other regions for which information exists, this may be all that is required to unambiguously identify the position of the device within the overall fluid system (an analogy might be made to the way DNA fragments are assembled into the sequences of complete chromosomes when using shotgun sequencing). If such data are insufficient to unambiguously identify the device's position, it will likely at least narrow down the choices, which may be sufficient for a given situation. If the position of the device needs to be still further refined, additional data can be brought to bear on the problem. For example, if the device has collected additional data over time, the history of where it has been may help to narrow down where it could be now, given known characteristics of the system (e.g., approximate flow rate, or various paths that could have been taken). If such data does not exist or is insufficient, the device may need to make additional passes through the system (and multiple devices could be used to speed up the process), each time gathering data until it is sufficient.
In addition to data directly related to the fluid flow, such as speed and direction, pressure, shear information, and viscosity, other ancillary data may help to infer the desired information. For example, data such as temperature and chemical concentrations can also be collected and can be used to provide information to aid device missions, such as mapping of the fluid system. (Hogg, “Coordinating microscopic robots in viscous fluids,” Autonomous Agents and Multi-Agent Systems, 3, Kluwer Academic Publishers-Plenum Publishers, 2007; Turduev, Cabrita et al., “Experimental studies on chemical concentration map building by a multi-robot system using bio-inspired algorithms,” Autonomous Agents and Multi-Agent Systems, 1, 2014) If such data varies across the system in known ways (such as temperature decreasing with distance from a heated source), or correlations can be determined, this information may be useful in enhancing the accuracy of inferences made using other data. Various data can not only be combined but can also be measured over time and in multiple locations, allowing spatial and time-based patterns to be analyzed. Note that this still assumes Stokes flow. Time-based patterns are not assumed to exist due to turbulent fluid flow, but rather because something that affects the system is changing over time (e.g., consider variation in diastolic versus systolic blood pressure as the heart beats, or changes in flow rates or temperatures dictated by other equipment in an industrial setting).
Note that all the main sensing modalities described can be passively implemented. They do not require sending electromagnetic waves (e.g., LIDAR, active electrolocation), acoustic waves (e.g., SONAR), or any other type of emission into the environment. Although such techniques could be used for other purposes, such as communication, or could be used in addition to the passive sensing modalities described, they are not needed for, e.g., shear or stress sensing. Additional examples of passive sensing include viscosity sensing, heat or chemical gradient sensing, gravitational direction sensing, gyroscopic or rotation sensing, acceleration sensing, or passive sensing of electromagnetic or acoustic waves (either existent in the system or deliberately induced to facilitate measurements).
It should be noted that passively-sensed characteristics other than shear and stress may be suitable for analysis techniques similar to those described in detail with regard to shear and stress forces. In general, such passive techniques will be more energy-efficient that active techniques. And, as the inventor has discovered, even instantaneous sampling of just a few (in some cases even one, e.g., stress) variables, as long as they are the right variables, and properly analyzed, can be highly accurate and informative, and very tractable to use in real-time or near-real-time.
Inferences made from collected data may be subject to problems like sensor noise or ambiguity in the data. However, it is not always necessary to obtain exact positions, unambiguous feature identity, or complete reliability in any inference for the inference to have value, either by themselves, or in combination with other data or inferences. Any relevant data, even if some uncertainty is present, may, to use Bayesian terminology, help refine the posterior probabilities which can be used to make inferences about the environment.
Computational Modeling
Techniques for modeling fluid flows given the channel geometry and fluid properties are well-known and frequently referred to as “computational fluid dynamics” (CFD). Techniques for inferring channel features and other information of interest given only passive sensor data have not been studied nearly as much. The only work of which the applicant is aware pertains to the lateral lines of fish, and artificial variants thereof, in turbulent environments (Yang, Chen et al., “Distant touch hydrodynamic imaging with an artificial lateral line,” Proceedings of the National Academy of Sciences USA, 2006; Pillapakkam, Barbier et al., “Experimental and numerical investigation of a fish artifical lateral line canal,” Fifth International Symposium on Turbulence and Shear Flow Phenomena, 2007; Bleckmann and Zelick, “Lateral line system of fish,” Integrative Zoology, 2009; Chambers, Akanyeti et al., “A fish perspective: detecting flow features while moving using an artificial lateral line in steady and unsteady flow,” J R Soc Interface, 99, 2014; Vollmayr, “Snookie: An autonomous underwater vehicle with artificial lateralline system,” Flow Sensing in Air and Water, Springer, 2014; Liu, Wang et al., “A Review of Artificial Lateral Line in Sensor Fabrication and Bionic Applications for Robot Fish,” Appl Bionics Biomech, 2016; Tang, Feng et al., “Design and simulation of artificial fish lateral line,” International Journal of Advanced Robotic Systems, 1, 2019).
For convenience, fluid flows are often categorized as being viscous (also called Stoke's flow or creeping flow), laminar, or turbulent, depending on Reynolds number. However, the cutoffs between these various regimes are not exact. Mathematically, viscous flow is characterized by a low Reynolds number. The Reynolds number is a dimensionless number defined as: (size*speed*density)/viscosity. A “low” Reynolds number is frequently taken to be less than 1, but there is no sharp cutoff to differentiate viscous flow from laminar flow (or laminar flow from turbulent flow). Rather, as the Reynolds number gets higher, the behavior of the fluid gradually becomes less viscous, and therefore analytical techniques which assume viscous flow become gradually less accurate. Given the gradual decrease in accuracy as the Reynolds number increases, if systems are being analyzed under the assumption of Stokes flow, a Reynolds number of <1 is preferred, a Reynolds number of <0.3 more preferred, and a Reynolds number of <0.1 even more preferred; in many cases, the number will be lower still, such as less than 0.03. Fluid flow systems do not necessarily have a single Reynolds number. Rather, depending on factors such as the local channel geometry, speed of fluid flow, and viscosity, different parts of a fluid flow system could have quite different Reynolds numbers, and the same area of a fluid flow system could have different Reynolds numbers at different times. The devices, methods, and techniques described herein are directed to parts of fluid flow systems with appropriate Reynolds numbers.
Advantages of Analyzing Viscous Flow
A substantial amount of the literature on fluid flow concerns turbulent systems, where quasi-static assumptions do not apply, and where an accurate analysis of physical systems requires gathering data over time to sample the system in its various states. This creates a higher computational burden and requires a non-instantaneous data sampling period.
On the other hand, viscous flow can be treated as being quasi-static at low Reynolds numbers and low Womersley numbers (which generally occur together, unless the system has some force which is causing it to change rapidly, such as high-frequency vibrations, e.g., ultrasound) because viscous forces are much more significant than inertial forces. In terms of data gathering from an actual system, this means that a snapshot in time of the fluid flow parameters suffices. And when modeling a system, a viscous flow system can be treated as static rather than time-dependent. Static models frequently solve much faster than time-dependent models. For example, using the commercial software COMSOL and its CFD module, static models often solve at least 10 times faster than models solved in a time-dependent manner. The difference can be even more extreme depending on the time period analyzed for time-dependent models.
For a device that is often limited in its capabilities (e.g., power storage, computational speed, memory, communication bandwidth) due to its size, and functioning within what may be a relatively small, closed system, a reduction in computational requirements has important physical repercussions. For example, slower computational hardware may be used, which is often smaller and/or more power efficient than faster computational means. Less energy devoted to computations means, e.g., more power is available for other systems, or the device's power production/storage system can be smaller, or the device can run for a longer period without recharging/refueling, or the device can have less impact on its environment when its power requirements affects that environment (e.g., using oxygen and/or giving off carbon dioxide, or generating heat or electromagnetic interference).
Similarly, sensors need only gather data that represents a snapshot in time, rather than gathering a time course of data as would be required to analyze a turbulent (aka, unsteady or transient) system. Not only does this reduce the power required to run the sensors, but by reducing the amount of data that must be collected, this affects things such as reducing the memory requirements to store the data, reducing the power to write that data to memory, and reducing the communication power and bandwidth required to communicate the data to another device in the system, or an external computational resource. Also, as described herein, with proper analysis, just one or two measured values can provide a great deal of information about the local system, further cutting down on memory and communication requirements.
Given that sensors (along with other components that may be involved, such as acoustic transducers) may be mechanical in nature, not only is power consumption reduced, but so is wear on the mechanisms of the device. Computational means may also be mechanical. In such systems, memory may be stored by setting different configurations of jointed connections, and logic is computed through the movement of, e.g., a set of links and rotary joints whose positions change as computations take place. The following references describe how such mechanical computational devices can be implemented and are hereby incorporated by reference: (Merkle, Freitas et al., “Mechanical Computing Systems,” US Patent Application 20170192748, 2015; Merkle, Freitas et al., “Molecular Mechanical Computing Systems,” Institute for Molecular Manufacturing, 2016; “Mechanical computing systems using only links and rotary joints,” ASME Journal on Mechanisms and Robotics, 2018)
Even where computational means are of more traditional types (e.g., electronic), physical wear and tear (and of course, power consumption) still must be considered. For example, even electronic memory storage devices eventually break down. In a traditional hard drive, where bits are stored as magnetically-oriented areas on a platter and changing the value of the bit involves magnetizing the area in a different direction, the platter can be damaged, or the read/write arm can be damaged. For example, when a shock or vibration causes the read/write arm to hit the platter, the magnetic media may be damaged, as may be the read/write arm.
In solid state memory (e.g., NAND- or NOR-based flash memory, where individual memory cells contain NAND or NOR logic gates), the gates eventually wear out because, for example, the voltage pulses uses to change the values stored in the logic gates eventually degrade the semiconductor material to the point where some gates no longer function correctly. Because of this apparently unavoidable problem, some memory devices devote extra space to spare memory cells that can be used when others break down. Of course, this requires extra hardware and software to detect and account for failed memory cells. For example, wear-leveling algorithms (or other techniques, such as BBM, or “Bad Block Management”) can be used to try and ensure that, on average, each cell is used the same number of times so that none wear out prematurely. But that only improves the average lifetime of the device, it does not eliminate the damage. So, not only do such devices still fail, but in small devices there may not be space for optional features such as spare memory cells, or space, time or extra power for running wear-leveling algorithms.
Data Inferences
There are various ways in which inferences or determinations can be made using acquired fluid flow data (and other data as desired). For example, one way to interpret such data would be to develop a database of fluid data “fingerprints” or patterns (which could be based on raw sensor data, but more often would be based on select data features). This could be done, e.g., by placing sensors in known positions in an actual system of interest, collecting and analyzing the data, and converting the results to different features of the system (e.g., via machine learning). Subsequently, new data can be compared to the initial database to determine which pre-existing patterns are the closest match. This is referred to in the field of machine learning as classification. To avoid confusion and ambiguity, it is worth repeating that system features are parameters of the fluid system, such as channel geometry, and characteristics of the fluid flow. Data features are not the same as system features. Data features are select data, often transformed in some manner from the raw sensor data, which are used to train machine learning routines. One way to think about this is that machine learning allows data features to be converted to system features, so that when a device collects data, an interpretation of the data can be provided that is easily interpreted by a human. For example, rather than a string of numbers, which may not be very useful to a human, machine learning allows the data features to be turned into inferences such as “the device is in a channel with a diameter of X which branches up ahead.”
Another way in which inferences can be made using fluid flow data is to collect the necessary data using system mock-ups. For example, if one is interested in being able to identify features in a vascular system, a microfluidics device could be created that mimics various features of the vasculature but has the advantage that the sensing device can be placed and/or located to allow aliasing the collected data to the position of the device.
Simulations can also be used to create virtual environments which can provide data that is used to train machine learning algorithms which allow inferences to be made from the data. Such simulations offer the advantages of fast iteration time and can provide a large amount of data on many different scenarios without having to build physical mock-ups. For example, by setting up appropriate virtual systems which contain straight segments, curved segments, branching segments, merging segments, other objects in the fluid, or other scenarios, it is possible to run, e.g., Monte Carlo simulations as many times as needed to generate a data set that is used to provide input to a machine learning system and allows robust system feature determination.
If a device were to run into a scenario (e.g., a new geometry) that was not classifiable per the existing data, the scenario could be added to mock systems or simulations, and the system retrained until it could accurately distinguish the new scenario.
The data may be analyzed in its raw form or may be preprocessed. Techniques for preprocessing data for subsequent machine learning are well known. For example, noise can be removed, data averaged, and Fourier and other transforms (optionally including dimension reduction and/or feature selection techniques) can be done on the data.
As an example of the practical application of these techniques, using data obtained from simulations, the present Applicant has been able to achieve very accurate feature discrimination via the collection of surprisingly small amounts of data. For example, using computational model in two dimensions and three dimensions, stress and shear were measured on the surface of an object in a low Reynolds number fluid flow. The virtual channels used included many different geometries, and within these geometries, the device was placed in many different locations. The data were subsequently subjected to a Fourier transform. Then the first few modes of the transformed data were used for regression analysis. The regression analysis showed that devices in viscous flow, by collecting just these pieces of data, can make multiple important quantitative (e.g., velocity) and qualitative (e.g., classification of vessel geometry) determinations. Additionally, it has been shown that this can be done in a manner which is very computationally efficient where it is most important: in a power- and/or space-limited device. The reason for this is that most of the processing is in the generation of the virtual data and the training of the system (e.g., for classification), which can be performed by a remote device (e.g., a typical desktop computer, workstation, or cluster of computers). Once the machine learning training is complete, classifying new data based on the training results is not nearly as computationally demanding as creating and analyzing the data initially.
Of course, the devices and methods described are only exemplary. It will be obvious to those skilled in the relevant arts that, given the teachings herein, many other combinations of devices (along with sensors), data, data processing or preprocessing (including none), and machine learning techniques could also be used.
Device Requirements
In one of the simplest implementations, a device for fluid flow analysis could be comprised of a single type of sensor, and preferably (although optional) some way of communicating the data gathered by the sensor to an external computer (e.g., RF, acoustic, or optical communications, or some direct data transfer after the device has exited the fluid system) for analysis.
While some method of communication, and therefore a power source, is preferable, it is not required in all instances. For example, molecules which have different fluorescent or other properties depending on shear could rely upon external activation or assays. For example: (Haidekker, Grant et al., “Supported molecular biolfluid viscosity sensors for invitro and in vivo use,” U.S. Pat. No. 7,670,844, 2010; Mustafic, Huang et al., “Imaging of flow patterns with fluorescent molecular rotors,” J Fluoresc, 2010; Zou, Liu et al., “Flow-induced beta-hairpin folding of the glycoprotein Ibalpha beta-switch,” Biophys J, 2010; Varma, Hou et al., “A Cell-based Sensor of Fluid Shear Stress for Microfluidics,” 17th International Conference on Miniaturized Systems for Chemistry and Life Sciences, Freiburg, Germany, 2013; Zhang, Sun et al., “Red-Emitting Mitochondrial Probe with Ultrahigh Signal-to-Noise Ratio Enables High-Fidelity Fluorescent Images in Two-Photon Microscopy,” Anal Chem, 2015).
Assuming communication hardware is built into the device, many means of communication are possible, including wired, wireless (e.g., electromagnetic, such as RF or optical), or acoustic (e.g., generated by piezo-based mechanisms, which could also serve as pressure sensors).
A power source could also take many forms, including a battery, a fuel cell (e.g., a hydrogen fuel cell, or a glucose fuel cell for medical purposes or other environments where a glucose supply, and potentially an oxygen supply, is available, although any necessary fuel could also be carried in onboard storage tanks), induction-based power collection, or a mechanism which uses ambient pressure changes or vibrations to harvest energy from the environment (including pressure changes induced by, e.g., the application of an external ultrasound source).
The ability of a device to actively position itself within a fluid system could be useful, but not required. Data could be gathered as the device passively moves through the system with the fluid flow, or in some cases, device position could be externally manipulated (e.g., magnetically). If onboard locomotion is desired, there are many ways of providing this. For example, traditional propellers, flagella- or cilia-like mechanisms, undulating surfaces, tank tread- or treadmill-like mechanisms (which, while uncommon in everyday experience, can be very efficient at low Reynolds numbers), brachiation with device arms, or mechanisms which allow the device to adhere to the channel wall.
An onboard computer, including memory to store data, could also be convenient, but not necessary. Where onboard computation is used, power and space may be limited, making efficient means of data analysis potentially more important than if sensor data are offloaded to external computing devices.
Note of these choices are mutually exclusive—any combination could be used, of the above examples, or of other methods of addressing such functionality well-known in the arts. The size and shape of a device may be environment- and mission-specific, and could assume any shape, from a sphere, cylinder, or ellipsoid to much more complex shapes (or could change shape as needed), and could be covered with, for example, any number of sensors, propulsion mechanisms, energy harvesting mechanisms, and communication equipment (e.g., antennae).
Exemplary Sensor Positioning or Integration
Sensors can be in many places, and often multiple sensors, potentially of various types, would be placed in one or more locations within a system or on a device within a system. For example, sensors could be external to the fluid system (e.g., the Doppler ultrasound equipment used for medical diagnostics resides outside of the systems it measures). Sensors could be mounted on, or an integral part of, the walls of the fluid system (e.g., wall-mounted or wall-integral sensors can be built into micro-fluidics channels). Sensors could be mounted on the surface of devices within a system (e.g., pillar-type shear sensors), or within devices (e.g., pressure sensors, such as can be fabricated using piezoelectric sensors). Sensors could also be incorporated directly into the fluid itself when appropriate (e.g., molecular shear sensors).
As an example of device-mounted sensors that could be employed,
Exemplary Analysis of Non-Locomoting Device in a Vessel
To illustrate the present techniques,
of the flow is small (i.e., Re<1). In this expression, ν is the fluid's kinematic viscosity, d is the vessel diameter and u is the flow speed. For a device moving slowly in such flows, the fluid motion at each time is close to the static flow associated with its instantaneous position, velocity, and orientation. This quasi-static approximation applies for small values of the Womersley number:
where r is the radius of the device and t is the time over which the geometry changes. As with the Reynold's number, there is no strict cutoff for values of the Womersley number at which quasi-static analysis is applicable; rather, such analysis becomes less accurate as the number increases. For many purposes, the approximation should be appropriate for a Womersley number of less than 1 (and like the Reynolds number, a Womersley number of <1 is preferred, <0.3 more preferred, <0.1 even more preferred, and some systems will have even far lower Womersley numbers, where the quasi-static approximation then becomes almost exact). Changes in device geometry can arise from and actual change in its shape (e.g., if the device were flexible or had moveable segments), or changes in its position and/or orientation. The time for significant change in the device's position is of order r/νdevice, which is larger than r/u because a device moving passively in the fluid moves more slowly than the fastest fluid speed in the vessel. Similarly, significant changes in orientation take time of order 1/ωdevice, which is also larger than r/u. Thus, a lower bound on the time for significant geometry change, at least from passive changes in position or orientation, is t>r/u.
Evaluating the flow in this example requires specifying boundary conditions at the ends of the vessel segment and on the wall. Specifically, the incoming flow can be taken to be fully-developed Poiseuille flow (Happel and Brenner, “Low Reynolds Number Hydrodynamics,” The Hague, Kluwer, 1983). This gives a parabolic velocity profile at the inlet, with maximum speed u at the center of the vessel. A pressure gradient drives the flow, so shifting the pressure by a constant leaves the flow unchanged. For definiteness, the pressure can be set to zero at the outlet. The vessel walls are no-slip boundaries, where the fluid velocity is zero. The flow velocity matches the device's motion at each point on the device's surface, expressed in terms of the device's center-of-mass velocity and angular velocity.
Comparing Two- and Three-Dimensional Flow Analysis
The stress is relatively large on the side of sphere facing the nearby vessel wall. In addition, the largest variation of the stress is in the azimuthal direction around the sphere's equator 112. In particular, the largest magnitude of the tangential stress is at the point of the sphere closest to the vessel wall 110. The sphere's direction of motion is nearly 90° around the equator from that closest point.
As an additional comparison between the 2-dimensional analysis and the 3-dimensional analysis,
Surface Stresses Resulting from Fluid Flow and Device Movement
In the case discussed above, where a spherical device moves passively in a straight vessel, such as shown in
Evaluating Device Orientation, Location, and Vessel Geometry
The arrow lengths show the magnitude of the stresses at the locations of sensors 116 distributed on the device surface at different angles ϕ with respect to the orientation line 114; in this example, 30 sensors 116 are employed.
Device Orientation
Objects may rotate as fluid pushes them through a vessel. As seen in
The simplest orientation value based on this observation would be to use the location of the device's stress sensor 116 with largest tangential stress magnitude. However, this approach is limited in resolution to the spacing between sensors (as well as positioning of sensors on a 3-dimensional spherical surface not aligning with a plane most suitable for a related 2-dimensional analysis) and is sensitive to noise that might be present in a single sensor 116. A more robust implementation uses the angle ϑextreme with respect to the front of the device (as indicated by the orientation line 114), that maximizes the magnitude of an interpolation of tangential stress measurements around the surface. In one example of such analysis, the interpolation is based on low-frequency Fourier modes. This interpolation combines information from multiple sensors to reduce noise and can identify locations that lie between sensor positions for improved resolution. The calculated direction to the wall, ϑwall, is taken to be the direction of the normal vector at the location ϑextreme on the surface. For circular devices, the surface normal vector aligns with the center of the device such that ϑextreme=ϑwall. However, these angles can differ for other shapes, as discussed herein regarding elongated devices.
As shown in
Calculated Values from Stress Measurements
Fourier Coefficients
Stresses vary fairly smoothly over the device surface, as illustrated in
The Fourier coefficient for mode k is
where n is the number of sensors and k ranges from 0 to n−1. To focus on low-frequency modes, the present analysis considers only modes up to k=M, with M<n/2.
The examples discussed herein use M=6 and n=30 (six modes, thirty sensors 116), as shown in
First, the stress measurements are extended from the locations of the device's sensors to the full surface by interpolating the Fourier modes. Mode k is the real part of cke−iθk, where θ is the angle around the device's surface measured counterclockwise from the front of the device (see
f(θ)=(c0+2Σk=1Mcke−θk) (4)
where denotes the real part and the factor of 2 accounts for the symmetry between modes k and n−k.
Second, machine learning is applied to determine relations between these Fourier coefficients and properties of the vessel near the device. To simplify this procedure, the relative magnitudes of the Fourier coefficients mk, are used, with components
where s denotes either the normal or tangential component of the stress, and Cis the root-mean-square magnitude of the coefficients, i.e., C=√{square root over (Ek|ck|{circumflex over ( )}2)} with |ck|2=Σs|ck,s|{circumflex over ( )}2. The constant mode, c0, does not contribute to the variation in stresses around the device, so is not included in this normalization. The relative magnitudes simplify the evaluation because they are independent of the device's orientation, the overall fluid flow speed, and the fluid's viscosity. This is because 1) the device's orientation affects the phase of the Fourier coefficients, but not their magnitudes, and 2) the stresses for Stokes flow are proportional to the flow speed and fluid viscosity (Kim and Karrila, “Microhydrodynamics,” Dover Publications, 2005), so the normalization removes this dependence. This allows for a very efficient process from a computational standpoint: All that ends up being needed to accurately determine several important system features are the relative magnitudes of the first few Fourier modes of the normal and tangential components of stress.
Evaluating the Direction of Motion
As pointed out when discussing
This evaluation technique was modeled for a sample of devices at various positions and orientations in vessels, using variations of the situation show in
Relating Stresses to Device and Vessel Properties
The pattern of stresses across the device surface are affected by the relative position of the device in the vessel and the geometry of the vessel. These differences can allow evaluating, based on stress measurements across the device surface, information on the position of the device in the vessel and the geometry of the vessel. Some of this information is available based on instantaneous measurements, while additional information can be obtained by monitoring how such instantaneous measurements change over time. The discussion below describes examples of the use of particular machine learning techniques to obtain evaluations for parameters of the device position in the vessel and geometric properties of the vessel.
Relative Position in the Vessel
The patterns of surface stresses are significantly different for devices near the center of the vessel and those near its wall. A useful way to express this variation independently of vessel diameter is through the device's relative position in the vessel, defined as
where yc is the position of the device's center relative to the central axis of the vessel, as shown in
Different machine learning methods have a variety of trade-offs among expressiveness, accuracy, computational cost for training and use, and availability of training data (Hastie, Tibshirani et al., “The Elements of Statistical Learning: Data Mining, Inference, and Prediction,” Springer, 2009; Mostafa, Ismail et al., “Learning From Data,” AMLBook, 2012; Jordan and Mitchell, “Machine learning: Trends, perspectives, and prospects,” Science, 2015). The following discussion describes regression methods, which perform well with only a modest number of training instances, and whose trained models require only a relatively small number of computations to evaluate. It will be obvious to those skilled in the art given the teachings herein, including the data gathered, features selected, and inference models used, that many alternative techniques could be employed.
Principal Components of Fourier Coefficients
To evaluate the device's position in the vessel and the vessel diameter, training samples were used to fit regressions between these properties and the Fourier coefficients of the stresses. However, these Fourier coefficients are highly correlated in these samples, which make regressions numerically unstable. To avoid this problem, these correlations were removed by using the main principal components of the Fourier coefficients. That is, the regressions were trained using just the principal components accounting for most of the variation among the modes (Golub and Loan, “Matrix Computations,” Baltimore, Md., John Hopkins University Press, 1983). With M=6 Fourier coefficients for each of normal and tangential stresses, the first two principal components account for 98% of the variance among the training samples. Thus, just the first two principal components were used for evaluation in this example.
Vessel Diameter
For flow at a given speed, wider vessels have smaller fluid velocity gradients than narrower ones. These leads to different stress patterns for devices at given relative positions in those vessels, especially for devices close to the wall, where gradients are largest. A device can exploit these differences with a regression relating vessel diameter to Fourier coefficients of the stress.
Since diameter is a positive value, an evaluator can be constrained to give positive values. Specifically, a generalized linear model (Dobson and Barnett, “An Introduction to Generalized Linear Models,” CRC Press, 2008) with logarithm link function and gamma distribution for the residual was studied. Vessel diameter has a strong nonlinear relation with the first two principal components of the Fourier coefficients, as seen in
d=exp(β0+Σi=12βipi+Σ1·i≤j≤3βi,jpipj) (7)
(using the parameters provided in Table 4 herein).
To evaluate the accuracy of this regression, predicted and actual values for vessel diameter for the test samples are compared in the graph of
Distance to Vessel Wall
Eq. (6) defining the relative position of the device relates the relative position of the device, the vessel diameter, and the distance of the device's center to the vessel wall, such that the distance to the wall can be expressed in terms of the calculated relative position and vessel diameter.
Thus, combining the calculated values of relative position and vessel diameter as discussed above provides a value for the device's distance to the wall. An evaluation of this procedure for the test samples is shown in
Evaluating Device Motion
The above examples describe evaluation of instantaneous parameters based on measurements of the stresses on the surface of the device. Further analysis can evaluate the motion of the device in the vessel. For Stokes flow, the stresses, and hence the Fourier coefficients, are linear functions of the device's speed and angular velocity. The stresses have a more complex dependence on the geometry (i.e., vessel diameter and the relative position of the device within the vessel). One approach to evaluating motion is to train regression models of these relationships, like the procedure discussed for evaluating position.
An alternative approach derives a value for angular velocity from how stresses change with time and combines that value with a regression model to evaluate the device's speed through the vessel. The capability of monitoring changes in the stresses over time could be accomplished using an onboard timer or by receiving a time signal communicated from an external source.
Angular Velocity
For straight vessels, the rate of change in the direction to the vessel wall relative to a defined “front” of the device equals the device's angular velocity. Because a device's motion in the vessel is mainly directed downstream (assuming the case of a passively-moving device), the distance to the wall changes relatively slowly, and thus the pattern of stress on the device surface, measured from the front of the device, maintains roughly the same shape but shifts around the device due to its rotation. Thus, the device can evaluate its angular velocity from the angle Δθ that the stress pattern moves around its surface in a short time interval Δt: ωdevice≈−Δθ/Δt. A device can determine Δθ from the correlation between the surface stresses at these two times. A device can use the shift in its surface stress pattern over a short time Otto evaluate its angular velocity, if the device has access to a clock with sufficient precision (as noted, this could be either an onboard clock or an externally-provided time signal).
The analysis supposes that f(θ,t) is the stress at angle θ and time t. If the stress maintains its shape as the device rotates, then Δθ would be the value such that f(θ+Δθ,t+Δt)=f(θ,t) for all θ. However, any change in the shape of the stress pattern will mean there is no such constant value. A more robust approach to determine Δθ is the value maximizing the correlation between the stresses at the two times. A check on the assumptions underlying this method is that the maximum correlation is close to one, indicating that the main change in stresses is rotation around the device, rather than, say, significant change in vessel geometry or the device's distance to the vessel wall during time interval Δt.
This procedure must compare stresses close enough in time to avoid the device completing a full turn, i.e., avoiding aliasing. For instance, the device could measure the shift at a sequence of increasing intervals of time until there is a sufficient change in the angle of maximum correlation to reliably identify the change, but not so much that the shift exceeds a full turn. A simpler approach is to use a fixed time interval, selected based on the expected angular velocities such that the change in orientation within a measurement interval is a fraction of a full rotation (e.g., less than one radian), thereby avoiding aliasing.
One way to apply this method is to evaluate the correlation at shifts of an integer number of sensors. This is a simple computation, but limits Δθ to be an integer multiple of spacings between sensors. A more precise method, discussed herein, has the device interpolate its stress measurements (Eq. (4)), and determine Δθ as the value maximizing correlation between interpolated stress values at the two times. Calculated values based on normal and tangential stresses are similar. In the current example, the average from these two stress components was employed.
This method was evaluated with 100 of the test samples, where the motion of each sample was evaluated for small time intervals and the angle Δϑ maximizing the correlation between the stresses before and after the motion was determined. The maximal correlations were above 99.9% for all the samples, indicating negligible change in the shape of the stress pattern during this time interval.
Relating Stresses to Device and Vessel Properties
The flow in a vessel has a parabolic speed profile (Happel and Brenner, “Low Reynolds Number Hydrodynamics,” The Hague, Kluwer, 1983). Thus, near the center the flow is relatively fast and the gradient of speed with distance from the vessel wall is relatively small. Conversely, near the vessel wall the speed is low and gradient large. These variations mean that a device near the center moves relatively quickly along the vessel, but rotates slowly, since the flow on either side is fairly similar (or identical, for a device exactly in the center). On the other hand, a device near the wall moves slowly along the vessel, but the large velocity gradient makes the device rotate rapidly. Thus, the ratio of speed through the fluid to rotational velocity at the device's surface:
is large for a device near the center of the vessel and small for a device near the wall. Since both device speed and angular velocity are proportional to overall fluid sped and viscosity, their ratio is independent of these factors. The speed ratio is close to a linear function of the odds ratio, (1−r.p.)/r.p., of the relative position defined by Eq. (6). Thus, a useful model for evaluation of the speed is a least-squares fit to the training samples, which gives
with a=3.1±0.2 and b=5.41±0.03, where the ranges indicate the standard errors of the values. For the test samples of this example, this fit was found to give a median relative error of 8% for the speed ratio. The largest errors arise when the device is very close to the center of the vessel (i.e., cases with r.p.<0.01).
Speed
Combining calculated values of angular velocity and speed ratio gives a value for the device's speed through the vessel via Eq. (9).
To illustrate specific calculations to evaluate the effectiveness of the above analysis techniques, the following discussion refers to the example of microscopic devices operating in human capillaries, where the vessel size, fluid velocity, and fluid kinematic viscosity result in a Stokes flow condition. It should be appreciated that the dimensions involved are related to the kinematic viscosity, and thus significantly larger vessel and device sizes could be used for more viscous fluids of interest. As discussed herein, for some industrial applications involving highly viscous fluids, devices could be many thousands of times larger. But, even for medical applications devices could be significantly larger than the example of Table 1 given the Reynolds number of <0.04, and that some biological fluids, such as blood plasma and lymph, have significantly higher viscosities than 1 mPaS.
Table 1 shows typical parameters for fluids and microscopic devices for the application of microscopic devices operating in capillaries. In some cases, the last column gives a range of values or approximate bounds rather than a single value. Values for the examples discussed in detail are within about a factor of two of these bounds. In the present example, Table 1 shows the Reynold's number for typical examples of flow parameters discussed in this section, which is much less than 1.
For the device motion considered here, with the parameters of Table 1, the resulting Womersley number (Eq. 2) is Wo<0.05, which is sufficiently small that quasi-static Stokes flow is a good approximation.
Passively-moving devices may be moved by fluid forces, gravity, and Brownian motion. For purposes of simplification, the devices in the present analysis are assumed to be neutrally buoyant in the fluid, so that the effect of gravity can be ignored. To evaluate the importance of Brownian motion in this example, the diffusion coefficient of a sphere is:
with the parameters of Table 1, and where kB is Boltzmann's constant. The Peclet number:
characterizes the relative importance of convective and diffusive motion over distances comparable to the device size. At the lower range of velocities for the specific numerical examples discussed, Vdevice 100 μm/s, the resulting Pe=1000, which is large compared to 1. Thus, diffusion is not important. The Peclet number represents the gradually decreasing importance of convective and diffusive motion for a particular size, and thus there is no distinct threshold at which diffusion becomes insignificant. But for example, for many purposes, Pe>100 will give adequate accuracy, and in more stringent cases, Pe>500 should assure that the effects of Brownian motion do not significantly impact the analysis. Lower Peclet numbers can be analyzed, just with the understanding that Brownian motion will increasingly add noise to the measurements as the number gets smaller (although this could be offset, e.g., by averaging multiple measurements).
The rotational diffusion coefficient of a sphere is:
(Berg, “Random Walks in Biology,” Princeton University Press, 1993) For the parameters of Table 1, ωdevice≈100 rad/s so for a change in orientation of θ=1 rad, ωdevicee/Drot≈1000, showing that rotational diffusion is not significant.
Since diffusive motion is relatively small over the times considered, the motion can be analyzed on the basis of assuming that such motion results entirely from the fluid forces on the device. For the time scales considered here, viscous forces keep the device close to its terminal velocity in the fluid (Purcell, “Life at low Reynolds number,” American J. of Physics, 45, 1977). Thus, the device's velocity and angular velocity can be considered as the values giving zero net force and torque on the device.
The pattern of normal and tangential stresses on the device 100 shown in
In this example, the fluid pushes the device through the vessel at 530 μm/s and with angular velocity −150 rad/s (i.e., clockwise rotation as viewed in
Direction to Wall and Direction of Motion Values
Evaluations for direction to the wall and direction of motion were modeled for device samples at various positions and orientations in vessels. Using variations of the situation show in
The maximum inlet fluid speed is between 200 and 1000 μm/s, equally likely flowing to the right or to the left. The vessel diameter is between 5 and 10 μm. The vessel segment length is between 18 and 20 μm. The position of device's center horizontally is within 2 μm of the middle of the vessel's length. The position of device's center vertically is between the center of the vessel and a minimum distance of 0.5 μm from the wall. Any device orientation was allowed (0 to 360 degrees).
The samples tested used 800 training and 200 test samples. The results from these samples showed mean magnitudes of error less than 1 degree for both the calculated direction to the wall and the calculated direction of motion, with the largest errors occurring for devices near the center of the vessel.
Position and Vessel Geometry Values
Training samples were also used to evaluate the device's position in the vessel and the vessel diameter; in this case, the training samples were used to fit regressions between these properties and the Fourier coefficients of the stresses. Only the first two principal components of the Fourier coefficients, for each of normal and tangential stresses, were used for evaluation in this example.
Specifically, principal components are linear combinations of the relative magnitudes of the Fourier coefficients, mk,s given in Equation (8). Specifically, the hth component has the form:
p
h=Σk=1MΣsah,k,s(mk,s−m{circumflex over ( )}k,s) (14)
where m{circumflex over ( )}k,s is the average of mk,s over the training samples and ah,k,s are weights, with values for the first two principal components given in Table 3, which provides weights for first two principal components (i.e., ah,k,s for h=1,2). For each component, weights for normal and tangential stresses are on the first and second lines, respectively.
To evaluate relative position using the training samples, the relative position was related to the first two principal components of the Fourier coefficients, p1 and p2, by
r.p.=1/1+exp(−(β0+β1p1+β2p2)) (15)
where the βi are the fit parameters given in Table 4. These parameters were obtained from standard statistical models fit to the training data; such procedures are well known in the art, and are available in conventional statistics software (e.g., R, Mathematica, MATLAB).
Using Equation 12, the vessel diameter in microns could be calculated using the parameters given in Table 5. The resulting root mean square (RMS) error was 0.51 μm, or within about 5-10% of the actual diameters considered in this example. The largest errors were for devices near the center of the vessel; e.g., the RMS errors were 0.9 μm and 0.3 μm for relative positions smaller and larger than 0.2, respectively.
A calculated distance to the wall can be derived from the relative position of the device and the vessel diameter. In this example, as shown in
Device Motion Values
For the cases considered here, angular velocities were typically about 100 rad/s, so a 5 ms measurement interval was selected to provide a change in orientation of less than one radian between measurement to avoiding aliasing. To evaluate angular velocity, the method discussed above of determining the angle Δθ by maximizing the correlation between the stresses before and after the motion was used to evaluate angular velocity using 100 of the test samples. The motion of each sample was evaluated for Δt=5 ms. The resulting predicted and actual values of the angular velocity for these samples is shown in
Complex Vessel Geometries
The stress-based calculated values discussed above illustrate techniques that treat the simple case of a single spherical device moves passively with the fluid through a straight vessel. Using the samples of those cases as a basis, new analyses to calculate values for more complex situations can be created. One approach would be to modify the machine learning techniques described herein (many techniques would likely produce accurate results with the teachings herein to guide) for vessels with other shapes. An alternative approach is to apply the evaluation methods set forth for straight vessel to these more complex situations. Even though the resulting calculated values are almost certain to be less accurate, it is of interest to see how well the analysis process performs in situations for which it was not trained, so this latter approach is discussed below.
In evaluating the use of these techniques, it is helpful to graphically show how inaccuracies can occur in the calculated values through the assumption of incorrect geometries (e.g., a straight channel being assumed when in fact it is not straight). The quality of the calculated values of the device's relation to the vessel can be graphically represented with an arrow through the device's center, as shown in
Curved Vessels
The following discussion examines how calculated values based on straight vessels perform as a device 300 as depicted in
Evaluating Angular Velocity
In
where ψ is the device's orientation (indicated with respect to orientation line 318, shown in
In general, measuring the change in stresses evaluates how rapidly the direction to the wall 306 changes with respect to the front of the device 300. Alternatively, −dθwall/dt is how rapidly the device 300 rotates with respect to the vessel wall 306, giving the rate of change of the orientation with respect to the wall 306. In a straight vessel, −dθwall/dt=ωdevice so the rate of stress change is directly proportional to the device's angular velocity. However, in a curved vessel, Eq. (16) shows this value has an additional contribution from the vessel curvature.
For a device moving through the curved vessel,
In the slowly curving portion 310 of the vessel 302 (time after 60 ms), the calculated value for angular velocity deviates systematically from the actual value. This difference is because the evaluation procedure actually measures the rate of the device's orientation changes with respect to the vessel wall, i.e., −dθwall/dt from Eq. (16), rather than with respect to an external reference. To test this relationship,
While a hypothetical bump 304 may be of relatively minor interest (though it at least provides a system feature for mapping) in this context, if it were a bulge in a high-pressure industrial pipe, or plaque in pipes or vasculature, this could be important information.
Evaluating the Device's Relation to the Vessel
The device 300 is in the nearly straight section 308 of the vessel 302 for the first 30 ms, and the calculated values are close to the actual values. During 35-55 ms, the device 300 passes the small bump 304 in the vessel wall 306, and the calculated values deviate significantly from the actual values. The fairly abrupt changes in the calculated values (not only alone, but in combination, since the relationships between the calculated values may change as well) allow the device 300 to identify when such changes in geometry occur. Finally, after about 60 ms, the device 300 moves in the gently curved section 310 of the vessel 300. The direction values (as shown in
Of course, this is using machine learning algorithms trained for straight vessels on curved vessels. Obviously, appropriate retraining with data gathered from analogous vessels would yield higher accuracy. But, there is also a somewhat different method of handling such situations, which is by using classification techniques.
Branching Vessels
A bump or curve is one of the simplest possible geometry changes. Consider more complex cases such as where the vessel branches, or multiple branches merge. This is a common occurrence in fluid systems from vasculature, to microfluidics, to industrial piping. Such changes are important to device goals such as mapping and navigation, given that they are the fluid system equivalent of street intersections, highway on/off ramps, or other features common to roads.
In biological systems, the identification of such system features could aid in, for example, organ detection and discrimination (Augustin and Koh, “Organotypic vasculature: From descriptive heterogeneity to functional pathophysiology,” Science, 2017) as well as tumor detection (Nagy, Chang et al., “Why are tumour blood vessels abnormal and why is it important to know?,” British J. of Cancer, 2009; Jain, Martin et al., “The role of mechanical forces in tumor growth and therapy,” Annual Review of Biomedical Engineering, 2014). In such cases, devices able to determine vessel geometry could supplement other available information, such as chemical concentrations, to more accurately identify different types of tissue.
Considering all these possible uses (and these are just examples, certainly there are more), the ability to detect branching or merging vessels is an important device capability. Some methods to detect where a vessel splits into branches, or when multiple vessels merge into a larger one, have been previously suggested. For example, acoustic detection seems possible (Freitas, “Nanomedicine, Volume I: Basic Capabilities,” Landes Bioscience, 1999), though interpreting reflected signals could require significant computation in the presence of multiple reflections, scattering, and in some cases, the small difference in acoustic impedance between the fluid and walls, among other possible issues.
The approach taken here is that the detection of branches (in which we will include merges, which can be viewed as branches with the fluid traveling in the opposite direction) can be made based on measured changes in the patterns of fluid-induced stresses on their surfaces when the size, fluid speed, and fluid kinematic viscosity are such that a viscous flow regime exists.
Geometry of Vessels
For purposes of illustration, the following discussion again employs the parameters of the specific numerical example discussed herein for a spherical device of neutral buoyancy. These examples are used to evaluate device behavior in vessels with geometry comparable to that of short segments of capillaries, generally having radii of curvature of tens of microns (Gunter Pawlik, “Quantitative capillary topography and blood flow in the cerebral cortex of cats: an in vivo microscopic study,” Brain Research, 1981). Typically, such vessels split into just two branches (CASSOT, LAUWERS et al., “A Novel Three-Dimensional Computer-Assisted Method for a Quantitative Study of Microvascular Networks of the Human Cerebral Cortex,” Microcirculation, 2006), and the branches have a larger total cross section than the main vessel (Murray, “The physiological principle of minimum work: I. The vascular system and the cost of blood volume,” Proceedings of the National Academy of Sciences USA, 1926), leading to slower flows in the branches (Sochi, “Fluid flow at branching junctions,” International Jounral of Fluid Mechanics Research, 42, 2015). For simplicity, the examples discussed focus on planar vessel geometry, where incoming and outgoing axes of curved vessels are in the same plane, and where branching vessels have the axes of the main vessel and the branches in the same plane. Obviously, in many actual scenarios, the fluid system would not be planar, and this would actually help with goals such as mapping, because the off-plane angle could serve as an additional identifier to reduce ambiguity of similar sections of the fluid system. Such angle changes could be detected by the same methods we describe for classification of planar systems, and could also be detected by additional sensors, such as gyroscopes, providing additional data to confirm or increase the accuracy of inferences.
To simplify comparison, the fluid flow speed for these two cases is chosen so the devices (400, 410) have the same average stress magnitudes on their surfaces at the indicated position along each path (404, 414). Specifically, the maximum speed at the inlet is 1000 μm/s for the branched vessel 402 and 530 μm/s, for the curved vessel 412. At the position of the device 400 shown in the branch 402, the device 400 moves at 189 μm/s and rotates with angular velocity −34 rad/s, i.e., clockwise. For the device 410 in the curve 412 these values are 186 μm/s and +39 rad/s. Again, the values provided are exemplary, and other values would be appropriate for situations that have dynamic similarity, including much larger values where much more viscous fluids are considered.
Computational models of devices in branched and curved vessels were created to develop and test a branch classifier based on stresses on the device's surface. These models were used to generate data samples. Such data samples could also be obtained experimentally, e.g., by measuring forces on microfluidic devices (Wu, Day et al., “Shear stress mapping in microfluidic devices by optical tweezers,” OPTICS EXPRESS, 2010). For this analysis, models of device paths were created for a range of vessel diameters and flow speeds corresponding to small blood vessels, with parameters given in Table 1. These samples are variations of the situations shown in
From the initial device position, the device's motion through the vessel until it comes within 8 μm of an outlet was solved. Boundary conditions on the flow were a parabolic velocity profile at the inlet, no-slip along the vessel wall, and zero pressure at the outlet for a curve, or at both outlets for a branch. A total of 2000 samples created according to this procedure were studied, with 1000 for each vessel type (i.e., curve or branch). For each of these vessel types, 800 samples were used for training the classifier and the remaining 200 were used to test the classifier performance. The paths in these samples are about 40 μm in length. The fluid typically moved the device along the path in about 100 ms.
Device Stresses and Motion in Vessels
Stresses on the device surface can be determined by numerically evaluating the flow and device motion in a segment of the vessel. For the vessel sizes, planar geometries, and fluid speeds considered here, the motion and stresses can be approximated by two-dimensional quasi-static Stokes flow. As examples,
Stresses on Device Surface
The stresses on a device's surface are denoted by s(θ,t) for the stress vector at angle θ at time t. The angle θ specifies a location on a device's surface, measured from an arbitrary fixed point on the device called its “front” (such as illustrated in
The stresses depend on the vessel geometry near the device and the speed of the flow. However, this relationship may not be not unique: different geometries can produce similar stress patterns.
Changing Stress Patterns
As a device moves through a vessel with changing geometry, the stresses on its surface change. In many cases, the stresses change significantly as a device moves through a branch, whereas changes are fairly small as a device moves around a curve (as noted in the discussion of curved vessels), allowing these two cases to be distinguished from each other.
One measure of changing stresses is the correlation of the stress pattern at two times. For example, if f(θ) and g(θ) are two vector-valued functions of the angle θ around the device's surface. The correlation between these vector fields is:
with the norm ∥f∥=√{square root over (∫02πf(θ)·f(θ)dθ)} and f·g denoting the inner product of the two vectors. In this case, the vector fields are the stresses on the device surface. As an example, the correlation between the surface stresses in the two cases shown in
As noted, the device can evaluate the stress field s(θ,t) by interpolating surface stress measurements, and a particularly useful method is interpolating the stress pattern from a few Fourier modes. The correlation between two stress patterns can be computed directly from the Fourier coefficients, avoiding the need to explicitly evaluate the integrals in Eq. (17). As in the straight vessel example, the first six modes are analyzed, which is sufficient to capture most of the variation in stress over the device's surface for the cases considered herein.
When viewed from a fixed location on the device surface (such as a specific sensor), the stress changes both due to changing vessel geometry and due to the device's rotation caused by the fluid. For spherical devices, this rotation is not relevant for identifying vessel geometry, and thus the device must remove the component of change that is due to rotation of the device. One way to do so is to maximize the correlation over all possible rotations of the device between the two measurements used in the correlation. Specifically, this approach compares the stress at time t, s(θ,t), with shifted versions of the stress at a prior time, s(θ+Δθ,t−Δt), and uses the maximum correlation over all shifts Δθ. That is, the device measures changes in the pattern of stress that are not due to its rotation by evaluating:
for the correlation function of Eq. (17). Another application of this maximization is evaluating the device's angular velocity because the shift in angle, Δθ, giving the maximum as a value for how much the device has rotated between these two times.
Using the example of a micron-sized device in capillary-sized vessels,
For the flow speeds and vessel sizes considered here, Δt=10 ms is a reasonable choice, as it represents an interval during which a device can move a distance comparable to the extent of branching or curving, but not so far as to completely pass the changing geometry. However, the precise value of Δt is not important. For example, comparing stresses separated by Δt=5 ms or 20 ms is qualitatively similar to the behavior shown in
Classifiers for Vessel Geometry
The results shown in
In cases where the device starts near the center of the vessel,
Identifying Branches from Stress Measurements
To improve identification for paths starting close to vessel center, additional information available to the device can be used. In one example of creating a vessel geometry classifier, a summary of the stress pattern at the time the device evaluates the correlation was used. That is, to identify branches, at time t, three pieces of information were employed in this example: the correlation c(t,Δt), the relative position for the path that was determined prior to any significant change in the stress, and the current stress s(θ,t). Using this information, a set of training samples was generated. For each training sample (created as discussed above), the time t was determined along the path with the minimum correlation, and the three pieces of information from that time along the path were employed. This method is an example of off-line training; that is, the training samples are assumed to have measurements from a completed path (i.e., a path starting before the device reaches the branch or curve and continuing until the device is well past those changes). With measurements along the whole path, the time of minimum correlation can be obtained and values at that time used for training. Using such training samples from both branch and curve vessels results in the example of a logistic regression classifier for branches described herein. The parameters of the resulting model were then applied to evaluate the accuracy of the model.
Regression Classifier for Branch Detection
In the present example of a branch classifier, branches are identified using a logistic regression based on the three characteristics of the device's stresses along its path through a vessel: First, the correlation between the current stress and that of a short time earlier. Second, the device's relative position in the vessel evaluated during the device's most recent passage through a nearly straight section of the vessel. Third, a measure of the shape of the device's current stresses, specifically the first principal component of the Fourier coefficients of the stress pattern (as discussed for analysis of the stresses when moving through straight vessels).
The regression model for the probability of a branch, Pbranch, is
P
branch=1/1+exp(−b(log(1−c)rp,p1)) (19)
where c is the correlation between changing stress patterns, defined in Eq. (18), rp is the relative position, defined in Eq. (6), p1 is the first principal component of the stress pattern, and
b(lc,rp,p1)=β0+β1lc+β2rp+β1,1lc2+β2,2rp2+β3p1
where the β . . . are the parameters, given in Table 7, determined from the training samples.
Training this regression used stress measurements along the complete path of each sample to identify the time with minimum correlation along the path. This “off-line” training corresponds to the situation after devices complete their paths, so stress measurements all along the paths are available for training. Specifically, for each training sample, rp is the relative position at the start of the sample path where, by construction, the device is in a straight vessel segment prior to reaching the curve or branch. Moreover, c is the minimum correlation along the path, i.e., the minimum value of c(t,Δt) along a path, for Δt=10 ms. The branch and curve points in
Applying the Classifier to Identify Branches
The classifier described above was trained with the minimum correlation along a path. A device using the same method when applying the classifier would have to wait until it was sufficiently far past a changing geometry to be sure it had detected the minimum correlation along the path for that change. This off-line application of the classifier could be useful in reporting vessel geometry changes well after encountering them, e.g., to provide a description of the path leading the device to a target location.
The discussion below addresses the more demanding classification task of recognizing a branch near the time the device encounters it. This on-line or real-time classification allows the device to take action while still near the branch. In this case, a device uses the classifier by repeatedly evaluating Eq. (19) as it moves. During these evaluations, the correlation c(t,Δt) is not necessarily the minimum correlation along the path: i.e., the device could encounter smaller values as it continues through the vessel. Thus, the device using this method is extrapolating beyond the values used for training.
The classifier uses the device's relative position in the vessel before it encounters a branch or significant curve. Thus, the device must save its calculated value for relative position, updating the value only while vessel geometry is not changing. A device could determine when this steady behavior occurs by checking when the correlations between stresses at various delay times Δt are close to 1, and the pattern of stress on its surface is consistent with its presence in a straight vessel segment. When the device encounters changing geometry, it uses the saved value for its relative position when evaluating the classifier, i.e., Eq. (19). This procedure applies to typical capillaries (Gunter Pawlik, “Quantitative capillary topography and blood flow in the cerebral cortex of cats: an in vivo microscopic study,” Brain Research, 1981) where significant geometry changes are separated by tens of microns, a considerably larger distance than the size of the devices small enough to pass through those vessels.
As an example of how the classifier applies to on-line classification,
In addition to identifying whether the device passes a branch,
Selecting a Threshold to Identify Branches
A suitable threshold to use for identifying branches with the classifier discussed above depends on the relative importance of false negatives (i.e., missing a branch) and false positives (i.e., incorrectly considered a curved vessel to have a branch). The relative importance of these errors depends on the particular application. For example, if a device with locomotion capability needs to move into a branch, it is better to recognize a branch before passing it, so the device would only need to actively move a short distance to reach the desired branch. This contrasts with the situation of not recognizing the branch until well after the device has passed it, in which case it would need to move a larger distance, and move upstream against the flow of the fluid, expending greater energy reserves. In this situation, the device could use a relatively low threshold for branch classification, thereby being fairly sure it will identify branches as it encounters them, though it may also, incorrectly, attempt to move into a branch when passing through some curved vessels (in which case, at worst, the device may hit the vessel wall). Such errors are more likely the earlier the device needs to identify a branch because the flow well upstream of a branch is similar to that in vessel without branch.
Another action the device could take upon detecting a branch is to move to the vessel wall near the branch and act as a beacon to other devices arriving at the branch. The beacon signal could, for example, direct subsequent devices into one branch or the other to ensure roughly equal numbers explore each branch despite the fluid flow favoring one branch over the other. More generally, branches could be useful locations to station devices for forming a navigation network (Freitas, “Nanomedicine, Volume I: Basic Capabilities,” Landes Bioscience, 1999). With a limited number of devices to form this network, and if it is sufficient to station devices at some rather than all branches, the device could use a high threshold of probability to ensure that branches identified by the classifier are very likely to actually be branches.
Other applications have less need for identifying branches while devices are close to them, but instead collect information on the number and spacing of branches for later use, e.g., as a map or diagnostic tool at larger scales than short segments of a single vessel. This applies to identifying vessel geometries that distinguish different organs or normal tissue from cancer tissue (Nagy, Chang et al., “Why are tumour blood vessels abnormal and why is it important to know?,” British J. of Cancer, 2009; Jain, Martin et al., “The role of mechanical forces in tumor growth and therapy,” Annual Review of Biomedical Engineering, 2014). In such cases, the emphasis could be on identifying all branches, favoring a relatively low threshold when approaching the apparent branch, and then verifying detected branches with subsequent measurements after the device has moved past each possible branch, thereby reducing the false positives while keeping sensor information obtained near the branches from the original identification of those cases that are later verified to be branches.
When multiple devices are employed, if spaced closely enough, devices passing a branch could communicate verified branch detections to devices upstream of the branch. With a message from a downstream device that it verified its recent passage of a branch, a device could lower its threshold in anticipation of that upcoming branch. The message could come from a downstream device that entered a different branch of the splitting vessel than the device receiving the message. For the example of micron-sized devices in capillaries or similarly-sized vessels, devices using acoustic communication could compare measurements over 100 μm or so (Hogg and Freitas, “Acoustic communication for medical nanorobots,” Nano Communication Networks, 2012), which is farther than the typical spacing between branches in capillaries.
Verification After Passing a Curve or Branch
A device can use stresses to identify branches as it encounters them. This contrasts with off-line methods that collect time-stamped information before, during and after a device passes a branch, and later use the entire path history to identify if and when the device passed branches. A possible combination of the two approaches is to use on-line classification to identify likely branches, record information about them, and later verify the branch detection when the device has additional information after passing the possible branch. Information a device could use for this verification task includes indicated changes in vessel diameter, relative position, and/or device speed before and after passing the curve or branch. Typically, these changes are much larger after passing a branch than a curve. Specifically, when a vessel splits into branches, the branches have smaller diameter than the main vessel, but the combined cross sections of the branches is larger than that of the main vessel (Murray, “The physiological principle of minimum work: I. The vascular system and the cost of blood volume,” Proceedings of the National Academy of Sciences USA, 1926). Thus, calculating values for vessel diameter before and after the branch gives a direct indication of branching.
The increased total cross sectional area after a vessel splits leads to slower flows in the branches (Sochi, “Fluid flow at branching junctions,” International Jounral of Fluid Mechanics Research, 42, 2015), whereas flow in a curve remains nearly constant. This means that a device could also check for changes in its speed through the vessel before and after passing a detected branch or curve to verify the identification. However, slower fluid speed in the branch does not necessarily mean that the device's speed changes in the same proportion, because (as discussed herein when discussing evaluation of device speed) the device's speed depends both on the speed of the flow and how close the device is to the wall (i.e., its relative position). Along with flow speed, the relative position can change as a device passes a branch. However, as previously described for straight vessels, a device can normally accurately determine its distance from the vessel wall and its rate of rotation. Factoring these into any speed change detected makes this a useful test.
Devices close the wall remain close upon entering a branch or moving around a curve. However, devices entering a branch near the center of the vessel move to near the wall of the branch, and devices starting between the center and the wall move to near the middle of a branch. This change in relative position can distinguish branching from curved paths in cases where the device is not close to the wall. Similarly, the change in speed is particularly large for branch paths when the device is not near the wall, so its speed reflects the decreasing flow through the branches. When the device is near the wall, in either a branch or curve, it moves relatively slowly and remains near the wall, giving relatively little change to distinguish between a branch and a curve.
Changes in relative position and speed are particularly useful for distinguishing curves and branches for paths near the middle of the vessels, precisely the cases where the correlation-based method (discussed with regard to
Due to errors in evaluating position, speed, and vessel diameter from surface stresses, evaluating changes from a combination of these measures before and after passing a branch or curve is more robust than relying on a single method. Similarly, combinations of various sources of information are likely to be helpful in developing classification schemes for alternative vessel geometries.
Classification Performance
To evaluate the performance of the branch classifier example discussed herein, a set of test samples were studied. In the branch vessels considered in this example, the fluid flows from the larger vessel into the two branches, and thus testing the classifier with these paths evaluates how well a device recognizes when the vessel splits into two smaller vessels, with the device moving into one of them. The situation for flow merging from smaller branches into a larger vessel is similar, since a device at a given location in a vessel experiences stresses on the device surface that are the same for either direction of the flow, due to the reversibility of Stokes flow (Happel and Brenner, “Low Reynolds Number Hydrodynamics,” The Hague, Kluwer, 1983). Thus, the stress measurements along a path are the same for paths through merging branches, but in the reverse order.
For merging vessels, the classification operates in the same way as for splitting vessels, but with a shift of time Δt in when the correlation is measured. For instance, for the device 400 at the location shown in
The classifier training employed for evaluation only included the forward direction for each branch, i.e., moving from a main vessel into one of the branches at a split. As a test of how well the classifier generalizes, each branch test sample was analyzed for higher pressure on the left (causing flow from left to right, thus experiencing a branch) and for higher pressure on the right (causing flow from right to left, thus experiencing a merge). A benefit of analysis under Stokes flow conditions is that the fluid flows are the same except for the velocities being reversed, and thus the stresses at any particular point along the path are the same in both cases.
Since the choice of probability threshold depends on the intended application, instead of characterizing a classifier for a single choice of threshold, a better general measure is the tradeoff between true and false positives over the range of threshold values. At one extreme, a threshold equal to one means the device never recognizes a branch (no true positives) but also never mistakenly considers a curve to be a branch (no false positives). At the other extreme, a threshold equal to zero means the device always considers itself to be encountering branches: this identifies all actual branches, but also mistakenly recognizes curves and straight vessel segments as branches (high false positives). For a perfect classifier, there would exist an intermediate threshold allowing it to identify all branches without also mistaking other vessel geometries for branches.
For the branch classifier example discussed herein,
This example of a branch classifier performs well: with suitable threshold, the classifier recognizes most branches with only a few mistakes, as indicated by the curve in
A common overall performance measure for classifiers is the area under the curve. The area would be 50% for a classifier that made no distinction between branch and curve (as indicated by the dashed diagonal line in
When Branches are Identified
In addition to how accurately this classifier example detects branches, an important performance measure is where along a path the device first detects a branch (i.e., whether the device detects the branch early enough to take action before passing the branch). One of the features this classifier uses is the correlation between stresses at the device's current location and those at the time Δt=10 ms earlier. Typically, stresses change the most as the device passes through the branch, and during 10 ms the device does not move significantly past the branch. This means the classifier typically detects the branch while the device is within the branching section of the vessel. Again, the time intervals selected for this example could be considerably larger when similar techniques are applied to larger devices and vessels employed with more viscous fluids.
This classifier can detect most branches (high true positive fraction) with only a few false positives (as discussed with regard to
Vessels Containing Multiple Objects
The above discussions address cases where the fluid moves a single device through the vessel. However, in many cases, vessels could contain additional objects, such as when multiple devices are employed, or when other objects are expected to be entrained in the fluid flow (in the numerical examples discussed herein, addressing vessels comparable to capillaries, blood cells would be typical objects in the fluid). The presence of objects in addition to the particular device under consideration can be considered as variation of vessel geometry. The following discussion illustrates examples of how the techniques described above, developed for a single device far from any other objects in the vessel, can be applied when other objects are nearby.
Vessels with Multiple Devices
In many applications, the use of multiple devices will be desirable to provide greater options in device operation, particularly when the devices communicate with each other to provide each device with more information than it can obtain individually. In some applications, devices could operate in close proximity, and occasionally devices may pass each other, such as when a device near the center of a vessel overtakes slower devices near the wall. Similar situations may arise in cases where other objects besides devices are moving in the fluid flow.
As one example,
Devices 500, 502, and 506 that are near the vessel wall 526 have similar calculated values with or without the other devices. However, the device 504 located in the middle of the group has significant inaccuracies in these calculated values. The device 504 could tell that it has inaccurate values, since the calculated values 514 indicate the device 504 is moving quickly in a narrow vessel; however, if that were actually the case, the device 504 should encounter large stresses, which would be about 40 times larger than the measured values in this case. Such small measured stresses are not plausible given that they would require the fluid speed or viscosity to decrease by that amount compared to prior measurements, before joining the group. This discrepancy in the readings can provide an indication of a discontinuity in the fluid flow, which could be caused by one or more nearby objects in the fluid flow and/or by a discontinuity in the vessel itself; the development of further classification options based on the methods taught herein, or obvious extensions thereto, will help devices to distinguish between different situations that cause discrepancies. Optionally, the device 504 could compare its measurements with the stresses communicated from the other devices (500, 502, 506), which are not consistent with high speed in a narrow vessel.
The devices (500, 502, 504, 506) could communicate to share calculated values, allowing the group to select the most reliable one, or combine calculated values. For example, one scheme would be to give more weight to devices that determine that they are close to the wall, where the evaluation methods discussed here are more reliable. Another scheme would be to give more weight to devices with higher correlation in their measurements over time.
Vessels with Cells Near the Device
Another example of additional objects in the vessel with a device occurs in the specific example of micron-sized devices in capillaries, where blood cells are likely to be encountered in the flow. Such cells typically deform as they enter capillaries and move through in single file. In such cases, devices will be in fluid between two cells, as shown in
The model for this example includes the distortion of cells 602 as they enter small vessels, including the resulting gap between the cells 602 and a vessel wall 610, but thereafter treats them as rigid bodies in their equilibrium shape, which can take a few tens of milliseconds to reach (Secomb, Hsu et al., “Motion of red blood cells in a capillary with an endothelial surface layer: effect of flow velocity,” American J. of Physiology: Heart and Circulatory Physiology, 2001).
The device's position and relation to the vessel are calculated using the methods discussed herein, which were trained on a device in an otherwise empty vessel. The solid arrow 606 through the device in
As indicated, angular velocity is evaluated well, but speed is significantly overestimated. In this case, the fluid moves the device a bit faster than the cells, so the device moves closer to the downstream cell. The device also moves toward the center of the vessel. As the device moves with respect to the cells, the errors in the calculated values are similar to those for the specific case shown in
More Complex Device Geometry and Motion
The discussion above addresses illustrative cases where the devices are spherical and move passively through the vessel. As with the more complex cases of curved and branching vessels, analysis of stresses may be more complicated in other scenarios, such as the case where the devices are elongated rather than spherical, cases where the devices are actively moving rather than passively being carried by the fluid flow, and/or cases where the devices are not neutrally buoyant in the fluid and thus gravitation forces must be considered.
Elongated Devices
In the discussion of spherical devices, the stresses do not depend on the device's orientation. However, other shapes of devices are likely to be advantageous in many cases. For example, elongated shapes could be useful for detecting chemical gradients (Dusenbery, “Living at Micro Scale: The Unexpected Physics of Being Small,” Cambridge, Mass., Harvard University Press, 2009) and for locomotion (Hogg, “Using surface-motions for locomotion of microscopic robots in viscous fluids,” J. of Micro-Bio Robotics, 2014). The pattern of stress on an elongated device changes as it rotates, typically alternating between relatively long periods with its long axis nearly aligned with the flow and short flips (Dusenbery, “Living at Micro Scale: The Unexpected Physics of Being Small,” Cambridge, Mass., Harvard University Press, 2009).
To apply the analysis techniques discussed herein to elongated devices, the interpretation of quantities involved in the evaluation procedures, which use normal and tangential components of the surface stress, can be generalized. For the spherical devices discussed previously, these components not only describe the relation of the stress vector to the surface, but also correspond to forces directed toward and perpendicular to the center of the device. Only the latter forces apply torque around the center. For an elongated shape, these are different decompositions of the stress, e.g., stress normal to the surface is not always directed toward the center, and so can contribute to torque. Either of these vector decompositions, or other choices, may provide useful generalizations for elongated devices. For definiteness, the analysis discussed below uses both the normal and tangential components of the stress on elongated devices.
As one example, a prolate spheroid can be employed, as shown in
In
Similar analyses could be performed for alternative device shapes.
Device Locomotion
The examples discussed above address devices that are passively moved through the vessel by the fluid flow. Devices with locomotion capability, allowing them to actively move through the fluid, may be desirable in many cases, such as to use chemical propulsion (Li, Esteban-Fernandez et al., “Micro/nanorobots for biomedicine: Delivery, surgery, sensing, and detoxification,” Science Robotics, 2017) to improve in vivo drug delivery. Locomotion alters the stresses on the device surface compared to passive motion with the fluid.
To account for changes in stress due to locomotion, one approach for locomoting devices is to directly use the stress patterns they encounter. Like other alternative scenarios, this may involve training new evaluators based on stress patterns that occur when the device activates its locomotion with various speeds and patterns (e.g., faster motion on one side of device to change its orientation). The device would select among these trained evaluators based on the current state of its locomotion. This state could be specified in various ways, such as by how rapidly the device moves its locomotion actuators (e.g., treadmills, flagella, cilia, etc.), or by how much force or power the device applies to its locomotion actuators. While this approach is likely the most accurate, it requires extensive additional training over the range of locomotion patterns and values the device will use.
Another approach to handling locomotion is to vary the locomotion speed in such a way that the device can continue to use evaluators based on passive motion in the fluid. Two methods for this approach are briefly discussed.
One approach is to occasionally turn off the locomotion. The fluid quickly reverts to passive flow (e.g., in nanoseconds for micron-sized objects, such as micro-devices and bacteria (Purcell, “Life at low Reynolds number,” American J. of Physics, 45, 1977). Thus, in brief periods with no locomotion, the device can measure stresses corresponding to passive motion. The measurement time required with no locomotion depends on the stress magnitudes and sensor noise. This method is most appropriate when this time is short compared to significant passive drift by the device while its locomotion is off.
Another approach is to exploit the linear relation between speeds and stresses in Stokes flow (Kim and Karrila, “Microhydrodynamics,” Dover Publications, 2005) when the geometry does not change. For example, the device could measure stresses with locomotion at twice and at half the intended speed, and linearly extrapolate the stresses to obtain the values that would result for zero locomotion speed. This gives the device the stresses it would measure if it were moving passively with the fluid, without needing to turn off locomotion completely. The accuracy of this approach requires there to be negligible change in geometry during this procedure, both for the device and its environment. In particular, this requires that activating the locomotion means itself does not change device geometry significantly (e.g., the device could use surface-based motivators such as treadmills or small surface oscillations, rather than moving extended structures such as flagella; in this case, selection of device hardware could be made with the design objective of simplifying control software to reduce computational requirements, rather than focusing solely on the power efficiency or other performance criteria of the locomotion motivator(s)).
With both the above methods, the device can obtain stress values that correspond to those for passive motion, and so can apply the evaluation techniques for passive motion discussed herein. This approach requires no additional training with locomoting devices.
Computational Requirements
An important metric for the analysis techniques discussed herein is their computational cost. Of course, each device, whether a single device, or part of a group, or external computation means, will have programming, which might also be referred to as instructions or instruction sets, that are used as part of the processes for data storage, data feature extraction and selection, matching data features with system features, and determining device actions, based at least in part on the results of these processes. These processes are described herein in detail, and/or represented at a higher level in the flow charts of
The most basic methods discussed herein use simple functions of a few Fourier coefficients of stress measurements. For n sensors, a direct evaluation of M Fourier coefficients uses of order Mn arithmetic operations (faster methods are available for computing many modes, but are not necessary if M is fairly small, as in the examples discussed). Normalizing the Fourier coefficients involves summing the magnitudes of the M coefficients and then dividing these magnitudes by this sum. Principal components are linear combinations of the normalized modes. Thus, the arguments used in the examples of regressions discussed herein involve of order Mn multiplications and additions. These evaluations involve a few thousand arithmetic operations for n≈30 sensors and M≈6 modes. Based on this, evaluating stress patterns every, say, 10 ms, would require less than 106 operations/s. Expanding the analysis from a 2-dimensional treatment of the stresses to a 3-dimensional analysis would square the number of modes, resulting in 5-10 times the number of calculations for a similar 6-mode analysis. The calculation requirements could be reduced by computing parameters externally and employing look-up tables for comparison to current stress patterns. Another approach may be to reduce the number of modes examined; in the techniques discussed, it was found that most of the information was contained in the first two modes. Also, various dimension reduction techniques such as are well-known in the art could be employed.
The more sophisticated techniques discussed herein, such as using a classifier to detect branches in a vessel, require computational cost both to train the classifiers and to use them. The training can be performed off-line, from sensor measurements collected along a sample of paths, and thus could take place on, e.g., a conventional computer, cluster of computers, or computers with hardware optimized for the problem at hand (e.g., offloading some computations onto GPUs) rather than in a device in a fluid system, with only the resulting regression parameters stored in the device's memory. Thus, the computation cost of training is not significantly constrained by the devices' on-board computational capabilities. Devices applying the classifier would use their on-board computer to repeatedly evaluate the trained classifier from their sensor measurements. Thus, there is a computational requirement for devices using the classifier, and a memory requirement for the device to store the parameters obtained from the training, but these requirements are quite small compared to the generation of training data and the training process itself.
The example of a branch detection classifier discussed herein involves a small set of parameters (see Table 7) and recording several sets of stress measurements (represented by their low-frequency Fourier coefficients) to allow evaluating correlations. This information amounts to about 100 numbers, which could fit in a kilobyte of memory. The regression parameters are just a few additional numbers, so do not add significantly to the memory requirement.
The classifier example uses simple functions of stress measurements. Specifically, Eq. (19) involves correlations, calculated values of a device's relative position, and the principal component of Fourier modes of the stresses. All these quantities can be computed from a few low-frequency Fourier coefficients of stress measurements on the device's surface. Again, a computer capable of 106 operations/s could evaluate these values every few milliseconds. As discussed above, a 3-dimensional analysis is likely to require 5 to 10 times the operations of a 2-dimensional analysis. This is a very small, very efficient set of computations, which could be made even smaller by reducing the Fourier modes used, evaluating input less frequently, or using other techniques well known to those skilled in the art.
Applications of Techniques
The present disclosure shows examples of how devices in viscous flow can use solely instantaneous measurements of surface stresses to determine their position, orientation, and relation to the vessel through which they travel; this information can include, e.g., their direction and distance to the nearest vessel wall, how fast the device is moving, and the vessel diameter. Classification of vessel geometric features (including discontinuities, such as abrupt changes in vessel shape, or the presence of other objects in the fluid flow) can also be made accurately.
This information can then be used to build maps, navigate devices through fluid systems, appropriately task robots (e.g., to remove plaques, plug leaks, adjust sensor, locomotion, or other duty cycles, and set up even more accurate and powerful systems where multiple devices can cooperate to share data or perform specialized tasks (e.g., serving as branch point beacons)). These actions can all be controlled by collecting very small amounts of data and performing calculations that are within the reach of virtually any processor in real-time (once training has been completed, if appropriate).
Similar techniques should be effective for other fluid parameters that can be readily detected by devices equipped with appropriate sensors, such as fluid viscosity, flow speed, etc., and fluidic data could be combined with non-fluidic data (e.g., external location signals) to increase accuracy and versatility.
Note that while the examples given, where a specific physical implementation is referenced, tend to discuss micron-scale devices in micron-scale channels, this is by no means the only size scale to which these techniques apply. The determining factor is not size, but rather the Reynolds and Womersley numbers, which take into account multiple factors, including viscosity. All other things being equal, if a device is made X times larger, and the viscosity of the fluid is also increased X times, the resulting system will behave the same and can be analyzed in the same manner (i.e., systems having the same Reynolds and Womersley numbers have dynamic similarity). Water, and blood (or plasma), are not particularly viscous. Water has a viscosity of 1 cp. Plasma has a viscosity of about 1.3 cp to 1.7 cp. However, there are commercially-important liquids with vastly higher viscosities. For example, motor oil can have a viscosity of >1,000 cp, honey has a viscosity of about 5,000+cp, ketchup has a viscosity of about 5,000+cp, sour cream has a viscosity of about 100,000 cp, and peanut butter has a viscosity of about 10,000 cp to 1,000,000 cp. Because these liquids have viscosities ranging from about 1,000 times higher than blood plasma or water, to over 100,000 times higher than blood plasma or water, devices operating in these fluids can be that many times larger and still be operating in the viscous flow regime. To give some exemplary size and viscosity comparisons, a 1 um device operating in water is equivalent to a 10 cm (3.9 inches) device operating in sour cream, or a 25 cm (9.8 inches) device operating in thick peanut butter. So, in an industrial setting where devices could be used for tasks such as pipe mapping and cleaning, leak or obstruction detection, in viscous liquids the techniques taught herein will work exactly as they would for a device on the micron-scale in water, blood, or plasma.
Table 11 provides representative values for some representative substances and related dimensions covering a broad range of various viscosities.
Note that diffusion rates are directly related to viscosity via the Stokes-Einstein equation, and so it will be obvious that similar comments and analysis apply to, e.g., diffusion of chemicals.
From regression analysis of the Fourier components, values can be calculated for the relative position 808 of the device in the vessel and the vessel diameter 810; these two calculated values can, in turn, be used to calculate the distance to the nearest wall 812. The distance 812 and direction 804 to the nearest wall provide a position 814 for the device relative to the cross-section of the vessel.
The relative position 808 can also be related to a ratio 816 of speed to angular velocity 818. Angular velocity 818 in the examples presented is evaluated by correlating the current Fourier values 802 with previous values 820 determined before a time interval. Once an angular velocity value 818 has been calculated, it can be used with the speed ratio 816 to calculate a speed 822 of the device along the vessel.
Operation Example—Fluid System Mapping
When a feature of interest, such as a branch or merge is detected 904, the position and any available characteristics of such feature are recorded 906, and the steps 902, 904, & 906 are repeated until it is determined that the data collection procedure is completed, at which point the recorded positions and characteristics of features are reported 908 to one or more central databases (“database” being used in the general sense of any type of data storage), if offloading such functions to an external computer, or stored in device memory. In addition to the locations of branches and merges, additional data on the fluid system at a given location may be collected and evaluated such as changes in vessel diameter, curvature, asymmetry, etc. This additional data can help to distinguish the branches, such as branches having differing diameters, different degree of curvature, etc. When the device has additional sensing capabilities, additional data can be employed for further refine the position and/or to characterize the branches. As examples, gravity and/or magnetic field detection could provide a global index of direction, an on-board gyroscope could provide a consistent local index of direction, reception of electromagnetic or acoustic signals (either already present in the fluid system or deliberately induced) could provide references for direction, detection of chemical gradients could provide relative directions with respect to a source or sink for such chemicals, etc. In some cases, the “position” of a feature may be expressed solely in terms of some parameter of interest being sensed, rather than absolute location; for example, if the device senses chemical gradients, the “position” of a feature might be expressed solely in terms of chemical concentrations, rather than absolute location. While discussed in terms of branches and merges, it should be appreciated that other features could be mapped, such as curvature, irregularities in the channel, partial obstructions, points of apparent leakage, etc.
When the procedure is considered to be complete can be determined by various factors, such as when sufficient data has been collected to reach a desired level of accuracy, when the use of additional device memory is not desirable, when the device has limited power and running the sensors is not a priority, when the device exits the portion of the fluid system of interest, or when the device has become immobile. The data-collection procedure can be done multiple times and can be done by a number of different devices, each reporting 908 its record of feature positions and other data to a central database that can be used both to offload computation, and to allow one device to access data acquired by another device. Because the devices can employ relatively simple sensors (such as stress and shear sensors) and require only modest computational capacity, they can be fabricated more inexpensively than more complex devices, and a mapping operation may employ a single device, but may also employ dozens, hundreds, thousands, or even millions or more of devices.
Once the records of feature positions and any relevant characteristics from one or more devices have been reported 908, they are compared 910 to identify areas where the features match (including a match with overlap, which can be used to help combine contiguous segments of the map, similar to the way shotgun sequencing for DNA is performed). Where a match is detected 912, new positions and available characteristics of one or more features are added 914 to a map stored in memory. It should be noted that “new” features could include duplicate reports of features previously added, with the additional report adding to the confidence of the position and characteristics, and/or refining the position and characteristics for greater accuracy.
The steps of comparison 910, identifying matching overlaps 912, and adding features 914 are repeated until the map-construction procedure is considered complete; such completion could be determined by various criteria, such as whether the map is considered sufficiently complete and accurate, or whether, in a multi-device scenario, a threshold number of devices have reported 908 their records. When map construction is considered to be done, the completed map is recorded 916 for future use (although the incomplete map can, and probably would, be recorded incrementally and used to aid the mapping process itself, such as by providing data that can direct a device to an area that is not believed to be accurate enough, or where coverage is completely lacking, or to let a device know how to exit the system for repair, recharge, wired data downloads and uploads, etc.)
Based on the map and the particular mission of the device, a decision 962 is made whether or not the device should take action 964 at this particular feature location. The action 964 to be taken depends on the particular mission of the device and how the detected feature location relates to such mission. For a device with locomotion, the action could be to move into one branch versus the other, depending on the desired mission of the device. For example, the device might choose a branch in order to reach a particular destination, might purposefully leave known areas of a map to gather additional data to extend the map, might repeat a known route to refine the map, might choose to avoid known areas of high risk (e.g., in a biological context, the sinusoid slits of the spleen, might be a likely location for devices to get stuck, and in any system, sharp turns, reduced channel diameters, changes in heat or pressure, or other factors, might all put a device at risk of becoming stuck or damaged), or might simply take a different route than other devices have taken, to provide more complete coverage of the overall fluid system.
Another option for a device with locomotion would be to move to the nearest vessel wall and anchor to it so as to be stationed at that location, such as to provide a location beacon, to detect passing objects, etc. In another example of a possible action, the particular mapped location may be one where there is evidence of tumor growth, and the device could be designed to release a tumor-killing chemical at such location. In an industrial setting, the device might affix itself to an area believed to be leaking, either sealing the leak with its own body, releasing some type of sealing material, or being used as a homing beacon for other devices inside, or outside, the system. Similarly, the device could, e.g., affix itself to an area with some type of waste or plaque buildup, and scrape or dissolve it off (potentially taking it into its own body so as not to contaminate the fluid). It should be noted that the sensing/analysis and action functions could be incorporated into separate physical devices, such as a multi-device group where one or more devices perform the sensing functions and transmit the analysis results to one or more other devices that take action based on the results.
Where additional sensor data beyond that used for feature identification/location is available, such additional data could inform the decision of whether or not to take action, and/or the determination of which of multiple action choices should be taken. It should be appreciated that the variety of possible actions is commensurate with the variety of possible missions to be undertaken by such devices.
Some of scenarios present options even for devices that lack locomotion. For example, if a device flows through a system randomly, if it is in a portion of the system that has already been mapped, it may elect to shut sensors down for some period of time to conserve power. If it randomly flows past a system feature of interest, it may elect to broadcast that information as a priority to other devices or to a central database. It may also emit or absorb chemicals (e.g., as in the tumor killing example—locomotion would be useful, but not necessary), or affix itself to the wall. Clearly, depending on many factors, such as the device's mission, what capabilities the device has, and whether it is operating alone or in a group, with or without locomotion, there can be many actions to be taken.
Whether or not an action 964 is taken at the location, the sensing 952, extraction 954, evaluation 956, feature detection 958, comparison 960 to mapped features, determination 962, and action taken 964 (when appropriate) are repeated until the procedure is considered complete and is ended 966. Such end could be based on the device becoming inactive, the action 964 being considered to complete the mission, the device leaving the fluid system or having traveled a prescribed distance, or other criteria depending on the situation.
While the novel features of the present techniques are described in terms of particular examples and preferred applications, it should be appreciated by one skilled in the art that, given the teachings herein, which demonstrate the surprisingly accurate inferences that can be made from simple sensor data, and which analyzed in a manner that computationally allows acting on the inferences in essentially real-time, which greatly improves device function and versatility, the techniques discussed are applicable to a variety of other situations in viscous flow, and that alternative analysis schemes could be employed without departing from the spirit of the invention, and which would be apparent from the teachings herein.
The following publications provide background information on many of the technical topics discussed above.