Structure orientation using motor velocity

Aspects herein relate to using motor velocity (RPM) as feedback for controlling the extension or retraction of jacks for control of the angular orientation of a structure, or other means for accomplishing the same. Such includes a structure orientation control apparatus comprising one or more jacks configured to support a structure, one or more jack drive mechanisms coupled to at least one of the one or more jacks, the one or more jack drive mechanisms configured to extend or retract the one or more jacks, and a jack controller configured to cause the one or more jack drive mechanisms to extend or retract the one or more jacks based on a jack command. The jack controller monitors one or more jack velocities during extension or retraction.

TECHNICAL FIELD

The disclosures herein relate in general to control of the orientation of structures in regard to a reference angle. More particularly, aspects herein relate to using motor velocity as a feedback variable for controlling the extension or retraction of jacks to effect such orientation.

BACKGROUND

Structures can be emplaced temporarily, constructed semi-permanently, or erected permanently for various commercial, industrial, or personal reasons. Whether such structures are positioned for minutes or years, it is desirable to align such in accordance with a reference angle while arranging the structures. For example, in occupied structures, it is important that floors, ceilings and walls be level, and/or reflect the design such that both load bearing and aesthetics are accomplished as intended. In industrial applications, a drill or other tool may suffer from reduced efficiency or failure based on deviations to an expected orientation. Examples of movable or self-propelled structures that may benefit from alignment include motor homes, recreational vehicles, cranes, elevated work platforms, military vehicles, and others. Pre-assembled or rapid deployment living or working quarters for use in undeveloped areas provide examples of semi-permanent or enduring structures that may benefit from angular alignment during construction.

Rather than develop a carefully graded surface on which to place the structure, the structure itself can be designed to include mechanisms allowing it to modify its alignment in regard to one or more reference angles using integral or couple-able means for aligning the structure, such as one or more mechanical jacks, wedges or cams, screws, or collapsible supports (including but not limited to, e.g., inflatable devices). Such devices are frequently controlled with some degree of automation using at least a power supply, and feedback can be received from various sensors or electrical components utilized in the system. To safely and efficiently utilize these and other structures, systems and methods can coordinate the efforts of various means of aligning a structure with a reference angle. A common reference angle is the direction of gravitational pull, but any angle may be defined and utilized.

In embodiments employing electro-mechanical jacks, one or more feet or surface-contacting portions of jacks may be extended to contact the ground and establish a rigid support base for the structure. By extending and retracting jacks associated with different locations on the structure, the structure may be aligned at any reference angle. Such jacks can be, for example, hydraulically powered or driven by electric motors.

However, even with assistance raising and lowering portions of the structure to modify alignment with a reference angle, precise control over two- and three-dimensional orientation of the structure requires not only automation of a single raising or lowering motion, but coordination between all means for aligning the structure. Further, techniques can be employed to reorient a structure after an initial setup, such as when settling earth changes the structure's orientation in regard to the reference angle(s), or based on a user's needs and preferences.

SUMMARY

An embodiment herein includes a structure orientation control apparatus. The apparatus comprises one or more jacks configured to support a structure, one or more jack drive mechanisms coupled to at least one of the one or more jacks, the one or more jack drive mechanisms configured to extend or retract the one or more jacks, and a jack controller configured to cause the one or more jack drive mechanisms to extend or retract the one or more jacks based on a jack command. The jack controller further monitors one or more jack velocities during extension or retraction.

Another embodiment herein includes a method for orienting a structure, comprising driving one or more jacks configured to support the structure, monitoring a jack velocity associated with the one or more jacks, and modifying at least one rate at which the one or more jacks are driven based on the jack velocity.

Still another embodiment herein includes a system. The system comprises means for extending and retracting two or more jacks configured to support a structure, means for determining grounding of each of the two or more jacks, means for leveling the structure using the two or more jacks after grounding all of the two or more jacks, and means for determining unloading of each of the two or more jacks. At least one of the means for determining grounding, the means for leveling, and the means for unloading calculate jack extension or retraction based on one or more jack velocities associated with at least one of the two or more jacks.

Various aspects will become apparent to those skilled in the art from the following detailed description and the accompanying drawings.

DETAILED DESCRIPTION

The disclosures herein generally relate to systems and methods for controlling jacks (or other means) for adjusting an angle of a structure which is oriented in regard to a reference angle in an at least a partially automated fashion. Specifically, a common value used at least in part to govern control of the angle of the structure is a velocity associated with the jacks. As used herein, velocity in reference to such motors generally refers to their revolutions per minute (RPM).

By measuring velocity associated with jacks, a controller can determine (from a previously indeterminate state) at least when one or more jacks contact ground and begin bearing structure load, and thereafter begin leveling by using information related to jack velocity to assist with leveling a structure. Multiple operating modes can be built around these determinations, including a grounding mode that ensures a predetermined number of jacks are contacting the ground or bearing at least a partial load prior to leveling, a leveling mode to orient the structure according to a reference angle, an unloading mode, and others. Alternatively, combinations of different functions or all such functions can be integrated into a unified technique for managing support and orientation of structures using jacks.

As suggested, various jack functions are useful to controlling the angle of a structure. For example, determining jack stroke limit (i.e., maximum extension and retraction), contact of one or more jacks with the ground, relative jack load, et cetera, can be used to modify relative angles, balance jack load, coordinate activity of jacks, et cetera.

As used herein, “jack velocity” refers to a velocity associated with a jack or jack driving mechanism. The jack velocity can, in embodiments, be the motor velocity of a jack motor driving a jack (or multiple jacks). Alternatively, the jack velocity can be the velocity of a moving part of a jack itself. Jack velocities can be measured according to a rotational rate (e.g., rotations per minute), but can be measured according to other quantities as well (e.g., inches per minute). A “jack rate” is the rate at which the moving portion of a jack in contact with the structure changes. In some embodiments, a jack velocity and jack rate can be the same quantity. In alternative embodiments, the jack velocity and jack rate are not the same quantity, but may be related (e.g., jack rate is a product of jack velocity, screw pitch, and load borne by jack, and/or other variables). In still another embodiment jack rate and jack velocity are not mathematically comparable by a single relationship. Used herein, a “jack command” is an automatic or manual command to begin, cease, or modify extension or retraction of one or more jacks. Jack commands can include, but are not limited to, commands to extend, ground or load jacks; commands to retract or unload jacks; commands to level a structure using jacks; commands to modify angular orientation using jacks; and others.

Control of the structure angle is accordingly consequent to individual positions of the jacks, and requires additional information related to each jack such as whether it has reached or is nearing a stroke limit, or if it is in contact with the ground and is bearing a portion of the structure load. The necessary information can be gleaned in real-time based at least in part on the jack velocity. For example, when a jack makes ground contract after movement from a retracted state, the motor velocity will (at least temporarily) decrease as the jack begins to bear the structural load. In this way, ground contact with all jacks can be confirmed prior to leveling, thus avoiding excess load on any one jack, leveling in an unstable position, or improper leveling that will need to be repeated. Such aspects can be referred to as “grounding operations.”

Various jack velocity values can be identified or retrieved, and stored as reference velocities associated with particular states or behavior in jacks and jack motors. Motor velocity values can, but need not be, calculated by, e.g., counting revolutions in a jack motor or jack involving rotating components. Examples of jack motor velocities can include, but are not limited to, e.g., instantaneous RPM, average RPM over time, increase or decrease in RPM, rate of increase or decrease in RPM, RPM curves, and others. Examples of reference velocities can include, e.g., reference jack velocity, other reference velocity, reference velocity curve, or reference velocity profile. Reference velocities in embodiments are not fixed values, but can rather be dynamic values which are modified and updated in conjunction with systems and methods herein, and may be changed one or more times during a single iteration of a methodology or algorithm. Velocities or values related thereto can be measured instantaneously or over a period of time. Periods of time can include, for example, one sixteenth of one second, one eighth of one second, one quarter of one second, one half of one second, one second, two seconds, five seconds, ten seconds, fifteen seconds, and so forth. Periods of time can be shorter as well, such as periods of 10 milliseconds, 25 milliseconds, 50 milliseconds, and soforth.

Reference velocities are compared to those observed in operation to discern state or behavior, which the controller uses to modify action of the jack motors in furtherance of controlling the structure angle.

In this document, the term “structure” refers to a body, such as the one shown at10inFIG. 4, which is to be raised relative to the ground11and its attitude adjusted in preparation for performing some operation or for accommodating certain activities or arrangements to be carried out on or with the structure10.

The term “jack” refers to a mechanism for raising one or more objects by means of force applied with a lever, screw, press, or other components. Jacks can be driven by motors. The motors can be powered by direct electrical current (e.g., DC electrical power) or other techniques.

The term “tilt sensor” refers to a sensor, such as the sensor shown at16inFIG. 5, designed to detect the angle of tilt between, for example, a vertical axis through the sensor16and Earth gravity “g”. The term “dual axis tilt sensor” refers to a tilt sensor capable of detecting the angle between the sensor and the Earth's gravity in two tilt axes, each perpendicular to the other. Tilt sensors can be configured to send an angular signal to a controller by which the angular signal represents the attitude, pitch, tilt, orientation, et cetera, of the supported structure. The angular signal can be used by the controller and/or comparator to assist with determining changes needed to align the structure according to a reference angle or direction. The changes are then realized by way of extending or retracting grounded jacks. Angular signals herein can include any digital or analog input indicating one or more axis angles and/or rotations relative to one or more reference angles, and/or derivatives thereof (e.g., angular rates of change such as velocity or accelerations). As shown inFIG. 18, the tilt sensor may be a three axis accelerometer1800.

InFIGS. 6-9a dual axis tilt sensor is shown at18. The two tilt axes that the tilt sensor uses as references may be any two imaginary straight lines extending perpendicular to one another in a plane defined by the respective points where the jacks of a leveling system engage a structure10that the jacks are supporting. Although this embodiment of the invention may be adapted to level structures of a variety of configurations using any number of jacks and assigning any two imaginary lines as tilt axes, to simplify this discussion this description will refer to a rectangular structure10supported by jacks located in each of its four corners, and will refer to a longitudinal tilt axis X extending the length of the structure10and a lateral tilt axis Y extending perpendicular to the longitudinal tilt axis X and along the width of the structure10as shown inFIGS. 6-9.

“Operatively coupling” used herein describes components which act upon one another or communicate (one-way, two-way, or involving additional components). Such action can be accomplished through mechanical interaction of solid components which are directly connected or which exert forces on one another through various linkages or at a distance, or through the transmission of electricity or electrical signals through conductive media or wirelessly over the air. Such action can also be accomplished through fluid communication, which can be effected directly or through the direction of fluid matter through intervening or connecting components. These are only examples, and should not be construed as limiting or preventing the means by which components (both physical and logical) can interact in systems and methods described herein.

Turning to the drawings,FIGS. 1 and 2schematically illustrate the basic relationship between structure position and jack stroke in a simplified two-jack system in which one jack extends or retracts while the other jack remains stationary. In such systems a stationary pivot point of the structure is located at the stationary jack. In most applications there are at least four jacks supporting a structure in spaced locations, e.g., near each of the four corners of a generally rectangular structure. However, for the sake of simplicity, as withFIGS. 1 and 2, this document will address the operation of the attitude adjustment system with respect to only two adjacent jacks.

The following parameters are used to trigonometrically describe the total attitude adjustment capability of a structure positioning system:h=maximum stroke of jackw=distance between any two jacks
If one jack “uses up” its entire stroke (e.g., the rod which moves in relation to the base to exert force on the structure is fully extended or retracted) and the other remains stationary, the largest angle (θ) through which the structure may be tilted in the axis of the two jacks is calculated using the following equation:
θ=tan−1(h/w)

While the above describes a two-jack configuration, four- and six-jack arrangements are also utilized according to similar techniques.

When designing a structure attitude adjustment system, the jack stroke and placement can be chosen to provide that the system moves a supported structure through a desired range of attitudes. In some mobile structure attitude adjustment applications, amounts of distance between supporting jacks may be dependent on structure geometry and the placement of various structure supports or components. However, even where jacks must be planned around, for example, axles, wheels, engines, and non-load bearing portions, the designer can develop or select jacks appropriate for the application, to include development or selection of jacks having different stroke lengths. However, costs can be reduced, the structure made lighter and more stable, and leveling can be made faster where jack stroke length is optimized. In some embodiments, shorter jack stroke lengths are preferable. Nonetheless, jack stroke lengths must be long enough to ensure the jacks are able to transition through a predetermined desired range of attitudes from different starting positions.

To such effect, system1000ofFIG. 10includes a structure attitude adjustment apparatus that increases structure attitude adjustment ranges for structures supported by jacks of a given stroke length. System1000can be incorporated in a mobile structure attitude adjustment system. The structure attitude adjustment system1000is, in turn, mountable to a mobile structure whose attitude is to be adjusted. As shown inFIG. 10other components of system1000are operatively coupled to each jack of the plurality of jacks1040. Plurality of jacks1040are mounted at spaced-apart locations around the structure10whose attitude is to be adjusted and are extendable to contact the ground beneath the structure10and to support the structure10on the ground at the spaced-apart locations.

FIG. 10illustrates a block diagram view of a system1000for controlling the angular orientation of a structure. System1000includes jack controller1010. Jack controller1010is operatively coupled with a tilt sensor1050associated with the structure (not pictured) on which plurality of jacks1040operates. Tilt sensor1050, jack controller1010, and/or power supply1020may be located on the structure, or offboard. In onboard embodiments, tilt sensor1050can be a sensor as described herein. In alternative embodiments where tilt sensor1050is not physically disposed on the structure, the angle sensor may employ camera or other device observing structure). Power supply1020can be controlled, at least in part, using jack controller1010, or alternatively plurality of jack drives1030can draw requisite power from power supply1020in accordance with instructions from jack controller1010such that jack controller1010need not exercise direct control over power supply1020.

The structure attitude adjustment system1000includes a jack controller1010that is also the controller for the structure attitude adjustment system1000. As is further shown inFIG. 10, jack controller1010receives signals representing structure attitude from the tilt sensor1050. These signals can be received through an analog-to-digital converter in embodiments. Jack controller1010also receives feedback signals from each of a plurality of jack drives1030from velocity sensors such as tachometers, Hall effect sensors, optical encoders, and others. Such information may also be processed or received through one or more analog-to-digital converters. In various embodiments, it is understood that system1000may employ any number of analog-to-digital converters or elements capable of converting signals from different signal sources (e.g., by internally multiplexing signals received via a plurality of channels).

Jack controller1010is capable of sending control signals to at least plurality of jack drives1030through, for example, an I/O port, a relay control, H-bridge relays, or other means of operatively coupling such components. Jack controller1010is also capable of sending control signals to tilt sensor1050through similar techniques. Communication between components herein can be accomplished through wired or wireless techniques. Jack controller1010includes a central processing unit, a software-implemented digital signal processor, and control algorithms. Such aspects can be realized using non-volatile computer readable media, or accessed through a network connection, using configurations such as that shown in e.g.,FIG. 17.

In an embodiment, jack controller1010possesses knowledge of structure and jack geometry to assist with calculations. However, in an alternative embodiment, jack controller1010can discover relationships between jacks and other components through a calibration routine. For example, jack controller1010can actuate one or more jack motors and complete a velocity-based grounding routine (described herein). Once all jacks are grounded and loaded, one or more jack motors or jacks can be driven for a predetermined number of rotations, and jack controller1010can receive information regarding changes to the attitude of the structure based thereon. Given the changes, jack controller1010can derive relationships between jacks to facilitate calibration for use with future leveling procedures. In still another alternative arrangement, motor velocity alone can be used in all circumstances.

Power supply1020provides electrical power to at least a plurality of jack drives1030, and may also provide power to jack controller1010, tilt sensor1050, or other components in various embodiments. Power supply1020can include one or more batteries, generators, power converters or inverters, connections to infrastructure, and other components used for providing at least electrical power. Other power supplies can be utilized where non-electric means are employed in conjunction with or alternative to electrical power.

Jack controller1010is programmed to adjust the attitude of a structure10by controlling the operation of plurality of jacks1040and coordinating their movement. Jack controller1010is further programmed to coordinate the movement of plurality of jacks1040in a given axis of tilt X, Y by selecting and commanding one of plurality of jacks1040to retract and selecting and commanding another to extend so as to increase the range of possible structure attitudes for a given jack stroke length. As shown in the diagram ofFIG. 3, when jack controller1010allows two or more of plurality of jacks1040to stroke by the same amount, but in opposite directions, the pivot point25of the structure10is disposed midway between the two of the plurality of jacks1040instead of at one of the plurality of jacks1040as is the case when only one jack among plurality of jacks1040is extended as shown inFIG. 2. Causing two of the plurality of jacks1040to move in opposite directions thus increases the maximum tilt of the structure10according to the equation:
θ=tan−1(2h/w)
In embodiments, a system tilt capability can be increased by a factor of 1.5× using this method. For small tilt angles, the system capability is increased by nearly a factor of two.

The structure attitude adjustment system1000includes one or more jack drives1030for each jack. Each of the one or more jack drives1030drivingly connects to one or more respective jacks1041,1042, et cetera. Jack controller1010is connected to each of the one or more jack drives1030and is programmed to drive each jack drive1031,1032, et cetera, for control of each respective jack1041,1042, et cetera. For example, jack1041among the one or more jacks1040is driven in extension by causing associated jack drive1031to operate in one direction. In the same example, jack1041is driven in retraction by causing its jack drive1031to operate in the opposite direction. The one or more jack drives1030of the present embodiment can be, for example, direct-drive DC electric motors, or any suitable type of electric motor. Non-electric alternatives are also possible for use alone or in conjunction with electric driving means.

Jack controller1010is programmed to coordinate the movement of the plurality of jacks1040by commanding at least one of the one or more jack drives1030(or selected sets of jack drives) to extend or retract one (or more) of the one or more jacks1040. This can be done in isolation, or while commanding at least one other of the one or more jack drives1030(or selected sets of jack drives) to extend or retract one (or more) of the one or more jacks1040. Jack controller1010is programmed to identify and select whichever of plurality of jacks1040(or sets thereof) is best positioned to achieve or speed the achievement of a desired attitude by being driven in extension. Jack controller1010is also programmed to identify and select whichever of plurality of jacks1040or set of jacks is the “opposite” of the jack or set of jacks identified and selected for extension (e.g., the jack or set of jacks best positioned to augment the achievement of a desired structure attitude by being driven in retraction). Such identification can be based on manual programming, detected knowledge of jack location, or calibration of the system based on measured attitude adjustments through extension or retraction, among other techniques. To prevent the retracting of “opposite” jack or set of jacks from retracting too far and losing contact with the ground jack controller1010is also programmed to time-limit the movement of the retracting jack or set of jacks in some embodiments.

In addition to receiving control signals from jack controller1010, plurality of jack drives1030provide feedback (including information related to plurality of jacks1040based on interaction there with) to jack controller1010. Feedback provided includes at least velocity information, such as instantaneous and/or historical RPM values for each of jack drive1031, jack drive1032, et cetera.

The velocity information associated with one or more of plurality of jack drives1030is then used by jack controller1010to provide or modify control signals for one or more of plurality of jack drives1030. Through control of plurality of jack drives1030, the position or motion plurality of jacks1040is modified, individually and/or in combination, the angle of the structure is in turn adjusted.

In at least one embodiment, no tilt sensor is present in a system disclosed herein. Thus, whileFIG. 10shows an embodiment having tilt sensor1050, it can be appreciated that no tilt sensor is required to receive and process feedback according to velocities or other variables herein. In at least one embodiment, a user can manually cause extension or retraction of jacks by providing an input that commands controller1010to extend or retract jacks by actuating jack drives. On such a command, control can remain fully manual. In alternative or complementary embodiments, control can be semi-automatic. Semi-automatic control can include embodiments in which, e.g., a user controls extension or retraction but can be overridden by logic of controller1010based on detected velocities. In this way, controller can, e.g., stop jacks at the end of their stroke, stop or start jacks based on grounding or unloading, modify velocities according to load conditions, et cetera. Still further, control can be automatic. Automatic control can include embodiments in which, e.g., instructions to extend result in exclusively feedback-based grounding or unloading based on velocities.

FIG. 11depicts a methodology1100for extending and loading jacks supporting a structure (e.g., performing a grounding operation). When extending jacks, concurrently or sequentially loading multiple jacks without placing all load on a subset of the available jacks can prevent instability or damage to overloaded support members. Methodology1100begins at1102and proceeds to1104where extension of retracted jacks, not yet supporting the load of the structure, begins.

At1106motor velocities of one or more jacks are monitored. Based on the monitored motor velocity values, at1108, a determination is made as to whether the velocity has decreased in one or more jacks. If the velocity has not changed, methodology1100recycles to1106and continues monitoring the motor velocities of one or more motors.

If the motor velocity has decreased at1108, a determination that the extending jack is taking up the load of the structure can be inferred. In at least one embodiment, a comparison of the velocity decrease, monitored rates, profile, et cetera is completed, or the decrease is monitored for magnitude or length of time, to confirm that the monitored velocity information accords with an increase in load on the jack.

Based on the velocity decrease determined at1108, the extension rates are changed at1110. Changing of the extension rates can include decreasing rates of extension in one or more jacks (e.g., jacks with lower motor velocity), increasing rates of extension in one or more jacks (e.g., jacks with higher motor velocity), or stopping movement in one or more jacks (e.g., jacks with lower motor velocity). By iteratively performing the aspects illustrated inFIG. 11, level or load can remain balanced or within acceptable imbalance parameters during initial loading and jack extension to avoid instability or damage to load bearing members.

After modifying the extension rates at1110, a determination is made at1112as to whether all jacks are now loaded (e.g., equally, according to loading ratios or thresholds, within specification). If the determination at1112returns negative (e.g., some jacks still have motor velocity above relative or absolute value, no loading velocity profile detected), methodology1100recycles to1106(or optionally1104if jacks have ceased extension mid-methodology) where monitoring continues and retraction of jacks remaining under load is managed. If the determination at1112returns positive, methodology1100proceeds to end at1114.

In at least one embodiment, a jack detected as loaded may become unloaded as other jacks are adjusted. For example, due to a slight lag in sensing and processing velocity, a jack that has been detected as grounded and/or stopped in extension may be re-lifted from the ground. Shifting, sinking, or other environmental factors can also influence such issues. In such instances, all jacks can be re-run (e.g., re-actuate jacks and confirm velocity or load, check loading through sensor means without energizing jack drives or attempting to extend jacks). For an embodiment in which re-running jacks drives or attempts to drive the jacks in extension, the velocities can be compared to a reference velocity. Alternatively, for an embodiment in which re-running jacks drives or attempts to drive the jacks in extension, jacks may be run in pairs or groups and their velocities compared against one another.

In an embodiment of methodology1100, loading can be conducted according to a series of subroutines whereby each jack transitions from unloaded, to partially loaded, to loaded. Elements of methodology1100can be repeated such that each jack is or has been in a partially loaded state prior to proceeding to continue loading any jack from a partially loaded state. In an alternative or complementary embodiment of methodology1100, loading can be conducted according to a series of subroutines intended to maintain level of the structure. Such level, or un-level within thresholds, can be maintained regardless of loading distribution, or can be maintained in a way that the loading distribution is unequal but within a threshold between jacks. As suggested above, regardless of leveling, jacks can be grounded individually, in pairs, or in groups of three or more (up to all jacks). Even in embodiments where no leveling is present, further detected information can ensure loading is conducted safely and efficiently. For example, jack extension or retraction can be conducted in a manner preventing or correcting for twisting of a frame or other structural members on which the jacks act.

FIG. 12illustrates a methodology1200for controlling the angular orientation of a structure using motor velocities. Methodology1200begins at1202and proceeds to1204where a determination is made as to whether the structure angle is correct. If the structure is oriented at the proper angle, methodology proceeds to stop operation of the motor(s) at1214and end at1216. However, if the determination at1204returns negative, methodology1200advances to1206where motor velocities are monitored for one or more motors used to drive jacks affecting the angular orientation of the structure.

At1208, a determination is made as to whether the monitored velocities match reference velocities stored. Stored reference velocities can include, but are not limited to, velocities or derivative values associated with maximum extension or retraction in one or more jacks, loaded or unloaded states (e.g., load-bearing state) in one or more jacks, and/or absolute or relative values of extension or retraction in a particular jack. If no match is determined through comparison, no state or behavior relevant to control is inferred, and methodology1200returns to1204to determine if the angle is correct before resuming monitoring at1206, or stopping the motor(s) at1214and terminating at1216.

If it is determined at1208that the monitored motor velocities match a reference velocity, a subsequent determination is made at1210as to whether control of one or more motors must be modified in furtherance of properly orienting the structure. If such modifications are necessary, modification to one or more motors occurs at1212.

Alternatively at1208, a velocity match can cause at least one return to1204. In such an embodiment, this can facilitate a confirmation that the structure's angular orientation is correct after the velocity or velocities are identified to match a reference velocity.

After parameters are adjusted at1212(or determining no control is required at1210), methodology1200returns to1204to check if the angle is correct. By repeatedly determining if the angle is correct, unnecessary control signals can be avoided in the event the system is continuing adjustments, has self-corrected without subsequent signal, or has settled to a steady state.

Methodology1200can be repeated periodically or upon detected change to account for movement, settling, or other external influences that may or may not impact the accuracy of previous determinations resolved in methodology1200.

FIG. 13depicts a methodology1300for unloading and retracting jacks supporting a structure (e.g., an unloading operation or a retraction operation). When retracting jacks, maintaining at least partial level or load balance during unloading can prevent instability or damage to overloaded support members. Methodology1300begins at1302and proceeds to1304where retraction of extended jacks, supporting the load of the structure, begins.

At1306motor velocities of one or more jacks are monitored. Based on the monitored motor velocity values, at1308, a determination is made as to whether the velocity has increased in one or more jacks. If the velocity has not changed, methodology1300recycles to1306and continues monitoring the motor velocities of one or more motors.

If the motor velocity has increased at1308, a determination that load has been removed and the retracting jack is bearing less or no load can be inferred. In at least one embodiment, a comparison of the velocity increase, monitored rates, profile, et cetera is completed, or the increase is monitored for magnitude or length of time, to confirm that the monitored velocity information accords with a reduction in load on the jack.

Based on the velocity increase determined at1308, the retraction rates are changed at1310. Changing of the retraction rates can include decreasing rates of retraction in one or more jacks (e.g., jacks with higher motor velocity), increasing rates of retraction in one or more jacks (e.g., jacks with lower motor velocity), or stopping movement in one or more jacks (e.g., jacks with higher motor velocity). By iteratively performing the aspects illustrated inFIG. 13, level or load can remain balanced or within acceptable imbalance parameters during unloading or jack retraction to avoid instability or damage to load bearing members.

After modifying the retraction rates at1310, a determination is made at1312as to whether all jacks are now unloaded (and are, or can be, fully retracted). If the determination at1312returns negative (e.g., some jacks still have motor velocity below relative or absolute value, no unloading velocity profile detected), methodology1300recycles to1306(or optionally1304if jacks have ceased retraction mid-methodology) where monitoring continues and retraction of jacks remaining under load is managed. If the determination at1312returns positive, methodology1300proceeds to end at1314.

In an embodiment of methodology1300, unloading can be conducted according to a series of subroutines whereby each jack transitions from loaded, to under-loaded, to unloaded. Elements of methodology1300can be repeated such that each jack is or has been in an under-loaded state prior to proceeding to unloading any jack from an under-loaded state. In an alternative or complementary embodiment of methodology1300, unloading can be conducted according to a series of subroutines intended to maintain level of the structure. Such level, or un-level within thresholds, can be maintained regardless of loading distribution, or can be maintained in a way that the loading distribution is unequal but within a threshold between jacks.

In an embodiment of methodology1300(or other methodologies herein), an automatic shutdown can occur at the end of the methodology. The automatic shutdown (e.g., after confirming all jacks are unloaded at1312, after jacks are at maximum retraction) can de-energize jack motors, de-couple jacks and motors, or take other steps for safety or efficiency. In embodiments where automatic shutdown follows full retraction, full retraction can be detected by a change in, e.g., motor velocity. The change can be a negative spike, or drop off, in, e.g., motor velocity. In alternative embodiments a positive spike in, e.g., motor velocity can occur.

In various portions ofFIGS. 11-13, and in other sections of this disclosure, velocity is described as increasing or decreasing based on load or other conditions related to jacks. Applicants note that these increasing or decreasing velocity relationships hold for particular types of jacks, e.g., acme screw jacks. However, the relationships described may reverse—for example, velocity and load relating directly rather than inversely—where other types of jacks are used. For example, relationships opposite those described inFIGS. 11-13and elsewhere may result through use of jacks or drives employing, e.g., ball screws. Applicants accordingly note that embodiments embraced herein include configurations similar to the above where the relationships between any two or more of the variables described (e.g., velocity, extension or retraction, load, angular orientation, et cetera) are reversed with regard to the fashion in which they are described above. For example,1108could relate to a velocity increase rather than a decrease;1308could relate to a velocity decrease rather than an increase; and soforth.

FIGS. 14-16illustrate example reference velocities depicted graphically as motor velocity against time. While specific reference velocities are described herein, it is understood that various others can be employed without departing from the scope or spirit of the innovation. Reference velocities can be pre-determined and stored in a controller, or benchmarked through actual operation of systems with which they are associated. Reference velocities can be updated, scaled or averaged for different systems, and/or set to larger or smaller sample sets than those measured to ensure proper identifications of system state or behavior and/or avoid false positives for such identification.

As shown in the graph inFIG. 14, when an electric motor driving a jack stalls, it attempts to generate additional torque to overcome the stall. However, in a stall, no amount of torque can be provided to correct the deviation.

The jack controller1010, as it monitors the velocity of one or more of plurality of jack drives1030, will notice a large dip in RPM the moment that the stall is encountered. The jack controller1010is programmed to discern a significant difference between velocity dips that occur during “normal” jack travel, and those that occur when one or more of plurality of motors1030stall (e.g., at the end of the jack stroke). Empirical measurements can be made to quantify these differences for any given set of plurality of jacks1040.

The monitored velocities can be adjusted for various known phenomenon related with plurality of jack drives1030. For example, an initial startup or ramping period (which occurs immediately after motor actuation) can be identified and ignored to avoid resultant changes to RPM being mis-identified as a state or behavior requiring adjustment. Other stabilization periods can also be accounted for to allow motors or other components to stabilize. RPM and other tracked values can also be normalized for various power supplies or power levels, the concurrent operation of other jacks, and other known influences which can systemically impact output or performance. Delay timers (e.g., delaying by periods of time such as those described above) or algorithms recognizing such phenomenon can be employed to avoid mis-identification during start-up or other variable periods.

Further, stall debounce periods representing the length of time that a motor velocity must approach or reach a reference velocity associated with a stall (e.g., 0 RPM) can be established. Jack controller1010can include a timer which begins recording the passage of time upon detection of a reference velocity, permitting the debounce period to be observed before a stall is identified and avoiding mis-identification of a stall consequent to short spikes or dips in motor velocity.

If the slope of the velocity curve of the plurality of jack drives1030is observed during control, a range of values for the slope of the jack motor velocity curve is determined consistent with a phenomenon known as “mechanical tightening” that occurs when one or more of plurality of jacks1040reach a jack stroke limit. The range of values associated with mechanical tightening can be retrievably stored. The jack controller1010is programmed to employ a jack stroke limit detection process that includes calculating and monitoring the slope of the velocity curve of the plurality of jack drives1030and comparing the calculated slope to the stored slope values associated with mechanical tightening. The jack controller1010is programmed to recognize that one or more of plurality of jacks1040has reached a stroke limit whenever the monitored velocity curve slope falls within the stored range of velocity curve slope values.

An ideal motor-powered jack1041,1042, et cetera, is able to extend or retract more or less freely until it reaches the end of its extension or retraction stroke, at which time all movement ceases. The ideal motor stall occurs instantaneously. However, due to mechanical components such as gears and mechanical linkages in and between a real-world jack and its corresponding drive mechanism, the stall event actually occurs over a small period of time. The tolerances of these components allow for slight movements, even after jack1041,1042, et cetera has hit the end of its stroke. The cumulative effect of these tolerances is to allow jack1041,1042, et cetera to continue to rotate by a slight amount after hitting its end of stroke.

Mechanical tightening, then, is the forcing together of mechanical components such as gearing and mechanical linkages, within their tolerances, as torque forces accumulate during the period of time when jack1041,1042, et cetera has reached the end of a stroke but one or more of the plurality of jack drives1030driving jack1041,1042, et cetera continue to rotate or translate. One or more of jack motors1031,1032, et cetera will continue to rotate until the system is fully tight, meaning that the mechanical components can no longer be moved at max motor torque. At this point a true motor stall begins.

A significant amount of torque must be used during the tightening period to force the mechanical components together. The velocity of a jack motor1031,1032, et cetera during tightening is typically less than the normal stall velocity (or less steep than a curve associated with a full stall), but still distinct from a velocity associated with extending or retracting one or more of plurality of jacks1041,1042, et cetera between stroke limits. A jack controller1010monitoring the velocity and/or power profile of the plurality of jack drives1030would encounter something like the image shown inFIG. 15, including a significant decrease in velocity just before the motor mechanism completely stalls.

Therefore, illustrating a stall preceded by mechanical tightening, motor velocity curve1500ofFIG. 15depicts normal operation1510, mechanical tightening1515, and stalling1520. In embodiments of systems and methods disclosed herein, upon recognition of mechanical tightening or as a stall situation emerges, one or more jack motors can be paused or shut down to avoid stalling.

Various reference velocities can be associated with clutched motors as well. In embodiments of systems herein, a slip clutch can be used with one or more jack motors. In alternative or complementary embodiments, alternative clutch configurations, or no clutches, are used with one or more jack motors. As shown inFIG. 16, a continuous series of clutching periods appears as a regular, periodic curve of dropping and increasing RPM. This curve may have, for example, a sinusoidal or a triangular wave shape, depending on the specific design of the plurality of jack drives1030and respective clutch mechanisms.

The amplitude of the clutching pattern is significant, because clutch systems for transferring torque from one or more jack drives1030to a jack1040are designed to store a comparatively large amount of energy (e.g., enough energy to help the jack1040overcome brief periods of sticking and/or loading).

Thus, a stroke limit detection process can include detecting a clutching pattern. By this technique, the jack controller1010processes the velocity curve by measuring the velocity of the plurality of jack drives1030. In one embodiment, the measured velocity can be filtered through a high-pass or band-pass filter. In this way, the band clutching frequencies or velocities can be isolated from the velocity signal/information, and additional calculations can be performed to determine if a clutching situation exists.

This embodiment can employ knowledge of high and low velocities or frequencies associated with clutching, which can be pre-programmed, detected, and/or inferred through other means. In addition, as described above, various predictable phenomenon can be included with such information or models to avoid mis-identification of motor state or behavior (or that of associated jacks). Further, similar to aspects described above, a clutch debounce period can be determined to disregard brief transients in RPM.

In another example, a ground contact profile of a motor velocity curve can show a substantially steady motor velocity (RPM) during normal operation. When the jack comes into contact with the ground or another immovable object, the motor velocity will decrease along a substantially constant slope until stalling or clutching when velocity approaches zero.

In addition to matching contours of various curves or identifying matching values, various thresholds or tolerances can be observed in determining the condition of a jack or motor. For example, various RPM thresholds can be utilized such that increases or decreases above an average RPM in a limited or unlimited period of time cause certain inferences to be reached by a controller. For example, a drop in RPM of 10%, 25%, 50%, et cetera, from an average running RPM in the preceding minute may be used to infer a stall. In another embodiment, a tolerance of, e.g., 10%, 25%, 50%, et cetera, can be employed such that a 5% deviation will not trigger action, but a deviation greater than the tolerance amount causes an inference to be reached by a controller.

Further, relationships can be provided for balancing the loads of motors or jacks associated with the same. In this regard, a velocity ratio can be enforced (e.g., by jack controller1010) between two or more jack motors. The velocity balance ratio can be defined as:
Kbalance˜(Vhigh/Vlow)
or another suitable ratio, wherein the relationship of the constant in regard to the ratio of velocities can determine whether the loading is in or out of balance. Vhighcan be defined as the highest velocity of any jack motor, the highest velocity reached by one jack motor, or the highest acceptable velocity of any jack motor, in various embodiments. Vlowcan be defined as the lowest velocity of any jack motor, the lowest velocity reached by one jack motor, or the lowest acceptable velocity of any jack motor, in various embodiments. This parameter can be set between, for example, 0 and 1, to a value suiting the desired loading profile. By setting this value to zero in the controller, the jacks are always treated as balanced, effectively disabling this feature.

The velocity balance ratio can be used in conjunction with a balance recovery ratio. This constant, Krecover, is set to a velocity ratio between the two jacks that must be achieved before increasing the RPM of a more heavily-loaded jack (or decreasing the RPM of a more lightly-loaded jack). The balance recovery ratio period can be employed, for example, when the velocity balance ratio is exceeded. Further, there can be a recovery period track by a timer of a controller to ensure that balance has been accomplished, rather than falsely identified based on inconsistent readings.

In order to provide a context for the claimed subject matter,FIG. 17as well as the following discussion provide a brief, general description of a suitable environment in which various aspects of the subject matter can be implemented. This environment is only an example and is not intended to suggest any limitation as to scope of use or functionality.

While some of the above disclosed techniques can be described in the general context of computer-executable instructions of programs that runs on one or more computers or network hardware, those skilled in the art will recognize that aspects can also be implemented in combination with various alternative hardware, software, modules, et cetera. As suggested earlier, program modules and software components include routines, programs, components, data structures, among other things that perform particular tasks and/or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the above systems and methods can be practiced with various computer system configurations, including single-processor, multi-processor or multi-core processor computer systems, mini-computing devices, mainframe computers, as well as personal computers, hand-held computing devices (e.g., personal digital assistant, portable gaming device, smartphone, tablet, Wi-Fi device, laptop, phone, among others), microprocessor-based or programmable consumer or industrial electronics, and the like. Aspects can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. However, some, if not all aspects of the claimed subject matter can be practiced on stand-alone computers. In a distributed computing environment, program modules may be located in one or both of local and remote memory storage devices.

With reference toFIG. 17, illustrated is an example computer1710or computing device (e.g., desktop, laptop, server, hand-held, programmable consumer or industrial electronics, set-top box, game system, et cetera). The computer1710includes one or more processor(s)1720, memory1730, system bus1740, mass storage1750, and one or more interface components1770. The system bus1740communicatively couples at least the above system components. However, it is to be appreciated that in its simplest form the computer1710can include one or more processors1720coupled to memory1730that execute various computer executable actions, instructions, and or components stored in memory1730.

The computer1710can include or otherwise interact with a variety of computer-readable media to facilitate control of the computer1710to implement one or more aspects of the claimed subject matter. The computer-readable media can be any available media that can be accessed by the computer1710and includes volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.

Computer storage media includes volatile and nonvolatile media, and removable and non-removable media, implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to memory devices (e.g., random access memory, read-only memory, electrically erasable programmable read-only memory, et cetera), magnetic storage devices (e.g., hard disk, floppy disk, cassettes, tape, et cetera), optical disks (e.g., compact disk, digital versatile disk, et cetera), and solid state devices (e.g., solid state drive, flash memory drive such as a card, stick, or key drive, et cetera), or any other medium which can be used to store the desired information and which can be accessed by the computer1710.

Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Also, a connection can be a communication medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave are included in the definition of communication medium. Combinations of the above can also be included within the scope of computer-readable media.

Memory1730and mass storage1750are examples of computer-readable storage media. Depending on the exact configuration and type of computing device, memory1730may be volatile (e.g., RAM), non-volatile (e.g., ROM, flash memory, et cetera) or some combination of the two. By way of example, the basic input/output system (BIOS), including basic routines to transfer information between elements within the computer1710, such as during start-up, can be stored in nonvolatile memory, while volatile memory can act as external cache memory to facilitate processing by the processor(s)1720, among other things.

Mass storage1750includes removable/non-removable, volatile/non-volatile computer storage media for storage of large amounts of data relative to the memory1730. For example, mass storage1750includes, but is not limited to, one or more devices such as a magnetic or optical disk drive, floppy disk drive, flash memory, solid-state drive, or memory stick.

Memory1730and mass storage1750can include, or have stored therein, operating system1760, one or more applications1762, one or more program modules1764, and data1766. The operating system1760acts to control and allocate resources of the computer1710. Applications1762include one or both of system and application software and can exploit management of resources by the operating system1760through program modules1764and data1766stored in memory1730and/or mass storage1750to perform one or more actions. Accordingly, applications1762can turn computer1710into a specialized machine in accordance with the logic provided thereby.

All or portions of the claimed subject matter can be implemented using programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to realize the disclosed functionality. By way of example and not limitation, methodologies1100,1200, and/or1300can be, or form part of, an application1762, and include one or more modules1764and data1766stored in memory and/or mass storage1750whose functionality can be realized when executed by one or more processor(s)1720.

In accordance with one particular embodiment, the processor(s)1720can correspond to a system on a chip (SOC) or like architecture including, or in other words integrating, both hardware and software on a single integrated circuit substrate. Here, the processor(s)1720can include one or more processors as well as memory at least similar to processor(s)1720and memory1730, among other things. Conventional processors include a minimal amount of hardware and software and rely extensively on external hardware and software. By contrast, an SOC implementation of processor can be more powerful, as it embeds hardware and software therein that enable particular functionality with minimal or no reliance on external hardware and software. For example, instructions for methodologies1100,1200, and1300(and/or associated components) and can be embedded within hardware in a SOC architecture.

The computer1710also includes one or more interface components1770that are communicatively coupled to the system bus1740and facilitate interaction with the computer1710. By way of example, the interface component1770can be a port (e.g., serial, parallel, PCMCIA, USB, FireWire, et cetera) or an interface card (e.g., sound, video, et cetera) or the like. In one example implementation, the interface component1770can be embodied as a user input/output interface to enable a user to enter commands and information into the computer1710through one or more input devices (e.g., pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, camera, other computer, et cetera). In another example implementation, the interface component1770can be embodied as an output peripheral interface to supply output to displays (e.g., CRT, LCD, plasma, LED, et cetera), speakers, printers, and/or other computers, among other things. Still further yet, the interface component1770can be embodied as a network interface to enable communication with other computing devices, such as over a wired or wireless communications link.

While aspects above are described at times as standalone or all-inclusive systems, it is understood that aspects herein can use the technology described above with various network elements (e.g., servers, hubs, routers, et cetera) to accomplish multi-system or distributed network implementation of inventive techniques disclosed. Nothing herein should be construed as in any way limiting the network or distributive scope of embodiments embraced.

In the specification and claims, reference will be made to a number of terms that have the following meanings. The singular forms “a”, “an” and “the” include plural referents unless the context clearly dictates otherwise. Approximating language, as used herein throughout the specification and claims, may be applied to modify a quantitative representation that could permissibly vary without resulting in a change in the basic function to which it is related. Accordingly, a value modified by a term such as “about” is not to be limited to the precise value specified. In some instances, the approximating language may correspond to the precision of an instrument for measuring the value. Moreover, unless specifically stated otherwise, a use of the terms “first,” “second,” etc., do not denote an order or importance, but rather the terms “first,” “second,” etc., are used to distinguish one element from another.

Illustrative embodiments are described herein to illustrate the spirit of the invention rather than detail an exhaustive listing of every possible variant. It will be apparent to those skilled in the art that the above devices and methods may incorporate changes and modifications without departing from the scope or spirit of the claimed subject matter. It is intended to include all such modifications and alterations within the scope of the claimed subject matter. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.