Method and apparatus for adjusting door operation in response to pressure loads - Patents.com
Patent Information
- Application Number
- JP2023568463
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-05-07
- Filing Date
- 2022-05-05
- Publication Date
- 2025-05-09
AI Technical Summary
Powered doors experience significant frictional forces due to wind loads and pressure differentials, leading to operational issues such as bag-up problems and damage to the motor and drive system.
A controller adjusts door operation in response to surface pressure loads by modifying movement speed, reversing direction, preventing movement, or activating wind locks, using sensors to detect wind speed, friction conditions, and implementing re-delivery mechanisms to correct misalignment.
The system effectively mitigates the impact of wind loads and pressure differentials on door operation, preventing damage and ensuring smooth movement by adjusting speed and direction, and correcting misalignment, thus enhancing reliability and longevity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001]
[0001] This patent claims priority to U.S. Provisional Patent Application No. 63 / 185,832, filed May 7, 2021, the entirety of which is incorporated by reference into this application.
[0002]
[0002] This disclosure relates generally to doors, and more particularly to methods and apparatus for adjusting door operation in response to surface pressure loads. [Background technology]
[0003]
[0003] Various power doors have movable door panels for selectively blocking and unblocking passage through a doorway. Door panels come in a variety of forms and operate in a variety of ways. Some examples of door panels include roll-up panels (e.g., soft or flexible sheets), rigid panels, flexible panels, vertical translating panels, horizontal translating panels, translating and tilting panels, swinging panels, segmented articulated panels, panels with multiple folding segments, multi-layered insulated panels, and various combinations thereof including multiple panels. [Brief description of the drawings]
[0004] [Figure 1] 1 illustrates an exemplary door constructed in accordance with the teachings disclosed herein with an exemplary door panel in an exemplary fully open position. [Diagram 2] 2 illustrates the example door of FIG. 1 with the example panel in an example partially closed position. [Diagram 3] 2 illustrates the example door of FIG. 1 with the example panel in an example fully closed position. [Figure 4] 4 is a cross-sectional view of the exemplary door of FIG. 1 taken along line 4-4 of FIG. 2. [Diagram 5] 5 is a cross-sectional view similar to that of FIG. 4, but showing an exemplary door subjected to a surface pressure load. [Figure 6] 6 is a cross-sectional view of the exemplary door of FIG. 1 taken along line 6-6 of FIG. 2. [Figure 7] 7 is a cross-sectional view similar to that of FIG. 6, but showing an exemplary door subjected to a surface pressure load. [Figure 8] 2 illustrates the example door of FIG. 1 with a portion of the example panel partially improperly delivered and outside the truck. [Figure 9] 2 illustrates an example re-delivery assembly that may be implemented in the example door of FIG. 1. [Figure 10] 1-3 and / or 8 show example implementations of the example controllers of FIG. [Figure 11] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 12] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 13] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 14] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 15] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 16] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 17] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 18]11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 19] 11 is a flowchart representing example machine-readable instructions and / or example operations for implementing the example controller of FIGS. 1-3, 8, and / or 10. [Figure 20] A block diagram of an example processing platform including processor circuitry configured to execute example machine-readable instructions and / or example operations of Figures 11-19 to implement the example controllers of Figures 1-3, 8, and / or 10. [Figure 21] FIG. 21 is a block diagram of an exemplary implementation of the processor circuit of FIG. 20. [Figure 22] FIG. 21 is a block diagram of another exemplary implementation of the processor circuit of FIG. 20. [Diagram 23] 1 is a block diagram of an example software distribution platform (e.g., one or more servers) for distributing software (e.g., software corresponding to the example machine-readable instructions of FIGS. 11-19) to client devices associated with end users and / or consumers (e.g., for license, sale, and / or use), retailers (e.g., for sale, resale, license, and / or sublicense), and / or original equipment manufacturers (OEMs) (e.g., for inclusion in products distributed to retailers and / or other end users, such as direct buy customers). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0005]
[0019] The drawings are not necessarily to scale. Generally, the same reference numbers are used throughout the drawings and the accompanying description to refer to the same or similar parts. As used herein, connection references (e.g., attached, coupled, connected, joined) can include intermediate members between the elements referenced by the connection reference and / or relative movement between those elements, unless otherwise indicated. Thus, a connection reference does not necessarily mean that the two elements are directly connected and / or in fixed relationship to each other. As used herein, stating that any part is "in contact" with another part is defined to mean that there are no intermediate parts between the two parts.
[0006]
[0020] As used herein, unless otherwise specified, the term "above" refers to the relationship of two portions to the Earth. A first portion is above a second portion if the second portion has at least one portion between the Earth and the first portion. Similarly, as used herein, a first portion is "below" a second portion if the first portion is closer to the Earth than the second portion. As previously mentioned, the first portion can be above or below the second portion, with no other portions in between, the first portion and the second portion in contact, or the first portion and the second portion not in direct contact with each other.
[0007]
[0021] As used in this patent, a statement that any component (e.g., a layer, film, area, region, or plate) is in some way on another component (e.g., disposed on, positioned on, disposed on, or formed on, etc.) indicates that the reference component is in contact with the other component or that the reference component is on the other component with one or more intermediate components therebetween.
[0008]
[0022] Unless otherwise indicated, descriptors such as "first," "second," "third," and the like are used herein without negatively or otherwise implying any sense of priority, physical order, placement within a list, and / or ordering, but are merely used as labels and / or arbitrary names to distinguish elements to facilitate understanding of the disclosed examples. In some instances, the descriptor "first" may be used to refer to an element in the detailed description, while the same element may be referenced in the claims with a different descriptor, such as "second" or "third." In such instances, it should be understood that such descriptors are used only to clearly distinguish elements that may otherwise share the same name, for example.
[0009]
[0023] As used herein, "approximately" and "about" modify their objects / values to recognize the potential existence of variations that occur in real-world applications. For example, "approximately" and "about" may modify dimensions that may not be exact due to manufacturing tolerances and / or other real-world imperfections. For example, "approximately" and "about" may indicate that such dimensions may be within a tolerance of + / - 10%, unless otherwise specified in the following description. As used herein, "substantially real-time" refers to near-instantaneous occurrence recognizing that there may be real-world delays in computation time, transmission, etc. Thus, unless otherwise specified, "substantially real-time" refers to real-time + / - 1 second.
[0010]
[0024] As used herein, a "processor circuit" is defined to include (i) one or more dedicated electrical circuits configured to perform a particular operation and including one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors), and / or (ii) one or more general-purpose semiconductor-based electrical circuits programmable with instructions to perform a particular operation and including one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of processor circuits include microcontrollers and integrated circuits, such as programmable microprocessors, field programmable gate arrays (FPGAs) on which instructions can be instantiated, central processor units (CPUs), graphic processor units (GPUs), digital signal processors (DSPs), XPUs, or application specific integrated circuits (ASICs). For example, an XPU may be implemented by a heterogeneous computing system that includes multiple types of processor circuits (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more DSPs, etc., and / or combinations thereof) and an application programming interface (API) that can assign computing tasks to those of the multiple types of processor circuits that are best suited to perform the computing tasks.
[0011]
[0025] Industrial power door systems are frequently used in warehouses, material handling facilities, and other industrial environments. Often, such power doors are positioned along the exterior walls of a facility to provide access in and out of the facility and / or allow materials to be moved in and out of the facility (e.g., at a loading dock). Doors on the exterior walls of buildings are exposed to the outside environment and any associated weather conditions. One common weather condition is wind, which can have a significant effect on the operation of power doors. For example, doors open and close by translating vertically and / or horizontally along tracks that define the path of travel of the door panel as it moves between open and closed positions. These tracks extend approximately parallel to the plane of the door panel when in the closed position. As a result, wind loads acting on the surface of the door panel generate forces that are applied in a direction transverse to the movement of the door panel. Such lateral forces, which can be particularly significant for large door panels, can significantly increase the frictional forces in the tracks. The relatively high frictional forces due to wind loads can place additional stresses on the motor and / or associated drive system (e.g., transmission system) used to move the door panel between the open and closed positions. In some cases, the frictional forces can be sufficient to completely stop movement of the door panel (or at least stop a portion of the door panel from moving while a separate portion continues to move, thereby causing bag-up issues).
[0012]
[0026] Although wind loads typically occur on exterior doors, high pressure differentials that impose pressure loads across the door surface may occur in other settings (e.g., in different areas of a building, in mines, etc.), which may also create similar conditions as wind acting on interior doors. Thus, the teachings disclosed herein are not limited to exterior doors in high wind conditions, but may be suitably adapted to any type of door in any suitable location where a relatively high pressure differential may occur (e.g., across the door, or between a first surface of the door and a second surface of the door opposite the first surface). For purposes of this disclosure, any pressure load (e.g., due to wind, pressure differentials, etc.) that acts on a surface of a door panel to increase friction between the edge of the door and a corresponding guide track is referred to herein as a surface pressure load.
[0013]
[0027] Examples disclosed herein mitigate the above problems by automatically adjusting door operation in response to high surface pressure loads and / or other high friction conditions. As used herein, the term "high" in the context of high surface pressure loads and / or high friction conditions is defined as meeting (e.g., exceeding) any suitable threshold (e.g., pressure differential threshold, force threshold, etc.). In some examples, door operation can be adjusted by slowing down the speed of movement at which the door moves to an open and / or closed position. In some examples, door operation can be adjusted by reversing the direction of the door. In some examples, door operation can be adjusted by preventing the door from moving until the surface pressure load conditions improve or decrease (e.g., the detected wind speed falls below a threshold). In some examples, door operation includes automatically activating and / or deactivating a window lock based on the surface pressure load (e.g., wind) conditions. For example, door operation can be prevented from moving through the window lock until the surface pressure load conditions improve (e.g., the detected wind speed does not exceed a threshold).
[0014]
[0028] In some examples, the presence and / or speed of wind or other pressure loads can be directly detected using appropriate sensors (e.g., anemometers, differential pressure sensors, airflow sensors, etc.). Additionally or alternatively, in some examples, a relatively high pressure load condition can be inferred and / or calculated based on feedback from other sensors and / or components associated with the door during operation. For example, detecting that the actual speed of the door (e.g., by an encoder) is significantly less than the commanded speed of the door can be used to infer that a pressure load is slowing the door. Furthermore, in some examples, the rate of deceleration of the actual door speed can be monitored to distinguish between a slower speed due to the door panel hitting an obstacle (indicated by a relatively faster deceleration of the door speed) and an increase in the pressure load (indicated by a more gradual deceleration of the door speed). Additionally or alternatively, an increase in current drawn by the motor actuating the movement of the door panel can indicate the presence of a pressure load as the motor must work harder to overcome the additional friction caused by the wind. Additionally, in some instances, a backup sensor in the door header can detect if the door panel is backed up and infer that a pressure load is preventing the door from opening, as would normally be the case if no pressure load were present.
[0015]
[0029] 1-5 illustrate an exemplary door 100 having a door panel 102 in different positions relative to a doorway 104 in a wall 106. Specifically, FIG. 1 illustrates the door panel 102 in a fully open position with a leading edge 107 of the door panel 102 above the top of the doorway 104 such that the doorway 104 is not completely blocked. FIG. 2 illustrates the door panel 102 in a partially closed position in which the leading edge 107 is below the top of the doorway 104 (and above the ground) and the doorway 104 is partially blocked. FIG. 3 illustrates the door panel 102 in a fully closed position in which the doorway 104 is completely blocked and the leading edge 107 of the door panel 102 reaches the ground. FIG. 4 is a cross-sectional view of the exemplary door of FIGS. 1-3 taken along line 4-4 of FIG. 2. FIG. 5 is a view similar to FIG. 4, except that the exemplary door 100 is subjected to a surface pressure load 502 (e.g., wind). Figure 6 is a cross-sectional view of the example door of Figures 1-3 taken along line 6-6 of Figure 2. Figure 7 is a similar view to Figure 5, except showing a back-up event due to the example door 100 being subjected to a surface pressure load 702.
[0016]
[0030] In this example, the door panel 102 is a flexible or pliable sheet or curtain that includes side edges that move along guides or tracks 108 to open and close the door 100. In this example, the door 10 includes a drive unit 110 having a motor that operates in response to instructions from a controller 112 to drive the panel 102 up and down between open and closed positions. In this example, the motor of the drive unit 110 rotates a roller, drum, or mandrel 114 in a first rotational direction to either pull and roll the door panel 102 toward a fully open position (as shown in FIG. 1 ) or pull the door panel 102 in a second rotational direction opposite the first rotational direction to a fully closed position (as shown in FIG. 3 ). In some examples, the weight of the door panel 102 suspended from the roller 114 keeps the panel 102 taut. In some examples, the drive unit 110, rollers 114, and / or the rolled up portion of the panel 102 are supported by and / or housed within a header housing 116 (outlined in dashed lines in FIGS. 1-3 for clarity). In some examples, the header housing 116 can be omitted.
[0017]
[0031] In some examples, the side edges of the panel 102 may be driven by the drive unit 110 along a storage track disposed above the doorway 104 to store the panel 102 when in the fully open position, rather than being wrapped around the rollers 114. In such examples, the storage track above the doorway may follow any suitable path (e.g., straight, curved, bent, angled, coiled, etc.).
[0018]
[0032] As shown in FIG. 4 , the side edges of the panel 102 are retained in the channels 402 of the tracks 108 during normal operation by one or more retention buttons or protrusions 404 coupled to the door panel 102. More specifically, in some examples, the protrusions 404 are sized to be wider than the gaps between the retention strips 406 that extend along the length of the tracks 108 to prevent the side edges of the panel 102 from being pulled out of the corresponding tracks 108. In some examples, the protrusions are spaced apart at intervals along the rear edge of the door panel 102. In other examples, the protrusions 404 may extend continuously along the length of the side edges. In this example, the protrusions 404 are located inboard of the outermost side edges of the door panel 102. However, in other examples, the protrusions 404 may be located on the outermost side edges of the door panel 102 (e.g., the side edges may be sharper edges). In some examples, the door panel 102 may include multiple protrusions at different distances from the outermost side edge to provide redundancy and / or for other purposes (e.g., to enable a redelivery operation and / or to facilitate actuation of the door panel 102 between open and closed positions).
[0019]
[0033] The retention strips 406 in the illustrated example form gaps that are sized to be wider than the thickness of the panel 102, thereby allowing the panel 102 to move between the retention strips 406 with little or no friction and associated wear against the panel 102 and / or the retention strips 406. In some examples, the panel 102 can move between the retention strips 406 without directly engaging or rubbing against the retention strips 406. Additionally, as shown in FIG. 4, the projections 404 in the illustrated example are positioned on the panel 102 to remain slightly spaced apart from the retention strips 406 during normal operation to reduce friction and / or wear. However, as shown in the illustrated example of FIG. 5, when the door panel 102 is subjected to a pressure load 502 (represented by the arrows identified by reference number 502), the door panel 102 can flex across its width in response to the force of the pressure load, which provides an inward force 504 that urges the projections 404 towards and / or into contact with the retention strips 406. For example, the inward force 504 is non-parallel (e.g., perpendicular and / or inclined) to the front surface of the door panel 102. If the surface pressure load 502 and the associated inward force 504 are strong enough, a relatively high amount of friction between the protrusion 404 and the retaining strip 406 may impede or impede movement of the door panel 102. For example, in some instances, the frictional force may overcome the torque of the motor, thereby stopping the motor and thus the movement of the door panel 102. Additionally or alternatively, the motor may have sufficient torque to move the door panel 102, but moving the door panel 102 against the relatively high frictional force may cause wear and / or damage to the protrusion 404 and / or the retaining strip 406. In some instances, the protrusion 404 and / or the retaining strip 406 may be omitted, modified (e.g., have a different shape and / or size), and / or have their functionality implemented using any other suitable mechanism. That is, most vertically acting doors have side edges that are held in guide tracks that cause the door to experience increased frictional forces under pressure loads. The teachings disclosed herein are applicable to any such vertically translating doors.Additionally, the teachings disclosed herein may also be suitable for translating a door horizontally. Thus, the teachings disclosed herein are not limited to the exemplary means for retaining the edges of the door panel 102 (using the protrusions 404 and retention strips 406) shown in the illustrated examples of Figures 4 and 5.
[0020]
[0034] In some examples, the controller 112 can analyze feedback from the drive unit 110 to detect or infer a high pressure load condition. Furthermore, the controller 112 can adjust the operation of the door 100 based on the detected pressure load condition. For example, in some examples, the drive unit 110 can provide a current drawn by the motor when driving the door panel 102 to different positions. In some examples, if the current drawn meets (e.g., exceeds) a threshold, the controller 112 can infer that a relatively high friction condition (e.g., pressure load 502) exists. In some examples, different thresholds can be defined when the door 100 is moving to an open position and when the door 100 is moving to a closed position. Furthermore, in some examples, the thresholds can change as the position of the door panel 102 changes or varies between a fully open position and a fully closed position. The threshold variation can be defined to account for changes in the surface area of the door panel 102 upon which the surface pressure load 502 can act and / or the length of the door panel 102 that extends into the track 108 to contribute to friction as the panel 102 moves between the open and closed positions. In some examples, the threshold is defined based on historically archived values of the current drawn by the motor during normal operation.
[0021]
[0035] Additionally or alternatively, in some examples, the drive unit 110 may provide a feedback output via an encoder indicating an actual rotational speed and / or a rotational position of the roller 114 that the controller 112 may use to detect a pressure load condition. More specifically, in some examples, the controller 112 may compare the feedback indicating the actual rotational speed of the roller 114 to a commanded rotational speed. In some examples, the actual speed may be determined by averaging multiple samples of the door speed taken within a relatively short time window. If the actual speed is less than the commanded speed by a threshold value, the controller 112 may infer or otherwise determine that the door panel 102 is experiencing a pressure load 502 that slows down the movement of the door panel 102. As noted above, in some examples, the threshold value may vary depending on the direction of movement of the door panel 102 and / or the position of the door panel 102 along its length of movement. In some examples, the threshold value may be defined based on historical data collected over a relatively long period of time (e.g., days, weeks, etc.). In some examples, the threshold may be defined based on a relatively short recent period of time (eg, the last second, the last 5 seconds, etc.).
[0022]
[0036] In some examples, the speed of the door panel 102 may also be sampled over time to track the acceleration and / or deceleration of the door. High pressure load conditions typically do not occur immediately and therefore may not cause the door panel 102 to slow down or stop immediately. Rather, high pressure load conditions are more likely to cause a more gradual deceleration of the door panel and / or change the door speed over time. In contrast, the door panel 102 may suddenly slow down or stop when the door panel 102 hits an obstacle to its free movement. Thus, in some examples, the controller 112 may distinguish between a sudden deceleration of the door panel 102 (indicating an obstacle in the door's path) and a more gradual deceleration of the door panel 102 (indicating an increase in the pressure load 502). In some examples, the controller 112 implements digital filtering to reduce false triggers caused by light pressure loads (e.g., gentle wind) and / or slight errors in sampling time. Additionally, in some examples, door speed and / or associated acceleration may be analyzed in conjunction with motor current draw, measured wind / air speed, and / or other sensor feedback to further increase sensitivity and / or noise immunity.
[0023]
[0037] Additionally or alternatively, in some examples, the controller 112 can infer a high surface pressure load condition based on feedback from the backup sensor 118. In some examples, the backup sensor 118 is a photo-eye sensor that transmits a beam 120 between an optical transmitter and a receiver (or an optical transceiver and a retroreflective surface). The backup sensor 118 is positioned such that the beam extends either in front of or behind the door panel 102. More specifically, as shown in the illustrated example of FIG. 6, the backup sensor 118 is positioned between the wall 106 and the panel 102 in a path of normal operation (i.e., without surface pressure loads and / or resulting increase in friction) such that the beam generated by the backup sensor 118 extends between the panel 102 and the wall 106. In this configuration, the beam generated by the backup sensor 118 remains uninterrupted during normal operation as the door panel 102 moves between a fully open position and a fully closed position. However, if a pressure load (such as the pressure load represented by the arrow indicated by reference numeral 702) is acting on the door panel 102, the door panel 102 may be prevented from moving along the track 108 due to increased friction. In such an example, the panel 102 may not move down the track 108 or may be prevented by friction from moving as fast as it would be in the absence of such friction, but the panel 102 may nevertheless continue to unravel from the rollers 114 at an initially commanded rate (e.g., speed), thereby resulting in a build-up or back-up of the door panel 102 within the header housing 116 (or the associated space above the door if the housing 116 is not included). As shown in FIG. 7, the excess portion of the door panel 102 that accumulates within the header housing 116 may bend and / or cross the beam 120 of the back-up sensor 118, thereby tripping the sensor and providing feedback to the controller 112 that a back-up event has occurred. In some examples, the controller 112 may use the detection of a back-up event to infer that a high pressure load condition exists. Based on this reasoning, the controller 112 can implement an appropriate response to high surface pressure load conditions.
[0024]
[0038] In some examples, the door 100 includes and / or is associated with one or more pressure load sensors 122 to directly detect the presence of wind or other pressure loads. In this manner, high pressure load conditions can be determined even when the door panel 102 is not moving. The pressure load sensors 122 can be any suitable type of sensor capable of determining air velocity associated with a pressure load, such as anemometers, differential pressure sensors, airflow sensors, etc. In some examples, multiple types of sensors can be implemented. These sensors 122 can communicate feedback data to the controller 112 using any suitable communication method and / or protocol (e.g., RS232 / 485, I2C, Serial Peripheral Interface (SPI), analog input, discrete input, pulse frequency modulation (PFM), pulse width modulation (PWM), etc.). In one specific example, the pressure load sensor 122 includes a cup anemometer with a magnet attached to the cup. As the anemometer rotates, the magnet activates a Hall effect transistor located proximate to the cup to provide an input to the controller 112. Such an input produces a PFM signal with a frequency proportional to the air velocity.
[0025]
[0039] As previously discussed, the controller 112 can automatically adjust the operation of the door 100 in response to the detection of a high pressure load event. In some examples, the particular response implemented by the controller may depend on the nature of the high pressure load condition and / or the manner in which the load is detected. For example, if a high pressure load condition is detected based on the current drawn by the motor and / or based on measurements of the speed and / or associated acceleration / deceleration of the door panel 102, the door panel 102 is necessarily moving. Thus, in some examples, the controller 112 stops the movement of the door panel 102. In some examples, the controller 112 stops the movement of the door panel 102 temporarily (e.g., for a threshold time) before attempting to move the door panel 102 again. In some examples, the controller 112 may move the door panel 102 in relatively short increments spaced apart in time (e.g., repeatedly stopping and starting the movement of the door panel 102 in relatively rapid succession) until the door panel 102 reaches a desired position and / or until the surface pressure load no longer affects the normal operation of the door 100.
[0026]
[0040] In some examples, in response to detecting a high surface pressure load, the door controller 112 may reverse the direction of the door panel. In some examples, the reversal may be for only a portion of the distance traveled by the door panel 102 during the current cycle (e.g., moving from a fully closed position to a fully open position and then back to the fully closed position). In other examples, the door panel 102 may reverse completely to the fully closed or fully open position. In some examples, the door controller 112 may slow down the speed at which the door panel 102 moves. In some examples, the speed may be reduced by a fixed amount. In other examples, the amount by which the speed is reduced may be determined based on the amount of change in the motor current draw and / or the detected deceleration of the door panel 102. The increased friction resulting in a high surface pressure load condition may cause the door 100 to decelerate faster than when no surface pressure load is present, which may result in the door stopping sooner than expected. Thus, in some examples, the controller 112 may adjust position limits (e.g., closed, open, partially open, etc.) set on the door 100 based on the detection of a high surface pressure load condition to ensure that the door panel 102 reaches the desired position rather than stopping short of the desired position.
[0027]
[0041] In some examples, some combination and / or sequence of actions of stopping (or slowing) the door movement, changing the door speed, changing the door direction, and / or changing the door position limits can be implemented by the controller 112. For example, the door controller 112 can reverse direction of the door panel 102 a short distance (possibly at a different speed), stop the panel for a short period of time, then reverse direction and resume moving in the direction the panel 102 was originally moving in when the high surface pressure load condition was detected. In some such examples, the door panel 102 can be controlled to move at a slower speed along a relatively short distance and / or to move in intermittent bursts to allow the door panel 102 an opportunity to move forward while intermittently rolling in the wind.
[0028]
[0042] In an example where a high surface pressure load condition is detected based on the tripping of the back-up sensor 118, the door controller 112 may initially move the door panel 102 to a fully open position. For example, if the controller 112 initially moves the door panel 102 toward a fully closed position, the controller 112 may reverse the door panel 102 and move it to the fully open position. Moving to the fully open position allows any excess length of the panel 102 that has accumulated within the header housing 116 to unwind around the rollers 114. The door controller 112 may then resume the closing operation at a slower speed in an attempt to avoid the surface pressure load causing another back-up event. If the back-up event still occurs, the controller 112 may again reverse the direction of the door 100 until the door panel 102 is fully open again. In some examples, the controller 112 may repeat the closing sequence another time at an even slower speed compared to the speed of the previous closing sequence. In some examples, rather than reversing the direction of the door panel 102 until it moves to the fully open position, the controller 112 controls the panel 102 to move partway back without returning completely to the fully open position. More specifically, in some examples, the controller 112 reverses the direction of the panel 102 until it no longer obstructs the back-up sensor 118 before attempting to move the door panel 102 to the closed position again. In some examples, the door panel 102 may be reversed a threshold distance or time after it is cleared from the path of the beam 120 of the back-up sensor 118 before attempting to move the door panel 102 to the closed position again.
[0029]
[0043] Any of the above actions and / or adjustments of action may also be implemented by the controller 112 in response to feedback from the pressure load sensor 122 indicating a high pressure load condition. Moreover, so long as the pressure load sensor 122 is capable of detecting a pressure load condition without the door panel 102 moving (e.g., toward a fully closed position), the controller 112 may additionally or alternatively implement other actions based on feedback from such sensors. For example, in some examples, the controller 112 may generate an alert and / or notification to personnel located on the opposite side of the door 100 of a detected high pressure load condition. In some examples, the particular speed at which the door panel 102 moves may be adjusted based on changes in detected air velocity associated with the pressure load. In some examples, the controller 112 may prevent the door panel 102 from moving (e.g., prevent the panel from opening and / or delay closing) when a high pressure load condition is detected. In some examples, the controller 112 can automatically activate or activate one or more window locks 124 (FIGS. 1-3) located along the track 108 in response to air velocity meeting (e.g., exceeding) a threshold to mechanically secure the side edges of the door panel 102 within the track 108. Similarly, in some such examples, the controller 112 can automatically deactivate or release the window locks 124 when the air velocity falls below a threshold (or a different threshold). As used herein, a window lock is a mechanical device that clamps, grips, or otherwise attaches the side edges of the panel 102 when in a closed position to hold the side edges of the panel 102 in place and prevent them from being blown off the track 108 by high surface pressure load conditions.
[0030]
[0044] 5, the surface pressure load 502 of the door panel 102 can generate an inward force 504 that urges the protrusion 404 toward the center of the door panel 102. The retention strips 406 along the track 108 function to hold the protrusion 404 with the track 108 so that the door panel 102 can be properly guided between the open and closed positions. However, in some cases, there can be a significant distance (e.g., several inches) between the bottom of the roller 114 and the top end of the track 108 that is spanned by the door panel 102 without structure (e.g., the track 108 and / or associated retention strips 406) to support the side edges of the door panel 102 or to hold the protrusion 404. As a result, the inward force 504 from the surface pressure load 502 described in FIG. 5 biases the projection 404 laterally inward within the gap between the roller 114 and the top of the track 108 sufficiently to prevent the projection 404 from being properly launched into the track 108 as the door panel 102 moves toward the closed position. In some examples, the mis-launched portion of the door panel 102 can correspond to less than all of the side edge of the door panel 102. For example, FIG. 8 illustrates the example door 100 of FIG. 1 after a mis-launch event. As shown in the illustrated example, the bottom or front 802 of the door panel 102 was properly launched into both tracks 108, but the back or top 804 of the left panel 102 was not properly launched into the left track 108. Thus, as shown in the illustrated example, the side edge of the panel 102 is outside of the track 108 rather than being retained within the track 108. In other situations, the bottom 802 of the door panel 102 may be mis-launched and out of the track in addition to, or instead of, the top 804 of the door panel 102. Additionally, while the exemplary mis-launch event shown in Figure 8 affects only the left side of the panel 102, in other situations, a mis-launch event may occur on the right side of the panel 102 or on both sides of the panel.
[0031]
[0045] A mis-delivery event as shown in FIG. 8 may occur due to an inward force 504 acting on the panel 102 in the area between the roller 114 and the top of the track 108 as previously described. Additionally, a mis-delivery event may result from a back-up event as shown and described in connection with FIG. 7. That is, there may not be enough inward force to cause the projection 404 to fail into the track 108, but as the panel 102 backs up and folds onto itself, the panel 102 may fold such that the projection 404 and the associated portion of the side edge of the door panel 102 end up outside the track 108, as shown in FIG. 7. Regardless of the cause of the mis-delivery event, in some examples, the controller 112 communicates with a mis-delivery sensor 126 to monitor and detect such an event. The mis-delivery sensor 126 may be any suitable type of sensor capable of detecting the presence of a side edge of the panel 102 within the associated track 108. For example, the failure-to-deliver sensor 126 may be a magnetic proximity sensor, a photoelectric sensor, a physical switch, a radar sensor, a sonar sensor, a lidar sensor, a resistive or capacitive pressure sensor, etc. In some examples, as shown in Figures 1-3 and 8, the failure-to-deliver sensor 126 is positioned near the top of the track 108 to detect the presence of the door panel 102 within the track 108 at that location. If the controller 112 receives a signal from the failure-to-deliver sensor 126 indicating that the door panel cannot be detected (e.g., is absent from the track 108) when the panel 102 is expected to be within the track 108, the controller 112 determines that a failure-to-deliver event has occurred.
[0032]
[0046] The controller 112 can determine whether the panel 102 is expected to be in the track 108 by monitoring the position of the leading edge 107 of the panel 102 and whether the leading edge 107 is below the point where the mis-delivery sensor 126 is located. In some examples, the position of the door panel 102 (e.g., the position of the leading edge 107 of the panel 102) is monitored based on feedback from an encoder. Thus, in the illustrated example of FIG. 8, the door panel 102 is expected to be in the track at the point of the mis-delivery sensor 126 because the leading edge 107 is below the mis-delivery sensor 126. However, in this example, the top 804 of the panel 102 is outside the track due to a mis-delivery. As a result, the mis-delivery sensor 126 does not detect the panel 102 in the track 108 (e.g., the mis-delivery sensor 126 detects that the panel 102 is missing). Based on this information, the controller 112 can infer that a mis-delivery event has occurred.
[0033]
[0047] In some examples, in response to detecting a mis-delivery event based on feedback from one or both of the mis-delivery sensors 126, the controller 112 automatically attempts to re-deliver the panel 102 to the track 108 by moving the panel 102 to an open position and then moving the panel 102 again to a closed position. In some cases, the re-delivery attempt is performed at a different speed (e.g., faster, slower, and / or variable speed) than the previous door cycle that resulted in the mis-delivery event. In some examples, during the re-delivery event, the controller 112 monitors feedback from the mis-delivery sensors 126 to limit the extent to which the door panel 102 moves toward the open position before re-closing the door panel 102. For example, in the illustrated example of FIG. 8, as the door panel 102 is lifted, the mis-delivery sensor 126 eventually detects the bottom 802 of the panel 102 already properly positioned within the track 108. As a result, in some instances, once the door panel 102 reaches this point, there is no need to further open the door as the controller 112 moves the panel 102 toward the closed position and attempts to re-deliver the previously failed upper portion 804 of the panel 102. Further details regarding detection and automatic correction of failed delivery events are provided below in conjunction with Figures 15-19.
[0034]
[0048] In some examples, the door 100 includes a re-off assembly that can facilitate the delivery and / or re-off of the panel 102 into the track. FIG. 9 illustrates an example re-off assembly 902 that can be implemented in connection with the door 100 of FIG. 1. In this example, the re-off assembly includes two re-off blocks 904, 906 disposed on either side (e.g., front and back) of the track 108 to extend upward from the top end of the track 108 along which the panel 102 will extend. The re-off blocks 904, 906 thus function as extensions of the track 108. As shown in the illustrated example, the re-off blocks 904, 906 include respective top surfaces 908, 910 that are angled away from each other to provide an expanded opening that can capture the free end (leading edge 107) of the door panel 102 to help guide the panel 102 into the track 108. As shown in the illustrated example, the failure to deliver sensor 126 is located in re-delivery blocks 904, 906 above the track 108 (rather than being located within the track 108 as shown in FIGS. 1-3 and 8).
[0035]
[0049] FIG. 10 illustrates an example implementation of the example controller 112 of FIG. 1. The controller 112 of FIG. 10 may be instantiated (e.g., created an instance, existing for any length of time, realized, performed, etc.) by a processor circuit, such as a central processing unit that executes instructions. Additionally or alternatively, the controller 112 of FIG. 10 may be instantiated (e.g., created an instance, existing for any length of time, realized, performed, etc.) by an ASIC or FPGA configured to perform operations corresponding to instructions. Thus, it should be understood that some or all of the circuitry of FIG. 10 may be instantiated at the same or different times. Some or all of the circuitry may be instantiated, for example, in one or more threads executing simultaneously on hardware and / or serially on hardware. Additionally, in some examples, some or all of the circuitry of FIG. 10 may be implemented by one or more virtual machines and / or containers executing on a microprocessor. As shown in FIG. 10, the example controller 112 includes an example instrument interface circuit 1002, an example user interface circuit 1004, an example time stamp generation circuit 1006, an example data logger circuit 1008, an example sensor feedback analysis circuit 1010, an example operation controller circuit 1012, an example network interface circuit 1014, and an example memory 1016.
[0036]
[0050] The exemplary equipment interface circuit 1002 enables communication between the controller 112 and equipment associated with the door 100. That is, in some examples, the controller 112 can provide instructions and / or commands to different equipment associated with the door 100, such as the motorized drive unit 110 and / or the window lock 124, via the equipment interface circuit 1002. Additionally, the controller 112 can receive feedback from other sensors associated with the drive unit 110 and / or the equipment (e.g., the backup sensor 118, the surface pressure load sensor 122, and / or the delivery failure sensor 126) via the equipment interface circuit 1002. In some examples, the equipment interface circuit 1002 is associated with a user interface through which a user can provide input to the controller 112 to direct its operations (e.g., via buttons and / or a display). In some examples, the equipment interface circuit 1002 is instantiated by a processor circuit that executes the equipment interface instructions and / or is configured to perform operations as represented by the flowcharts of FIGS. 11-19.
[0037]
[0051] The example user interface circuitry 1004 allows a user to configure settings, manually adjust operation, provide input, and / or interact with the controller 112. In some examples, the user interface circuitry 1004 is associated with a display screen that allows for the display of information regarding the operation and / or status of the door 100 and / or any of its associated components. In some examples, the user interface circuitry 1004 is instantiated by a processor circuit that executes user interface instructions and / or is configured to perform operations such as those represented by the flowcharts of FIGS.
[0038]
[0052] The example timestamp generation circuit 1006 timestamps the sensor feedback data acquired via the instrument interface circuit 1002 and stores such data in the example memory 1016. The example data logger circuit 1008 logs the sensor feedback data in the memory 1016 with an associated timestamp provided by the example timestamp generation circuit 1006. Additionally or alternatively, the example data logger circuit 1008 can provide the time-stamped sensor feedback data to a remote server for storage and / or subsequent analysis. In some examples, the timestamp generation circuit 1006 is instantiated by a processor circuit that executes timestamp generation instructions and / or is configured to perform operations as represented by the flowcharts of FIGS.
[0039]
[0053] The exemplary sensor feedback analysis circuit 1010 analyzes feedback data from sensors associated with the door 100 to enable the controller 112 to determine the state and / or condition of associated equipment and / or the environmental and usage conditions of the area surrounding the door 100. More specifically, in some examples, the sensor feedback analysis circuit 1010 may determine or infer the presence of a high surface pressure load condition. Additionally or alternatively, in some examples, the sensor feedback analysis circuit 1010 may determine whether a delivery failure event has occurred. In some examples, results of the analysis of the sensor feedback data may be stored in the memory 1016 along with the sensor feedback data and / or may be transmitted to a remote server for storage and / or subsequent analysis. In some examples, the sensor feedback analysis circuit 1010 may analyze such historical data to identify trends, patterns, and / or changes in conditions that emerge over time. In some examples, the sensor feedback analysis circuit 1010 is instantiated by a processor circuit that executes sensor feedback analysis instructions and / or is configured to perform operations as represented by the flowcharts of FIGS. 11-19.
[0040]
[0054] The example motion controller circuit 1012 controls the operation of equipment associated with the door 100. That is, in some examples, the motion controller circuit 1012 generates instructions and / or commands for the equipment based on the output of the sensor feedback analysis circuit 1010. For example, in some examples, the motion controller circuit 1012 may decide to stop the movement of the door panel 102, move the door panel 102 in small time interval increments, reverse the direction of the door panel 102, change the speed of the door panel 102, and / or adjust position limits set on the door panel 102 based on the sensor feedback data indicating a high surface pressure load condition and / or a delivery failure event. In some examples, the motion controller circuit 1012 generates alerts and / or notifications that are provided to a user via the user interface circuit 1004 and / or transmitted to a remote server and / or other remote computing devices (e.g., mobile devices) of associated individuals. In some examples, such alerts and / or notifications are transmitted directly to the remote computing devices via the example network interface circuit 1014. For example, the network interface circuit 1014 can send email messages and / or SMS messages to one or more designated computing devices. In some examples, alerts and / or notifications can be sent to a remote server, which then distributes the messages to other remote computing devices. In some examples, the operation controller circuit 1012 can activate a separate output device (e.g., a light, a bell, a horn, etc.) to indicate the alerts and / or notifications. In some examples, the operation controller circuit 1012 is instantiated by a processor circuit that executes operation controller instructions and / or is configured to perform operations such as those represented by the flowcharts of FIGS. 11-19. In some examples, the network interface circuit 1014 is instantiated by a processor circuit that executes network interface instructions and / or is configured to perform operations such as those represented by the flowcharts of FIGS. 11-19.
[0041]
[0055] 1 is illustrated in FIG 10, one or more of the elements, processes, and / or devices illustrated in FIG 10 may be combined, divided, rearranged, omitted, deleted, and / or implemented in any other manner. Additionally, the example instrument interface circuit 1002, the example user interface circuit 1004, the example timestamp generation circuit 1006, the example data logger circuit 1008, the example sensor feedback analysis circuit 1010, the example motion controller circuit 1012, the example network interface circuit 1014, the example memory 1016, and / or, more generally, the example controller 112 of FIG 1 may be implemented by hardware alone or by hardware in combination with software and / or firmware. Thus, for example, the example instrument interface circuit 1002, the example user interface circuit 1004, the example timestamp generation circuit 1006, the example data logger circuit 1008, the example sensor feedback analysis circuit 1010, the example operation controller circuit 1012, the example network interface circuit 1014, the example memory 1016, and / or, more generally, the example controller 112 may be implemented by a processor circuit, an analog circuit, a digital circuit, a logic circuit, a programmable processor, a programmable microcontroller, a graphic processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), and / or a field programmable logic device (FPLD), such as a field programmable gate array (FPGA). Furthermore, the example controller 112 of FIG. 1 may include one or more elements, processes, and / or devices in addition to or instead of those shown in FIG. 10 and / or may include two or more of any or all of the illustrated elements, processes, and devices.As used herein, the phrase "in communication," including variations thereof, encompasses direct communication and / or indirect communication via one or more intermediate components and does not require direct physical (e.g., wired) communication and / or constant communication, but rather further includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals, and / or one-time events.
[0042]
[0056] In some examples, the controller 112 includes a means for analyzing the sensor feedback data. For example, the means for analyzing the sensor feedback data may be implemented by a sensor feedback analysis circuit 1010. In some examples, the sensor feedback analysis circuit 1010 may be instantiated by a processor circuit, such as the example processor circuit 2012 of FIG. 20. For example, the sensor feedback analysis circuit 1010 may be instantiated by the example microprocessor 2100 of FIG. 21 executing machine-executable instructions as implemented by at least blocks 1104, 1106, 1108, 1110, 1112, 1122 of FIG. 11, blocks 1204, 1206, 1208, 1216 of FIG. 12, blocks 1304, 1318 of FIG. 13, blocks 1404, 1406 of FIG. 14, blocks 1502, 1504, 1512 of FIG. 15, block 1604 of FIG. 16, and block 1706 of FIG. 17. In some examples, the sensor feedback analysis circuit 1010 may be instantiated by hardware logic circuitry, which may be implemented by the ASIC, XPU, or FPGA circuitry 2200 of FIG. 22 configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the sensor feedback analysis circuit 1010 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the sensor feedback analysis circuit 1010 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.) configured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, although other structures are suitable as well.
[0043]
[0057] In some examples, the controller 112 includes a means for controlling the operation of the door. For example, the means for controlling the operation of the door may be implemented by a motion controller circuit 1012. In some examples, the motion controller circuit 1012 may be instantiated by a processor circuit, such as the example processor circuit 2012 of FIG. 20. For example, the motion controller circuit 1012 may include at least blocks 1102, 1114, 1116, 1118, 1120, 1124, 1126 of FIG. 11, blocks 1202, 1210, 1212, 1214, 1218, 1226 of FIG. 12, blocks 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1320, 1322, 1324 of FIG. 13, blocks 1402, 1408, 1410, 1412, 1414, 1416, 1418, 1419, 1420, 1421, 1422, 1424 of FIG. 14, and blocks 1502, 1508, 1510, 1512, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544 1418, 1420, 1422, 1424, 1426, blocks 1506, 1508, 1510, 1514, 1516, 1518 of FIG. 15, blocks 1602, 1604 of FIG. 16, blocks 1702, 1708 of FIG. 17, blocks 1802, 1806 of FIG. 18, and blocks 1902, 1904, 1906 of FIG. 19. In some examples, the operation controller circuit 1012 may be instantiated by a hardware logic circuit, which may be implemented by an ASIC, XPU, or FPGA circuit 2200 of FIG. 22 configured to perform operations corresponding to the machine-readable instructions. Additionally or alternatively, the operation controller circuit 1012 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the operation controller circuit 1012 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (opamps), logic circuits, etc.) configured to execute some or all of the machine-readable instructions and / or to perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, although other structures are suitable as well.
[0044]
[0058] In some examples, the controller 112 includes a means for transmitting data over a network. For example, the means for transmitting data over a network may be implemented by the network interface circuitry 1014. In some examples, the network interface circuitry 1014 may be instantiated by a processor circuitry, such as the example processor circuitry 2012 of FIG. 20. For example, the network interface circuitry 1014 may be instantiated by the example microprocessor 2100 of FIG. 21 executing machine-executable instructions, such as those implemented by at least block 1120 of FIG. 11, block 1214 of FIG. 12, block 1312 of FIG. 13, block 1410 of FIG. 14, and block 1518 of FIG. 15. In some examples, the network interface circuitry 1014 may be instantiated by a hardware logic circuitry, which may be implemented by the ASIC, XPU, or FPGA circuitry 2200 of FIG. 22 configured to perform operations corresponding to the machine-readable instructions. Additionally or alternatively, the network interface circuitry 1014 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the network interface circuitry 1014 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (opamps), logic circuits, etc.) configured to execute some or all of the machine-readable instructions and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, although other structures are suitable as well.
[0045]
[0059] Flowcharts illustrating example hardware logic circuits, machine readable instructions, hardware implemented state machines, and / or any combination thereof for implementing the controller 112 of Figures 1 and / or 10 are shown in Figures 11-19. The machine readable instructions may be one or more executable programs or parts of executable programs for execution by a processor circuit, such as the processor circuit 2012 shown in the example processor platform 2000 described below in connection with Figure 20 and / or the example processor circuits described below in connection with Figures 21 and / or 22. The program may be embodied in software stored on one or more non-transitory computer readable storage media, such as a compact disc (CD), a floppy disk, a hard disk drive (HDD), a solid state drive (SDD), a digital versatile disk (DVD), a Blu-ray disk, or a volatile memory (e.g., any type of random access memory (RAM) or the like) or a non-volatile memory associated with the processor circuitry (e.g., Electrically Erasable Programmable Read Only Memory (EEPROM), FLASH memory, HDD, SSD, or the like), or alternatively, the entire program and / or parts thereof may be executed by one or more hardware devices other than the processor circuitry 2012 and / or may be embodied in firmware or dedicated hardware. The machine readable instructions may be distributed across multiple hardware devices and / or executed by two or more hardware devices (e.g., a server and a client hardware device). For example, a client hardware device may be implemented by an end point client hardware device (e.g., a hardware device associated with a user) or an intermediate client hardware device (e.g., a Radio Access Network (RAN)) gateway that can facilitate communication between a server and an end point client hardware device. Similarly, a non-transitory computer-readable storage medium can include one or more media located on one or more hardware devices.Further, the exemplary program described with reference to the flowcharts shown in FIGS. 11-19 may alternatively employ many other ways of implementing the exemplary controller 112. For example, the order of execution of the blocks may be changed, and / or some of the described blocks may be modified, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.) configured to perform the corresponding operations without executing software or firmware. The processor circuits may be distributed across different network locations and / or may be distributed locally on one or more hardware devices (e.g., a single-core processor (e.g., a single-core central processing unit (CPU)), a multi-core processor on a single machine, multiple processors distributed across multiple servers in a server rack, multiple processors distributed across one or more server racks, CPUs and / or FPGAs located within the same package (e.g., the same integrated circuit (IC) package, or two or more separate housings, etc.).
[0046]
[0060] The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a compiled format, an executable format, a packaged format, and the like. The machine-readable instructions described herein may be stored as data or data structures (e.g., as part of instructions, code, a representation of code, and the like) that can be utilized to create, manufacture, and / or generate machine-executable instructions. For example, the machine-readable instructions may be stored fragmented in one or more storage devices and / or computing devices (e.g., servers) located at the same or different locations of a network or collection of networks (e.g., in a cloud, an edge device, and the like). The machine-readable instructions may require one or more of installation, modification, adaptation, updating, combination, supplementation, configuration, decryption, decompression, unpacking, distribution, reallocation, compilation, and the like to make them directly readable, interpretable, and / or executable by computing devices and / or other machines. For example, the machine-readable instructions may be individually compressed, encrypted, and / or stored in multiple portions stored on separate computing devices and, when decoded, decompressed, and / or combined, form a set of machine-executable instructions that perform one or more operations that can together form a program as described herein.
[0047]
[0061] In another example, machine-readable instructions may be stored in a state readable by a processor circuit, but require the addition of a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc., to execute the machine-readable instructions on a particular computing device or other device. In another example, the machine-readable instructions may need to be configured (e.g., stored settings, data input, recorded network addresses, etc.) before the machine-readable instructions and / or corresponding programs can be executed in whole or in part. Thus, a machine-readable medium, as used herein, may include machine-readable instructions and / or programs regardless of the particular format or state of the machine-readable instructions and / or programs, whether stored, otherwise at rest, or in transit.
[0048]
[0062] The machine-readable instructions described herein may be expressed by any past, present, or future command language, scripting language, programming language, etc. For example, the machine-readable instructions may be expressed using any of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift, etc.
[0049]
[0063] As previously mentioned, the exemplary processes of Figures 11-19 may be implemented using executable instructions (e.g., computer and / or machine readable instructions) stored on one or more non-transitory computer and / or machine readable media, such as optical storage devices, magnetic storage devices, HDDs, flash memory, read only memory (ROM), CDs, DVDs, caches, any type of RAM, registers, and / or any other storage devices or storage disks on which information is stored for any period of time (e.g., long term, permanently, short term, for temporary buffering, and / or for caching information). As used herein, the terms non-transitory computer readable medium, non-transitory computer readable storage medium, non-transitory machine readable medium, and non-transitory machine readable storage medium are expressly defined to include any type of computer readable storage device and / or storage disk, to exclude propagating signals, and to exclude transmission media. As used herein, the terms "computer readable storage device" and "machine readable storage device" are defined to include any physical (mechanical and / or electrical) structure that stores information but excludes propagating signals, and to exclude transmission media. Examples of computer-readable and machine-readable storage devices include any type of random access memory, any type of read-only memory, solid-state memory, flash memory, optical disks, magnetic disks, disk drives, and / or Redundant Array of Independent Disks (RAID) systems. As used herein, the term "device" refers to a physical structure, such as a machine and / or electrical equipment, hardware, and / or circuitry, that may or may not be configured with and / or manufactured to execute computer-readable, machine-readable, or the like instructions.
[0050]
[0064] "Including" and "comprising" (and all forms and tenses thereof) are used herein to be open-ended terms. Thus, whenever a claim uses any form of "including" or "comprising" (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or in any type of claim recitation, it is to be understood that additional elements, terms, etc. may be present without departing from the scope of the corresponding claim or recitation. As used herein, the phrase "at least" is open-ended just as the terms "comprising" and "including" are open-ended when used as a transitional term, for example, in the preamble of a claim. The term "and / or," when used in the form A, B, and / or C, for example, refers to any combination or subset of A, B, C, such as (1) A alone, (2) B alone, (3) C alone, (4) A and B, (5) A and C, (6) B and C, or (7) A, B and C. When used herein in the context of describing a structure, component, item, object, and / or thing, the phrase "at least one of A and B" is intended to refer to an implementation that includes either (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, when used herein in the context of describing a structure, component, item, object, and / or thing, the phrase "at least one of A or B" is intended to refer to an implementation that includes either (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. When used herein in the context of describing the execution or performance of a process, instruction, action, activity, and / or step, the phrase "at least one of A and B" is intended to refer to an implementation that includes either (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.Similarly, when used herein in the context of describing the execution or performance of a process, instruction, action, activity, and / or step, the phrase “at least one of A or B” is intended to refer to an implementation that includes either (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.
[0051]
[0065] As used herein, singular references (e.g., "a", "an", "first", "second", etc.) do not exclude plural references. The term "a" or "an" object as used herein refers to one or more of that object. The terms "a" (or "an"), "one or more", and "at least one" are used interchangeably herein. Furthermore, although individually recited, a plurality of means, elements or method actions may, for example, be performed by the same entity or object. Furthermore, although individual features may be included in different examples or claims, these may conceivably be combined, and inclusion in different examples or claims does not imply that a combination of features is not feasible and / or advantageous.
[0052]
[0066] The example machine-readable instructions and / or example operations of FIG. 11 begin at block 1102, where the example motion controller circuit 1012 commands the door panel 102 to move. That is, the example motion controller circuit 1012 sends a command to the drive unit 110 to rotate the rollers 114 to move the door panel 102 to a particular position (e.g., a fully open position, a fully closed position, or some intermediate position between the fully open and fully closed positions). At block 1104, the example sensor feedback analysis circuit 1010 monitors the actual speed of the door panel 102. The actual speed of the door panel 102 may be monitored based on feedback from an encoder that tracks the position and / or speed of rotation of the motor and / or rollers 114. At block 1106, the example sensor feedback analysis circuit 1010 determines the difference between the actual speed and the commanded speed (e.g., as defined by the motion controller circuit 1012). At block 1108, the example sensor feedback analysis circuit 1010 determines whether the difference meets (e.g., exceeds) a threshold value. If so, control proceeds to block 1110, where the example sensor feedback analysis circuit 1010 determines the deceleration of the door panel 102 based on the change in actual speed over time. In block 1112, the example sensor feedback analysis circuit 1010 determines whether the deceleration exceeds a threshold. A deceleration that exceeds the threshold indicates a relatively abrupt halt or decrease in door speed indicating that the door panel 102 has struck an object. Thus, if the deceleration exceeds the threshold, control proceeds to block 1114, where the example motion controller circuit 1012 reverses the direction of the door panel 102 based on the detection of a potential object in the doorway 104. Control then proceeds to block 1118.
[0053]
[0067] Returning to block 1112, a deceleration that does not exceed a threshold indicates a gradual deceleration of the door panel 102, which may be inferred as a high surface pressure load condition. Thus, in such a situation, control proceeds to block 1116, where the example motion controller circuit 1012 adjusts the operation of the door 100 based on the detection of a potential high surface pressure load condition. The particular manner in which the operation of the door 100 is adjusted may depend on the condition of the door 100 (e.g., the current position and / or direction of movement of the door panel 102 when the high surface pressure load condition is detected). In some examples, the door panel 102 may be stopped momentarily. In some examples, the door panel 102 may be alternately stopped for a short period of time and moved for a short period of time to gradually move the door panel 102 toward a commanded position (e.g., a fully open position, a fully closed position, etc.). In some examples, the speed of the door panel 102 may be changed (e.g., reduced). In some examples, the direction of the door panel 102 may be reversed. In some examples, the position limits set on the door panel may be adjusted. After adjusting the door movement (block 1116), control proceeds to block 1118.
[0054]
[0068] In block 1118, the example motion controller circuit 1012 determines whether to generate an alert and / or notification. If so, control proceeds to block 1120, where the example motion controller circuit 1012 generates an alert and / or notification indicating the principle of adjustment to the door operation (either door reversal in block 1114 or other adjustment in block 1116). In some examples, the network interface circuit 1014 may transmit the alert and / or notification to a remote server and / or other remote device associated with the relevant personnel. Control then proceeds to block 1122. If an alert and / or notification is not generated in block 1118, control proceeds directly to block 1122. Returning to block 1108, if the difference between the actual speed and the indicated speed does not meet the threshold, control proceeds directly to block 1122.
[0055]
[0069] In block 1122, the example sensor feedback analysis circuit 1010 determines whether the door panel 102 has reached a commanded position. The commanded position may correspond to an original position defined by the example motion controller circuit 1012 when the door panel 102 was initially commanded to move (in block 1104) or when it was subsequently adjusted (in blocks 1114 or 1116). If the door panel 102 has not reached its commanded position, control proceeds to block 1124, where the example motion controller circuit 1012 continues to move the door panel 102. Control then returns to block 1104. If the door panel 102 has reached its commanded position, control proceeds to block 1126, where the motion controller circuit 1012 determines whether to continue. If so, control returns to block 1102. If not, the example process of FIG. 11 ends.
[0056]
[0070] The example machine-readable instructions and / or example operations of FIG. 12 begin at block 1202 where the example motion controller circuit 1012 commands the door panel 102 to move. That is, the example motion controller circuit 1012 sends a command to the drive unit 110 to rotate the roller 114 to move the door panel 102 to a particular position (e.g., a fully open position, a fully closed position, or an intermediate position between the fully open and fully closed positions). In block 1204, the example sensor feedback analysis circuit 1010 monitors the current drawn by the motor of the drive unit 110. In block 1206, the example sensor feedback analysis circuit 1010 determines a difference between the current drawn by the motor and an expected current. In some examples, the expected current is defined based on historically archived data of the door operating under normal conditions. In some examples, the expected current is defined based on an average current over a recent period of time. That is, in some examples, the difference determined in block 1206 is an indication of a deviation to the ongoing amount of current drawn by the motor.
[0057]
[0071] In block 1208, the example sensor feedback analysis circuit 1010 determines whether the difference meets (e.g., exceeds) a threshold value. If so, control proceeds to block 1210, where the example motion controller circuit 1012 adjusts the operation of the door 100 based on the detection of a potential high surface pressure load condition. The particular manner in which the operation of the door 100 is adjusted may depend on the door's condition (e.g., the current position and / or direction of movement of the door panel 102 when the high surface pressure load condition is detected). In some examples, the door panel 102 may be stopped momentarily. In some examples, the door panel 102 may be alternately stopped for a short period of time and moved for a short period of time to gradually move the panel toward the commanded position. In some examples, the speed of the door panel 102 may be changed (e.g., reduced). In some examples, the direction of the door panel 102 may be reversed. In some examples, the position limits set on the door panel may be adjusted. After adjusting the door's operation (block 1210), control proceeds to block 1212.
[0058]
[0072] In block 1212, the example motion controller circuit 1012 determines whether to generate an alert and / or notification. If so, control proceeds to block 1214, where the example motion controller circuit 1012 generates an alert and / or notification indicating a potential high surface pressure load condition. In some examples, the network interface circuit 1014 may transmit the alert and / or notification to a remote server and / or other remote devices associated with relevant personnel. Control then proceeds to block 1216. If an alert and / or notification is not generated in block 1212, control proceeds directly to block 1216. Further returning to block 1208, if the difference between the current drawn by the motor and the expected current does not meet the threshold, control proceeds directly to block 1216.
[0059]
[0073] In block 1216, the example sensor feedback analysis circuit 1010 determines whether the door panel 102 has reached a commanded position. The commanded position may correspond to an original position defined by the example motion controller circuit 1012 when the door panel 102 was initially commanded to move (in block 1204) or when it was subsequently adjusted (in block 1210). If the door panel 102 has not reached its commanded position, control proceeds to block 1218, where the example motion controller circuit 1012 continues to move the door panel 102. Control then returns to block 1204. If the door panel 102 has reached the commanded position, control proceeds to block 1226, where the motion controller circuit 1012 determines whether to continue. If so, control returns to block 1202. If not, the example process of FIG. 12 ends.
[0060]
[0074] The example machine-readable instructions and / or example operations of FIG. 13 begin at block 1302, where the example motion controller circuit 1012 commands the door panel 102 to close at a set speed. At block 1304, the example sensor feedback analysis circuit 1010 determines whether a back-up event is detected. The back-up event can be detected based on feedback data from the example back-up sensor 138. If a back-up event is detected, control proceeds to block 1306, where the example motion controller circuit 1012 reverses the direction of the door panel 102 to rewind the door panel 102. At block 1308, the example motion controller circuit 1012 reduces the set speed for movement of the door panel 102 based on a potential high surface pressure load condition. Additionally or alternatively, the example motion controller circuit 1012 can adjust the motion of the door to move the panel 102 in short incremental steps spaced in time by periods of non-movement.
[0061]
[0075] In block 1310, the example motion controller circuit 1012 determines whether to generate an alert and / or notification. If so, control proceeds to block 1312 where the example motion controller circuit 1012 generates an alert and / or notification indicating a backup event due to a potential high surface pressure load condition. In some examples, the network interface circuit 1014 may transmit the alert and / or notification to a remote server and / or other remote devices associated with the relevant personnel. Control then proceeds to block 1314. If an alert and / or notification is not to be generated, as determined in block 1310, control proceeds directly to block 1314.
[0062]
[0076] In block 1314, the motion controller circuit 1012 determines whether to reclose the door panel 102. That is, the example motion controller circuit 1012 determines whether to attempt to reclose the door panel 102 during the detected high surface pressure load condition using the slower speed set in block 1308. If the door panel 102 should be reclosed, control returns to block 1302. In some such examples, if a back-up event is detected again in block 1304, the set speed may be further reduced in block 1308 for another attempt to close the door panel 102. If in block 1314, the example motion controller circuit 1012 determines not to reclose the door panel 102 (e.g., a back-up event is detected every time following a threshold number of attempts to close the door panel 102), control proceeds to block 1316, where the example motion controller circuit 1012 generates a warning and / or notification indicating that the door panel 102 could not be closed. Control then proceeds to block 1322.
[0063]
[0077] Returning to block 1304, if a back-up event is not detected, control proceeds to block 1318, where the example sensor feedback analysis circuit 1010 determines whether the door panel 102 has reached a fully closed position. If not, control proceeds to block 1320, where the example motion controller circuit 1012 continues to close the door panel 102. Control then proceeds to block 1304. If the door panel 102 has reached a closed position, control proceeds to block 1322, where the motion controller circuit 1012 resets the set speed of the door panel 102. Control then proceeds to block 1324, where the example motion controller circuit 1012 determines whether to continue. If so, control proceeds back to block 1302. If not, the example process of FIG. 13 ends.
[0064]
[0078] The example machine-readable instructions and / or example operations of FIG. 14 begin at block 1402 with the example motion controller circuit 1012 operating the door 100 based on default settings (e.g., settings configured for the door during normal operation). At block 1404, the example sensor feedback analysis circuit 1010 determines an air velocity of a surface pressure load acting on the door 100 and / or door panel 102. In some examples, the air velocity is determined based on feedback from one or more surface pressure load sensors 142. At block 1406, the example sensor feedback analysis circuit 1010 determines whether the air velocity indicates a high surface pressure load condition. In some examples, this determination is made based on whether the air velocity meets (e.g., exceeds an air velocity threshold). In some examples, multiple different levels of air velocity conditions can be determined based on different air velocities. If the air velocity indicates a high surface pressure load condition, control proceeds to block 1408, where the example motion controller circuit 1012 determines whether to generate an alert and / or notification. If so, control proceeds to block 1410, where the example motion controller circuit 1012 generates an alert and / or notification indicating a high surface pressure load condition. In some examples, the network interface circuit 1014 may transmit the alert and / or notification to a remote server and / or other remote devices associated with the relevant personnel. Control then proceeds to block 1412. If an alert and / or notification is not generated at block 1412, control proceeds directly to block 1414.
[0065]
[0079] In block 1412, the motion controller circuit 1012 determines whether the door panel 102 is moving through a cycle. If not, control proceeds to block 1414 where the example motion controller circuit 1012 determines whether the door panel 102 should be prevented from moving. If so, control proceeds to block 1416 where the example motion controller circuit 1012 prevents the door panel 102 from moving. In some examples, movement of the door panel 102 can be logically prevented by the motion controller circuit 1012 inhibiting commands sent to the drive unit 110 to move the door panel 102. Additionally or alternatively, movement of the door panel 102 can be mechanically prevented by the motion controller circuit 1012 actuating one or more window locks 124. Control then returns to block 1404 to continue monitoring the air velocity for changes.
[0066]
[0080] Returning to block 1412, if the motion controller circuit 1012 determines that the door panel 102 is moving through a cycle, control proceeds to block 1418. Similarly, if the motion controller circuit 1012 determines in block 1414 that the door panel 102 is not impeded from moving, control proceeds to block 1418. In block 1418, the example motion controller circuit 1012 adjusts the motion of the door 100 based on the high surface pressure load condition. The particular manner in which the motion of the door 100 is adjusted may depend on the door's condition (e.g., the current position and / or direction of movement of the door panel 102 when the high surface pressure load condition is detected). In some examples, the door panel 102 may be stopped momentarily. In some examples, the door panel 102 may be alternately stopped for a short period of time and moved for a short period of time to gradually move the door panel 102 toward a commanded position. In some examples, the speed of the door panel 102 may be changed (e.g., reduced). In some examples, the direction of the door panel 102 may be reversed. In some examples, the position limits set on the door panel 102 may be adjustable.
[0067]
[0081] After adjusting the movement of the door 100 (block 1418), control proceeds to block 1420, where the example motion controller circuit 1012 determines whether the door panel 102 is in its commanded position. The commanded position may correspond to the current position of the door panel 102 if it had not moved through a cycle (as determined in block 1412), or the final intended position of the door panel 102 after completing its current cycle. If the door panel 102 is not in the commanded position (e.g., the door panel 102 has moved through a commanded cycle), control proceeds to block 1422, where the example motion controller circuit 1012 continues to move the door panel 102. Control then returns to block 1404. If the door panel 102 is in the commanded position, control proceeds to block 1424, where the motion controller circuit 1012 removes the constraint on the movement of the door panel 102. That is, the motion controller circuit 1012 reverses any actions taken in connection with block 1416 when movement of the door panel 102 was impeded. In block 1426, the motion controller circuit 1012 determines whether to continue. If so, control returns to block 1402. If not, the example process of FIG. 14 ends.
[0068]
[0082] 15-19 are flow charts depicting example machine-readable instructions and / or example operations for enabling detection of a mis-delivery event and automatic correction thereof by performing one or more re-delivery attempts. The example machine-readable instructions and / or example operations of FIG. 15 begin at block 1502, where the example sensor feedback analysis circuit 1010 determines whether a signal from the mis-delivery sensor 126 indicates that the door panel 102 is not within the track 108. If not, the panel is assumed to be properly positioned such that there is no mis-delivery event. Thus, control proceeds to block 1520. However, if the signal from the mis-delivery sensor 126 indicates that the door panel 102 is not within the track 108, control proceeds to block 1504.
[0069]
[0083] In block 1504, the example sensor feedback analysis circuit 1010 determines whether the door panel 102 is expected to be within the track 108. In some examples, this is determined based on the position of the door panel 102, which is determined based on feedback from an encoder associated with the drive unit 110 that drives the movement of the door panel 102. If the door panel 102 is not expected to be within the track 108, then the absence of the panel 102 from the track 108 (as determined in block 1502) is not indicative of a delivery failure, and control passes to block 1520. However, if the door panel 102 is expected to be within the track 108, then control passes to block 1506.
[0070]
[0084] In block 1506, the example motion controller circuit 1012 determines whether the door panel 102 has been missing from the track for a threshold time and / or a threshold travel distance. If not, the signal from the mis-delivery sensor 126 may have been a false positive and / or the door panel 102 has already corrected its position such that mis-delivery is not a concern. Thus, control proceeds to block 1520. However, if the door panel has been missing from the track 108 (e.g., is not detected by the mis-delivery sensor 126) for a threshold time and / or a threshold travel distance, control proceeds to block 1508.
[0071]
[0085] In block 1508, the example motion controller circuit 1012 records (e.g., in the example memory 1016) the position of the door panel 102 when it was detected that the door panel 102 was missing from the track 108. In block 1510, the example motion controller circuit 1012 attempts to resend the door panel 102 to the track 108. An example implementation of block 1510 is provided in further detail below in conjunction with FIGS. 16-19. In block 1512, the example sensor feedback analysis circuit 1010 determines whether the resend attempt was successful. In some examples, the resend attempt is successful if the delivery failure sensor 126 no longer generates a signal indicating that the door panel 102 is not in the track 108 when the panel 102 is expected to be in the track 108. If the resend attempt is successful, control proceeds to block 1520. If the attempt was unsuccessful, control proceeds to block 1514, where the example motion controller circuit 1012 determines whether to again attempt to re-attempt the door panel 102 to the truck 108. In some examples, a threshold number of attempts may be performed before the example motion controller circuit 1012 determines that no further attempts should be made. If another attempt should be made, control returns to block 1510. In some examples, different motion parameters may be used for the different re-attempts.
[0072]
[0086] If the retry attempt is not successful and no further attempts are made, control proceeds to block 1516 where the example motion controller circuit 1012 sets the door 100 to a fault state. In block 1518, the example motion controller circuit 1012 generates an alert and / or notification indicating that the door panel 102 could not be re-routed to the truck 108. In some examples, the network interface circuit 1014 may send the alert and / or notification to a remote server and / or other remote devices associated with the relevant personnel. Control then proceeds to block 1520 where the controller 112 determines whether to continue the process. If so, control returns to block 1502. If not, the example process of FIG. 15 ends.
[0073]
[0087] As previously mentioned, FIG. 16 is a flow chart representing example machine-readable instructions and / or example operations for implementing block 1510 of FIG. 15. The example machine-readable instructions and / or example operations of FIG. 16 begin with block 1602, in which the example motion controller circuit 1012 moves the door panel 102 to an open position. Thereafter, in block 1604, the example motion controller circuit 1012 moves the door panel toward a closed position at a speed different from the speed used during the previous cycle. In some examples, the speed is faster than during the previous cycle. In some examples, the speed is a variable speed that changes over time (rather than moving at a constant speed as during a normal door cycle). In some examples, the speed changes (e.g., increases or decreases) relative to the previous cycle only at the point in the cycle that is related to when the delivery failure event occurred (as recorded in block 1508 of FIG. 15). The example program of FIG. 16 then ends and returns to complete the remainder of the process shown in FIG. 15.
[0074]
[0088] FIG. 17 is a flow chart representing example machine-readable instructions and / or example operations for implementing block 1510 of FIG. 15. The example machine-readable instructions and / or example operations of FIG. 17 begin at block 1702, where the example motion controller circuit 1012 moves the door panel 102 toward an open position. As the door panel 102 continues to move, control proceeds to block 1604, where the example sensor feedback analysis circuit 1010 determines whether a signal from the faulty delivery sensor 126 indicates that the door panel 102 has been detected again within the track 108. If the door panel 102 is detected, it can be assumed that the door panel below that point is within the track 108, such that it is not necessary to continue to move the door to the open position. Thus, in such a situation, control proceeds to block 1708, where the example motion controller circuit 1012 moves the door panel toward a closed position. In some examples, the motion controller circuit 1012 moves the door panel 102 toward the open position slightly past the point where the door panel 102 is again detected by the failure sensor before reversing the direction of moving the door panel 102 toward the closed position.
[0075]
[0089] If the door panel 102 is not detected at block 1704, control proceeds to block 1706 where the example sensor feedback analysis circuit 1010 determines whether the door panel 102 has reached an open position. If not, control proceeds back to block 1702 to continue moving the door panel 102 toward the open position. If the door panel has reached the open position, control proceeds to block 1708 to begin moving the door panel toward the closed position. The example program of FIG. 17 then ends and returns to complete the remainder of the process shown in FIG.
[0076]
[0090] In some examples, the flowcharts depicted in Figures 16 and 17 may be used in combination. For example, in some examples, moving the door panel 102 toward the closed position in block 1708 of Figure 17 may include adjusting the door speed as described above in connection with block 1604 of Figure 16.
[0077]
[0091] FIG. 18 is a flow chart representing example machine-readable instructions and / or example operations for implementing block 1510 of FIG. 15. The example machine-readable instructions and / or example operations of FIG. 18 begin with block 1802, in which the example motion controller circuit 1012 moves the door panel 102 to an open position. In block 1802, the example motion controller circuit 1012 waits a threshold time. The threshold time can provide a delay that potentially allows for a surface pressure load condition that may have been the cause of the poor delivery event that triggered the re-delivery attempt to drop. In some examples, the threshold time is a fixed period of time. In some examples, the threshold time can vary between different re-delivery attempts. In some examples, the threshold time can depend on feedback from the surface pressure load sensor 122 indicating when the surface pressure load condition has dropped. After the threshold time, control proceeds to block 1806, in which the example motion controller circuit 1012 moves the door panel 102 toward a closed position. The example program of FIG. 18 then ends and returns to complete the remainder of the process shown in FIG. 15.
[0078]
[0092] In some examples, the flow chart depicted in Figure 18 may be used in combination with any of the flow charts of Figures 16 and 17. That is, in some examples, a threshold time delay may be included in Figure 17 to wait to begin moving the door panel 102 to the closed position before the panel 102 reaches a fully open position. Additionally, as described in connection with Figure 16, different speeds may be implemented in connection with moving the door panel 102 toward the closed position of Figure 18.
[0079]
[0093] FIG. 19 is a flow chart representing example machine-readable instructions and / or example operations for implementing block 1510 of FIG. 15. The example machine-readable instructions and / or example operations of FIG. 19 begin with block 1902, in which the example motion controller circuit 1012 adjusts the opening limit of the door panel 102. The opening limit defines the position where the door panel 102 is located when in a fully open position. In some examples, the opening limit can be adjusted higher or lower than set in the previous door cycle. In block 1904, the example motion controller circuit 1012 moves the door panel 102 to an open position defined by the adjusted opening limit. Then, in block 1906, the example motion controller circuit 1012 moves the door panel 102 toward a closed position. In block 1906, the example motion controller circuit 1012 resets the opening limit of the door panel 102. In some examples, block 1906 is omitted. The example program of FIG. 19 then ends and returns to complete the remainder of the process shown in FIG. 15. In some examples, the flowchart depicted in FIG. 19 may be used in combination with any one of the flowcharts of FIGS.
[0080]
[0094] Figure 20 is a block diagram of an example processor platform 2000 configured to execute and / or instantiate machine-readable instructions and / or operations of Figures 11-19 to implement the controller 112 of Figure 1 and / or Figure 10. The processor platform 2000 can be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., neural networks), a mobile device (e.g., a mobile phone, a smartphone, a tablet such as an iPad®), a personal digital assistant (PDA), or any other type of computing device.
[0081]
[0095] The processor platform 2000 of the illustrated example includes a processor circuit 2012. The processor circuit 2012 of the illustrated example is hardware. For example, the processor circuit 2012 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired family or manufacturer. The processor circuit 2012 may also be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the processor circuit 2012 implements an example timestamp generation circuit 1006, an example data logger circuit 1008, an example sensor feedback analysis circuit 1010, and an example motion controller circuit 1012.
[0082]
[0096] The processor circuitry 2012 of the illustrated example includes local memory 2013 (e.g., cache, registers, etc.). The processor circuitry 2012 of the illustrated example communicates with main memory, including volatile memory 2014 and non-volatile memory 2016, via a bus 2018. The volatile memory 2014 may be implemented by synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS® Dynamic Random Access Memory (RDRAM®), and / or any other type of RAM device. The non-volatile memory 2016 may be implemented by flash memory and / or any other desired type of memory device. Access to the main memory 2014, 2016 is controlled by a memory controller 2017.
[0083]
[0097] The processor platform 2000 of the illustrated example also includes an interface circuit 2020. The interface circuit 2020 can be implemented by hardware according to any type of interface standard, such as an Ethernet interface, a Universal Serial Bus (USB) interface, a Bluetooth interface, a Near Field Communication (NFC) interface, a Peripheral Component Interconnect (PCI) interface, and / or a Peripheral Component Interconnect Express (PCIe) interface. In this example, the interface circuit implements the device interface circuit 1002 and the exemplary user interface circuit 1004, as well as the exemplary network interface circuit 1014.
[0084]
[0098] In the illustrated example, one or more input devices 2022 are coupled to the interface circuitry 2020. The input devices 2022 allow a user to input data and / or commands into the processor circuitry 2012. The input devices may be realized, for example, by a voice sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a track pad, a track ball, an isopoint device, and / or a voice recognition system.
[0085]
[0099] Also connected to the interface circuitry 2020 of the illustrated example are one or more output devices 2024. The output devices 2024 may be realized, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, an in-place switching (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker. Thus, the interface circuitry 2020 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics processor circuit such as a GPU.
[0086]
[0100] The interface circuitry 2020 of the depicted example also includes communications devices such as transmitters, receivers, transceivers, modems, residential gateways, wireless access points, and / or network interfaces to facilitate communication of data with external devices (e.g., computing devices of any type) over the network 2026. Communications may occur, for example, via an Ethernet connection, a Digital Subscriber Line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a field communication radio system, a cellular phone system, an optical connection, etc.
[0087]
[0101] The processor platform 2000 of the depicted example also includes one or more mass storage devices 2028 for storing software and / or data. Examples of such mass storage devices 2028 include magnetic storage devices, optical storage devices, floppy disk drives, HDDs, CDs, Blu-ray disk drives, Redundant Array of Independent Disks (RAID) systems, flash memory devices and / or solid-state storage devices such as SSDs, and DVD drives. In this example, the mass storage devices 2028 implement the exemplary memory 1016.
[0088]
[0102] Machine-readable instructions 2032 that may be implemented by the machine-readable instructions of Figures 11-19 may be stored in mass storage device 2028, volatile memory 2014, non-volatile memory 2016, and / or a removable non-transitory computer-readable storage medium such as a CD or DVD.
[0089]
[0103] FIG. 21 is a block diagram of an exemplary implementation of the processor circuit 2012 of FIG. 20. In this example, the processor circuit 2012 of FIG. 20 is implemented by a microprocessor 2100. For example, the microprocessor 2100 may be a general-purpose microprocessor (e.g., a general-purpose microprocessor circuit). The microprocessor 2100 executes some or all of the machine-readable instructions of the flowcharts of FIGS. 11-19 to effectively instantiate the circuit of FIG. 10 as a logic circuit for performing operations corresponding to those machine-readable instructions. In some such examples, the circuit of FIG. 10 is instantiated by the hardware circuit of the microprocessor 2100 in combination with the instructions. For example, the microprocessor 2100 may be implemented by a multi-core hardware circuit such as a CPU, DSP, GPU, XPU, etc. Although any number of the exemplary cores 2102 (e.g., one core) may be included, the microprocessor 2100 of this example is a multi-core semiconductor device including N cores. The cores 2102 of the microprocessor 2100 may operate independently or cooperate to execute machine-readable instructions. For example, a firmware program, an embedded software program, or machine code corresponding to a software program may be executed by any of the cores 2102 or may be executed at the same or different times by multiple cores 2102. In some examples, the firmware program, the embedded software program, or machine code corresponding to a software program is divided into threads and executed in parallel by multiple cores 2102. The software programs may correspond to some or all of the machine-readable instructions and / or operations represented by the flowcharts of FIGS. 11-19.
[0090]
[0104] The cores 2102 may communicate via a first exemplary bus 2104. In some examples, the first bus 2104 may be implemented by a communication bus to facilitate communication related to one of the cores 2102. For example, the first bus 2104 may be implemented by at least one of an Inter-Integrated Circuit (I2C) bus, a Serial Peripheral Interface (SPI) bus, a PCI bus, and a PCIe bus. Additionally or alternatively, the first bus 2104 may be implemented by any other type of computing or electrical bus. The cores 2102 may obtain data, instructions, and / or signals from one or more external devices via the exemplary interface circuitry 2106. The cores 2102 may output data, instructions, and / or signals to one or more external devices via the interface circuitry 2106. The cores 2102 in this example include an exemplary local memory 2120 (e.g., a level 1 (L1) cache, which may be divided into an L1 data cache and an L1 instruction cache), but the microprocessor 2100 also includes an exemplary shared memory 2110 that may be shared by the cores (e.g., a level 2 (L2) cache) for fast access to data and / or instructions. Data and / or instructions may be transferred (e.g., shared) by writing to the shared memory and / or reading from the shared memory 2110. The local memory 2120 and the shared memory 2110 of each core 2102 may be part of a hierarchy of storage devices that includes multiple levels of cache memories and main memories (e.g., main memories 2014, 2016 of FIG. 20). In general, memories at higher levels in the hierarchy exhibit lower access times and have smaller storage capacities than memories at lower levels. Changes in the various levels of the cache hierarchy are managed (e.g., cooperative) by cache coherency policies.
[0091]
[0105] Each core 2102 may be referred to as a CPU, DSP, GPU, etc., or any other type of hardware circuit. Each core 2102 includes a control unit circuit 2114, an arithmetic and logic (AL) circuit (sometimes referred to as an ALU) 2116, a number of registers 2118, a local memory 2120, and a second exemplary bus 2122. Other structures may exist. For example, each core 2102 may include a vector unit circuit, a single instruction multiple data (SIMD) unit circuit, a load / store unit (LSU) circuit, a branch / jump unit circuit, a floating point unit (FPU) circuit, etc. The control unit circuit 2114 includes semiconductor-based circuitry configured to control (e.g., coordinate) data movement within the corresponding core 2102. The AL circuitry 2116 includes semiconductor-based circuitry configured to perform one or more mathematical and / or logical operations on data within the corresponding core 2102. The AL circuitry 2116 of some examples performs integer-based operations. In other examples, the AL circuitry 2116 also performs floating-point operations. In yet other examples, the AL circuitry 2116 may include a first AL circuit that performs integer-based operations and a second AL circuit that performs floating-point operations. In some examples, the AL circuitry 2116 may be referred to as an arithmetic logic unit (ALU). The registers 2118 are semiconductor-based structures for storing data and / or instructions, such as results of one or more of the operations performed by the AL circuitry 2116 of the corresponding core 2102. For example, the registers 2118 may include vector register(s), SIMD register(s), general purpose register(s), flag register(s), segment register(s), machine specific register(s), instruction pointer register(s), control register(s), debug register(s), memory management register(s), machine check register(s), etc. The registers 2118 may be arranged in banks as shown in Figure 21. Alternatively, the registers 2118 may be organized in any other configuration, format, or structure, including being distributed throughout the core 2102 to reduce access times.The second bus 2122 may be realized by at least one of an I2C bus, an SPI bus, a PCI bus, or a PCIe bus.
[0092]
[0106] Each core 2102 and / or microprocessor 2100 more generally may include additional and / or alternative structures to those described above. For example, there may be one or more clock circuits, one or more power supplies, one or more power gates, one or more cache home agents (CHAs), one or more convergent / common mesh stops (CMSs), one or more shifters (e.g., barrel shifters), and / or other circuits. Microprocessor 2100 is a semiconductor device fabricated to include a number of transistors interconnected to achieve the structures described above in one or more integrated circuits (ICs) contained in one or more packages. The processor circuitry may include and / or cooperate with one or more accelerators. In some examples, accelerators are implemented by logic circuits to perform certain tasks more quickly and / or efficiently than can be done by a general-purpose processor. Examples of accelerators include ASICs and FPGAs, such as those discussed herein. GPUs or other programmable devices may also be accelerators. The accelerator may be integrated into the processor circuitry, may be in the same chip package as the processor circuitry, and / or may be in one or more separate packages from the processor circuitry.
[0093]
[0107] 22 is a block diagram of another exemplary implementation of the processor circuit 2012 of FIG. 20. In this example, the processor circuit 2012 is implemented by an FPGA circuit 2200. For example, the FPGA circuit 2200 may be implemented by an FPGA. The FPGA circuit 2200 may be used to perform operations that may be performed, for example, by the exemplary microprocessor 2100 of FIG. 21 executing corresponding machine-readable instructions. However, when configured, the FPGA circuit 2200 instantiates the machine-readable instructions in hardware and is therefore often able to perform operations faster than may be performed by a general-purpose microprocessor executing corresponding software.
[0094]
[0108] More specifically, in contrast to the previously described microprocessor 2100 of FIG. 21 (which is a general-purpose device whose interconnects and logic are fixed once manufactured, although it may be programmed to execute some or all of the machine-readable instructions represented by the flowcharts of FIGS. 11-19), the example FPGA circuit 2200 of FIG. 22 includes interconnects and logic that may be configured and / or interconnected in different ways after manufacture, e.g., to instantiate some or all of the machine-readable instructions represented by the flowcharts of FIGS. 11-19. In particular, the FPGA circuit 2200 may be considered an array of logic gates, interconnects, and switches. The switches may be programmed to change how the logic gates are interconnected by the interconnects, effectively forming one or more dedicated logic circuits (unless the FPGA circuit 2200 is reprogrammed). The configured logic circuits allow the logic gates to cooperate in different ways to perform different operations on data received by the input circuits. These operations may correspond to some or all of the software represented by the flowcharts of FIGS. 11-19. In this manner, FPGA circuitry 2200 can be configured to effectively instantiate some or all of the machine-readable instructions of the flowcharts of Figures 11-19 as dedicated logic circuitry for performing operations corresponding to those software instructions in a dedicated manner similar to an ASIC. Thus, FPGA circuitry 2200 can perform operations corresponding to some or all of the machine-readable instructions of Figures 11-19 faster than a general-purpose microprocessor can perform them.
[0095]
[0109] In the example of FIG. 22, the FPGA circuit 2200 is configured to be programmed (and / or reprogrammed one or more times) by an end user with a hardware description language (HDL) such as Verilog. The FPGA circuit 2200 of FIG. 22 includes an example input / output (I / O) circuit 2202 for obtaining and / or outputting data from an example configuration circuit 2204 and / or external hardware 2206. For example, the configuration circuit 2204 may be implemented by an interface circuit that can obtain machine-readable instructions for configuring the FPGA circuit 2200 or a portion thereof. In some such examples, the configuration circuit 2204 can obtain machine-readable instructions from a user, a machine (e.g., a hardware circuit (e.g., a programmed or dedicated circuit) that can implement an artificial intelligence / machine learning (AI / ML) model to generate the instructions), etc. In some examples, the external hardware 2206 may be implemented by an external hardware circuit. For example, the external hardware 2206 may be implemented by the microprocessor 2100 of FIG. 21. The FPGA circuit 2200 also includes an array of exemplary logic gate circuits 2208, a plurality of exemplary configurable interconnects 2210, and an exemplary storage circuit 2212. The logic gate circuits 2208 and the configurable interconnects 2210 are configurable to instantiate one or more operations that may correspond to at least some of the machine-readable instructions of FIGS. 11-19 and / or other desired operations. The logic gate circuits 2208 shown in FIG. 22 are fabricated in groups or blocks. Each block includes semiconductor-based electrical structures that can be configured into logic circuits. In some examples, the electrical structures include logic gates (e.g., And gates, Or gates, Nor gates, etc.) that provide the basic building blocks of logic circuits. There are electrically controllable switches (e.g., transistors) within each of the logic gate circuits 2208 to enable configuration of the electrical structures and / or logic gates to form circuits to perform desired operations. The logic gate circuits 2208 can include other electrical structures such as look-up tables (LUTs), registers (e.g., flip-flops or latches), multiplexers, etc.
[0096]
[0110] The configurable interconnects 2210 in the depicted example are conductive paths, traces, vias, etc. that may include electrically controllable switches (e.g., transistors), the state of which can be changed by programming (e.g., using an HDL instruction language) to activate or deactivate one or more connections between one or more of the logic gate circuits 2208 to program a desired logic circuit.
[0097]
[0111] The storage circuits 2212 in the illustrated example are configured to store the results of one or more of the operations performed by the corresponding logic gates. The storage circuits 2212 may be implemented by registers, etc. In the illustrated example, the storage circuits 2212 are distributed among the logic gate circuits 2208 for ease of access and speed of execution.
[0098]
[0112] The example FPGA circuit 2200 of FIG. 22 also includes an example dedicated operation circuit 2214. In this example, the dedicated operation circuit 2214 includes dedicated circuit 2216 that can be called upon to implement commonly used functions to avoid the need to program those functions in the field. Examples of such dedicated circuit 2216 include memory (e.g., DRAM) controller circuitry, PCIe controller circuitry, clock circuitry, transceiver circuitry, memory, and multiplier-accumulator circuitry. Other types of dedicated circuitry may be present. In some examples, the FPGA circuit 2200 may also include an example general-purpose programmable circuit 2218, such as an example CPU 2220 and / or an example DSP 2222. Additionally or alternatively, there may be other general-purpose programmable circuitry 2218, such as a GPU, XPU, etc., that can be programmed to perform other operations.
[0099]
[0113] 21 and 22 show two exemplary implementations of the processor circuit 2012 of FIG. 20, many other approaches are possible. For example, as previously mentioned, modern FPGA circuits can include an on-board CPU, such as one or more of the exemplary CPUs 2220 of FIG. 22. Thus, the processor circuit 2012 of FIG. 20 may additionally be implemented by combining the exemplary microprocessor 2100 of FIG. 21 with the exemplary FPGA circuit 2200 of FIG. 22. In some such hybrid examples, a first portion of the machine-readable instructions represented by the flowcharts of FIGS. 11-19 may be executed by one or more of the cores 2102 of FIG. 21, a second portion of the machine-readable instructions represented by the flowcharts of FIGS. 11-19 may be executed by the FPGA circuit 2200 of FIG. 22, and / or a third portion of the machine-readable instructions represented by the flowcharts of FIGS. 11-19 may be executed by an ASIC. Thus, it should be understood that some or all of the circuitry of FIG. 10 may be instantiated at the same or different times. Some or all of the circuitry may be instantiated in one or more threads that execute simultaneously and / or serially, for example. Further, in some examples, some or all of the circuitry of FIG. 10 may be implemented within one or more virtual machines and / or containers that execute on a microprocessor.
[0100]
[0114] In some examples, the processor circuitry 2012 of Figure 20 may be in one or more packages. For example, the microprocessor 2100 of Figure 21 and / or the FPGA circuitry 2200 of Figure 22 may be in one or more packages. In some examples, an XPU may be implemented by the processor circuitry 2012 of Figure 20, which may be in one or more packages. For example, an XPU may include a CPU in one package, a DSP in another package, a GPU in yet another package, and an FPGA in yet another package.
[0101]
[0115] A block diagram illustrating an exemplary software distribution platform 2305 for distributing software, such as the exemplary machine-readable instructions 2032 of FIG. 20, to hardware devices owned and / or operated by a third party is shown in FIG. 23. The exemplary software distribution platform 2305 may be implemented by any computer server, data facility, cloud service, etc. capable of storing and transmitting software to other computing devices. The third party may be a customer of the entity that owns and / or operates the software distribution platform 2305. For example, the entity that owns and / or operates the software distribution platform 2305 may be a developer, seller, and / or licensor of the software, such as the exemplary machine-readable instructions 2032 of FIG. 20. The third party may be a consumer, user, retailer, OEM, etc., that purchases and / or licenses the software for use and / or resale and / or sublicensing. In the illustrated example, the software distribution platform 2305 includes one or more servers and one or more storage devices. The storage devices store machine-readable instructions 2032, which may correspond to the exemplary machine-readable instructions of FIGS. 11-19, as described above. One or more servers of the exemplary software distribution platform 2305 communicate with an exemplary network 2026, which may correspond to the Internet and / or any one or more of any of the exemplary networks 2310 described above. In some examples, the one or more servers respond to requests to transmit software to a requester as part of a commercial transaction. Payment for distribution, sale, and / or license of the software may be handled by one or more servers of the software distribution platform and / or a third party payment entity. The servers enable purchasers and / or licensors to download machine readable instructions 2032 from the software distribution platform 2305. For example, software that may correspond to the exemplary machine readable instructions of FIGS. 11-19 may be downloaded to the exemplary processor platform 2000, which will execute the machine readable instructions 2032 to implement the controller 112.In some examples, one or more servers of the software distribution platform 2305 periodically provide, transmit, and / or force updates to the software (e.g., the example machine-readable instructions 2032 of FIG. 20) to ensure that improvements, patches, updates, etc. are distributed and applied to the software on the end-user device.
[0102]
[0116] As can be seen from the above, exemplary methods, apparatus, and products are disclosed that enable automatic (e.g., without direct human intervention) adjustments to the operation of a powered door in response to detection of a high surface load condition. The adjustments to the door's operation can include changing the speed of the door (or stopping the door), changing the direction of the door's movement, changing position limits set on the door, and / or activating / deactivating a window lock associated with the door. These adjustments can reduce (e.g., avoid) damage and wear to the door panel and / or the motor driving the door panel that can result from large amounts of friction that can occur under relatively high surface loads. Additionally, these automatic adjustments can facilitate opening and closing of doors that may otherwise become stuck in high surface load conditions, thereby increasing the efficiency of operation.
[0103]
[0117] Further examples and combinations thereof include:
[0104]
[0118] Example 1 includes an apparatus including a sensor feedback analysis circuit for detecting a pressure load acting on a door including a panel for movement along a track based on feedback from a sensor, and a motion controller circuit for controlling operation of the door, the motion controller circuit adapted to automatically adjust operation of the door in response to the detection of the pressure load.
[0105]
[0119] Example 2 includes the apparatus of Example 1, where the sensor is a back-up sensor.
[0106]
[0120] Example 3 includes the apparatus of example 1, wherein the sensor is an encoder for monitoring at least one of a position or a rotational speed of the motor indicative of at least one of a position or a speed of the panel.
[0107]
[0121] Example 4 includes the apparatus of example 3, wherein the sensor feedback analysis circuit detects a surface pressure load acting on the door when the panel velocity is less than the commanded velocity by a velocity threshold.
[0108]
[0122] Example 5 includes the apparatus of Example 4, wherein the sensor feedback analysis circuit is configured to determine a deceleration of the panel by tracking a velocity of the panel over time, detect a surface pressure load when the deceleration is less than a deceleration threshold, and determine that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold.
[0109]
[0123] Example 6 includes the device of Example 1, where the feedback from the sensor includes the current drawn by the motor that drives the panel.
[0110]
[0124] Example 7 includes the device of Example 1, wherein the sensor is a surface pressure load sensor.
[0111]
[0125] Example 8 includes the apparatus of example 7, wherein the surface load sensor is at least one of an anemometer, a differential pressure sensor, or an airflow sensor.
[0112]
[0126] Example 9 includes the apparatus of example 1, wherein the adjustment to the operation of the door includes instructing the panel to move at a reduced speed relative to the speed before the surface pressure load was detected.
[0113]
[0127] Example 10 includes the device of example 1, where the adjustment to the operation of the door includes reversing the direction of movement of the panel.
[0114]
[0128] Example 11 includes the apparatus of example 1, wherein the adjustment to the movement of the door includes adjusting the position limits set for the panel.
[0115]
[0129] Example 12 includes the device of example 1, where an adjustment to the movement of the door includes preventing the panel from moving.
[0116]
[0130] Example 13 includes the apparatus of example 12, wherein preventing the panel from moving includes actuating a window lock associated with the door.
[0117]
[0131] Example 14 includes the apparatus of example 1, wherein the adjustment to the operation of the door includes moving the panel in successive increments spaced apart in time by periods of non-movement, the increments being less than the total distance traveled by the panel.
[0118]
[0132] Example 15 includes the apparatus of Example 1, wherein the sensor feedback analysis circuit is adapted to detect when at least a portion of a side edge of the panel is absent within the track based on feedback from a delivery failure sensor located adjacent a top end of the track.
[0119]
[0133] Example 16 includes the apparatus of example 15, wherein the motion controller circuitry, in response to detecting the absence of a panel in the truck, controls the motion of the door to attempt to re-send the panel to the truck.
[0120]
[0134] Example 17 includes the device of example 16, where the attempt to re-send the panel includes moving the panel toward the open position and then moving the panel toward the closed position.
[0121]
[0135] Example 18 includes the apparatus of example 17, wherein the motion controller circuit reverses the direction of the panel to move toward the open position and then toward the closed position before the panel reaches the fully open position, the reversal of direction being based on feedback from a faulty delivery sensor indicating the panel is detected within the track.
[0122]
[0136] Example 19 includes the apparatus of example 17, wherein the motion controller circuitry alters the speed of movement of the door when moving the panel toward the closed position relative to the speed of movement of the door prior to detecting the absence of the panel in the track.
[0123]
[0137] Example 20 includes the apparatus of example 17, wherein the motion controller circuit is adapted to wait a threshold time between moving the panel toward the open position and moving the panel toward the closed position.
[0124]
[0138] Example 21 includes the apparatus of example 17, wherein the motion controller circuit adjusts an opening limit that defines a fully open position of the panel before moving the panel toward the open position.
[0125]
[0139] Example 22 includes an apparatus having at least one memory, instructions, and a processor circuit that executes the instructions to detect a pressure load acting on a door including a panel for movement along a track based on feedback from a sensor, and automatically adjust operation of the door in response to the detection of the pressure load.
[0126]
[0140] Example 23 includes the device of example 22, wherein the sensor is a back-up sensor.
[0127]
[0141] Example 24 includes the apparatus of example 22, wherein the sensor is an encoder that monitors at least one of a position or a rotational speed of the motor to indicate at least one of a position or a speed of the panel.
[0128]
[0142] Example 25 includes the apparatus of example 24, wherein the processor circuit is adapted to detect a surface pressure load acting on the door when the speed of the panel is less than the commanded speed by a speed threshold value.
[0129]
[0143] Example 26 includes the apparatus of Example 25, wherein the processor circuit is configured to determine a deceleration of the panel by tracking a velocity of the panel over time, detect a surface pressure load when the deceleration is less than a deceleration threshold, and determine that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold.
[0130]
[0144] Example 27 includes the device of example 22, where the feedback from the sensor includes the current drawn by the motor that drives the panel.
[0131]
[0145] Example 28 includes the device of example 22, wherein the sensor is a surface pressure load sensor.
[0132]
[0146] Example 29 includes the apparatus of example 28, wherein the surface load sensor is at least one of an anemometer, a differential pressure sensor, or an airflow sensor.
[0133]
[0147] Example 30 includes the apparatus of example 22, wherein the adjustment to the operation of the door includes directing the panel to move at a reduced speed relative to the speed before the surface pressure load was detected.
[0134]
[0148] Example 31 includes the apparatus of example 22, wherein the adjustment to the operation of the door includes reversing the direction of movement of the panel.
[0135]
[0149] Example 32 includes the apparatus of example 22, wherein the adjustment to the movement of the door includes adjusting the position limits set for the panel.
[0136]
[0150] Example 33 includes the device of example 22, where an adjustment to the movement of the door includes preventing the panel from moving.
[0137]
[0151] Example 34 includes the apparatus of example 33, wherein preventing the panel from moving includes actuating a window lock associated with the door.
[0138]
[0152] Example 35 includes the apparatus of example 22, wherein the adjustment to the operation of the door includes moving the panel in successive increments spaced apart in time by periods of non-movement, the increments being less than the total distance traveled by the panel.
[0139]
[0153] Example 36 includes the apparatus of example 22, wherein the processor circuit is adapted to detect when at least a portion of a side edge of the panel is absent within the track based on feedback from a delivery failure sensor located adjacent an upper end of the track.
[0140]
[0154] Example 37 includes the apparatus of example 36, wherein the processor circuitry, in response to detecting the absence of the panel in the truck, controls operation of the door to attempt to re-send the panel to the truck.
[0141]
[0155] Example 38 includes the device of example 37, wherein the attempt to re-send the panel includes moving the panel toward the open position and then moving the panel toward the closed position.
[0142]
[0156] Example 39 includes the apparatus of example 38, wherein the processor circuit reverses the direction of the panel to move toward the open position and then toward the closed position before the panel reaches the fully open position, the reversal of direction being based on feedback from a faulty delivery sensor indicating that the panel is detected within the track.
[0143]
[0157] Example 40 includes the apparatus of example 38, wherein the processor circuitry is adapted to vary a speed of movement of the door when moving the panel toward the closed position relative to a speed of movement of the door prior to detecting the absence of the panel in the track.
[0144]
[0158] Example 41 includes the apparatus of example 38, wherein the processor circuit is adapted to wait a threshold time between moving the panel toward the open position and moving the panel toward the closed position.
[0145]
[0159] Example 42 includes the apparatus of example 38, wherein the processor circuit adjusts an opening limit that defines a fully open position of the panel before moving the panel toward the open position.
[0146]
[0160] Example 43 includes a non-transitory computer readable medium containing instructions that, when executed, cause a machine to control operation of a door including at least a panel for movement along a track, detect a pressure load acting on the door based on feedback from a sensor, and automatically adjust operation of the door in response to the detection of the pressure load.
[0147]
[0161] Example 44 includes the non-transitory computer readable medium of example 43, wherein the sensor is a backup sensor.
[0148]
[0162] Example 45 includes the non-transitory computer readable medium of example 43, wherein the sensor is an encoder that monitors at least one of a position or a rotational speed of the motor to indicate at least one of a position or a speed of the panel.
[0149]
[0163] Example 46 includes the non-transitory computer readable medium of example 45, wherein the instructions cause the machine to detect a surface pressure load acting on the door when the speed of the panel is less than the commanded speed by a speed threshold.
[0150]
[0164] Example 47 includes the non-transitory computer readable medium of Example 46, wherein the instructions cause the machine to determine a deceleration of the panel by tracking a velocity of the panel over time, detect a surface pressure load when the deceleration is less than a deceleration threshold, and determine that an object is obstructing the path of the panel when the deceleration is greater than the deceleration threshold.
[0151]
[0165] Example 48 includes the non-transitory computer-readable medium of example 43, wherein the feedback from the sensor includes a current drawn by a motor that drives the panel.
[0152]
[0166] Example 49 includes the non-transitory computer readable medium of example 43, wherein the sensor is a surface pressure load sensor.
[0153]
[0167] Example 50 includes the non-transitory computer readable medium of example 49, wherein the surface pressure load sensor is at least one of an anemometer, a differential pressure sensor, or an airflow sensor.
[0154]
[0168] Example 51 includes the non-transitory computer readable medium of example 43, wherein the adjustment to the operation of the door includes instructing the panel to move at a reduced speed relative to the speed before the surface pressure load was detected.
[0155]
[0169] Example 52 includes the non-transitory computer readable medium of example 43, wherein the adjustment to the operation of the door includes reversing a direction of movement of the panel.
[0156]
[0170] Example 53 includes the non-transitory computer readable medium of example 43, wherein the adjustment to the operation of the door includes adjusting the position limits set for the panel.
[0157]
[0171] Example 54 includes the non-transitory computer readable medium of example 43, wherein the adjustment to the operation of the door includes preventing the panel from moving.
[0158]
[0172] Example 55 includes the non-transitory computer readable medium of example 54, wherein preventing the panel from moving includes actuating a window lock associated with the door.
[0159]
[0173] Example 56 includes the non-transitory computer-readable medium of example 43, wherein the adjustment to the operation of the door includes moving the panel in successive increments spaced apart in time by the non-movement periods, the increments being less than a total distance traveled by the panel.
[0160]
[0174] Example 57 includes the non-transitory computer readable medium of example 43, wherein the instructions cause the machine to detect that at least a portion of a side edge of the panel is missing within the track based on feedback from a faulty delivery sensor located adjacent a top end of the track.
[0161]
[0175] Example 58 includes the non-transitory computer readable medium of example 57, wherein the instructions, in response to detecting a lack of the panel in the truck, cause the machine to control operation of the door to attempt to resend the panel to the truck.
[0162]
[0176] Example 59 includes the non-transitory computer-readable medium of example 58, wherein the attempt to resend the panel includes moving the panel toward the open position and then moving the panel toward the closed position.
[0163]
[0177] Example 60 includes the non-transitory computer readable medium of example 59, wherein the instructions cause the machine to reverse a direction of the panel to move toward the open position and then toward the closed position before the panel reaches the fully open position, the reversal of direction being based on feedback from a faulty delivery sensor indicating the panel is detected within the track.
[0164]
[0178] Example 61 includes the non-transitory computer readable medium of example 59, wherein the instructions cause the machine to change a speed of movement of the door when moving the panel toward the closed position relative to a speed of movement of the door prior to detecting the absence of the panel in the track.
[0165]
[0179] Example 62 includes the non-transitory computer-readable medium of example 59, wherein the instructions cause the machine to wait a threshold time between moving the panel toward the open position and moving the panel toward the closed position.
[0166]
[0180] Example 63 includes the non-transitory computer readable medium of example 59, wherein the instructions cause the machine to adjust an opening limit that defines a fully open position of the panel before moving the panel toward the open position.
[0167]
[0181] Example 64 includes a method including the steps of controlling operation of a door including a panel for movement along a track; receiving feedback from a sensor; detecting a surface pressure load acting on the door based on the feedback received from the sensor by executing instructions in at least one processor; and automatically adjusting operation of the door in response to the detection of the surface pressure load by executing instructions in the at least one processor.
[0168]
[0182] Example 65 includes the method of example 64, wherein receiving feedback from the sensor includes receiving data from a back-up sensor.
[0169]
[0183] Example 66 includes the method of example 64, wherein receiving feedback from the sensor includes receiving data from an encoder monitoring at least one of a position or a rotational speed of the motor indicative of at least one of a position or a speed of the panel.
[0170]
[0184] Example 67 includes the method of example 66, further including detecting that a surface pressure load is acting on the door when the velocity of the panel is less than the commanded velocity by a velocity threshold.
[0171]
[0185] Example 68 includes the method of Example 67, further including the steps of determining a deceleration of the panel by tracking the velocity of the panel over time, detecting a surface pressure load when the deceleration is less than a deceleration threshold, and determining that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold.
[0172]
[0186] Example 69 includes the method of example 64, wherein receiving feedback from the sensor includes receiving a current drawn by a motor that drives the panel.
[0173]
[0187] Example 70 includes the method of example 64, wherein receiving feedback from the sensor includes receiving data from a surface pressure load sensor.
[0174]
[0188] Example 71 includes the method of example 70, wherein the surface load sensor is at least one of an anemometer, a differential pressure sensor, or an airflow sensor.
[0175]
[0189] Example 72 includes the method of example 64, wherein adjusting the movement of the door includes instructing the panel to move at a reduced speed relative to the speed before the surface pressure load was detected.
[0176]
[0190] Example 73 includes the method of example 64, wherein adjusting the movement of the door includes reversing a direction of movement of the panel.
[0177]
[0191] Example 74 includes the method of example 64, wherein adjusting the operation of the door includes adjusting position limits set for the panel.
[0178]
[0192] Example 75 includes the method of example 64, wherein adjusting the operation of the door includes preventing the panel from moving.
[0179]
[0193] Example 76 includes the method of example 75, wherein preventing the panel from moving includes actuating a window lock associated with the door.
[0180]
[0194] Example 77 includes the method of example 64, wherein adjusting the operation of the door includes moving the panel in successive increments spaced apart in time by periods of non-movement, the increments being less than a total distance of movement of the panel.
[0181]
[0195] Example 78 includes the method of example 64, further including detecting that at least a portion of a side edge of the panel is absent within the track based on feedback from a delivery failure sensor positioned adjacent an upper end of the track.
[0182]
[0196] Example 79 includes the method of example 78, further including, in response to detecting a lack of the panel in the truck, controlling operation of the door to attempt to resend the panel to the truck.
[0183]
[0197] Example 80 includes the method of example 79, wherein the attempt to resend the panel includes moving the panel toward the open position and then moving the panel toward the closed position.
[0184]
[0198] Example 81 includes the method of example 80, further including reversing the direction of the panel to move toward the open position and then toward the closed position before the panel reaches the fully open position, where the reversal of direction is based on feedback from a faulty delivery sensor indicating that the panel is detected within the track.
[0185]
[0199] Example 82 includes the method of example 80, further including the step of altering a speed of movement of the door when moving the panel toward the closed position relative to a speed of movement of the door prior to detecting the absence of the panel in the track.
[0186]
[0200] Example 83 includes the method of example 80, further including waiting a threshold time between moving the panel toward the open position and moving the panel toward the closed position.
[0187]
[0201] Example 84 includes the method of example 80, further including adjusting an opening limit that defines a fully open position of the panel before moving the panel toward the open position.
[0188]
[0202] Although certain exemplary methods, apparatus, and articles have been disclosed herein, the scope of this patent is not limited thereto.On the contrary, this patent covers all methods, apparatus, and articles fairly falling within the scope of the claims of this patent.
[0189]
[0203] The following claims are hereby incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this disclosure.
Claims
1. a sensor feedback analysis circuit for detecting a surface pressure load acting on a door including a panel for movement along a track based on feedback from the sensor; and a motion controller circuit for controlling the operation of the door, the motion controller circuit being configured to automatically adjust the operation of the door in response to the detection of the surface pressure load. Device.
2. The apparatus of claim 1 , wherein the sensor is a backup sensor.
3. The apparatus of claim 1 , wherein the sensor is an encoder for monitoring at least one of a position or a rotational speed of a motor indicative of at least one of a position or a speed of the panel.
4. 4. The apparatus of claim 3, wherein the sensor feedback analysis circuitry is adapted to detect the surface pressure load acting on the door when the velocity of the panel is less than a commanded velocity by a velocity threshold.
5. the sensor feedback analysis circuit further comprising: determining a deceleration of the panel by tracking the velocity of the panel over time; Detecting the surface pressure load when the deceleration is less than a deceleration threshold value; determining that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold; 5. The device according to claim 4, wherein
6. The apparatus of claim 1 , wherein the feedback from the sensor comprises a current drawn by a motor that drives the panel.
7. The apparatus of claim 1 , wherein the sensor is a surface pressure load sensor.
8. The apparatus of claim 7 , wherein the surface pressure load sensor is at least one of an anemometer, a differential pressure sensor, or an airflow sensor.
9. 2. The apparatus of claim 1, wherein the adjustment to the movement of the door includes directing the panel to move at a reduced speed relative to the speed before the surface pressure load was detected.
10. The apparatus of claim 1 , wherein the adjustment to the movement of the door includes reversing a direction of movement of the panel.
11. The apparatus of claim 1 , wherein the adjustment to the movement of the door includes adjusting position limits established for the panel.
12. The apparatus of claim 1 , wherein the adjustment to the movement of the door includes preventing the panel from moving.
13. The apparatus of claim 12 , wherein preventing the panel from moving includes activating a window lock associated with the door.
14. 2. The apparatus of claim 1, wherein the adjustment to the movement of the door comprises moving the panel in successive increments spaced apart in time by periods of non-movement, the increments being less than a total distance of movement of the panel.
15. 2. The apparatus of claim 1, wherein the sensor feedback analysis circuit is adapted to detect when at least a portion of a side edge of the panel is missing within the track based on feedback from a delivery failure sensor located adjacent a top end of the track.
16. 16. The apparatus of claim 15, wherein the motion controller circuit is adapted, in response to detecting a lack of the panel in the truck, to control the operation of the door to attempt to resend the panel to the truck.
17. 17. The apparatus of claim 16, wherein the attempt to re-send the panel includes moving the panel toward an open position followed by moving the panel toward a closed position.
18. 18. The apparatus of claim 17, wherein the motion controller circuit is adapted to reverse the direction of the panel to move toward the open position and then toward the closed position before the panel reaches a fully open position, the reversal of direction being based on feedback from the faulty delivery sensor indicating that the panel is detected within the track.
19. 18. The apparatus of claim 17, wherein the motion controller circuit is adapted to vary a speed of movement of the door when moving the panel toward the closed position relative to a speed of movement of the door prior to detecting the absence of the panel in the track.
20. 20. The apparatus of claim 17, wherein the motion controller circuit is adapted to wait a threshold time between moving the panel toward the open position and moving the panel toward the closed position.
21. 20. The apparatus of claim 17, wherein the motion controller circuit is adapted to adjust an opening limit defining a fully open position of the panel before moving the panel towards the open position.
22. At least one memory; With orders, Detecting a surface pressure load acting on a door including a panel for movement along a track based on feedback from the sensor; automatically adjusting the operation of the door in response to the detection of the surface pressure load; a processor circuit for executing said instructions to An apparatus comprising:
23. The processor circuitry comprises: determining a deceleration of the panel by tracking the velocity of the panel over time; Detecting the surface pressure load when the deceleration is less than a deceleration threshold value; determining that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold; 23. The device according to claim 22,
24. 23. The apparatus of claim 22, wherein the processor circuit is adapted to detect when at least a portion of a side edge of the panel is missing within the track based on feedback from a delivery failure sensor located adjacent an upper end of the track.
25. A computer-readable medium containing instructions that, when executed, cause a machine to perform at least: Controlling the movement of a door including a panel for moving along a track; Detecting a surface pressure load acting on the door based on feedback from a sensor; automatically adjusting the operation of the door in response to the detection of the surface pressure load; Computer-readable medium.
26. The instructions cause the machine to: determining a deceleration of the panel by tracking the velocity of the panel over time; Detecting the surface pressure load when the deceleration is less than a deceleration threshold value; determining that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold; 26. The computer readable medium of claim 25.
27. 26. The computer readable medium of claim 25, wherein the instructions cause the machine to detect that at least a portion of a side edge of the panel is missing within the track based on feedback from a delivery failure sensor located adjacent a top end of the track.
28. controlling operation of a door including a panel for movement along a track; receiving feedback from a sensor; detecting a surface pressure load acting on a door based on the feedback received from the sensor by executing instructions on at least one processor; automatically adjusting operation of the door in response to the detection of the surface pressure load by executing instructions on the at least one processor; The method includes:
29. determining a deceleration of the panel by tracking the velocity of the panel over time; detecting the surface pressure load when the deceleration is less than a deceleration threshold; determining that an object is blocking the path of the panel when the deceleration is greater than the deceleration threshold; 30. The method of claim 28, further comprising:
30. 30. The method of claim 28, further comprising detecting that at least a portion of a side edge of the panel is missing within the track based on feedback from a delivery failure sensor located adjacent a top end of the track.