A pump jack (also called oil horse, donkey pumper, rocking horse, beam pump, and jack pump, among other names) is the over-ground drive for a reciprocating piston pump in an oil well. Pump jacks are designed to mechanically lift liquid out of the well in cases in which insufficient bottom hole pressure exists for the liquid (typically an emulsion of oil and water) to flow to the surface.
A pump jack converts the rotary motion of an electric motor or internal combustion engine to a vertical reciprocating motion to drive the pump shaft. The motor of the pump jack runs a set of pulleys to the transmission, which drives a pair of cranks equipped with counterweights to assist the motor in lifting the heavy string of rods. The cranks raise and lower one end of an I-beam which is free to move on an A-frame or Samson post. On the other end of the beam is a curved metal box called a horse head or donkey head. A cable made of steel (or occasionally, fiberglass) called a bridle, connects the horse head to the polished rod, which is a piston that passes through a stuffing box. The polished rod has a close fit to the stuffing box, letting it move in and out of tubing without fluid escaping. The tubing is a pipe that runs to the bottom of the well through which the liquid is produced. The bridle follows the curve of the horse head as it lowers and raises to create a nearly vertical stroke. The polished rod is connected to a long string of rods called sucker rods, which run through the tubing to the down-hole pump, usually positioned near the bottom of the well.
A well may be lined with cement walls. Within the cement walls is the tubing, the down-hole pumps and the sucker rods. The down-hole pump is located at the bottom of the tubing. On the downward stroke, the plunger of the down-hole pump fills with oil, and on the upward stroke this oil is transported to the top of the well where it is extracted and put into barrels. The down-hole pump has two ball check valves: a stationary valve at bottom called the standing valve, and a valve on the piston connected to the bottom of the sucker rods that travels up and down as the rods reciprocate, known as the traveling valve. Oil-containing fluid enters from the formation into the bottom of the borehole through perforations that have been made through the casing and cement. When the rods at the pump end are traveling up, the traveling valve is closed and the standing valve is open (due to the drop in pressure in the pump barrel). Consequently, the pump barrel fills with the fluid from the formation as the traveling piston lifts the previous contents of the barrel upwards. When the rods begin pushing down, the traveling valve opens and the standing valve closes (due to an increase in pressure in the pump barrel). The traveling valve drops through the fluid in the barrel (which had been sucked in during the upstroke). The piston then reaches the end of its stroke and begins its path upwards again, repeating the process.
Pump jacks are typically used for low-volume marginal or “stripper” wells that produce no more than 15 barrels a day. The average stripper well produces only about 2.2 barrels per day. Depending on the size of the pump jack, anywhere from 5 to 40 liters of liquid may be delivered to the surface with each stroke. Although designed and used for low yield wells, pump jacks service 84 percent of U.S. oil wells and produce, in the aggregate, fully 18 percent of all US domestic oil. Keeping these pump jacks operating at peak performance is, therefore, vitally important. Significantly, it has become clear that early detection of anomalies in the operation of the pump jacks is key to identifying less than optimal operation or indeed predicting impending failure of the jack pump. In turn, such anomaly detection may allow for predictive maintenance to be carried out before failure or significant performance degradation.
Unique Performance Signature
One embodiment identifies the unique performance signature of a hardware asset such as a pump jack. This unique performance signature may be obtained through combinations of readings from sensors coupled to or near the hardware asset. These readings may originate from a predetermined set of sensors that may include, for example, accelerometers, gyroscopes, acoustic microphones, accelerometers, pressure sensors, load cells, torque sensors, temperature, flow meters, electrical current meters, to identify but a few of the possible sensors. The unique performance signature may also include processed data obtained from other devices using a communication link. The unique performance signature may also include data recorded or derived from field observations, including questionnaires, video and audio data. According to one embodiment, processed data for the unique performance signature may also be obtained from other sources, such as a pump jack's SCADA (Supervisory Control And Data Acquisition) system, as further described herein below.
According to one embodiment, a sample of these readings may be used to determine a baseline for the nominal performance of the hardware asset. These multiple inputs may then be summarized using Bayesian inference combined with sensor-fusion (the integration of data from a plurality of sensors), machine learning that allow for billions of individual data points to be combined into one or more unique metrics that describe the performance of the pump jack. This baseline unique asset signature may then be used as the basis from which current or historical performance may be compared over time.
K-Store
By observing the behavior of readings from an asset for a period of time, a nominal state of behavior of the asset (such as a pump jack component or subassembly) may be determined, across a set of predetermined key metrics. Once visualized, the shape of these metrics may be compared from one period of time to another and statistical methods may be used to create a similarity score across each of the key metrics. These similarity scores may then be combined to create a single K-score, which corresponds to an estimate of whether the asset has changed by a statistically significant amount between the time intervals.
State Estimation
Given a large number of data (sensor readings, observations, derived metrics) over time from a collection of similar assets, and a set of labels (such as ‘normal’, ‘gas interference’, ‘tubing leak’, etc.) associated with the data, supervised learning techniques (random forests, support vector machines, etc.) may be used to identify the same labels in similar assets.
According to one embodiment, raw data from sensors and other sources may be gathered and applied transformed into actionable information, in the form of one or more graphical representations, which may be delivered to user's computing devices over a local and/or wide area computer network via, for example, a mobile app or a browser-based html interface.
According to one embodiment, the pump card data may be used to generate visualizations of both current and historical pump (dynamometer) card operation.
As shown in
Data Collection and Processing
The data collected and averaged for the pump card calculations visualized in
Full Stroke of the Pumping Unit
The full stroke of the pumping unit refers to the complete upward and downward motion of the pumping unit. This is also referred to as the upstroke and downstroke of a pump's motion and directly correlates to one full rotation of the crank. Furthermore, the beginning of the stroke starts with the pump at its lowest position and the crank at a 12 o'clock position, then the upstroke motion runs until the pump reaches its highest point and the crank at a 6 o'clock position. Lastly, the downstroke motion runs until the pump returns to its lowest position and the crank is at a 12 o'clock position again.
Inferring Machine Phase from 6-axis Inertia Measurement Unit (IMU)
One embodiment uses streaming data from accelerometers and gyroscopes to ascertain the state of a machine in relation to its “cycle”. Using Principal Components Analysis, the major axis of movement for the machine is located in physical space. In one embodiment, the sensor data is combined to get the crank angular position, angular velocity, and angular acceleration using a 1-D Kalman filter to account for drift and bias and ensure accurate values for the centrifugal acceleration of the machine part. To synchronize the sensors, the phase values are mapped onto the timestamps returned by the sensors and interpolated to provide continuous values. This enables the determination of which point in the machine phase corresponds to any data reading from any attached sensor.
American Petroleum Institute (API) Specifications
The structural geometry and the pump jack's American Petroleum Institute (API) specifications refers to the physical measurements and rigid body mechanics of the pumping unit. This includes counterweight mass and position on the crank, pitman arm pin position on the crank, stroke length (or the polished rods displacement through half a stroke, i.e. from the bottom to top of the pumps motion), and the structural unbalance (SU), of the pumping unit based on the manufacturer's specifications. These measures enable a “torque factor” to be calculated, which torque factor relates the surface load (the load acting on the pumping unit at the polished rod) and the rod torque. For any given crank angle, the torque factor multiplied by the surface load and structural unbalance difference, gives the torque at the crankshaft of the beam pumping unit speed reducer.
Estimation of Crank Load Using Motor Torque and 6-Axis IMU
To estimate the crank load (CL), information may be collected about the pump jack, including counterweight mass and position on the crank and pitman arm pin position on the crank. The estimate of the crank angular acceleration may then be used to obtain the ‘inertial torque’ of the crank system. An estimate of motor torque may be derived from either a) an ammeter(s) (clamp or contact-type) measuring the current between the motor and the motor controller in combination with physical and electrical specifications of the motor and gearbox, or b) measurements of motor power/torque from a serial communication with the motor controller. Alternatively, such data may be obtained from the pump jack via the SCADA system, which is a system for remote monitoring and control that operates with coded signals over communication channels (using typically one communication channel per remote station).
Estimation of Surface Load Using Crank Load
To estimate surface load (SL) from crank load (CL), physical information about the pump jack may be collected, including walking beam length and mass, pitman arm length, pitman arm pin position on crank, counterweight position/mass, crank mass. From this information, a ‘torque factor’ (TF) may be derived that gives a relationship between surface load and crank load (SL=TF*CL). Complications arise from two factors: a) uncertainty in the CL estimate, and b) the TF is 0 at two points in the crank cycle, making the estimate degenerate near these points. To address these issues, a linear model of SL is assumed and a Kalman filter is used to infer SL given CL and TF. Furthermore, with the combination of data sets and geometric specifications, corresponding data sets may be obtained regarding the motion of the walking beams, i.e., the beam's change in angle through a full stroke and its angular acceleration.
Sensor Locations
At least one 6-Axis IMU (accelerometer plus gyroscope) may be attached to the polished rod and is referred to as the bridle sensor. At least one 6-Axis IMU (accelerometer plus gyroscope) may be attached to the pumping unit crank arm and is referred to as the crank sensor. One or more sensors may be provided to monitor motor current and/or a device may be provided that communicates with the motor controller and/or a strain gauge may be provided, to measure crank arm deflection. These may be collectively referred to as the motor power sensor(s). A strain gauge may be provided, to measure beam deflection.
Calculating the Down Hole Load vs Plunger Position: the Pump Card Calculation
The beam pump 300 may include a walking beam 312, which may pivot about a pivot point on Samson post 314, thereby causing a rod string or bridle 316, attached to weighted horse head 313, to move up and down in a reciprocating motion. This reciprocating motion actuates a downhole pump at the bottom of the well. The walking beam 312 is caused to pivot about the fulcrum of the Samson post 314 by a crank arm 318 that is coupled to the walking beam 312 via Pitman arm 330. A counterweight 320 balances the horse head 313, the bridle 316 and polished rod 322. A prime mover such as an electric motor 324 coupled to a gear reducer 326 drives the crank arm 318, using a V-belt, as shown at 328.
A=distance from the center of the saddle bearing to the centerline of the polished rod, in inches (in.);
C=distance from the center of the saddle bearing to the center of the equalizer bearing, in inches;
P=effective length of the pitman arm (from the center of the equalizer bearing to the center of the crankpin bearing), in inches (in.);
H=height from the center of the saddle bearing to the bottom of the base beams, in inches (in.);
R=radius of the crank, in inches (in.);
G=height from the center of the crankshaft to the bottom of the base beams, in inches (in.); and
I=horizontal distance between the centerline of the saddle bearing and the centerline of the crank shaft, in inches (in.).
STEP 1: According to one embodiment, using the averaged data of crank angle over time and the structural specifications below and shown in
STEP 2: Using the following relationship between the polished rod position (Sp, in inches), the max polished rod displacement or stroke length (S, in inches), and the crank angle
the second derivative of this equation with respect to time is taken to obtain the polished rod's acceleration with respect to time, as a function of the crank angle, crank angular velocity, and crank angular acceleration:
Then, with the use of the direct relationship between the polished rods position and the walking beam's angular position, θb in radians (expressing the fact that the vertical displacement of the polished rod equals to the length of the arc covered by the outward end of linkage A of the pumping unit for a given beam angle)
Sp=Aθb
a direct calculation of the walking beam's angular acceleration may be made, as follows:
STEP 3: Now with the combination of our sensor data, the derived torque factor, the derived beam's angular acceleration, and pumping unit geometric specs, the following net torque equation may be used on the gearbox as the algebraic sum of all possible torque components:
Tnet(θ)=Tr(θ)+TCB(θ)+Tia(θ)+Tir(θ)
where all torques are determined with respect to the crank angle.
Tir (θ) represents the rotary inertial torque on the gearbox in in-lbs units.
With the crank angular acceleration
and approximated geometric constant on the net moment of inertia of the rotating system, Cir, the rotary inertial torque may be calculated using the equation:
Tia(θ) represents the articulating inertial torque on the gearbox in in-lbs units. With the beam's angular acceleration,
and approximated geometric constant on the net moment of inertia of the structural parts regarding the beam, horses head, equalizer, etc., Cia, the articulating inertial torque may be calculated using the equation
where TCB (θ) represents the counterbalance torque in in-lbs units.
With an approximated constant for the maximum moment of inertia on the counter weights and cranks, the counterbalance torque may be calculated by the equation:
TCB(θ)=−CCB sin(θ)
where Tnet(θ) represents the net torque equation on the gearbox in in-lbs units, which may be calculated by multiplying the RMS ammeter data with the approximated gear ratio constant in the manufacturer's brochure. In this manner, the only torque unaccounted for is the Tr(θ) rod torque measured in in-lbs. However, using an equation relating the sum of all possible torques and given what torques may be calculated, solving for Tr(θ) yields the following:
Tr(θ)=Tnet(θ)−TCB(θ)−Tia(θ)−Tir(θ)
Furthermore, the relationship between the rod torque and the surface load, F(θ), measured in lbs, may be exploited by the equation:
Tr(θ)=TF(θ) (F(θ)−SU)
Note that the surface load is a measure of the load acting on the pumping unit at the surface of the well and is measured as the load effect on the polished rod.
STEP 4: To make the calculations of surface load, the equation above is solved for F(θ). However, since all these data sets are with respect to the crank angle, complications arise because the TF(θ) values are approximately zero at crank angles around 0° and 180°. To address this issue, a Kalman Filter may be applied to the data sets, which is an algorithmic approach designed to estimate conditional probabilities of observing a data value given the previous values. This, in turn, allows the inference of estimates of surface load about positions of 0° and 180° on the crank. However, this does come at a cost of some uncertainty regarding the accuracy of these estimates around these regions.
STEP 5: The final step is translating the surface load information to down hole load information. This may be achieved, for example, by employing the 1-D damped wave equation of T. A. Everitt and J. W. Jennings, to algorithmically approximate the solution to the partial differential equation through central finite differencing. This method incorporates an iteration over the polished rods stroke and, in turn, provides the associated effective loads acting on the well in relation to the position of the plunger down hole. These results may then be displayed as the card pump graphs shown in
Obtaining Crank Motion Data from a 6-axis IMU Sensor
The following details the manner in which crank motion data (e.g., crank angle over time, crank velocity over time and crank acceleration over time) may be obtained. A non-invasive attachment of an enclosure containing wireless enabled sensors may be enabled using metal mounting plates and magnets configured to rapidly and securely attach to various ferrous surfaces of a pump jack. The magnets also enable a rapid and easy removal of the sensors when desired. Once securely attached, data from the sensors can be used to provide feedback on the machine performance. The metal mounting plates, according to one embodiment, may be custom-shaped such that they allow secure non-slipping attachment of the sensor box assembly to any part of the machine, even as the machine (e.g., pump jack) moves. The metal mounting plates also allow attachment of the magnets to the enclosures without compromising the waterproof nature of the enclosures, if waterproof enclosures are used. Using such sensors, accelerometer and gyroscope time series data associated to the rotational movement of the cranks may be obtained. The following steps may then be carried out on the sensor raw data to calculate a detailed description of the crank's motion data.
The first step is to “calibrate” the data coming off the pumping unit's cranks, to characterize the physical space of the pumping unit. Because pump jacks are rigid body machines, the system may be simplified by working specifically in the crank's vertical plane of rotation. This may be carried out, according to one embodiment, by computing a singular value decomposition of the accelerometer matrix data, centered along its respective axes, and using its principal components that define the planar x-y space of the data. Then, with sensor data taken with respect to this plane of rotation, the initial crank angle time series data may be computed.
Next, this initial crank angle time series data may be used to further understand the crank motion by specifically finding where the 0° and 180° positions lie in the plane of rotation. By applying a GAM (Generalized Additive Model) smoothing to the magnitude of the accelerometer vectors as a function of the initial crank angle time series data, the angle associated to the minimum accelerometer vector may be found and used to determine what part of the principal components lie in the upward direction, with respect to the plane of rotation. We denote this 0° position of the crank as the “up vector” in the plane of rotation and by simply rotating the “up vector” by 90° or π/2, the 90° position of the crank may be obtained, which may be denoted as the “right vector” in the plane of rotation.
Now with the plane of rotation better characterized, the calculation of the crank angle time series data may be refined with the use of a sensor fusion approach, combining sensor data from the accelerometers and gyroscopes. To do this, the accelerometer data may be used and the angle of rotation (in radians) may be computed with respect to the “up vector” and “right vector” in the plane of rotation. Looking at the normal vector to the plane of rotation, the crank angle velocity about this vector may be computed with the gyroscope data. Lastly, these two data sets may be combined and a 1-D Kalman filter may be applied, to account for drift and bias and to ensure accurate time series data on the motion of the cranks. The final result provides accurate crank angle and crank angle velocity time series data, which may be used in further pumping unit analytics.
The crank angle and crank angle velocity data values may be used to generate stroke percentage and stroke rate, respectively. The stroke percentage is desired because it is desired to use the direct relationship between one full rotation of the crank and one full stroke (upstroke and downstroke) of the pumping unit, to maintain the data in line with another fundamental movement of the machine. This is a simple translation obtained by the following product
where the resultant stroke percentage is an actual percentage.
Furthermore, by the direct relationship between the crank rotations and the full strokes of the pumping unit, the crank angle velocity data may be translated to a stroke rate because of industry standards of measuring strokes per minute (SPM):
The final steps are to synchronize the sensor data by mapping the stroke percentage and stroke rate values onto evenly spaced timestamps returned by the sensors, then interpolate and compute the stroke rates derivative.
By selecting stroke percentage data corresponding to stroke rate data under a conditional minimum requirement, the data sets may be paired up according to their cyclic nature and their unique phase patterns identified. Then, the two data sets may be interpolated and a smoothing filter applied to remove the unnecessary noise. Lastly, a derivative may be applied to the synced and smoothed stroke rate data to obtain information on the cranks angular acceleration. In this manner, the following synchronized data may be obtained:
Pumping Unit Balance Estimation
By design, the counter weights and the weight of the rod and horse head play a crucial role in the balance of the pumping unit. Specifically, the counter weights help lift the rods, the horse's head, and everything else affected by gravity in the upstroke, while under load from positions 0° to 180° of the crank's rotation. Similarly, those roles reverse during the downstroke, effectively just lifting the counter weights from positions 180° to 360° of the crank's rotation. Therefore, at the 90° and 270° positions of the crank's rotation, the counter weight effects are most impactful and it is at these positions that the differences in approximate max crank torques (or effort the machine is performing) may be calculated to interpret the balance of the machine.
This analysis may observe three different states of balance according to the mechanics and calculation described in the previous paragraph; namely, “rod heavy”, “weight heavy” and/or “approximately balanced”. Indeed, if the effort on the upstroke is larger than the effort on the downstroke then this implies that the counter weights are not providing a large enough effect and pumping unit is working more on the upstroke. The balance of the pump unit may, therefore, be characterized as being “rod heavy”, as shown at 502 in
As shown in
The calculated difference, in inch-tons
max(CT@90)−max(CT@270)
may be displayed in inch-tons and is displayed at the top of the graphic, as shown at 402. The numerical value displayed is the absolute value of the calculated difference. If this difference is positive, then the balance may be characterized as “rod heavy” and if it is negative then the balance may be characterized as being “weight heavy”. Small positive or negative differences may be ignored and the “rod heavy” or “weigh heavy” labels may be applied only if the absolute difference is greater than a predetermined or user-selectable threshold. Indeed, if the calculated difference is within a small window about zero, the pump may be accurately characterized as being “approximately balanced”. If the calculated difference falls outside this range in either direction, the pump unit may be reported to be out of balance in either the “rod heavy” or “weight heavy” directions.
According to one embodiment, the calculated difference may be computed for approximate max crank torques about the 90° and 270° position of the cranks. Specifically, using a linear model of effective load on the pumping unit, motor current RMS data, and crank acceleration data, calculated differences may be computed in approximate max motor torque and approximate max inertial torque to determine this final well balance value. By setting specific checkpoints, warnings may be sent out upon the occurrence of any extreme or out of acceptable range observations of the pump card's movement.
Bridle Abnormality Detection
According to one embodiment, visualizations such as shown at 600 in
The synchronization allows the detailed motion of the bridle to be known, enabling a knowledge of its position along its up and down movement throughout the stroke. Then, using the associated accelerometer time series data, changes in bridle acceleration over time can be detected and significant “pops” or abnormalities from a smooth movement along its path detected and recorded.
According to one embodiment, repeated observations of bridle movement may be used to construct a typical or nominal acceleration profile of bridle movement. The average deviation from this typical acceleration profile over the stroke position may be recorded, over many strokes. The inclination of the bridle may be estimated by computing the angle between the estimated principal axis of acceleration with the estimated gravity vector. The accelerometer data may be combined with gyroscopic data to get an accurate estimate of the gravity vector. Corrections may be made for estimated bias by computing a bootstrapped measurement error, among other possible corrections. According to one embodiment, bridle abnormality data so obtained may be displayed using a bold center line 602 with a dot 604 moving up and down the bold center line 602. The dot 604, in this manner, may represent the bridle sensor while the solid line 602 may represent the bridle sensor's path (up and down) through a course of a full stroke. The dot begins at the bottom of the bold center line, denoting the 0° position of the crank and the beginning of the upstroke. As the pumping unit runs through the upstroke, the dot 604 may be caused to move up the bold center line 602, while at the same time a bold line 706 and a dashed line 608 on the left are traced out, as shown in
Upon the completion of an upstroke and the beginning of the downstroke, the dot proceeds to move down the solid line 602 and a similar visual analysis of the change in acceleration may be displayed on the right side of the screen, as shown in
At the top of the visualization 600 in
Stroke Inclination Detection
The stroke inclination detection visualization or animated graphic 1000 is shown in
The actual computation of the stroke inclination may be made by the sensor fusion of accelerometer and gyroscope time series data to accurately estimate the gravity vector acting upon the sensor unit. By computing a singular value decomposition of the accelerometer matrix data, centered along its respective axes, and using its principal components, the planar x-y space of the data may be defined. This, in turn, defines the principal axis of acceleration, allowing the angle between this vector and the estimated gravity vector as the angle of inclination to be computed.
The stroke angle may be visualized, according to one embodiment, using an animated graphic. In one embodiment, the animation starts with a solid line to denote the path of the bridle sensor with angles marked at the top of the line. Then the line adjusts itself to the calculated angle of inclination, as shown at 1012, leaving a dashed line 1010 at the zero-degree position. The dot 604, representing the bridle sensor, then begins to move up and down to show the bridle sensor movement through the full stroke of the pumping unit. Furthermore, the speed of the dot 604 is driven by the actual speed of the machine. The measured angle of inclination may be provided in text at the top of the screen, as shown at 1014, while the measured angle of inclination recorded 24 hours ago may be displayed in smaller text just below as shown at 1016, for the purpose of comparison.
According to one embodiment, at least some of plurality of wireless sensors may be magnetically and removably attached to selected structures of the pump jack. The plurality of sensors may include accelerometers, gyroscopes, acoustic microphones, pressure sensors, load cells, torque sensors, temperature sensors, flow meters and electrical current sensors.
The downhole load may be calculated, according to one embodiment, using an output of one or more load or pressure sensors. The position of the polished rod may be determined, according to one embodiment, using acoustical output data of at least one microphone. Attaching wireless sensors may comprise, according to one embodiment, attaching one or more of a 6-Axis inertial measurement unit (IMU) comprising at least an accelerometer and a gyroscope to the polished rod of the pump jack; a 6-Axis IMU comprising an accelerometer and a gyroscope to a crank arm of the pump jack; a sensor configured to monitor motor current or to obtain motor current information from a motor controller of the pump jack; a strain gauge configured to measure deflection of the crank arm of the pump jack; and/or a strain gauge configured to measure a deflection of a beam of the pump jack.
According to one embodiment, calculating and generating information related to the downhole load versus the position of polished rod position may comprise generating time series data related to the crank angle of the crank arm of the pump jack. Data from the accelerometer and the gyroscope attached to the crank arm may be combined, according to one embodiment, and a crank angle velocity about a vector that is normal to a plane of rotation of the crank arm may be determined, from the combined accelerometer and gyroscope data. In turn, from the determined crank angle and the crank velocity, one or more of the following may be determined: a stroke percentage of the crank arm, relative to a full stroke of the crank arm; a stroke rate, relative to the crank angle velocity of the crank arm; and/or a stroke rate of change, relative to an angular acceleration of the crank arm. One embodiment may comprise selectively generating the visualization of the generated surface load versus polished rod position information for both current and historical time-stamped data received from wireless sensors attached to the pump jack.
One embodiment may also, from the synchronized time-stamped data, calculate and generate information related to the relative balance of a counterweight of the pump jack relative to a horse head of the pump jack, as shown and described relative to
One embodiment may comprise attaching at least one wireless sensor to the bridle of the pump jack and calculating and generating information related to changes in acceleration of the bridle. The generated information relative to the changes in acceleration of the bridle may then be rendered as an animated graphic in at least near real time on the computing device. The method may also comprise determining the nominal acceleration profile of the bridle, determining deviations from the determined nominal acceleration profile and rendering at least the determined deviations on the computing device, as an animated real-time or near-real time animated computer graphic. One embodiment may also further comprise determining the angle of inclination of the bridle and rendering the determined inclination as an animated graphic in at least near real time on the computing device.
According to one embodiment, an electronic message (e.g., text, email, etc.) may be generated and sent, over a computer network, upon an occurrence of an out-of-acceptable-range quantity generated from the received time-stamped data.
While certain embodiments of the disclosure have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the disclosure. Indeed, the novel methods, devices and systems described herein may be embodied in a variety of other forms. Furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the disclosure. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the disclosure. For example, those skilled in the art will appreciate that in various embodiments, the actual physical and logical structures may differ from those shown in the figures. Depending on the embodiment, certain steps described in the example above may be removed, others may be added. Also, the features and attributes of the specific embodiments disclosed above may be combined in different ways to form additional embodiments, all of which fall within the scope of the present disclosure. Although the present disclosure provides certain preferred embodiments and applications, other embodiments that are apparent to those of ordinary skill in the art, including embodiments which do not provide all of the features and advantages set forth herein, are also within the scope of this disclosure. Accordingly, the scope of the present disclosure is intended to be defined only by reference to the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5105671 | Slater | Apr 1992 | A |
5735170 | Bales | Apr 1998 | A |
20100101774 | Ocondi | Apr 2010 | A1 |
20130108472 | Pons | May 2013 | A1 |
20170152737 | Pons | Jun 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20170306745 A1 | Oct 2017 | US |